博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
阻塞赋值与非阻塞赋值
阅读量:5046 次
发布时间:2019-06-12

本文共 458 字,大约阅读时间需要 1 分钟。

  阻塞赋值“=”语句是顺序执行,非阻塞赋值“《=”语句是并行(同时)执行。比如对于下面这段代码: 

module test(a,b,c,clk);

input clk;

input a;
output b,c;

reg b,c;

always@(posedge clk)
begin
b = a; //b <= a;
c = b;//c <= b;
end

endmodule

对于阻塞语句,若开始b=0,a=1,clk上升沿后,b=1,c=1;    对于非阻塞语句,若开始b=0,a=1,clk上升沿后,b=1,c=0。

仿真结果若下:

总结:

  1.同一个块程序中:阻塞赋值语句是顺序执行的;非阻塞赋值语句是并行执行的。 

  2. 在组合逻辑建模中应使用阻塞赋值;在时序逻辑建模中应使用非阻塞赋值。 

  3. 无论是阻塞赋值语句还是非阻塞赋值语句,若在该语句之前对其值进行应用,则只能引用其上一个时钟周期赋于的旧值

转载于:https://www.cnblogs.com/Sagoo/p/3186516.html

你可能感兴趣的文章
手把手教你写DI_1_DI框架有什么?
查看>>
.net常见的一些面试题
查看>>
OGRE 源码编译方法
查看>>
上周热点回顾(10.20-10.26)
查看>>
C#正则表达式引发的CPU跑高问题以及解决方法
查看>>
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了...
查看>>
APScheduler调度器
查看>>
设计模式——原型模式
查看>>
【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.1.CSS框架和其他功能
查看>>
如何一个pdf文件拆分为若干个pdf文件
查看>>
web.xml中listener、 filter、servlet 加载顺序及其详解
查看>>
前端chrome浏览器调试总结
查看>>
获取手机验证码修改
查看>>
数据库连接
查看>>
python中数据的变量和字符串的常用使用方法
查看>>
等价类划分进阶篇
查看>>
delphi.指针.PChar
查看>>
Objective - C基础: 第四天 - 10.SEL类型的基本认识
查看>>
java 字符串转json,json转对象等等...
查看>>
极客前端部分题目收集【索引】
查看>>