我试图更好地理解合成如何在没有指定其他条件的情况下工作。
我认为这不是编码的方法,因为我没有考虑其他选择,但是我的问题是如何解释此代码?
process(clock)
begin
if (clock'event and clock ='1') then
if sel0 = '1' then qout <= A - B; end if;
if sel1 = '1' then qout <= qout sra 2; end if;
end if;
end process;
Run Code Online (Sandbox Code Playgroud)
IF语句将被合成为多路复用器。我认为在这个示例中,两个多路复用器都将以链的形式连接在一起,最后一个D寄存器用于out的注册值。我想当sel0'0'和sel1'0'时qout的值是什么?每个多路复用器的选择器为0时会发生什么?网络是否保持相同的输出并推断出闩锁?
谢谢。