zhupingheng 发表于 2010-4-10 23:21:16

VHDL语言几段键盘去抖程序有些疑惑,拜托大家解释

Library ieee;
Use ieee.std_logic_1164.all;
Entity q_dou is
Port(d_in,clk:in std_logic;
    d_out:out std_logic
);
End;
Architecture bhv_q_dou of q_dou is
   Component dcfq is
      Port(clk,clrn,prn,d:in std_logic;
q:out std_logic);
   end component dcfq;
signal vcc,inv_d:std_logic;
signal q0,q1:std_logic;
signal d1,d0:std_logic;
begin
vcc<=’1’;
inv_d<= not d_in;
u1:dcfq port map(clk=>,clrn=>inv_d,prn=>vcc,d=>vcc,q=>q0);
u2:dcfq port map(clk=>clk,clrn=>q0,prn=>vcc,d=>vcc,q=>q1);
process(clk)
begin
if clk’event and clk=’1’ then
d0<= not q1;
d1<= d0;
end if;
end process;
d_out<=not(d1 and not d0);
end;
以上程序是键盘输入去抖程序,主要是用2个D触发器,加与-非门,再经RS触发器输出,原理图如下:很不解的是那个元件例化语句中U1,U2端口连接,拜托哪位看懂的朋友解释下(dcfq:为D触发器元件,此处省略)
http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_545428.JPG
(原文件名:弹跳消除电路拍照.JPG)
页: [1]
查看完整版本: VHDL语言几段键盘去抖程序有些疑惑,拜托大家解释