时序逻辑中的阻塞和非阻塞

verilog hdl的赋值语句分为阻塞赋值和非阻塞赋值两种。阻塞赋值是指在当前赋值完成前阻塞其他类型的赋值任务,阻塞赋值由=来完成;非阻塞赋值在赋值的同时,其他非阻塞赋值可以同时被执行,非阻塞赋值由《=来完成。
(1)组合逻辑中的阻塞和非阻塞
eg.
always@(a or b or c or d)
begin
t1 = a & b;
t2 = c & d;
out = t1 | t2;
end
当abcd均由0变为1时,采用阻塞赋值语句时:t1=1,t2=1,out=1;
采用非阻塞赋值语句时:t1=1,t2=1,out=0。非阻塞赋值每一条语句执行不会阻止其他非阻塞语句的同时执行,故此时的t1和t2还未更新,所以out的值不变。
(2)时序逻辑中的阻塞和非阻塞
eg.实现d触发器
always@(posedge clk)
begin
q1 《= d;
q2 《= q1;
end
采用非阻塞赋值时,q1=d,q2=q1;采用阻塞赋值时q1=q2=d,不符合d触发器的要求。
综述:对于组合逻辑(always模块敏感列表为电平触发),采用阻塞赋值(=);对于非阻塞逻辑(always模块敏感列表为边沿触发),采用非阻塞赋值(《=)。
原文标题:阻塞赋值与非阻塞赋值
文章出处:【微信公众号:fpga之家】欢迎添加关注!文章转载请注明出处。


关于开源的AMBA(APB/AHB/AXI) VIP
5G怎样进行室内定位?
Vishay发布新款超薄的SMD 0604封装的ChipLED-VLMx1300
力科推出SimPASS仿真设计验证工具,用于PCI-Expr
BC电池是什么意思 bc电池和topcon的区别
时序逻辑中的阻塞和非阻塞
基于ZigBee技术无线抄表系统的设计
AMD 7代APU新品A6-9400悄然上架:28nm双核挖掘机,售价36美元
华为和三星在印度5G市场再起“战争”!
PLC输入模块与主令电器类设备的连接
芯片设计EDA软件的使用
《车载激光雷达检测方法》锐驰智光为起草单位
iPhone7Plus太过火爆 所有苹果零售店均已关闭预约通道
通过VR技术治疗视力障碍,眼部追踪技术将在VR行业发挥重要作用
汽车最强大脑ECU和单片机是什么关系
智慧农业:基于物联网网关的食用菌温湿度实时监测系统
理解光纤连接器的常见性能参数及其意义
飞鱼P10运动耳机怎么样 值不值得买
二层交换机技术和路由器技术的特性介绍
RGV、AGV、IGV三种搬运机器人的区别