2015-01-20 70 views
-2
Process(CLK,Clr,Set) 
begin 
    if Clr = '1' then Q <= '0'; 
    elsif Set = '1' then Q <= '1'; 
    elsif CLK'event and CLK <= '0' then Q <= D; 
    end if; 
end process; 

如果Clr = Set ='1'会发生什么? Q的价值是什么?VHDL将多个值分配给一个信号

+0

这看起来像一个家庭作业问题。通过跟踪来看看两者都是'1'时会发生什么。考虑信号分配何时生效。 – 2015-01-20 19:06:21

回答

1

“if-elsif”是优先结构。执行解析为TRUE的第一个替代方案。所有其他人都跳过了。

Blockquote如果Clr = Set ='1'会发生什么? Q的价值是什么?

由于Clr首先在您的代码中,Q将变为'0'。