在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 878|回复: 15

[讨论] always if为啥可以这么写?

[复制链接]
发表于 2025-10-5 14:35:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
always @(*)
begin
a = 1'b0 ;
if (c )
a= 1'b1;
end



发表于 2025-10-5 15:27:19 | 显示全部楼层
這相等於assign a = c ? 1'b1 : 1'b0;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-10-6 16:15:37 | 显示全部楼层
电路实现我知道,想看看相关文档介绍。为何还有这种style
回复 支持 反对

使用道具 举报

发表于 2025-10-7 10:43:53 | 显示全部楼层
标准支持呗。这也没什么问题
回复 支持 反对

使用道具 举报

发表于 2025-10-7 14:15:13 | 显示全部楼层
推荐这样写,可以防止条件不全导致的lattch
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-10-7 17:02:29 | 显示全部楼层


   
gerry1812 发表于 2025-10-7 14:15
推荐这样写,可以防止条件不全导致的lattch


有没有相关文档分享?感谢
回复 支持 反对

使用道具 举报

发表于 2025-10-10 09:09:41 | 显示全部楼层
可以参考Synopsys的HDL Compiler™ for Verilog User Guide,Avoiding Latch Inference相关例子
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
在if前赋值的,如果没有else if,则相当于else if。如果有else if的,则一点用都没有
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层


   
PYGH 发表于 2025-10-7 17:02
有没有相关文档分享?感谢


不用啥文档,都十几年经验 的了,相信我就可以
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
这个我知道,我刚开始工作的时候看过一本书,作者提供的代码都是这种风格。作者的解释是
"在 always 块内部开始时为变量分配默认值,可以确保综合后不会生成锁存器"
书名是 《Verilog 高级数字系统设计技术与实例分析》 Kishore Mishra,在书的3.7.1 小节. 有中文版本
20251021-135441.jpg
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 ) |网站地图

GMT+8, 2025-10-26 03:32 , Processed in 0.018959 second(s), 4 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表