-
Data: 2015-09-29 11:47:36
Temat: podstawy Verilog ktoś podpowie co jest żle?
Od: ToTylkoJa <m...@n...chce.tego.poczta.fm> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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:13 Adam Górski
- 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
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
- plyta indukcyjna - naprawa
- założyłem kamerę
- syrenki alarmów
- Czym obecnie programuje się EPROM-y?
- zagadka sieciowa
Najnowsze wątki
- 2025-09-13 KIA 2025r
- 2025-09-12 Rejestracja godna elektryka
- 2025-09-12 Koniec dopłat
- 2025-09-12 Odszkodowanie
- 2025-09-12 Warszawa => Senior SAP Consultant - PP area <=
- 2025-09-12 Adopcja "na organy" jest/będzie legalna (dla "psów ze schroniska")?
- 2025-09-12 Białystok => Kotlin Developer <=
- 2025-09-12 Myśl prawna bodnarów tuskistanu podbiła Brazylię? [wyrok za "organizacje przestępczą"]
- 2025-09-12 Czy zwrot na kartę zmniejsza kwotę wydatków powodujących niepobieranie opłat za obsługę?
- 2025-09-11 Warszawa => Asystent/tka ds. Administracji <=
- 2025-09-11 Gdynia => Sales Executive / KAM <=
- 2025-09-11 Warszawa => Specjalista/stka ds. Organizacji <=
- 2025-09-11 Warszawa => Dyrektor IT <=
- 2025-09-11 Wypadek w Chrzanowie. Czas na zmianę w Ustawie?
- 2025-09-11 Własny dzwonek