-
Data: 2015-09-29 12:13:29
Temat: Re: podstawy Verilog ktoś podpowie co jest żle?
Od: Adam Górski <g...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Cześć,
A teraz zastanów się co jest wejściem zegarowym a co sygnałem mówiącym o
kierunku zliczania. A może są dwa wejścia zegarowe ?
A może nie ma przerzutników z dwoma sygnałami zegarowymi w Twoim sprzęcie?
Typowy problem początkujących. Pamiętaj zawsze na końcu występują bramki
i przerzutniki ( fpga ) , koniec i kropka.
Pisząc w verilogu czy VHDL trzeba o tym pamiętać.
Poniżej tak jak to powinno wyglądać :
always @( jakiś_zegar)
if (pom_przy2==1)
licz_wysw <= licz_wysw - 1;
else
if (pom_przy1==1)
licz_wysw <= licz_wysw + 1;
Jakiś zegar taktuje przerzutniki a sygnały informujące o zliczaniu w
górę czy dół jedynie aktywują zmianę stanu ( lub nie )
Może trochę duże uproszczenie ale wydaje mi się że niedaleko odbiega.
Pomijam problem odbijania przycisków i synchronizacji sygnałów pom_przy1
i 2 do sygnału zegarowego jakiś_zegar.
Pzdr.
Adam
> Witam
> W ramach zapoznawania się z Verilogiem chciałem zrobić w FPGA prosty
> licznik. Przykłady które znalazłem działały w oparciu o jedno wejście
> zegarowe i wejście definiujące kierunek zliczania. Ja chcę zrobić coś jak
> 74193 czyli dwa wejściami zegarowe odpowiednio 'clkup' i 'clkdown'.
> Wymyśliłem coś takiego:
>
> always @(posedge pom_przy1 or posedge pom_przy2)
> if (pom_przy2==1)
> licz_wysw <= licz_wysw - 1;
> else
> if (pom_przy1==1)
> licz_wysw <= licz_wysw + 1;
>
> Niestety licznik ten poprawnie liczy tylko 'w górę' a przy liczeniu 'w dół'
> przeskakuje po kilka stanów. Wydaje mi się że problem drgań przycisków
> można pominąć ponieważ oba przyciski są filtrowane w taki sam sposób. Na
> wszelki wypadek pokaże jak 'odkłócam' przyciski.
>
> prosty_przy przy1(.but(but0),.zegar(pom_clk),.wy(pom_przy1));
> prosty_przy przy2(.but(but1),.zegar(pom_clk),.wy(pom_przy2));
>
> Jeśli dobrze rozumuję to tworzę dwie instancje (tak się to chyba nazywa)
> modułu 'prosty_przy', czyli oba przyciski są traktowane tak samo. To może
> jeszcze na koniec moduł 'prosty_przy'
>
> module prosty_przy(
> input but,zegar,
> output wy
> );
> reg r0,r1,r2,r3,r4,r5;
>
> always @(posedge zegar)
> begin
> r5=r4;
> r4=r3;
> r3=r2;
> r2=r1;
> r1=r0;
> r0=but;
> end
> assign wy = r0 & r1 & r2 & r3 & r4 & r5;
> endmodule
>
> Nie jest to może najładniejszy przykład 'debouncera' ale chyba powinien
> działać. Całość jest napędzana zegarem około 760 Hz. Czekam na jakieś
> podpowiedzi.
>
> MArek
>
Następne wpisy z tego wątku
- 29.09.15 12:18 Grzegorz Kurczyk
- 29.09.15 12:35 ToTylkoJa
- 29.09.15 12:46 ToTylkoJa
- 29.09.15 12:50 Grzegorz Kurczyk
- 29.09.15 12:54 Grzegorz Kurczyk
- 29.09.15 13:12 Adam Górski
- 29.09.15 13:12 J.F.
Najnowsze wątki z tej grupy
- Jak sie smazy elektronike z odleglosci kilkuset metrów?
- William Shockley, co-inventor of the transistor
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
- szablon do pasty DIY
- Głośnik potrzebny
- Silikonowy przewód ekranowany
- Wtyk bananowy ekranowany
- Co może być gorsze od pożaru elektryka?
- daltonizm
- Mały Linux
- Superkondensator. Czy to się uda?
- Stare filmy o technice
- Zasilanie własnych konstrukcji przez PoE
- Jak działa domofon?
Najnowsze wątki
- 2025-11-06 Ostrów Wielkopolski => Specjalista ds. Marketingu Online (PPC) <=
- 2025-11-06 Warszawa => Strategic Account Manager <=
- 2025-11-06 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-11-06 Ktoś się wybiera?
- 2025-11-05 Warszawa => C Programmer <=
- 2025-11-05 Rzeszów => International Freight Forwarder <=
- 2025-11-05 Warszawa => OSS System Administrator <=
- 2025-11-05 Gdańsk => Programista Delphi <=
- 2025-11-05 Warszawa => AWS Cloud Engineer <=
- 2025-11-05 Wrocław => Programista React ze znajomością C++ <=
- 2025-11-05 Wrocław => React Developer with knowledge of C++ <=
- 2025-11-04 A jednak o prawnikach
- 2025-11-04 Wyzwanie prawniczenia: Dlaczego poseł KO mecenas G. NIE JEST JUŻ "fujarą i miękiszonem"?
- 2025-11-04 Jak sie smazy elektronike z odleglosci kilkuset metrów?
- 2025-11-04 Warszawa => DevOps Engineer <=




Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei