Witam wszystkich! Pracujê obecnie nad pewnym projektem w VHDLu. Wszystko ju¿ w nim dzia³a jak nale¿y oprócz interfejsu klawiatury. Odpowiedni uk³ad ma za zadanie obserwowaæ stan lini zegara i danych klawiatury, i przy ka¿dym opadaj±cym zboczu zegara zapisywaæ do rejestru przesuwnego kolejne bity z lini danych. Po naliczeniu 11 zboczy odebrany bajt ma zostaæ wystawiony równolegle (taki rejestr SIPO) i dodatkowo strobowany. Tak to sobie wymy¶li³em, tak te¿ zrobi³em i nic. Okzuje siê, ¿e problem le¿y w wykrywaniu opadaj±cych zboczy na lini zegara klawiatury. Testowy kod: (...) if ps2_clk'event and ps2_clk = '0' then Dioda_LED <= '1' end if; (...) nie powoduje za¶wiecenia diody. W wersji "synchronicznej" te¿ nie dzia³a: (...) if system_clk'event and system'clk = '0' then ps2_clk_sample <= ps2_clk; if (ps2_clk_sample and (not ps2_clk)) = '1' then LED <= '1'; (...)
Wszystkie symulacje daj± doskona³e rezultaty, jednak po implementacji i zaprogramowaniu uk³adu (Spartan2E 200 Xilinxa) nic z tego nie dzia³a. Przeszuka³em google, na pamiêæ znam ju¿ zasady transmisji itp. wszystko jest zgodnie z opisami. Dlatego mam pytanie, czy kto¶ nie robi³ jakiegos projektu z obs³ug± klawiatur i czy nie móg³ by siê podzieliæ ze mn± swoimi do¶wiadczeniami? Nie chcê kopiowaæ czyjego¶ projektu, jedynie proszê o wskazówki! Pozdrawiam, Marek N.