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ą...
Dziękuje za odpowiedz, jednakże moje zaawansowanie w vhdl nie jest duże mój opis tak jak opisałem mogę chyba poskracać za pomocą generic tak jak sugerujesz (tak jak ten element z przypisaniem L() do LEDR() tak sadze). Wolał bym pozostać przy opisie ( z poprawkami ) co mam, tylko właśnie mam tam jakiś błąd i nie wiem jaki? A jak porostu nie idzie tego...
może najpierw reset by się przydał żeby zainicjalizować przerzutniki zerami?
witam Problem jest pewnie banalny ale sprawil mi duzy problem.Mam przycisk powiedzmy do stopera.Kiedy go wcisne i puszcze to stoper ma zaczac liczyc.Kiedy go wciskam to mam jedynke logiczna i stoper liczy,ale kiedy go puszcze to automatycznie mam zero i stoper przestaje dzialac.jak podtrzymac ten sygnal.Chcialbym zeby bylo tak ze jak raz go wcisne i...
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ć...
Dodatkowo trzeba dobreć liczbe przerzutników do częstotliwości zegara. jak mam F = 12MHZ to ile powinienem użyć przerzutników?
[url=http://www.fpga4fun.com/QuadratureD... znajdziesz odpowiedzi na Twój problem(są zarówno schematy na przerzutnikach jak i implementacja w VHDL)
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. 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.
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...
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...
A w jakim języku to piszesz, VHDL, Verilog, czy może rysujesz schemat? W jakim programie testujesz?
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...
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ł.
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",...
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ć...
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...
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.
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...
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...
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;...
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...
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...
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ć.
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...
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,...
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
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')...
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 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...
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...
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.
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...
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...
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...
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...
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...
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 <=...
(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ę...
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)...
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...
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...
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...
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...
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,...
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...
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:...
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...
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ć...
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...
/.../ 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...
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...
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]<=...
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...
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...
Syntezowanie się zmiennych bywa czasem nieokreślone, dlatego ja np. w ogóle ich nie używam (no prawie :)), sygnał to sygnał i już, albo jest to kawałek jakiejś ścieżki, albo przerzutnik/latch. Poza tym o tym, że układ jest sekwencyjny nie decyduje istnienie w kodzie procesu, w którym skądinąd instrukcje wykonują się jedna po drugiej (żeby nie powiedzieć...
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...
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...
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...
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ć...
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...
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,...
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...
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...
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...
no i nie ma prawa działać są dwa rodzaje procesów które odpowiadają budowie rzeczywistych układów i jako takie są kompilowane pierwszy rodzaj to procesy tzw. synchroniczne w którch zmiany sygnałów następują na zoboczu zegara - to u ciebie ma być ten drugi proces bo masz clk'event tyle że nie dałes tego clk na liste czułości, wszystkie takie procesy...
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)...
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...
Standardowy "studencki" przykład światła uliczne . Chociaż ostatnio mój prowadzący poszedł o krok dalej w ewolucji tematów labolatoryjnych i wymyślił nowy temat. Jest to dekoder instrukcji z jednostką ALU mikroprocesora. Zawiera 16bit rejestr, dwa 8bit wejścia ,16bit wyjście, 4bit wejście wyboru instrukcji i wejście zegarowe. Wyjście 16bit jest podczepione...
Czy w verilogu czy innym vhdl jest możliwość zdefiniowania funkcji, jaką realizuje taki 121? wszystko /prawie/ mozna, jesli dostatecznie dobrze znasz architekture fpga /architekture wlasnie, nie vhdl czy verilog/; taki ´puls generator` jakim jest 121 mozesz zrobic licznikiem, pod warunkiem, ze dlugosc impulsu jest kilkakrotnie wieksza od okresu twojego...
przerzutnik przekaźnik przerzutnik zatrzask pomiar przerzutnik
listwa zasilająca naprawa alarm forteca pascal zapis odczyt
nadpisanie danych nadpisanie danych
Szybkie miganie kierunkowskazów w Mercedes W207 Termet Silver Pro 20 kW - Szum w kaloryferach a parametr P18