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

相关推荐
swipe3 小时前
09|(前端转全栈)商品为什么不能随便上下架?后端状态机思维入门
前端·后端·全栈
zhangjw343 小时前
第36篇:Spring Boot进阶:Web开发+参数校验+全局异常处理
前端·spring boot·后端
倒流时光三十年3 小时前
第一阶段 02 · Mapping 与数据类型(text vs keyword 是重点)
后端·python·django
Zane19943 小时前
JMM 与 happens-before:一次搞懂 Java 内存模型
java·后端
用户298698530143 小时前
在线将 Word 文档转换为 TXT 格式:快速免费的方法
人工智能·后端
shepherd1114 小时前
别再把 MCP 当成大模型的“手脚”:LLM 并不会直接调用 MCP
后端·ai编程·mcp
SimonKing4 小时前
别再写 setter 了!MapStruct Plus vs MapStruct,谁才是 Bean 转换的真神?
java·后端·程序员
名字还没想好☜4 小时前
Go for-range 循环变量陷阱:goroutine 里全打印同一个值(Go 1.22 前后差异)
开发语言·后端·golang·go
AI多Agent协作实战派4 小时前
AI多Agent协作系统实战(二十五):Spring Boot静态资源同步:为什么你改了代码但线上还是旧的?
后端
码栈研说4 小时前
Go 语言大白话入门 12 - JSON:工作里最常见的数据格式
后端·程序员