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

相关推荐
李日灐6 小时前
C++进阶必备:红黑树从 0 到 1: 手撕底层,带你搞懂平衡二叉树的平衡逻辑与黑高检验
开发语言·数据结构·c++·后端·面试·红黑树·自平衡二叉搜索树
qq_297574676 小时前
【实战】POI 实现 Excel 多级表头导出(含合并单元格完整方案)
java·spring boot·后端·excel
郝学胜-神的一滴6 小时前
超越Spring的Summer(一): PackageScanner 类实现原理详解
java·服务器·开发语言·后端·spring·软件构建
Tony Bai6 小时前
“Go 2,请不要发生!”:如果 Go 变成了“缝合怪”,你还会爱它吗?
开发语言·后端·golang
Victor3567 小时前
Hibernate(91)如何在数据库回归测试中使用Hibernate?
后端
Victor3567 小时前
MongoDB(1)什么是MongoDB?
后端
Victor35613 小时前
https://editor.csdn.net/md/?articleId=139321571&spm=1011.2415.3001.9698
后端
Victor35613 小时前
Hibernate(89)如何在压力测试中使用Hibernate?
后端
灰子学技术15 小时前
go response.Body.close()导致连接异常处理
开发语言·后端·golang
Gogo81616 小时前
BigInt 与 Number 的爱恨情仇,为何大佬都劝你“能用 Number 就别用 BigInt”?
后端