eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Jeszcze raz VHDL - problem ze zwięzłym zapisem
Ilość wypowiedzi w tym wątku: 16

  • 11. Data: 2015-05-27 17:26:10
    Temat: Re: Jeszcze raz VHDL - problem ze zwięzłym zapisem
    Od: s...@g...com

    W dniu środa, 27 maja 2015 12:09:27 UTC+2 użytkownik J.F. napisał:

    >
    > 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 :-)
    >
    >
    Jako jedeny moduł w FPGA, Twoja wersja zajmuje minimalnie mniej zasobów czysto
    logicznych (LUT's), ale tyle samo Flip-Flopów, co jest akurat oczywiste (rejestr
    posuwny). Natomiast w całości mojego projektu zastosowanie modułu w/g Twojego pomysłu
    - na odwrót. Dzieje się tak zapewne dlatego, że mapowanie w przypadku wykorzystania
    większej liczby zasobów zaczyna być bardziej "agresywne". Algorytmów nie znamy, więc
    są to czyste spekulacje z mojej strony. Prędkość praktycznie ta sama, można to
    popychać ~140MHz.


  • 12. Data: 2015-05-27 17:40:48
    Temat: Re: Jeszcze raz VHDL - problem ze zwięzłym zapisem
    Od: "J.F." <j...@p...onet.pl>

    Użytkownik napisał w wiadomości grup
    W dniu środa, 27 maja 2015 12:09:27 UTC+2 użytkownik J.F. napisał:
    > 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 :-)
    >
    >
    >Jako jedeny moduł w FPGA, Twoja wersja zajmuje minimalnie mniej
    >zasobów czysto logicznych (LUT's), ale tyle samo Flip-Flopów, co jest
    >akurat oczywiste (rejestr posuwny). Natomiast w całości mojego
    >projektu zastosowanie modułu w/g Twojego pomysłu - na odwrót. >Dzieje
    >się tak zapewne dlatego, że mapowanie w przypadku wykorzystania
    >większej liczby zasobów zaczyna być bardziej "agresywne". Algorytmów
    >nie znamy, więc są to czyste spekulacje z mojej strony. Prędkość
    >praktycznie ta sama, można to popychać ~140MHz.

    No, to ciekaw jestem jak to kompilator zrealizowal.

    Dodawanie 32 liczb 11-bit- wydaje mi sie, ze to bardzo wredna funkcja.
    Oczywiscie mozna zrealizowac zwyklymi sumatorami dwoch liczb, nawet
    tyle samo ich trzeba, ale czas propagacji powinien wzrosnac.
    Jak zrobil "liniowo" a nie "drzewem binarnym", to nawet sporo wzrosnac
    ...

    Chyba, ze nawet nie zblizyles sie do granicy szybkosci ...

    J.









  • 13. Data: 2015-05-27 19:29:59
    Temat: Re: Jeszcze raz VHDL - problem ze zwięzłym zapisem
    Od: s...@g...com

    W dniu środa, 27 maja 2015 17:40:54 UTC+2 użytkownik J.F. napisał:

    >
    > No, to ciekaw jestem jak to kompilator zrealizowal.
    >
    > Dodawanie 32 liczb 11-bit- wydaje mi sie, ze to bardzo wredna funkcja.
    > Oczywiscie mozna zrealizowac zwyklymi sumatorami dwoch liczb, nawet
    > tyle samo ich trzeba, ale czas propagacji powinien wzrosnac.
    > Jak zrobil "liniowo" a nie "drzewem binarnym", to nawet sporo wzrosnac
    > ...

    W FPGA jest trochę inaczej i nie należy, wręcz NIE WOLNO myśleć w kategoriach bramek
    logicznych i połączeń między nimi i wydawałoby się wynikających z tego czasów
    propagacji. Tutaj masz generatory funkcji, które w obrębie pojedyńczego CLB są niczym
    innym jak pamięcią statyczną i realizują dowolną funkcję logiczną n-zmiennych
    (n-zależne od typu FPGA). Jest to właściwie LUT(look up table), w którym wartości
    zmiennych wejściowych stanowią adres do gotowego wyniku. Oczywiście taka kobyła jak
    sumator 32 liczb 11-bitowych nie wlezie w pojedyńczy LUT, więc czasy propagacji są
    pomiędzy poszczególnymi CLB, ale jest to mocno zniwelowane..

    >
    > Chyba, ze nawet nie zblizyles sie do granicy szybkosci ...
    >

    Na próbę pocisnąłem to na 80MHz, co akurat w moim projekcie nie ma sensu. Też
    działa!!


  • 14. Data: 2015-05-29 12:48:38
    Temat: Re: Jeszcze raz VHDL - problem ze zwięzłym zapisem
    Od: s...@g...com

    W dniu środa, 27 maja 2015 17:40:54 UTC+2 użytkownik J.F. napisał:
    > Użytkownik napisał w wiadomości grup
    > W dniu środa, 27 maja 2015 12:09:27 UTC+2 użytkownik J.F. napisał:
    > > 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 :-)
    > >
    > >
    > >Jako jedeny moduł w FPGA, Twoja wersja zajmuje minimalnie mniej
    > >zasobów czysto logicznych (LUT's), ale tyle samo Flip-Flopów, co jest
    > >akurat oczywiste (rejestr posuwny). Natomiast w całości mojego
    > >projektu zastosowanie modułu w/g Twojego pomysłu - na odwrót. >Dzieje
    > >się tak zapewne dlatego, że mapowanie w przypadku wykorzystania
    > >większej liczby zasobów zaczyna być bardziej "agresywne". Algorytmów
    > >nie znamy, więc są to czyste spekulacje z mojej strony. Prędkość
    > >praktycznie ta sama, można to popychać ~140MHz.
    >
    > No, to ciekaw jestem jak to kompilator zrealizowal.
    >
    > Dodawanie 32 liczb 11-bit- wydaje mi sie, ze to bardzo wredna funkcja.
    > Oczywiscie mozna zrealizowac zwyklymi sumatorami dwoch liczb, nawet
    > tyle samo ich trzeba, ale czas propagacji powinien wzrosnac.
    > Jak zrobil "liniowo" a nie "drzewem binarnym", to nawet sporo wzrosnac
    > ...


    A jednak Twój pomysł jest lepszy!! Postanowiłem rozszerzyć zagadnienie do 64 liczb.
    No i od tego momentu zaczęły się chece. Zasoby i czas propagacji poszły ostro w górę,
    podczas gdy w/g Twojej porady nadal wszystko jest cacy.


  • 15. Data: 2015-05-29 13:39:41
    Temat: Re: Jeszcze raz VHDL - problem ze zwięzłym zapisem
    Od: "J.F." <j...@p...onet.pl>

    Użytkownik napisał w wiadomości grup
    W dniu środa, 27 maja 2015 17:40:54 UTC+2 użytkownik J.F. napisał:
    >> No, to ciekaw jestem jak to kompilator zrealizowal.
    >
    >> Dodawanie 32 liczb 11-bit- wydaje mi sie, ze to bardzo wredna
    >> funkcja.
    >> Oczywiscie mozna zrealizowac zwyklymi sumatorami dwoch liczb, nawet
    >> tyle samo ich trzeba, ale czas propagacji powinien wzrosnac.
    >> Jak zrobil "liniowo" a nie "drzewem binarnym", to nawet sporo
    >> wzrosnac

    >A jednak Twój pomysł jest lepszy!! Postanowiłem rozszerzyć
    >zagadnienie do 64 liczb. No i od tego momentu zaczęły się chece.
    >Zasoby i czas propagacji poszły ostro w górę, podczas gdy w/g Twojej
    >porady nadal wszystko jest cacy.

    Ciesze sie, ze choc raz teoria zgadza sie z praktyka :-)

    Ale nadal jestem ciekaw jak on to zrobil z 32 liczbami, ze tak dobrze
    bylo :-)

    J.


  • 16. Data: 2015-05-29 22:23:56
    Temat: Re: Jeszcze raz VHDL - problem ze zwięzłym zapisem
    Od: s...@g...com

    W dniu piątek, 29 maja 2015 13:39:46 UTC+2 użytkownik J.F. napisał:

    >
    > Ciesze sie, ze choc raz teoria zgadza sie z praktyka :-)

    Jeżeli teoria nie zgadza się z praktyką, to tym gorzej dla praktyki :)))
    Eeee tam.., jeżeli w cyfrówie wymiśli się coś BANALNIE prostego, to nie ma bata we
    wsi, coby to nie działało.. Podałeś też pomysł z wykorzystaniem akumulatora..
    Toż to pierwsze o czym pomyślałem, ale doszedłem do wniosku, że to lipa.. No bo po
    n+1 mlasknięciach zegara akumulator się "przekręci". Resetowanie co n-mlasknięć jest
    też beż sensu, bo tracę dane R(n downto 0)!!

    Ale..., Twój pomysł z akumulatorem + mój pomysł z rejestrem posuwnym ma sens.

    Robimy taki akumulator : Acc:=Acc+A(n)-A(0). A(n) - aktualna próbka z ADC, A(0) -
    n-mlasknięć starsza próbka z FIFO. Owym FIFO może być właśnie rejestr posuwny. Innymi
    słowy A(i) leci równolegle na akumulator i rejestr posuwny. Wyjście z rejestru (na
    końcu), to A(0). Minimalne zużycie zasobów FPGA dla dowolnego 'n', powinno śmigać na
    ciężkich MHz. Jutro sprawdzę na 'żywym organiźmie'. Dzięki za pomysły, sensownie się
    z Tobą gada !!


    >
    > Ale nadal jestem ciekaw jak on to zrobil z 32 liczbami, ze tak dobrze
    > bylo :-)
    >
    > J.

strony : 1 . [ 2 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: