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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4120|回复: 7

[讨论] 关于Verilog的多重赋值

[复制链接]
发表于 2014-7-26 11:08:29 | 显示全部楼层 |阅读模式

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

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

x
图片1.jpg
本人也有好几年Verilog的工程经验了,不过最近在看潘松的教材,其中例5-31(上图右边)使用多重赋值实现三态总线,首先这种风格我觉得在实际中肯定是不太好的,读起来别扭,分析起来也麻烦,直接用一个case语句在always块搞定即可,但潘松又解释了一大段说这种是可以的,我没具体仿真,像他这种多重赋值没有问题吗?如果ena发生变化,这4个块会同时执行,只有一条语句执行结果不是高阻态,其它都是高阻态,Verilog会自动将那些高阻态的结果忽略?哪里有权威解读?我记得在RTL代码中是要严格避免多重赋值的
发表于 2014-7-26 11:25:11 | 显示全部楼层
三态总线本来就是多个BUFZ输出连在一起的,只不过逻辑保证不能同时有超过一个在输出,其他高阻。。。
 楼主| 发表于 2014-7-26 12:36:53 | 显示全部楼层
三态总线只有一个BUFZ吧,先用数据选择器选择输出信号,再到三态门,多个三态门没有意义
发表于 2014-7-26 12:38:35 | 显示全部楼层
不建议多重复值,并不是所有的仿真器和编译器都支持这种风格
发表于 2014-7-26 17:09:38 | 显示全部楼层
多重赋值是什么?第一次听这个概念啊
 楼主| 发表于 2014-7-26 17:40:25 | 显示全部楼层
回复 4# vongy
我也不认为潘松的这个例子写得好,但这样做到底行不行?Verilog是如何对待的?
发表于 2014-7-27 20:27:14 | 显示全部楼层
5-31也就是仿真结果上跟5-30一致而已了。
但是这两者想表达的现实意义是完全不同的。
作为RTL的话,5-31的风格基本上所有的公司都是不允许的。可读性、可维护性太差。工具也不一定会支持。
发表于 2014-7-31 14:58:27 | 显示全部楼层
写书作为工程,做了工程再写书,两者什么区别……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-18 17:32 , Processed in 0.032116 second(s), 9 queries , Gzip On, Redis On.

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