FPGA ISE Xilinx

Oct 16, 2015 25 Replies

No, po kilku wieczorach walki sterownik pamięci zaskoczył i działa. Aktualnie 16-to bitowe dane wyświetlam w celach dabugowania na linijce diodowej. Czas to zmienić. W tym celu zapodałem moduł UART i tu pytanie: co trzeba zrobić z ośmio bitową daną ażeby posyłać ją jako kolejne kody liczby jaką reprezentuje a nie pojedyńczy kod znaku ASCII? Jest na to jakieś gotowe, biblioteczne rozwiązanie?

Ponadto gdzieś kiedyś czytałem że jest jakieś narzędzie, które potrafi wskazać najmniejszy w zasoby układ do którego można wgrać ukończony projekt. Zestaw ewaluacyjny to zawsze bardziej wypasiona (droga) platforma do testów. Ktoś wie jak to się nazywa?

Pozdrawiam.

W dniu czwartek, 29 października 2015 14:28:20 UTC+1 użytkownik Janko napisał:

Strasznie "pogmatwane" pytanie.. O ile dobrze rozumiem, chodzi Ci o przetworzenie y=f(x) - (x - ośmiobitowa dana). Jeżeli o to chodzi, to sprawa jest banalna. Zaimplementuj ROM wykorzystując IP generator.

iMPACT.

Nie zawsze, ale osobiście nie jestem zwolennikiem zestawów ewaluacyjnych. Dobre w celach edukacyjnych dla studentów, natomiast inżynierom polecam robić od razu po swojemu.

Co?

Jednym z pomysłów jest CIC:

formatting link
Pozdrawiam, Piotr

Napiszę raz jeszcze w czym problem. Mam daną odczytaną z ADC (16-to bitowy wektor).

Robię z niej inta: integerResult <= to_integer(unsigned(inputVector)); No i teraz chciałbym przepchnąć tą liczbę UART-em do PC (taki mój debug systemu).

Gdybym to robił dla AVR-a to daną liczbę dzieliłbym w celu wyłuskania, tysięcy-setek-dziesiątek-jedności tyle razy ile to konieczne i wysyłał kolejne cyferki. Nie wiem jak to zrealizować w VHDL-u.

Możesz podpowiedzieć jaka to funkcja, komenda??

Pozdrawiam.

W dniu 30.10.2015 o 10:34, Janko pisze:

A nie prościej wysłać te 16-bitów jako dwa bajty ?

Cały czas mam wrażenie, że chcesz pisać program w VHDL-u VHDL/Verilog to nie jest język programowania tylko opisu sprzętu. Nie ma funkcji lub komendy do wysyłania bajtów przez UART. Trzeba sobie "wystrugać" kawałek sprzętu, który to zrealizuje. Myśl na takiej zasadzie: Mam wiadro TTL-i z całej serii i muszę za ich pomocą wysłać szeregowo kilka 16-bitów w takiej formie coby pasowały do RS232. Czyli pewnie będzie potrzebny będzie jakiś rejestr równoległo-szeregowy o długości 16-bitów + 2 bity startu + 2 bity stop. Jakiś licznik tych bitów, dzielnik częstotliwości narzucający prędkość wysyłania bitów itd/itp.

W Verilogu mogę na prędce naskrobać taki moduł.

W dniu piątek, 30 października 2015 10:34:07 UTC+1 użytkownik Janko napisał:

Zupełnie niepotrzebnie robisz z danych wejściowych inta. Ładuj dane z ADC od razu na rejestr posuwny i zabieraj do dalszej transmisji najstarszy, albo najmłopszy bit (jak Ci pasuje).

To nie instrukcja/komenda tylko program w obrębie ISE do debagowania, programowania i takich tam...

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required