verilog阻塞赋值和非阻塞赋值的区别

(1).非阻塞(Non_Blocking)赋值方式( 如 b <= a; )

块结束后才完成赋值操作。

b的值并不是立刻就改变的。

这是一种比较常用的赋值方法。(特别在编写可综合模块时)

(2).阻塞(Blocking)赋值方式( 如 b = a; )

赋值语句执行完后,块才结束。

b的值在赋值语句执行完后立刻就改变的。

可能会产生意想不到的结果。

1.非阻塞案例

always @ (posedge clk)begin

b_reg <= a_reg;

c_reg <= b_reg;

end

这个always块描述的电路功能如下:

2.阻塞赋值

always @ (posedge clk)begin

b = a;

c = a;

end

相关推荐
Joshua-a2 小时前
Quartus命令行烧录FPGA
fpga开发
YDS8293 小时前
MyBatis-Plus精讲 —— 从快速入门到项目实战
java·后端·spring·mybatis·mybatis-plus
MARIN_shen3 小时前
Marin说PCB之电容物料的替换经验总计--03
嵌入式硬件·硬件工程·信号处理·pcb工艺
Lear3 小时前
【MySQL】索引失效10大场景详解:如何避免索引失效提升查询性能
后端
MARIN_shen3 小时前
Marin说PCB之电容物料的替换经验总计--01
单片机·嵌入式硬件·硬件工程·信号处理·pcb工艺
Lear3 小时前
【Spring】事务失效场景详解:原理、问题与解决方案
后端
青白菜4 小时前
将Java程序打包成exe文件
后端
泉城老铁4 小时前
springboot+vue 如何实现海康摄像头喊话功能
前端·vue.js·后端
小码编匠4 小时前
C# 实现网络文件传输:打造稳定可靠的工业级工具
后端·c#·.net
一 乐4 小时前
美食推荐|基于springboot+vue的美食分享系统设计与实现(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·美食