PS2 Tipkovnica obravnavi VHDL

R

r0nald

Guest
Rabim, da v svoj register playerAkeyb (7 downto 0) podatke o tem, kateri ključ je dol ali ne.

Pravico, da ne bom z uporabo testled za razhroščevanje.

Če ne poglej, ki je bila posebej pritisniti tipko, kodo dobro deluje.Če preverim vreme ključ pritisniti je nekaj posebnega (shranjenih v playerAkeys (4)), potem pa je naključno (včasih dela, včasih doesnt).

Koda:procesa (clk25MHz)

začeti

če clk25MHz'event in clk25MHz ='1 'potem

če ps2_rdy ='1 'potem

če scancode = release_key_const nato

key_release <='1 ';

še

- če scancode = playerAkeys (4), potem

če key_release ='0 ', potem

playerAkeyb (4) <='1 ';

še

playerAkeyb (4) <='0 ';

key_release <='0 ';

konca, če;

- če je namen;

konca, če;

ps2_clr_rdy <='1 ';

konca, če;če ps2_clr_rdy ='1 'potem

ps2_clr_rdy <='0 ';

konca, če;

konca, če;

koncu postopka;testled <= playerAkeyb (4);

 
playerAkeys (4) je samo en bit podatkov, ne pa 4.Upoštevajte, da je PS / 2 scan koda je 8-bitni.You need a multi-bitni register, in po izbiri, rezina zapisa: playerAkeys (7 downto 0).

 
is bit_vector(7 downto 0) and playerAkey s
is vector of bit_vector(7 downto 0).

Prosimo, glejte, da se playerAkey b
bit_vector (7 downto 0) in playerAkey e
je vektor bit_vector (7 downto 0).So 2 različnih signalov s podobnim imenom

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Nasmeh" border="0" />Sintaksa je pravilno, drugače pa tudi wouldnt sintetiziranje

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Nasmeh" border="0" />
 
Napisal celotno kodo v velike in počasne državni stroj moda in zdaj deluje OK.Mislim, da traja nekaj napora, da ustavite zaprete razmišljam, da sem pisanje programske opreme, strojne opreme ne

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Nasmeh" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top