首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“`always`”块的合成

“`always`”块的合成
EN

Stack Overflow用户
提问于 2012-04-03 00:40:05
回答 2查看 3.4K关注 0票数 2

第12页上的Verilog Golden Reference Guide对不可合成的always块发出警告,并提供了可遵循的模板,以减少无意中创建不可合成的always块的机会。但是,该指南没有解释为什么以及在哪些情况下,always块是不可合成的。

always块不可合成的最常见原因是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-11 07:19:48

基本上,每个块总是描述一组触发器、一组锁存器或一组组合电路。

这三者具有不同的编码格式,不应混合,否则可能无法合成。(有时需要混合锁存和组合电路,但应避免)

任何不能映射到这三种类型的电路的always块都是不可合成的。

例如,信号和边沿的混合敏感列表是不可合成的,因为触发器不能同时进行边沿触发和电平触发。

两个以上的时钟是不可合成的。

嵌入的always块是不可合成的。

票数 3
EN

Stack Overflow用户

发布于 2012-04-04 07:31:37

添加定时延迟是不能综合的,但经常用于验证。此外,如果您试图合成display语句,一些工具也会报错。

代码语言:javascript
复制
always @* begin
 $display("%t", $realtime);
 #1 x = y;                  //Delayed by 1 time unit
 $display("%t", $realtime);
end 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9980303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档