非阻塞赋值和阻塞赋值能出现在一个always块内吗?可以,但请慎用
我们用了两篇文章,分别讨论了Verilog HDL里面的“非阻塞赋值”和“阻塞赋值”。用实例分析了如果在一个always块内等式右边的表达式或者变量,是另一个always块内等式左边的表达式或者变量,仿真器在同一个时间(同一个时钟的边沿)内同时执行两个等式,这就会导致竞争产生。令人难受的是,一般这种竞争问题,很难去Debug,因为有时候,我们也不太清楚仿真器是如何调度RTL代码。为了规避竞争的产生,我在文章里面推荐了4中编码方式,如果能够认真体会的话,应该可以规避大量的竞争。而深刻理解“非阻塞赋值”,则能够更好的描述时序逻辑电路。
我们在建议的编码原则里面,讲到有一条,在一个always块内,只出现一种赋值类型,不能混合使用非阻塞赋值和阻塞赋值。有的朋友就问我,是不是always块里面就完全不能混合使用呢?今天我就再谈一下这个问题。
一个always块内,两种赋值方式不能混用?
首先给出答案,在一个always块里面,这两种方式是可以混用的。Verilog语法并没有禁止这样做,所以我们看两个例子:
推荐阅读
- edg战队|原神声优接连变欧,单抽能出胡桃,霄宫声优20连抽连出2金
- 穿越火线|CF:从挑战模式的现实需要出发,未来有可能出现哪些功能性道具?
- 宿舍|王者荣耀:李信这次周年庆过后,还有可能出新皮肤?暗信玩家哭了
- 虞姬|王者荣耀:虞姬为什么不能出暗影战斧,难道没听过穿透流打法吗?
- 梦幻西游|梦幻西游:涛哥打成8技能出其须弥雪蛙,老王直播立2万flag
- 风来之国|永劫无间:宁红夜只能出现在三排?虎牙法神满配鸟铳专杀老师傅!
- 猪八戒|形昭之鉴不光辅助能出,其他英雄搭配也会有奇效!
- 地下城与勇士|DNF:亏了3个亿金币!金秋皮肤分解小技巧,能出镶嵌白金徽章
- 魔兽世界怀旧服|魔兽怀旧服:毒蛇小怪福利团,只要能出这2件装备,3万金就到手!
- 地下城与勇士|DNF:摸金新时代来临!翻牌能出双倍传说卡