FPGA - Custom Signal Generator

Tematy związane z LabVIEW FPGA oraz programowaniem układów.
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

FPGA - Custom Signal Generator

Post autor: Pitol »

Kolejny mój problem związany z FPGA.
Do tej pory korzystałem z bloczka Sine Wave Generator. Zajrzałem do środka tego Expressa i postanowiłem przystosować go do moich potrzeb. Jedyną zmianą jaką wprowadziłem było podmienienie tablicy LUT (Look-Up Table) na przygotowany przeze mnie sygnał (odrobinę inny od standardowego sinusa). Ilość próbek jest identyczna, amplitudy również się zgadzają.
Tak podmieniony VI zapisałem i chciałem z niego skorzystać. Po kompilacji i uruchomieniu bloczek ten nic nie zwraca. Okazuje się, że zadeklarowana przeze mnie stała tablica po kompilacji jest pusta. Natomiast jeśli na tej stałej tablicy użyje się opcji Set Dimension Size… i ustawi na fixed to po kompilacji wszystko działa, tzn. bloczek generacji sygnału zwraca odpowiednie próbki.
Sprawdziłem to jedynie na ustawieniu wielkości tablicy 10, ponieważ gdy ustawiłem docelowe 1024 próbki to kompilacja wciąż trwa… (a to już jakieś 30 minut, EDIT: kompilacja trwała 54 minuty!).
Nie rozumiem jednej rzeczy: gdy skorzystam z Expressa do generowania sinusa to kompilacja przebiega szybko i wszystko działa. Jednak gdy tylko przekształcę tego Expressa na zwykłego VI (bez żadnych zmian w kodzie) i skompiluję program to VI ten przestaje zwracać próbki.

WTF ??? :((
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: FPGA - Custom Signal Generator

Post autor: Pitol »

I odpowiedź się znalazła :)

W menu FPGA Math & Analysis -> Utilities jest bloczek LUT 1D. Pozwala on zbudować sobie tablicę, która najwyraźniej jest dużo lepiej implementowana na FPGA niż zwykła stała. I od razu kompiluje się 10x szybciej.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
ODPOWIEDZ