-
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
- Taśma LED
- Jak odróżnić myjki wibrujące od ultradźwiękowych.
- Ledy na wyłączniku czasowym błyskają
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- RCD wybija
- Re: Kompensacja mocy biernej przy 230VAC
- Łożysko ślizgowe - jaki olej
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- Współczesny falomierz
- Zasilacz 7V na szynę DIN
- Waga z legalizacją
- Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- Pendrive zdycha, czy coś jeszcze innego? Problem z plikami.
Najnowsze wątki
- 2025-04-05 Dziwny wymiar wyroku
- 2025-04-05 Prunt z dachu
- 2025-04-05 Taśma LED
- 2025-04-05 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-04-05 Warszawa => Strategic Account Manager <=
- 2025-04-05 co w Anglii dziś w Polsce za 30 lat
- 2025-04-05 Wrocław => SOC Tech Lead <=
- 2025-04-05 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-04-05 Wyrok dożywocia dla Polki
- 2025-04-04 Prezydium Sejmu Tuskiego orzekło: Poseł KO mecenas Roman Giertych NIE jest mordercą (w żadnym sensie tego słowa?)
- 2025-04-04 Reset komóry
- 2025-04-04 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-04-04 Zielonka => Key Account Manager IT <=
- 2025-04-04 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2025-04-04 Warszawa => Mid/Senior IT Recruiter <=