KEYBOARD.VHD
上传用户:dgjihui88
上传日期:2013-07-23
资源大小:43k
文件大小:1k
源码类别:

VHDL/FPGA/Verilog

开发平台:

MultiPlatform

  1. --keyboard.vhd keyboard scanner
  2. library ieee ;
  3. use ieee.std_logic_1164.all;
  4. use work.components.all ;
  5. entity keyboard is
  6. port(
  7.   clock : in std_logic ;
  8.   col : in std_logic_vector(3 downto 0 ) ;
  9.   row : out std_logic_vector(3 downto 0) ;
  10.   scan_f : out std_logic ;
  11.   key_valid : out std_logic ;
  12.   butt_code : out std_logic_vector(3 downto 0)) ;
  13. end keyboard;
  14. architecture behavior of keyboard is
  15.   signal scanf : std_logic ;
  16.   signal key_pressed : std_logic ;
  17.   signal scan_cnt : std_logic_vector(3 downto 0) ;
  18. begin 
  19.   divfreq: scan_gen
  20.   generic map ( osc_f => 3686 , osc_bit => 12 )
  21.     port map ( clock, scanf ) ;
  22.   keycount: scan_count 
  23. port map ( clock, scanf, key_pressed, scan_cnt ) ;
  24.   keyscan: key_scan 
  25. port map ( col, scan_cnt, row, key_pressed ) ;
  26.   debounkey: debounce 
  27. port map ( key_pressed, clock, scanf, key_valid ) ;
  28.   coding: code_tran 
  29. port map ( scan_cnt, clock, butt_code ) ;
  30.   scan_f <= scanf ;
  31. end behavior;