lib
rary IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_signed.all;
entity ref is
generic(widthDAT:NATURAL:=16; widthRF :NATURAL:=16);
port(
clk :in std_logic;
a :in std_logic;
a1,a2,a3,a4
ut std_logic);
end ref;
architecture
rtl of ref is
signal b,b1,b2,b3 : std_logic;
begin
process (clk)
begin
if clk = '1' and clk'event then
b1 <= a;
b2 <= b1;
b3 <= b2;
a4 <= b3;
end if;
end process;
a1 <= b1;
a2 <= b2;
a3 <= b3;
end rtl ;
得到的波形
时序仿真如附图
第一个脉冲是正常输入脉冲,这个没有错误
但是第二个输入脉冲在时钟的上升沿时低电平(脉冲长度小于1个
时钟周期),确也能被捕获,
反而第三个输入脉冲在时钟的上升沿时高电平(脉冲长度小于1个时钟周期),却不能被捕获?