Czy to może być zwykły licznik modulo 50 milionów ? Ja tak zrobiłem w VHDLu i zadziałało ale jeśli potrzebujesz podzielenie częstotliwości przez potęgę "dwójki" to inkrementujesz wektor o jakiejś długości a na wyjściu podajesz np. trzeci bit tego wektora aby uzyskać podzielenie przez 8. Nie znam veriloga ale napewno tak też można zrobić w tym języku.
tyle że posiadającego jedno wejście i kilka wyjść. Licznik tez tak ma tylko wyjścia pookazują binarnie stan licznika (jako liczbę dwójkową) W opisach liczników (technika cyfrowa) pojawiają się licznik 1 z N zwany także pierścieniowymi które maja w danym momencie jedno wyjście aktywne. Można poszukać czy taki gotowy scalony istnieje. Zazwyczaj brakuje...
Mam problem z moim licznikiem. Chciałbym, żeby resetował się na dodatnim zboczu x1 ... podobny problem pojawia sie tu dosc czesto, wiec nieco bardziej lopatologicznie niz uczynil to piotrva ; VERILIG lub VHDL to NIE jest kolejny jezyk programowania jakiegos procesora z rodziny FPGA; FPGA NIE algorytm wykonania jakiejs funkcji; linijki: jednym bloku...
/.../Jak to się dzieje?/.../ zastanow sie nad takim 'kodem': reg [ 7:0] cnt1; reg [ 25:0] cnt2; reg [150:0] cnt3; always (at)(posedge clk) ckl1 <= clk1 +1; clk2 <= clk2 +1 ... assign led1 = cnt1[1]; assign led2 = cnt2[1]; assign led3 = cnt3[1]; czy led1, led2, led3 beda mrugaly z rozna czestotliwoscia ? malo tego, jestem przekonany, ze w czasie...
jesli sc na N cykli, potem je zamyka i odczytuje wartosc na swoim wejsciu data Hmm, wydawalo mi sie, ze zastosowalem tylko sugestie dot. zbocza opadajacego. Czy móglbys prosze wyjasnic mi te róznice? wersja 1: always (at)( posedge sck) /.../ if(bitcount== N-1 ) data = tmp_data; wersja 2: always (at)( negedge sck) /.../ if(bitcount == (N) ) data <=...
ja bym to zrobil tak: [w kodzie sa komentarze, ktory byc moze cos wyjasnia] [syntax=verilog] module dekada (CLK, RST, CE, SET, prst1, prst2, prst3, prst4, Q0, Q1, Q2, Q3, zero); input CLK, RST, CE, SET; input [3:0] prst1; // input [2:0] prst2; // chyba typo input [3:0] prst2; input [3:0] prst3; input [3:0] prst4; output [3:0] Q0; output [3:0] Q1; output...
Witam, Próbuje opisać układ realizujący następujące rzeczy: - zlicza impulsy clk do pewnej wartości i później od początku (np. od 0 do 100), - jeśli zliczy już wartość 100 na wyjściu jedynka przesuwana jest o jedną pozycję w lewo (count<=count(30 downto 0)&count(31);). Ciągle ma problem z tym, aby sygnał wyjściowy nie otrzymywał przypadkowych...
[quote="yakuza_2000"] [syntax=verilog]reg [7:0]iadr = 8'h0; reg [7:0] byte_count = 8'h0;[/syntax] Dzięki za podpowiedź. Reset będzie, wyciąłem fragmenty kodu aby pokazać problem.
http://obrazki.elektroda.pl/4339422600_1... To moja trzecia konstrukcja na FPGA ;) pierwszy był trywialny zegarek na kilku licznikach, a potem prosty kalkulatorek dodający dwie liczby. Tak więc proszę o konstruktywną krytykę i porady, co by tu można jeszcze ulepszyć. FPGA ciekawi mnie już od jakiegoś czasu, ze względu na to, że można...
zobacz sobie na stronce elektorniki praktycznej jest taki programik webpack zdaje się od xilinxa ktory udostepniają za darmo chyba w niepełnej wersji ale zawsze lepsze to nisz nic a programów do systezy jest wiele ise od xilina , fpga express, leonardo itp. na stronkach o verilogu można się o nich dowiedzieć więcej
Tzn. różnią się one tylko in- i outputami w nagłówku? To może chodzi o przyjętą wersję Veriloga, nie znam softu Lattice'a i ichniej implementacji tego, ale spróbuj przestawić np. na Verilog-2001 albo jeszcze lepiej na SystemVerilog. EDIT: Bo rozumiem, że w pin plannerze czy Lattice'owskim odpowiedniku takowego masz wyprowadzenia odpowiednio przypisane?
https://obrazki.elektroda.pl/6203916300_... Pytanie: Jak mogę dokonać pomiaru wartości analogowej, jeśli w moim systemie pozostało tylko jedno GPIO na FPGA/mikrokontrolerze? Odpowiedź: Zamiast przetwornika analogowo-cyfrowego można zastosować przetwornik napięcia na częstotliwość. Ponieważ zapotrzebowanie na funkcje pomiarowe staje...
Dzięki za pomoc ale problem rozwiązałem zupełnie inaczej. Blok ten był mi potrzebny do generowania sygnałów sterujących dla tranzystorów w mostku. Polegać to miało na tym że przychodził PWM z zewnątrz i na bazie jego wygenerować 2 sygnały dla tranzystorów wraz z deadtime . I właśnie ten blok miał realizować deadtime. Jednak wadą było że potrzebowałem...
Czesc, Bede strzelal: always (at)(posedge CCK or negedge CCLR or negedge CLOAD) begin if (CCLR==0) licznik <= 0; else if (CLOAD==0) licznik <= rejestr; else if (CCKEN==0) licznik <= licznik + 1; end assign RCO = (licznik==8'b111111111) ? 0 : 1; Pozdrawiam, tony_tg
Bardzo bym was prosił o pomoc i wyrozumiałość na pewno zrobiłem coś zle, ale mam tragicznego wykładowce. Sam też nie jestem orłem a chciałbym chociaż spróbować zrobić coś samemu a nie oddawać gotowca. To tak poniższy kod ma sterować światłami dołączę rysunek jak ja widzę te światłą prosiłbym o sprawdzenie czy mój kod by działał oraz ewentualnie o wyjaśnienie...
Witam. Mam nastepujacy problem... zrobilem sobie licznik w Verilogu i chcial bym by posluzyl on jako adresy kolejnych komorek pamieci np. always(at) (licznik) pamiec module cntr(clk,start,dziel); parameter n=2; //wielkosc dzielnika input clk,start; //wejscie rozpoczynajace liczenie input [n:0] dziel; //dzielnik czestotliwosci reg...
Tzn, ja połączyłem te moduły ( dzielnik częstotliwości i generator VGA ) w module testbencha, oto kod testbenchu : http://obrazki.elektroda.pl/1823925800_1... Rozumiem, że h_sync jest sygnałem taktującym licznik v_sync, tak też jest u mnie, czas pomiędzy impulsami v_sync (czyli okres ) wynosi 16,8 ms 1 impuls h_sync trwa 32,8 us, a więc...
VHDL, czy też Verilog fajna sprawa. Tutaj masz według mnie 3 najlepsze kursy/wykłady na ten temat: [url=http://www.ue.eti.pg.gda.pl/fpgalab... [url=http://ztc.wel.wat.edu.pl/kalisz/Ku... Józefa Kalisza [url=http://fpga.elektro.agh.edu.pl/]Jęz... Opisu Sprzętu - przeklikać z dydaktyka File -> Open Example masz dość...
Chcę mieć 4 wyświetlacze 7 segmentowe musisz mi to wytlumaczyc tak, bym zrozumial; co ma oznaczac wymaganie; aby w danym momencie wyświetlać naprzemiennie jeden po drugim moja rada jest taka Dodano po 3 masz tu przyklad, jak zrobic 4 liczniki 4 bitowe w ahdl bez nadmiernego rozpisywania sie; INCLUDE "lpm_counter"; subdesign cnt_dec (...
nie jestem ekspertem VHDL error at Vhdl1.vhd(28): can't determine definition of operator ""<="" ten jezyk jest silnie 'utypowiony', w zasadzie nie mozna robic zadnej operacji na obiektach roznych typow, by narzedzie zaakceptowalo zapis trzeba starannie zadeklarowac typy, np. tak: czy mogę sobie z jakigoś innego bloku przesłać jakąś liczbę (spośród...
co jest zle z 'button' sprobuje sprawdzic pozniej, jak bede mial wiecej czasu; ale na szybko napisalem taki 'kompakt' kod, ktory zapala po kolei diody w szeregu; nie sprawdzone, moglem cos zle napisac, ale idea jest chyba jasna; module led2 ( input clk, output [7:0] led_line ); reg [4:0] cnt; reg [7:0] led...
Przy kompilacji uzyskuję taki komunikat: "Unable to locate source for clock TEST|div_derived_clock problem nie lezy w kodzie verilog; prawdopodobnie iCEcube2 uzywa Synopsys do syntezy, ktory procz tlumaczenia kodu RTL na netliste twojej kostki, dopisuje jeszcze div_derived_clock , ale takiego sygnalu brakuje w RTL; ----------------------- jeszcze uwaga...
... zrobic reset w tych swiatlach aby swiatla ns i ew swiecily sie na czerwono w sytuacji gdy mamy stan resetu?? 1. modul traffic chyba powinien miec clk i reset jako input? 2. nie mozesz sterowac ten sam sygnal w kilku blokach always if (nsCounter == 31 & EW_VEHICLE_DETECT & NS_GREEN) begin NS_RED <= 0; //...... always (at) (ewCounter)...
Możesz napisać w jakiej formie ten licznik? - w formie układu scalonego - w VHDL/Verilog Podaj jakieś szczegóły.
Faktycznie moduł I2C można użyć bezpośrednio w edytorze schematów. Myślę ze jest to bardzo dobra sugestia. Jeżeli chodzi o powód dla którego podałem liczbę bramek to tylko po to ażeby oszacować złożoność układu. Nawet przy użyciu gotowych elementów rejestrów, liczników, multiplekserów itd. nakład pracy jest nieporównywalnie większy niż napisanie tego...
Czy warto uczyć się szczegółowo techniki cyfrowej(projektowanie bardziej skomplikowanych układów typu automaty) oraz techniki analogowej,czy raczej poświęcić czas na programowanie mikrokontrolerów? Chciałbym dobrze znać się na elektronice,ale nie mam pojęcia czy ta teoria jest tak bardzo potrzebna. Większośc kolegów mi odradza i mówią,że lepiej tylko...
ponizej kawalek 'kodu', ktory pokazuje konstrukcje jak sie robi to, czego oczekujesz, mniej wiecej to czego oczekujesz; jest to przedstawienie generalnej idei, nie gotowe rozwiazanie, musisz troche popracowac sam, by dostac pozadany efekt; rzecz jasna mozna to zrobic inaczej, taka forma wydaje mi sie najbardziej zrozumiala; oczywiscie trzeba dolaczyc...
Hmm, dzięki, pomyślę. Jeszcze jakieś inne pomysły rozwiązania? :) Żeby inkrementowanie odbywało się tylko na zbocze dodatnie, jedno przyciśnięcie to +1 do licznika minut/godzin?
stary złom Stary ale jary :D ciągle go produkują, więc jeszcze dobry :) A cena? Przecież to jest najtańszy układ CPLD dostępny na naszym podwórku...? Da się kupić za niecałe 6zł. Licznik 15-bitowy do tego wejdzie bez problemu. Jest tu 36 maroceli, a każdy makrocel to jeden przerzutnik, tak więc jeszcze trochę zostanie na jakieś dodatkowe bajery. Zapraszam...
Witam, próbuję stworzyć testbench do licznika, lecz nie wiem czemu otrzymuję złe wyniki. Może to być albo błąd programu: [syntax=verilog] module licznik_do_3 (WE_licz, WY_licz); input WE_licz; output WY_licz; reg WY_licz; reg [1:0] Q = 2'b00; always (at) (negedge WE_licz) if (!WE_licz) begin Q <= Q + 1; WY_licz <= 1'b0; end else if (Q == 2'b11)...
Obrotomierz samochodowy, z założeniem zliczania impulsów z cewki, oraz wyświetlaniem w setkach RPM. Krótko mówiąc sterowanie częstościomierza poprzez bramkę, jak bramka się zamknie to musi wystawić własnie impuls jako wczytanie wyniku zliczania do rejestrów i zerowanie liczników BCD.
pomimo tego że licznik jest synchroniczny to i tak pojawią się hazardy problem nie w liczniku czy dekoderze, te kawalki wygladaja na napisane poprawnie, masz klopot, bo wejscia zegarowe rejestrow D polaczyles z wyjsciami ukladu kombinacyjego; to jest wlasciwie wbrew 'zasadom sztuki'; jesli bedziesz w stanie opisac co chcesz uzyskac tak, bym to zrozumial,...
Znam się na języku nieźle. A na kiedy to potrzebujesz ? Gotowców nie mam, ale mogę napisać. O ile wiem to 74192 to licznik dziesiętny, rewersyjny. Tego drugiego nie kojarzę. Ale to jest jakieś pół godzinki roboty na każdy układ ;) Dodano po 1 OK, 74192 (o ile dobrze pamiętałem jak działa) już jest. Symulacja zasadniczo chodzi :] Pisałem późno i przy...
yakuza_2000 - bardzo dziękuję za pomoc. Udało mi się usunąć wszystkie warningi. J.A - zdecydowanie masz rację w kwestii schematów blokowych. Udało mi się poprawnie uruchomić ten licznik i teraz kolejnym krokiem będzie zrobienie tego samego w Verilog'u. Właśnie nad tym pracuję. Czytam sobie różne kursy na temat tego języka. Składnia nie jest jakość szczególnie...
Najprościej napiszesz w VHDL-u/Verilog-u. Rozrysowanie (na bramki) takiego czegoś będzie nieco trudniejsze.
A w jakim języku to piszesz, VHDL, Verilog, czy może rysujesz schemat? W jakim programie testujesz?
Ma to działać tak: /.../ zrob moze tak: doloz rejestry na aktualny stan licznika, w bloku always taktowanym zegarem aktywny sygnal EN przepisuje wartosc licznika do rejestru i jednoczesnie zeruje licznik; mniej wiecej tak reg [2:0] rejestry; always (at)(posedge clk) if ( EN ) begin rejestry <= cnt; cnt <= 3'b0; end...
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.
glowy nie dam, ale wydale mi sie, ze problem lezy w: assign clk_2Hz = ((clk_counter_2Hz == clk_divider_2Hz-1) && ENABLE); assign clk_5kHz = ((clk_counter_5kHz == clk_divider_5kHz-1) && ENABLE); porownanie: clk_counter_x == clk_divider_x-1 moze dac krotkie szpilki gdy przelacza sie licznik, a jesli jest to sygnal uzywany gdzies jako zegar,...
Witam Chcę się nauczyć podstwa języka Verliog i VHDL. Poszukuje jakiś darmowych, prostych najlepiej w wersji free open source kompilatorów tych języków. Wiem, że jest np: Active-HDL, Xilininx i Altera ale są one dla mnie zbyt potęzne jak na początek. Zależy mi na podstawach (projekt rejestru, licznika itp). Pozdrawiam
Oprogramowanie Xilinx-a pozwala na tworzenie układów do FPGA za pomocą schematów elektronicznych (bramki, liczniki itd.) VHDL -w ich oprogramowaniu jest chyba płatny(dawno nie sprawdzałem)
/.../ Okazało się, że przy dzieleniu przez 3, nie ma wypełnienia 50%/.../ przez 2 i 4 umiesz podzielic, mux umiesz, zostalo dzielenie przez 3; mozna to zrobic tak: 2 liczniki mod3, reg module div_by_3 ( input clk, output clk_div3 ); reg [1:0] pos_cnt, neg_cnt; /// deklaracja dwoch 2-bitowych licznikow always (at)(posedge clk)...
Po pobieżnym przeglądnięciu kodu nie widzę żeby to w tym module powstały X, musiały raczej "przyjść" z zewnątrz. Robisz symulacje samego modułu PLLR_MAIN? Czy ten moduł jest gdzieś użyty? Plus parę uwag: 1) Ogólnie ten kod nie jest napisany w stylu "FPGA" :wink: Na przykład: [syntax=verilog]always(at)(negedge triger) begin if(reset == 1) begin adres...
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...
Chciałbym zaprosić wszystkich zainteresowanych do mojego kursu FPGA Lattice w języku Verilog. W kursie wykorzystujemy FPGA typu MachXO2 z uwagi na jego niską cenę, prostą do lutowania obudowę i duży potencjał w wykorzystaniu na potrzeby hobbystycznych projektów. Kurs jest publikowany w Elektronice Praktycznej, a także dostępny jest na stronie ep.com.pl....
Najpierw ściągnij ISE w edycji Webpack, zrób przykładowy projekt. Będziesz mógł efekty zobaczyć w symulacji Isim, ISE wypluje Ci czy odpowiedni CPLD Ci starczy do tego zadania. Przykłady, jeszcze taniej wyjdzie Ci kupienie takie CPLD i Sobie przylutowanie go samemu (dużo taniej x8-x10): [url=http://www.kamami.pl/index.php?ukey...
Czy istnieje cos takiego jaka standardowa biblioteka /.../ pewnie w sieci mozna znalezc przykladowe realizacje wszelkich 'malych' komponentow, jak liczniki, multipleksery itp; weekend w internecie i mozesz miec pelen dysk takich rozwiazan; w ise i quartusie sa generatory typowych funkcji; w zasadzie nie rozumiem o co pytasz - oczekujesz jakiejs biblioteki...
Dziękuję za pomoc. Rozumiem, że wyjście z licznika i wejście rom_tab są teraz połączone. Dodałem Twój fragment kodu do istniejącego. Szerokość wektora zmienię jak tylko wymyślę jak odbić pierwsza ćwiartkę sinusa aby dopełnić go do wartości pi. Nadal jednak nie potrafię otrzymać na wyjściu żadnej odpowiedzi. W czym może tkwić problem ? Wrzucam wynik...
z tego co sie domyslam co chcesz osiagnac, bo nie jestem pewien, ze rozumiem opis, powinienes zrobic cos takiego: po pojawieniu sie zasilania startuje jakis maly licznik, ktory po doliczeniu do jakiejs ustalonej liczby staje; jakas poczatkowa wartosc licznika, np. '2' startuje funkcje, ktora chcesz wywolac po wlaczeniu zasilania; reg [3:0]...
Czym są układy programowalne? Z moich obserwacji wynika, że większość hobbystów na uczelni bądź na elektrodzie coś na ten temat słyszała. I tylko tyle. A wielka szkoda, bo układy programowalne potrafią robić rzeczy, których przy pomocy procesora zrobić się po prostu nie da. Na początek jednak przypomnijmy definicję procesora - układ (niekoniecznie scalony!),...
Witam, Chciałem napisać w veriologu funkcję, która zrealizuje mi opóźnienie. Jest gotowe polecenie: #wartość, ale działa ono tylko w symulacji, a ja będę chciał porobić te opóźnienia fizycznie w układzie. Chcę zrobić funkcję do której przekazuję wartość opóźnienia. Czy da radę to zrobić i korzystać w niej z zewnętrznego clocka? Chodzi o to żeby przy...
licznik verilog verilog rejestr verilog sygnał
instrukcja obsługa drukarka canon magnetowid naprawa windy 433mhz moduł
Rezystancja pompy Nidec w zmywarce Electrolux Rezystancja pompy Nidec EBO85D25/2T w zmywarce Electrolux