Ja bym to zrobił tak, uważaj na błedy składni pisze z pamięci: process (clk,reset) begin if (reset='1') then Q<= '0' else if (clk='0') then Q<= D else Q<=Q; end if; end if; end process;
Ad1 Tak Ad2 https://pl.wikipedia.org/wiki/Przerzutni...
http://home.elka.pw.edu.pl/~pkaleta/vhdl...
Mogę spytać, na jakiej uczelni uczycie się VHDL-a? :)
elektryk: jednego tu nie rozumie: "... nawet na logike nie da się tego zrobić w D, ale na "chłopski rozum" przerzutnik RS będzie dobry..." może się mylę ale mnie się wydaje, że jeżeli jakiś układ da się zorbić na przerzutnikaach RS to da się też zrobić na D, tak samo ja się da na JK i na T. strdaniel: układ kombinacyjny to taki, którego wyjścia zmnieniają...
Witam muszę nauczyć tworzyć rejestry n bitowe z przerzutników typu D i T z funkcjami przesunięcia w lewo lub w prawo, zapis, i np suma. Wszyto ma być w zapisie VHDL walczę już z tym od 2 tygodni mam problem z odwzorowaniem wszystkich sygnałów dla przykładu rejestr 5 bitowy na przerzutniku D z funkcjami zapis , xor, przesunięcie w lewo przyjąłem y1(SW7)...
może najpierw reset by się przydał żeby zainicjalizować przerzutniki zerami?
Musisz zrobić to przez przerzutnik T (na przykład) Dla przykładu takie coś: entity T_flipflop is port( ck : in std_logic; Q : buffer std_logic); end T_flipflop; architecture T of T_flipflop is begin process(ck, reset) begin if(ck='1' and ck'event) then Q <= not Q; end if; end process; end T; na ck podajesz sygnał z przycisku. Na wyjsciu będziesz...
A co? źle działa?
Witam Od kilku dni rozgryzam VHDLa i mam pewien problem. Muszę stworzyć układ, który wyświetla na LCD cyfry wciśnięte z klawiatury. Klaiwatura składa się z 2 przycisków. wejścia (ile razy wciśniemy taka cyfra) i entera (zatwierdzającego). Zrobiłem to w ten sposób, że zliczana jest ilość zboczy narastających na przycisku wejscia, zatwierdzanie enterem....
Sprawdziłem to, co polecałem sprawdzić Koledze mongoł2000 - RTL schematic dla przypadku rising_edge lub clk'event and clk='1' jeśli układ ma dzialać. Takem napisał w mojej pierwszej odpowiedzi.
Tak jak mówiłem - VHDL :) Moje rozwiązanie nie było do końca przemyślane (pomyślałem o tym , ale nic nie zrobiłem). Naprawdę -żeby napisać w VHDL licznik - nie trzeba aż tak bardzo go (VHDLA)znać, wystarczą podstawy. Być może znajdzie się jakiś przerzutnik D wyzwalany zboczem opadającym? Nie mam zielonego pojęcia :) O nawet jest :) http://www.elektroda.pl/rtvforum/topic90...
Na początek taka uwaga: układy GAL np. 16V8, nie są układami FPGA tylko rodziną układów PLD (Programmable Logic Devices). Tak jak napisałeś: Proteusie, tak jak do mikrokontrolera trzeba podać ścieżkę pliku .hex tak dla układu GAL trzeba podać plik .jed. Plik .hex (ogólnie) jest plikiem zawierającym skompilowaną wersję programu przeznaczonego dla konkretnego...
Język VHDL daje duże możliwości co do definiowania sygnałów. Jednak układy FPGA nie muszą mieć zaimplementowanych wszystkich typów sygnałów. To jest podobnie jak przy implementacji przerzutnika reagującego na oba zbocza narastające i opadające. Języku VHDL umożliwia napisanie kodu dla takiego przerzutnika, ale tylko w niektórych układach można go zrealizować...
...są zarówno schematy na przerzutnikach jak i implementacja w VHDL Poprawka, to jest Verilog (; Są gotowe scalaki też na to.
Dodatkowo trzeba dobreć liczbe przerzutników do częstotliwości zegara. jak mam F = 12MHZ to ile powinienem użyć przerzutników?
wykonywane operacje zależą od zegara Nie, zależą od szybkości logiki. Bo fpga to taki duży zestaw bramek i przerzutników. Natomiast to jaką maksymalną częstotliwością możesz taktować daną logike, zależy od projektu w tym samego fpga. Na końcu, po syntezie i takich tam innych rzeczach, możesz otrzymać różne timingi i informacje, w tym interesującą cię...
zmusic Quartusa do uzycia wejscia clock enable sprobuj tak: wire clk_enable /*synthesis syn_direct_enable */; always (at)(posedge clk) if (clk_enable) q <= q; else q <= d; kluczowe jest oczywiscie: /*synthesis syn_direct_enable */ jak to bedzie w vhdl musisz sobie sprawdzic w help'ie quartusa; o ile mi wiadomo w opcjach kompilatora...
Witam ! Chociaż z tego, co słyszałem, to jeśli FPGA jest wyposażony w przerzutniki DDR to da się zrobić proces z dwoma sygnałami zegarowymi. Proces może mieć tylko jeden sygnał zegarowy taka jest specyfika języka VHDL. A przerzutniki DDR to (na przykładzie spartana ) nic innego jak dwa przerzutniki taktowane, albo tym samym zegarem ale na jeden przerzutnik...
Witam. Potrzebuję jakichś informacji na temat układu o nazwie STIR4115. Zależy mi na opisie jego budowy wewnętrznej (bramki, przerzutniki, itd) lub schemacie w VHDL-u. Jak ktoś coś ma to bardzo bym prosił o pomoc.
A w jakim języku to piszesz, VHDL, Verilog, czy może rysujesz schemat? W jakim programie testujesz?
Na bramkach i przerzutnikach wykorzystałbym za pewne zjawisko hazardu żeby uzyskać krótką szpilkę resetującą asynchronicznie licznik. :D Od razu Cie polubiłem(pomijając to "za pewne"), w vhdl-u tez możesz napisać taką "szpilkę", wystarczy przerzutnik resetować jego wyjsciem, ale nie jest to eleganckie. Nie wiem jaki jest zalecany kod na "DualEdge CoolRunnera",...
Był już taki temat poruszany sprawie zegara. Epidemia jakaś... Między clk'event and clk = '1' ,a rising_edge(clk) jest różnica, która objawia się w symulacji. Pierwszy reaguje na dowolną tranzycję z stanu m.i. 'Z' 'L' 'H' na '1', natomiast druga funkcja tylko z '0' na '1'. Dlatego według mnie bardziej zwięźle stosować tą drugą, już sama nazwa rising_edge...
if rising_edge(clk) then "Wewnątrz bloku process instrukcje wykonywane są szeregowo. Proces jest wywoływany przy zmianie wartości jednego z jego parametrów. Zmiana wartości sygnałów zaimplementowana wewnątrz procesu następuje dopiero po zakończeniu procesu." to jest 'teoretyczna' prawda i tak bedzie dzialal symulator; w praktyce (narzedzia syntezy...
Być może układ na którym testujesz (o ile nie mówimy o symulacji) nie wspiera inicjalizacji przerzutników na wybrany stan. Zakładając, że po starcie systemu wszystkie ustawiane są na "1" wówczas wszystkie xnor'y będą pomiędzy wartościami "1" zwracając... również "1". Nie wiem czy mam rację, bo moje doświadczenie jest na razie niewielkie, ale można to...
Ten układ naprawde nienormalnie się zachowuje przy Twoim symulatorze.(nie testowałem u siebie) Pozatym opis przy pomocy procesu jest wg mnie nielogiczny, Lepiej urzyć wyjścia Q typu 'buffer' i przy pomocy instrukcji warunkowych to zrobić (przy jakimś warunku Q<=Q)
JK := J L K;-- ?? Źle przepisałeś. Tu ma być JK := J & K czy mógłby ktoś potwierdzić, że jest OK? Popatrz na kod, sprawdź jak działa normalny przerzutnik JK i wszystko będziesz wiedział.
Witam. Posiadam krótki program w języku VHDL. Potrzebuję zmienić w nim typ licznika z STD_LOGIC_VECTOR na typ Integer(0-15) i trochę utknąłem wiem że liczby Integer trzeba zapisać dziesiętnie i w apostrofie oraz ze w architekturze muszę zmienić signal stan: std_logic_vector (3 downto 0); na signal stan: INTEGER RANGE 0 TO 15; Na co jeszcze muszę zwrócić...
Potem wyrzuciłem zmienne zamieniając je na sygnały poza procesem (czyli, wymusiłem w ten sposób synchronizm, hmm?)... Wymusiłeś wstawienie kilku przerzutników które miejmy nadzieje przetną ścieżki sygnałów tak aby nie było wyścigów. Sprawdź dokładnie w symulatorze czy o takie działanie układu Ci chodziło, variable a signal to dwie różne rzeczy. Jak...
Mam nadzieję, że przetestowałeś swój projekt w jakimś programie do symulacji, np. ModelSim. cos Ty, zauwazylem ostatnio tendencje kodowania ala Beethoven, on na stare lata ogluchl i komponowal muzyke ale on byl geniuszem, natomiast co niektorzy ziomale pisza kod i ... synteza->impl->bit->jtag i obczajka pali sie ta dioda czy nie. To nic ze kod przeczy...
Skoro nie znasz C to ok, ale polecam naukę - bo po pewnym czasie i mając pewną ilość bibliotek już sprawdzonych (gdzie wiesz co i jak ustawić) to też napisanie prostego programu, czy multipleksowania to kiklanaście / dziesiąt linijek i robi sie to w 20-30 minut. Dlaczego piszę - ostatnio na uczelni sporo osób zamiast uczyć się VHDL rysuje układy logiczne...
chodzi o to, że aby kod działał to musi to działać na fizycznych układach (innymi słowy być syntezowalne, dlatego np. nie można w jednym procesie wykorzystywać dwóch zegarów, ponieważ nie ma takich przerzutników), a rzeczywiste układy pamięci nie są w stanie w jednym momencie obsługiwać zapis i odczyt, dlatego stosuje się takie technologie jak ddr-sdram...
Musisz zaimplementować układ likwidujący drgania zestyków Tak jak napisal kolega powyzej, idealnie byloby jakbys mial przyciski z dwoma obwodami jeden dla wcisnietego przycisku, drugi dla niewcisnietego i ustawial '0' albo '1' na zasadzie dzialania przerzutnika RS aktywnymi sygnalami z tego przycisku.
Co do środowiska to myślę, że jeśli chcesz pracować z Xilinxami to wystarczy Ci udostępniana bezpłatnie wersja Xilinx WebPack ISE do zabaw z CPLD i FPGA, zależnie co wybierzesz. I nie musisz pisać w VHDL'u od razu, jest możliwość rysowania układu z wykorzystaniem elementów dostępnych w bibliotekach (sumatory, liczniki, pamięci, bramki, przerzutniki...
Uklady FPGA to nie mikrokontrolery, to uklady programowalne. Do opisu stosuje sie jezyk VHDL a nie C. W VHDLu opisuje sie sprzet i jak ma to zostac zaimplementowane. Podstawową różnica jest to że w VHDLu opis jest współbierzny a w C sekwencyjny. Na początek polecam poczytać coś o języku VHDL a dopiero póżniej kupić płytke. Pomiędzy procesorami a układami...
Pierwszy błąd licznik nie reaguje na zbocze tylko na pozoim sygnału zegara, druga uwaga robisz to samo przypisanie w kilku miejscach programu. Podstawowy Twój błąd masz nawyki z programowania procesorów. Język VHDL to nie polecenia wykonujące się po kolei, to opis struktury logicznej. Syntezer VHDL przetwarza to na połączenia logiczne między przerzutnikami,...
Może mi ktoś pomóc /.../ to jest temat w sam raz na pierwsze ćwiczenia kursu okładów programowalnych czy vhdl, nie wymaga żadnych pomysłów, a podstawowej wiedzy; zajrzyj do książki jak się robi przerzutnik, potem spróbuj polaczyc szeregowo dwa; potem, ewentualnie, ktoś ci tu na elektrodzie podpowie co można poprawić, jeśli sam nie zrobisz tego perfekcyjnie;...
nie mam pojecia jak to zrobić :/ porażka powiedz jak zrobić ten licznik jak zacząć? jak zaadresować multiplekser korzystać z przerzutników czy z gotowych couters? nie mam czasu na uczenie się teraz vhdl muszę zrobić to do piątku a jutro mam ostatni dzień wolny
Witam, potrzebuję pomocy. Chodzi mianowicie o rysunki paru liczników modulo oraz dzielników przez. Odnośnie liczników, to chodzi mi o coś takiego: http://home.elka.pw.edu.pl/~pkaleta/vhdl... Tylko tam mam 2, 3 oraz 4, potrzebowałbym do 10, jeśli to możliwe. Przydałby się schematy + przebiegi. Odnośnie dzielników przez potrzebuję...
Dave_PL. Nie zrozumiałem Twojej poprzedniej wiadomości za bardzo. Wg mnie rejestr jest przerzutnikiem (czyli Flip Flop) typu D. Przechowuje jedną daną, która jest podana na wejściu pod nazwą "rejestr" i przekazuje ją dalej pod tą samą nazwą.
No to musisz sobie zdefiniowac jakiś przerzutnik sterujący kierunkiem zliczania a jego stan zmieniać powiedzmy narastającym zboczem pochodzącym od (wyfiltrowanego z drgań styków) sygnału przycisku
To nie tak, że nie doceniam VHDL. Lecz do tej pory, gdy szukał w sieci przykładów w VHDLu, to znajdowałem tylko bramki NAND, przerzutniki itp. Dzięki za informację o open core. Może coś z tym mi się uda zrobić.
FPGA i CPLD się nie programuje. To się konfiguruje. To tylko nałóg że używa się słowa "programowanie" Wyobraź sobie że masz kilkadziesiąt wiaderek z układami cyfrowymi. Bramki, przerzutniki, pamięci, dekodery itp. W każdym wiaderku po 1000 szt. I wszystko to po zaprojektowaniu układu cyfrowego lutujesz na płytce 10x10m. Gdy użyjesz FPGA lub CPLD masz...
Program jakiego używam to Xlixix 92. Mam zadanie zaprogramować płytkę Xlixa a zadanie wygląda tak :Wykorzystując automat moore'a, zaprojektuj i wykonaj detektor sekwencji '010'. Detektor zrealizuj na przerzutnikach D i JK. Wejście zegara dać na CLK 2. Muszę więc stworzyć detektor sekwencji na przerzutniku D i/lub JK. Zegar muszę zaprogramować na pin...
Drogi kolego, Kolega myli VHDL z C/C++ i innymi jezykami wysokiego poziomu. VHDL opisuje sprzet. Tzn ze gdy pisze kolega np "process" to musi mniej wiecej wiedziec jak to ma wygladac, czy to ma byc przerzutnik, czy mux + przerzutnik, czy logika + przerzutnik. Kod ktory kolega napisał poniżej [syntax=vhdl]process (NSS) begin if (NSS'event and NSS = '1')...
Witam, potrzebuję pomocy w określeniu przerzutników zastosowanych w układzie sn74LS592 http://focus.ti.com/lit/ds/symlink/sn74l... układ znajduje się na stronie 3. Głównie zależy mi na określeniu z jakich bramek logicznych są zbudowane i ogólnie jak to wszystko wygląda wewnątrz. Nie jest to moją mocną stroną, a informacji na ten temat znaleźć nie...
Mam za zadanie napisania programu który będzie sterował serwomechanizmem metodą PWM. Odpowiedniemu położeniu serwomechanizmu odpowiada sygnał o konkretnym wypełnieniu. Oto mój pierwszy program "testowy" za pomocą którego chcę po prostu ruszyć tym silniczkiem. Prescaler + Timer + rejestr compare TOP + rejestr compare Toggle + bufor na niego. Z takich...
Ta dodatkowa "delta symulacyjna" czyli "nowa domena zegarowa" mam nadzieje ze ma miejsce tylko podczas uzycia dodatkowego sygnalu dla zegara. Jeśli port jest "podmapowany" na port instancji powyżej, to nie dochodzi dodatkowe opóźnienie(delta). Jeśli z portu idzie na sygnał i dopiero na port to dochodzi 1 delta w symulacji, jak dwa sygnały po drodze...
zamiast używać przycisku jako clocka, proponuję abyś przerzutnik taktował zegarem zewnętrzym a jedynie na wejście zezwolenia zegara (zazwyczaj jest to clock enable CE) podawał sygnał z przycisku. wtedy działanie przerzutnika bedzie bramkowane przez przycisk. oczywiście aby układ działał poprawnie należałoby z jednego przyciśniecia przycisku wygenerować...
musze sie zastrzec, ze napisze o tym, czego sie domyslam na podstawie zacytowanego komunikatu i praktyki z fpga, a nie o tym, co wiem :) co sie nie podoba syntezerowi w tym fsm nie chodzi o twoja fsm, kompilatory fpga standardowo zmieniaja kodowanie fsm na 'one hot', to znaczy z kodu: hex 01,02,03,...10 itd, robia bin 00001,000010,000100 itd. bo jest...
"]Jak na moje oko to program robiący syntezę "dał cienia" nie sadze, kompilator xilinx to stara, doswiadczona marka; to jest temat na wielogodzinna dyskusje z teoretykami symulacji i syntezy, jako praktyk powiem tyle: vhdl powstawal w czasach, gdy jeszcze fpga nie bylo na swiecie, powstal jako jezyk do modelowania wlasciwie czegokolwiek, niekoniecznie...
Umiesz rysować schematy = umiesz robić CPLD. Nie musisz znać Verilog, VHDL, AHDL, CUPL i innych. Rysujesz np układ wizyjny z TTL, przypisujesz wejścia wyjścia, naciskasz kompilacje i po robocie. Programator kosztuje ok 60zł, jak masz LPT to kilka rezystorów. A czy mógłbyś, może w osobnym wątku, pokazać w kilku krokach jak zaprogramować cpld w oparciu...
AFTER 10MS jest chyba nie syntezowalne. Lepiej urzyj przycisków bez drgań. Ew możesz spróbować dodać zegar którego zbocze będzie generowało odczyt stanu przycisków i przekazywanie stanu na przerzutniki żeby uniknąć autopowtarzania, jednak to się wiąże ze znaczą rozbudowa układu wewnętrznego.
okey, już ( chyba ) rozumiem, ale tak teoretycznie: jakby dać układ, który wykryje zbocze w rejestrze przesuwnym i poprzez porównanie bitów da na wyjściu 1 gdy wykryje np. narastający... ale nie wiem, czy myślę w dobrym kierunku Dobrze myślisz, tak wiele popularnych debouncing'ów pracuje (; Możesz wykorzystać impuls z debouncing'u (minimum dwa przerzutniki...
Po co w takim razie ten VHDL ? Istnieją jakieś funkcje tylko do symulacji i nijak się to ma do sprzętu, a przecież to język opisu sprzętu ... Czy oznacza to, że np instrukcja LOOP też jest niesyntezowalna ? Trochę się zawiodłem ... Czy faktycznie VHDL jest taki ważny i tak stosowany na świecie ? Instrukcja wait jak i inne podobne instrukcje służą do...
zapis y <= y jest bez sensu, bo i tak narzedzie syntezy go wywali. Pozatym jest niezgodne z syntaxem VHDL-a, dobra maniera jest operowanie na sygnalach wtedy moze na nie pisac i je czytac, czyli ... signal y_int : std_logic; begin y <= y_int; ... Do tego jak dla mnie to ten przycisk powinien enablowac przypis: if przycisk = '0' then aktualny <=...
Bym się rozpisał na ten temat, ale może kiedy indziej :P Dla fanów C/C++: "The Design Warriors Guide to FPGAs" i wiele innych.
Słuszna decyzja. Jak się już wprawisz w C, można łatwo przenosić kod między innymi mikrokontrolerami. A Xilinx to bardzo wyspecjalizowana firma zajmująca się wyłącznie układami programowalnymi (CPLD/FPGA), softem do nich oraz IP'corami. Najmniejsza ilość wyprowadzeń to 32 (CPLD) i ich się nie programuje, tylko tworzy się opis sprzętu za pomocą języka...
Słusznie Wiele osób odradza taką praktykę lub wręcz zalicza do typowych pułapek przy kodowaniu w VHDL. O ile sygnałom które będą wyjściami przerzutników program robiący synteze może ustalić wartość inicjalną po włączeniu zasilania czy zaprogramowaniu układu o tyle w przypadku pozostałych ta informacja zostanie zignorowana (generując jedynie warnning)...
(at) Mroowa1990 to nie najmniejszego sensu. Stworzyłeś zwykły zatrzask (bo pominąłeś wszystkie możliwości stanu LEDR przy wszystkich stanach op , jakbyś je wymienił miałbyś układ kombinacyjny). Przez syntezę to na przykład nie przejdzie, brakuje Tobie reszty możliwości, np na końcu case when others => null; w celu stworzenia zatrzasku. Twój opis...
Ten fragment wygląda normalnie, albo i nie, zależy od całości :) Ogólnie ten warning sygnalizuje Tobie, że coś się nie zmienia (constant) i przy tak zwanym Power-on Reset syntezer XST lepiej to zoptymalizuje jeśli zainicjujesz przerzutnik wartością '1' bo taką stwierdził, że będzie na stałe niż domyślnie '0'. Czyli pewnie Tobie się zdaje, że coś się...
Jeżeli dobrze rozumiem, to program do syntezy (bo błąd pojawia się w czasie syntezy, prawda?) chciałby zastosować w tym przypadku rejestr (czyli w zasadzie przerzutnik) ale nie może, bo sygnał flip_Bs1_out nie zachowuje swojej wartości poza zboczem zegara. Innymi słowy, flip_Bs1_out ma być równe 1 tylko wtedy, gdy wystąpi zbocze na flip_As1_in. W pozostałych...
Uklad generuje 8 razy wiekszy czas od wejscia kluczujacego ok 125 ms niskim stanem /.../ jak ustala sie wpisy w rejestrach tim1-output ma 8*enable to, co ja widze w kodzie: w rejestrze data jest zmierzona dlugosc wysokiego poziomu wejscia enable ; w rejestrze data_obr_min jest wartosc data podzielona przez 8; licznik rejestr odmierza czas, w ktorym...
Dzięki za odpowiedź co do liczników i ogólnie początków właśnie sobie czytam "Język VHDL w praktyce" praca zbiorowa J. Kalisz WKŁ. Już się troszku naczytałem o przerzutnikach i licznikach wraz z przykładami żeby w obrębie procesu stosować zmienne lub przed procesem sygnały. :) Tylko dalej nie kumam tego błędu dotyczącego sygnału CCLK; że niby nie jest...
Wstępne oszacowanie jest jak najbardziej możliwe. Dużo zależy od tego jaką metodę syntezy logicznej będziesz wykorzystywał. Jeżeli w MAX+PLUS-ie będziesz tylko graficznie projektował układ to na pewno będziesz wiedział ile elementów będziesz potrzebował. Noty katalogowe elementów określają ile jest makrokomórek i jakie elementy są dostępne w ramach...
ewaluacyjną ze Spartanem II Wymarły dinozaur... Dosyć ciekawie to wygląda, można sobie zbudować schematy układów, dołączając bloki VHDL i mikrokontrolery Każde środowisko producentów FPGA takie coś ma ISE, Quartus, Diamond. Można stworzyć sobie taki bloczek "graficzny", składając z innych bloczków (proste elementy jak przerzutniki) czy wykonać to porządnie...
Witam, temat był wałkowany wielokrotnie, zdaję sobie z tego sprawę, jednak po przejrzeniu stosu stron poświęconych tej tematyce nie znalazłem właściwej odpowiedzi. Otóż mam problem ze stanami nieustalonymi przerzutnika JK-MS w kostce ULY7476. Usiłuję zrobić licznik mod 4, najprostszy schemat znalazłem tutaj: http://home.elka.pw.edu.pl/~pkaleta/vhdl...
R-MIK, Inaczej , ile masz teraz konwerterów FT201 40 w obudowach DFN. W TME ponad 500szt jest w TSSOP. Osobiście wolę FT22x bo są szybsze, dokładniej szybszy interfejs bo SPI. Nie dość, że SPI śmiga na 18Mb/s to nie ma adresowania. FT201 działa na 400kHz więc max transfer to poniżej 200kb/s. Jest też inna kwestia. FT22x obsługuje statusy modeme i wiem...
Każdy sygnał zewnętrzny powinno się traktować jako asynchroniczny. I tak samo ważne jest synchronizowanie go z zegarem głównym. Do tego wystarczą przynajmniej dwa przerzutniki (nie jeden!), a to wynika z zjawiska metastabilności układów, bo więcej szczegółów wygoogluj Sobie parametr MTBF. Co do długości rejestru do takich rzeczy, to zależy od układu,...
Witam, Trzeba czytać ze zrozumieniem. Dokument async_set_reset When this is set to TRUE on a signal, Foundation Express searches for a branch that uses the signal as a condition. Founda- tion Express then checks whether the branch contains an assign- ment to a constant value. If the branch does, the signal becomes an asynchronous reset or set. Po polsku:...
zastanawim sie teraz, czy moja zmienna/.../nie powinna być typu variable ? wewnatrz fpga masz zestaw bramek logicznych i przerzutnikow, bramki produkuja wyjscie 'natychmiast' po zmianie swoich wejsc, przerzutniki przepisuja swoje wejscie na wyjscie w chwili zbocza zegara i nie zmienisz tego deklarujac sygnaly w inny sposob; problem bierze sie stad,...
Proponuję Tobie nabyć (na przykład w TME) układy XC95xxXL (XC9536XL, XC9572XL itp.), ściągnąć ze stronki Xilinxa ISE web pack (do syntezy logicznej, darmowy) i pobawić się nieco tymi układami. Najszybciej nauczysz się w praktyce ;) Układy, o których wspomniałem to proste CPLD. Polecam Xilinxa ze względu na to, że jest chyba najbardziej dostępny w Polsce...
Dobrzy ludzie pomóżcie, potrzebuje do projektu w Xilinxie wstawić układ obliczający 16 bitowy kod CRC-CCITT (równanie x^16 + x^12 + x^5 + 1) dla danej ramki. W tym temacie jestem totalnym lajkonikiem, ale może ktoś mnie poprawi jak jakas bzdure napisze. CRC-CCITT jeszcze nie potrzebowalem, ale w analizatorach sygnatur i generatorach psedolosowych i...
Możesz skorzystać w ISE z Core Generatora, tam masz dużą ilość komponentów, od liczników do interfaców PCI, poza tym istnieje jeszcze language templates, tam jest wszystko ładnie pokazane. Są tam z zasadzie proste konstrukcje, ale za darmo to nikt Ci nie udostępni jakiś złożonych komponentów. Po za tym też nie bardzo wiem o co Ci chodzi bo przecież...
Przycisków nie wolno podłączać bezpośrednio do sygnału zegarowego przerzutników! Takie użycie to proszenie się o kłopoty. Powinieneś użyć tego sygnału jako zwykłego wejścia kombinacyjnego - czyli taktowanie rejestrów za pomocą sygnału 'zegar' i sprawdzanie stanu przycisków. Poza tym masz błąd w procesie - powinno być np. tak: if bcd >= 9 then bcd...
Vivado wyłapuje zmiany sygnału na wejściu 'D' przerzutnika D w czasie, gdy jest zbocze sygnału zegara. Czy może Koledze chodzi o trafianie we właściwy cykl zegara? Ale to nie jest nowy program - on od lat jest używany, i jakoś tam działa - nie do końca tak, jak by się chciało, i trzeba wyśledzić, skąd się to bierze, coś do niego dodać... Jeżeli miałbym...
Czesc, Te 150MHz to zkladajac, ze logika nie ma zbyt wielu poziomow :) A tak swoja droga to az Xilinx sie przyznal nieoficjalnie, ze maja problemy w 8.2 i 9.1 z wysylaniem przerzutnikow do blokow IO :) Kiedys cos tam dzialalo a teraz juz nie. I problem jest taki, ze strasznie wrazliwi sie zrobili na cala logike przed przerzutnikiem i wtedy sie mocno...
Witam Z tego co pamiętam to ten warning oznaczał albo że jakiś przerzutnik nie jest wyzwalany zegarem tylko poziomem (a tego ISE nie lubi), albo jakiś trywialny błąd który znikał po ponownym odpaleniu ISE. Trudno coś powiedzieć bez listingu. Czy to się odwołuje do jakiejś konkretnej linijki kodu?
Witam!!! Jestem ciekawa czy jest mozliwe zaimplementowanie w strukture układów programowalnych timera 555. Znalazłem jego strukture podstawową i jest to tylko dwa komparatory, przerzutnik RS, i rezystory a i tranzystor ;P. Rezystory to napewno o takich wartościach musiał bym dac zewnątrz lecz reszte to pewnie da sie zrobić we wnątrz. Próbowałęm szukać...
Po pierwsze musisz porzucić słowo procek, kod, funkcja na dosyć długi czas. Mamy 2 rodzaje funkcjonowania instrukcji: 1. Działanie równoległe 2. Działanie szeregowe Tu dopiero widać istotę bloku process. Instrukcje nie objęte blokiem process "wykonywane" będą równolegle (czyli w tym samym czasie) - zostaną zsyntezowane np. do układu logicznego kombinacyjnego...
/.../ uwazasz, ze to dobry pomysl umieszczac wszystkie swoje pytania w tym samym watku ? Myślałem, że syntezator automatycznie da dwa przerzutniki/.../ nie wyobrazam sobie, jak to zapisac w sposob jednoznaczny tak, by kompilator polapal sie ktory FF jest czuly na ktore zbocze; pndemon , ze nalezy unikac przerzutnikow pracujacych na obu zboczach w jednym...
Dzięki, ale ja nie jestem zbyt dobry w VHDL-u, a układ ten mam zrobić w quartusie, za pomocą bloczków. Mimo wszystko czegoś się dowiedziałem, ale proszę o kolejne wskazówki, głównie czy tabela którą rozpisałem do tego układu jest dobra, a jeśli tak, to jak rozpisać ją chodź by dla jednego przerzutnika. :|
Projektuje moduł w Verilogu, ale problem jest bardziej ogólny i wydaje mi się, że może dotyczyć również VHDL: ISE nie syntezuje mi pamięci do rozproszonego RAM, a do przerzutników FF. Przykład kodu: reg [31:0] ct_tab_start_next_n [7:0]; always(at)(posedgeCLK) if (ag_start) ct_tab_start_next_n [ct_dev_num]<=...
W pliku SPI.v masz [syntax=verilog] always (at)(posedge cs) begin data <= tmp_data; end [/syntax] Jesteś pewien, że to dobre rowiązanie? To ci stworzy przerzutnik taktowany ChipSelectem, tymczasem ChipSelect to nie jest sygnal zegarowy. W tym projekcie to raczej bez znaczenia, ale nie powinno sie tworzyc dodatkowych/sztucznych zegarow. Raz, że nie...
Używam do pisania w języku VHDL programu Xilinx ISE 9.1i ale bardzo mi on nie leży. Na zajęciach korzystamy z WebPacka, który jakoś bardziej według mnie jest przysfajanly jednak problem jest z legalnością tego więc jadę na wyżej wymienionej darmówce. Może mi ktoś powiedzieć czy idzie to jakoś zoptymalizować i wyłączyć zbędne funkcje żeby nie wciągało...
Opcje sa dwie: Najlepiej miec przyciski z dwoma obwodami(zwieramymi gdy 1-wlaczony 2-wylaczony) a w ukladzie dodac na wejsciu przerzutnik RS. Najlepiej bo uklad nie wprowadza zadnego opoznienia.(nie liczac RS) Mozna probkowac(zatrzaskiwac) stan wejscia kilka razy i podejmowac decyzje na podstawie kilku, dwóch lub wiecej stanów wejscia. Konkretnym kodem...
Sytuacje mam taką: chce odpalic projekt na XC6SLX150 - czego potrzebuję? Jaki projekt? Wybierz narzędzia, które Ci odpowiadają do realizacji konkretnego zadania: ISE WebPACK - darmowe narzędzia do implementacji logiki, rozmieszczanie i analiza(PlanAhead), symulacja (Isim) i gotowe Xilinx'a IP Core'y (CoreGenerator, część z nich darmowa). Reszta narzędzi...
Na zaliczeniu z programowalnych układów cyfrowych wykładowca dał poniższy kod. Nie mieliśmy VHDLa a jedynie teorię odnośnie pamięci itp. Z ciekawości chciałem zrobić zadanie w domu jednak nie bardzo wiem jak to powinno wyglądać. Nikt nie zrobił dobrze tego dodatkowego zadania. Przedmiot z głowy, zaliczony, jednak jestem ciekaw jak to będzie wyglądać...
Miałem na myśli oczywiście mikrokontrolery. :) FPGA się nie programuje? To do czego jest zatem Verilog i VHDL? VHDL/Verilog to są języki opisu sprzętu HDL, behawioralnego, strukturalnego albo RTL. Najpierw się taki opis syntezuje do netlisty, później przechodzi implementację do struktury, gdzie informacja zostaje zapisane w pliku bitstream, ciągu zer...
A mnie się zdawało że wewnątrz procesu wszystko wykonuje się sekwencyjnie, a nie w jakiś kolejkach w ten sposob symulator nasladuje dzialanie rzeczywistej logiki, a konkretnie przerzutnika jesli sygnaly x i y maja poczatkowo wartosc '0' to kod jak ponizej w hardware wykona sie: a to nie jest tak że tylko działania na zmiennych działają sekwencyjnie,...
To nie jest kolejny "język programowania" , tylko opis sprzętu HDL ( H ardware D escription L anguage). Synteza to musi jakoś przełożyć na sprzęt. Takie rzucanie '*' na lewo i prawo bez sprzętowego wsparcia ze strony specjalnego bloku mnożącego zaimplementowane w FPGA, odbija się ogromną logiką == nieprzyjemności. W szczególności jak nie ograniczasz...
Witam po przerwie ćwiczę ten VHDL i nie jest łatwo :) chcę napisać taki układ który sobie wymyśliłem i ciągle mi to nie działa na początek potrzebuję zrobić (bez użycia schematu oczywiście) przerzutnik RS taki złożony tylko z dwóch bramek NAND jedno wejście "WE" załącza "0" za wyjściu "WY", drugie wejście zmienia stan na 1 (reset) na wyjściu i to działa...
Czesc, Mala dygresja do 'dobrego tonu'. Jestes pewien, ze wykladowca naciskal na uzywanie asynchronicznego resetu w FPGA? Moze odnosil sie do konkretnej rodziny ukladow jakiegos producenta? Reset w projekcie to zagadnienie globalne i nie ma jednoznacznej odpowiedzi na pytanie ktory uzyc. W wiekszosci przypadkow ktory zostanie uzyty jest wypadkowa co...
Witam, Na wstępie napiszę, że czytałem podobne tematy w poszukiwaniu odpowiedzi na moje pytanie;) Otóż, jestem początkującym w tej dziedzinie a chciałbym zrobić ze schematów blokowych w quartusie generator PWM z f=10kHZ. Zasada działania polega na tym, że podaję wartość "dana" i dopóki na komparatorze ta wartość jest większa od wartości na drugim wejściu...
Czesc, Ujalbym to tak. Wszystko zalezy co chcesz robic, czy bawic sie symulacja czy od razu przejsc do syntezy i bawic sie hardware'm. Jak interesuje Cie symulacja, to zaczalbym od VHDL'a. Ten jezyk jest bardzo formalny, duzo "typow" i jak zaczniesz pisac w tym jezyku to symulator bedzie ciagle zglaszal bledy, ze jakis typ sie nie zgadza albo funkcja...
Nie wiedzialem ze xlinx ma takie funkcje, jak taki schemat podejrzec "wizualnie" ? W Zakładce Design -> Synthesize - XST -> View RTL Schematic . Wyskoczy okienko, dalej Start with a schematic . Pokaże się nowa zakładka z połączeniami między bloczkami, dwu-klik na bloczku pokaże jego zawartość, przyda się podstawowa orientacja z układów cyfrowych (bramki,...
Temat był już wałkowany na elektrodzie kilka razy, więc będę się powtarzał. Ten kawałek kodu nie wygląda za dobrze. Po pierwsze: warunki typu </> nie są zbyt wydajnie realizowane. Po drugie: tak się nie buduje przerzutników. Moja propozycja: SIGNAL count2: std_logic_vector (25 downto 0); process(clk_80M) begin if rising_edge(clk_80M)...
Można w kodzie VHDL łączyć takie procesy, jak opisany wyżej oraz zwykłe funktory logiczne, przykładowo kod : y <= a and b; Opisuje bramkę AND z wejściami a i b i wyjściem y. Proces, który zawiera, jak powiedziałeś, zmienne. Jednakże są one zadeklarowane w postaci signal i są typu std_logic_vector, czyli całość zostanie przez syntezer zinterpretowana...
Przyciski powinny mieć działanie asynchroniczne of course. Nie of course, wszytko ma mieć działanie synchroniczne względem głównego zegara. Zegar główny (powiedzmy 50 MHz) podajesz do wszystkich przerzutników bez wyjątku, czyli do funkcji rising_edge. Teraz za pomocą preskalera uzyskujesz 1Hz i tak podajesz do procesu liczącego pojedyncze sekundy na...
Jak programuje się takie CLPD? Rysuje się logikę z bramek czy jakoś opisuje? Można tak i wychodzi dośc dobrze. Rysujesz schemat z gotowych układów 74xx i bramek, przerzutników, itp. Później symulacja. Jak symulacja ok, wgrywasz (BitBlaster to chyba się nazywa, cena ok 60zł, albo, jak masz LPT, kilka rezystorów) i musi działać. Możesz podrzucić jakieś...
przerzutnik przekaźnik pomiar przerzutnik przerzutnik zatrzask
bascom arduino programator błąd moduł sterować silnik schemat jonizator powietrza
vodafone calculator vodafone calculator
Boardview dla płyty DAOP5JMB6EO REV: E w laptopie Hulajnoga Sowlow - Manetka gazu nie działa po upadku