Difference between revisions of "IOP16 PS/2 Keyboard"

From Land Boards Wiki
Jump to navigation Jump to search
(Created page with "== PS/2 Keyboard == * Wrapper for PS/2 keyboard interfaces * PS/2 to ASCII conversion === Software Interface === ==== Address i_RegSel - Register Select = 0 - Status regis...")
 
Line 29: Line 29:
 
   o_kbdDat  : OUT STD_LOGIC_vector(7 downto 0));
 
   o_kbdDat  : OUT STD_LOGIC_vector(7 downto 0));
 
end Wrap_Keyboard;
 
end Wrap_Keyboard;
 +
</pre>
 +
 +
=== Signals ===
 +
 +
<pre>
 +
-- Decodes/Strobes
 +
...
 +
signal w_kbcs : std_logic;
 +
 +
-- Interfaces
 +
...
 +
  signal w_KbdData : std_logic_vector(7 downto 0);
 
</pre>
 
</pre>

Revision as of 12:04, 14 April 2022

PS/2 Keyboard

  • Wrapper for PS/2 keyboard interfaces
  • PS/2 to ASCII conversion

Software Interface

Address i_RegSel - Register Select = 0 - Status register

  • Value = 0x00, No data present
  • Value = 0x01, Data present

Address i_RegSel - Register Select = 0 - Data register

  • ASCII Data

VHDL Entity

ENTITY Wrap_Keyboard IS
port (
  i_CLOCK_50 : IN  STD_LOGIC; -- input clock
  i_n_reset  : IN  STD_LOGIC; -- 
  i_kbCS     : IN  STD_LOGIC; -- 
  i_RegSel   : IN  STD_LOGIC; -- address
  i_rd_Kbd   : IN  STD_LOGIC; --
  i_ps2_clk  : IN  STD_LOGIC; --
  i_ps2_data : IN  STD_LOGIC; --
  o_kbdDat   : OUT STD_LOGIC_vector(7 downto 0));
end Wrap_Keyboard;

Signals

-- Decodes/Strobes
...
 signal w_kbcs : std_logic;

-- Interfaces
...
  signal w_KbdData				:	std_logic_vector(7 downto 0);