所以我理解,如果我们在时钟过程中分配一个信号或输出,那么分配发生在下降沿,换句话说,当进程暂停时,但为什么在模拟期间,信号或输出在时钟的上升沿被分配?作为示例,我有以下代码:
if(rising_edge(clk)) then
if(one_second_counter = "10111110101111000001111111")
one_second_counter <= (others=> '0');
else
one_second_counter <= one_second_counter + 1; --
end if;我有附加的模拟波形:

发布于 2017-02-28 10:54:20
所以我理解,如果我们在一个有时钟的进程中分配一个信号或输出,那么这个分配发生在下降沿,或者换句话说,当一个进程暂停…时
这是不正确的。当进程的敏感度条件满足时,就会发生赋值。在您的示例中,这是rising_edge(clk) --时钟的上升沿。
https://stackoverflow.com/questions/42498732
复制相似问题