【发布时间】:2015-03-27 22:43:51
【问题描述】:
如果复位信号为“0”,则“EN”变为高电平,“clr”变为低电平。但是,如果复位信号在时钟的上升沿变高,则“EN”变低,“clr”变高。我在我的代码中完成了这一点,但是我需要将复位变高时产生的输出信号延迟 [EN = 0/ CLR = 1] 3 个时钟周期。我尝试使用计数器,但它产生了相同的答案。
BEGIN
process ( Reset, Clk)
begin
if Reset = '0' then
En <= '1';
clr <= '0';
elsif rising_edge(Clk) then
if Reset = '1' then
En <= '0';
clr <= '1';
end if;
end if;
end process;
END description;
【问题讨论】:
-
内部 if 无效:它始终为 true。