集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 876|回复: 4

阻塞赋值与非阻塞赋值

[复制链接]
雷磊 发表于 2020-3-4 14:44:59 | 显示全部楼层 |阅读模式


阻塞赋值,操作符为“=”,“阻塞”是指在进程语句(initial和always)中,当前的赋值语句会阻断其后语句的正常执行,也就是说后面的语句必须等到当前的赋值语句执行完毕才能执行。而且阻塞赋值可以看成是一步完成的,即:计算等号右边的值并同时赋给左边变量。
非阻塞赋值,操作符为“<=”,“非阻塞”是指在进程语句(initial和always)中,当前的赋值语句不会阻断其后语句的正常执行。


本章对比了 Verilog 语法中阻塞赋值和非阻塞赋值的区别。通过证明非阻塞赋值多种赋值顺序生成电路的唯一性,与阻塞赋值多种赋值顺序生成电路的不确定性,来展示使用非阻塞赋值对设计可预测性的重要意义。在今后的设计中会经常用到两种赋值方式,请多加思考其中区别及意义。
在今后的设计中,掌握以下六个原则,可解决在综合后仿真中出现绝大多数的冒险竞争问题。
1) 时序电路建模时,用非阻塞赋值;
2) 锁存器电路建模时,用非阻塞赋值;
3) 用always块建立组合逻辑模型时,用阻塞赋值;
4) 在同一个always块中建立时序和组合逻辑电路时,用非阻塞赋值;
5) 在同一个always块中不要既用非阻塞赋值又用阻塞赋值;
6) 不要在一个以上的always块中为同一个变量赋值。
dameihuaxia 发表于 2020-3-4 15:03:47 | 显示全部楼层
阻塞赋值与非阻塞赋值
嘿哈嘿哈哈 发表于 2023-11-17 08:54:59 | 显示全部楼层
阻塞赋值与非阻塞赋值
508482294 发表于 2023-11-19 17:38:24 | 显示全部楼层
阻塞赋值与非阻塞赋值
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-16 07:25 , Processed in 0.061631 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表