【Verilog HDL】语句的并发执行
1. 实践得到的启发
先从一个简单的现象得出结论,Verilog语句是并发执行的!
同时,这也是**$monitor系统任务为全局有效**的一个重要支持因素,如果没有并发,它是完不成这项功能的实现的。
众所周知,高级语言通常都是自上而下编译和执行的,但是Verilog硬件描述语言不一样,它更喜欢并发执行。
这是一门直接触及底层硬件编程的语言,效率非常高,并发执行是为了适应它所处的环境。
先来看看一下激励块代码:
module stimulus;// 设置激励信号reg I0 = 1,I1 = 0,I2 = 1,I3 = 0,I4 = 1,I5 = 0,I6 = 1,I7 = 0; // 输入数据信息reg S2,S1,S0; // 地址输入端信息,注意使用“小端序”wire OUT; // 输出数据mux8_to_1 M8T (I0,I1,I2,I3,I4,I5,I6,I7,S2,S1,S0,OUT);// 设置信号监视器initialbegin$monitor ($time," S2 = %b, S1 = %b, S0 = %b, OUT = %b\n",S2,S1,S0,OUT); // 注意【\n】end// 设置激励信号initialbegin// $display ("I0 = %b, I1 = %b, I2 = %b, I3 = %b, I4 = %b, I5 = %b, I6 = %b, I7 = %b\n"// ,I0,I1,I2,I3,I4,I5,I6,I7);#1 S2 = 0; S1 = 0; S0 = 0;#1 S2 = 0; S1 = 0; S0 = 1;#1 S2 = 0; S1 = 1; S0 = 0;#1 S2 = 0; S1 = 1; S0 = 1;#1 S2 = 1; S1 = 0; S0 = 0;#1 S2 = 1; S1 = 0; S0 = 1;#1 S2 = 1; S1 = 1; S0 = 0;#1 S2 = 1; S1 = 1; S0 = 1;endendmodule
输出结果为:
0 S2 = x, S1 = x, S0 = x, OUT = x1 S2 = 0, S1 = 0, S0 = 0, OUT = 1
2 S2 = 0, S1 = 0, S0 = 1, OUT = 0
3 S2 = 0, S1 = 1, S0 = 0, OUT = 1
4 S2 = 0, S1 = 1, S0 = 1, OUT = 05 S2 = 1, S1 = 0, S0 = 0, OUT = 1
6 S2 = 1, S1 = 0, S0 = 1, OUT = 0
7 S2 = 1, S1 = 1, S0 = 0, OUT = 1
8 S2 = 1, S1 = 1, S0 = 1, OUT = 0
观察可得,不仅仅两个initial块是并发执行的,并且他们还是从仿真时刻为0的时候就开始并发执行了。
【疑问】(未解决)
Vivado 2017.4中
红圈圈是意味着并发执行吗?暂时不知道,后续再研究。
——————————
后续深入内容以后再说
【Verilog HDL】语句的并发执行相关推荐
- 五分钟快速过完Verilog HDL基本概念(3)语法讲解
Verilog HDL逻辑功能定义 1.在Verilog 模块中有3种方法可以描述电路的逻辑功能: 用assign 连续赋值语句,常用于描述组合逻辑 assign x = ( b & ~c ) ...
- 【数字逻辑与EDA技术】verilog HDL语法-期末考试重点总结
一.相关术语 BST(Boundary Scan Test)边界扫描测试 CAD(Computer Aided Design) 计算机辅助设计 CAE(Computer Aided Engineeri ...
- Verilog HDL 基础
Verilog HDL 基础 一.Verilog 的基本概念 1. 硬件描述语言HDL 1.1 特点: 描述电路的连接.描述电路的功能.在不同抽象级上描述电路. 描述电路的时序.表达具有并行性 1.2 ...
- 【 Verilog HDL 】循环语句总结
目录 综述 forever语句 repeat语句 while语句 for语句 综述 在Verilog HDL中存在四种类型的循环语句,用来控制执行语句的执行次数. 1) forever 连续的执行语 ...
- Verilog学习之路(4)— Verilog HDL的程序设计语句
Verilog HDL的程序设计语句 一.连续赋值语句 连续赋值语句通常用来描述组合逻辑电路,连续赋值的目标类型主要是标量线网和向量线网两种,标量线网如"wire a,b;",向量 ...
- Verilog HDL——循环语句
循环语句 Verilog HDL中4种循环语句 for循环:指定循环次数 while循环:设置循环条件 repeat循环:连续执行语句N次 forever循环:连续执行某条语句(不可综合,多用于仿真激 ...
- repeat语句 及 赋值语句说明---verilog HDL
参考:verilog数字系统设计教程[第四版]夏宇闻 repeat语句用阻塞赋值语句,与用非阻塞语句产生的结果差别非常大,所以将二者放在同一篇文章中. 1.赋值语句 2.repeat 语句介绍 2 ...
- 数字集成电路设计(三、Verilog HDL程序设计语句和描述方式)(一)
文章目录 1. 数据流建模 1.1 连续赋值语句 2. 行为级建模 2.1 过程语句 2.2 语句块 2.3 过程赋值语句 **!!!小结** 2.4 过程连续赋值语句 2.5 条件分支语句 2.5. ...
- Verilog HDL中阻塞语句和非阻塞语句的区别
在Verilog中有两种类型的赋值语句:阻塞赋值语句("=")和非阻塞赋值语句("<=").正确地使用这两种赋值语句对于Verilog的设计和仿真非常重要 ...
最新文章
- 戳戳HackShield Ring0反調試
- python selenium自动化获取oracle,python27+selenium3自动化登录测试
- WPF窗体置于桌面最底层
- [Asp.net]站点地图SiteMap
- flowable支持的mysql版本_Flowable3-配置
- poj 3678 Katu Puzzle(2-sat)
- Go 并发编程 — 深入浅出 sync.Pool ,最全的使用姿势,最深刻的原理
- transactionscope 中的异步 处理 异常_PLC编程中的异常处理
- io 错误: socket closed_Tomcat NIO(9)IO线程Overall流程和关键类
- robo 3t使用教程
- png转jpg java_怎么把图片PNG格式转换成JPG格式?
- Java OCR tess4j 图片识别技术(三)
- PureStake CEO Derek Yoo解释Moonbeam背后的技术
- apicloud——云编译失败
- html5互动,制作H5页面有哪些趣味互动功能?
- php 0改成百 千_php 根据啊拉伯数字转变成大写中文数字
- 如何判断测试项目是否需要高频交直流电流探头
- Proxmox VE(PVE)、软路由、黑群晖(NAS)成功之道
- oppo应用显示服务器正忙,快应用-开通oppo账号服务艰辛之路
- qq撤回消息还在服务器上面吗,QQ怎么查看对方撤回的消息?
热门文章
- 使用ycsb测试cassandra
- Cocos2d-JS项目之UI界面的优化
- 【线性代数公开课MIT Linear Algebra】 第二十三课 微分方程与exp(At)
- asp.net mvc 如何在View中获取Url参数的值
- arduino定时器函数如何使用_excel如何使用函数公式来查找图片
- matlab如何测两点的角度_【邢不行|量化小讲堂系列01-Python量化入门】如何快速上手使用Python进行金融数据分析...
- linux查看进程运行日志文件,【Linux】常用指令、ps查看进程、kill杀进程、启动停止tomcat命令、查看日志、查看端口、find查找文件...
- python 结构数组_Python数组
- vs2019 缺android sdk,VS2019由于缺少NuGet Microsoft.NET.Sdk.Functions程序包而无法加载项目,但也无法添加此程序包(示例代码)...
- nfc/nfc模式_NFC的完整形式是什么?