-
Data: 2009-05-22 21:10:32
Temat: Re: FPGA, VHDL detekcja zbocza i problemy
Od: Konop <k...@g...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> process(CLK,KEY0)
> begin
> if KEY0='0' then
> debug_cnt<=(others=>'0');
> dior_edge<='0';
> elsif CLK'event and CLK='1' then
> if HOST_DIOR_N='1' and dior_edge='0' then
> debug_cnt<=debug_cnt+1;
> dior_edge<='1';
> else
> dior_edge<='0';
> end if;
> end if;
> end process;
Ja tu widzę inny (niż widzi Jerry) problem. Nie wiem, czy on powoduje to
o czym piszesz... teoretycznie może (przepełnienie ;))... Sam napisałeś,
że sygnał HOST_DIOR_N jest *kilkanaście* *razy* *wolniejszy* od sygnału
CLK. Rozumiem, że ma po prostu dłuższy okres i stan aktywny HOST_DIOR_N
trwa ponad 1 cykl zegara CLK, tak?? To teraz przeanalizuj co się będzie
działo w przypadku, gdy będziesz miał HOST_DIOR_N = 1 przez 10 taktów
CLK. Kolejne numerki to kolejne zbocza narastające CLK
1) dior_edge = 0, więc dodajemy 1 i dajemy dior_edge<=1
2) poniewaz warunek HOST_DIOR_N='1' _and_ dior_edge='0' NIE JEST
spełniony, "wykonywane" jest dior_edge<=0 !!
3) identyczny z 1)
itd: 2=4=6=8=10 i 1=3=5=7=9 :)...
Efekt - zliczasz 5 impulsów, a chciałeś 1 ;)... wystarczy tego enda
rozbić na dwa ify i będzie po sprawie ;)...
if HOST_DIOR_N='1'
if dior_edge='0' then debug_cnt<=debug_cnt+1;****
dior_edge<='1';
else
dior_edge<='0';
end if;
W lini z **** na końcu nie jestem pewny czy nie trzeba dawać end if, nie
pamiętam po prostu dokładnie składni VHDLa ;)...
> Moim skromnym zdaniem powinno to zliczać w debug_cnt ilość wystąpień
> narastających zboczy sygnału HOST_DIOR_N, który jest kilkanaście razy
> wolniejszy od CLK... I co się okazuje? Zmienna debug_cnt zawiera około
> połowę mniejszą wartość niż powinna....
Fakt, że zmienna powinna zawierać zdecydowanie większą wartość niż
powinna, ale może przepełnienie robi swoje?? ;)... Nie wiem jak
deklarujesz tę zmienną i ile teoretycznie możesz tam zliczać ;)...
Pozdrawiam
Konop
Następne wpisy z tego wątku
- 22.05.09 21:14 Konop
- 22.05.09 21:16 Konop
- 22.05.09 23:02 Jerry1111
- 23.05.09 05:20 k...@g...com
- 23.05.09 06:21 J.F.
- 23.05.09 08:07 k...@g...com
- 23.05.09 09:09 Jerry1111
- 24.05.09 00:09 JA
Najnowsze wątki z tej grupy
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
Najnowsze wątki
- 2025-07-16 deltaT w pompie ciepla
- 2025-07-16 dron na granicy polsko niemieckiej
- 2025-07-16 Warszawa => Senior IT Recruitment Consultant <=
- 2025-07-16 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-16 Gdańsk => Delphi Programmer <=
- 2025-07-16 Warszawa => BI Developer <=
- 2025-07-16 Gdańsk => Programista Delphi <=
- 2025-07-16 chroń PESEL dziecka
- 2025-07-16 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-16 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-07-16 Kraków => Kotlin Developer <=
- 2025-07-16 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-16 Tadeusz Rolke RIP
- 2025-07-14 Dwa dylematy
- 2025-07-14 Re: Dwa dylematy