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

相关推荐
嘻哈baby15 小时前
AI让我变强了还是变弱了?一个后端开发的年终自省
后端
舒一笑15 小时前
2025:从“代码搬运”到“意图编织”,我在 AI 浪潮中找回了开发的“爽感”
后端·程序员·产品
s090713615 小时前
常用FPGA实现的图像处理算法
图像处理·算法·fpga开发
用户40993225021215 小时前
Vue3中v-if与v-for为何不能在同一元素上混用?优先级规则与改进方案是什么?
前端·vue.js·后端
blurblurblun15 小时前
Go语言特性
开发语言·后端·golang
Y.O.U..15 小时前
Go 语言 IO 基石:Reader 与 Writer 接口的 “最小设计” 与实战落地
开发语言·后端·golang
冒泡的肥皂16 小时前
25年AI我得DEMO老师
人工智能·后端
茹鲸16 小时前
我开发了一个文件智能分类工具,彻底解决了桌面文件杂乱的问题
后端
思成Codes16 小时前
Gin 框架:*gin.Engine 主要方法
后端·golang·gin
举大栗子16 小时前
Hikari数据库连接池部分常用参数解析
后端