【发布时间】:2018-08-05 11:57:03
【问题描述】:
最近我在实现异步重置时卡在了两个总是阻塞的语句之间。
一个说法是:
always @(posedge clk or posedge reset)
第二条语句是:
always @(posedge clk or reset)
我试图找出这两种说法之间的区别。两个语句都针对异步复位,第一个语句带有边缘敏感复位,另一个语句带有电平复位。请帮我找出会影响always块功能的其他差异。
【问题讨论】:
最近我在实现异步重置时卡在了两个总是阻塞的语句之间。
一个说法是:
always @(posedge clk or posedge reset)
第二条语句是:
always @(posedge clk or reset)
我试图找出这两种说法之间的区别。两个语句都针对异步复位,第一个语句带有边缘敏感复位,另一个语句带有电平复位。请帮我找出会影响always块功能的其他差异。
【问题讨论】:
我敢打赌,您没有尝试合成该代码。
第一种形式只有在您添加以下内容时才有效:
if (reset)
...
这会产生高电平有效异步复位。
第二种形式根本无法合成。
请帮我找出会影响always块功能的其他差异。
这是一个相当大的问题。您不能指望我们带您了解所有可能的 always 结构。
【讨论】: