作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我完全混淆了这 4 个术语:always_ff
, always_comb
, always_latch
和 always
.如何以及出于什么目的使用这些?
最佳答案
always
是来自 Verilog 的主要进程类型,另一个是 initial
在模拟开始时运行一次。
always_ff @(posedge clk)
:
代表一个触发器(ff),该过程在时钟的每个上升沿被触发(执行)。这取代了 always @(posedge clk)
.这是唯一应该使用非阻塞 ( <=
) 赋值的类型,因为这模仿了触发器传输数据的方式。
always_ff @(posedge clk) begin
a <= b;
end
always_latch
: 用于表示闩锁。
always_latch begin
if (enable) begin
a_latch = something;
end
//No else clause so a_latch's value
//is not always defined, so it holds its value
end
always @* begin
if (enable) begin
a_latch = something;
end
//No else clause so a_latch's value
//is not always defined, so it holds its value
end
always_comb
:
always @*
的替代品当您不想要闩锁时。现在我们可以区分我们想要和不想要锁存器的设计意图。
always_ff
,
always_latch
和
always_comb
对触发时间有更严格的标准,这意味着 RTL 到门级(综合后)不匹配的机会减少了。这确实意味着不是 100% 等价于那里
always @
反部分,可能会改变一些模拟行为。
关于system-verilog - always_ff、always_comb、always_latch 和always 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23101717/
我对语句 always_ff 和 always_latch 的用法感到困惑。前者将用作: always_ff @ (posedge clk) begin a <= b; end 而后者: al
我完全混淆了这 4 个术语:always_ff , always_comb , always_latch和 always .如何以及出于什么目的使用这些? 最佳答案 always 是来自 Verilo
我是一名优秀的程序员,十分优秀!