Użytkownik napisał w wiadomości grup
dyskusyjnych:7ba3c1df-aa38-42e9...@googlegroups.com...
W dniu środa, 27 maja 2015 10:40:37 UTC+2 użytkownik J.F. napisał:
>> A jest jakas szansa zobaczyc jak to kompilator zrobil ?
>> Ewentualnie - ile makrocell mu to zajelo, jakie opoznienia wyszly ?
>Można to zobaczyć na edytorze wyroutowanego układu, ale analizę tego
>pozostawiam raczej mnichom z Shaolin, albo tym co mają czasu w
>nadmiarze.
>Makrocele to masz w CPLD. Ja robię na FPGA raczej dosyć małym, ale i
>tak ilość zasobów logicznych jest taka, że ten konkretny problem
>zajmuje kompletnie nieistotny procent. W ogóle o tym nawet nie myślę.
>Opóźnienia jak najbardziej możesz monitorować, >ewentualnie narzucić
>swoje constraintsy. Ja tego nawet nie robię, zostawiam to
>kompilatorowi "as is", układ działa poprawnie na 20MHz.
>> Pomysl pierwszy - rysunek by sie przydal, ale moze sie uda slowami:
>> 32 rejestry w szeregu, tylko ze na wejsciu kazdego (z wyjatkiem
>> pierwszego) z nich umieszczasz sumator A i wyjscia poprzednego
>> rejestru.
Dokladnie.
>> Pomysl drugi - jesli jest zwykla suma, to ona co cykl zmienia sie
>> tylko o nowy wyraz, ktory wchodzi do sumy, i ostatni, ktory wypada.
>> Czyli wystarczy jeden akumulator S, w ktorym co cykl liczymy
>> S = S +A - A(-31)
>Jasne, można i tak i owak, niemniej jednak nie dostrzegam żadnych
>zalet w stosunku do przyjętego rozwiązania.
Funkcja logiczna wydaje znacznie prosztsza.
Ale moze nie doceniam kompilatora.
Jesli masz wszystko przygotowane ... moze bys zrobil drugi projekt w
alternatywnej wersji, tylko jak to ocenic - % zajetosci zasobow,
wyliczona maksymalna czestotliwosc pracy, czas pracy kompilatora ?
To ostatnie najmniej istotne :-)
J.