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】语句的并发执行相关推荐

  1. 五分钟快速过完Verilog HDL基本概念(3)语法讲解

    Verilog HDL逻辑功能定义 1.在Verilog 模块中有3种方法可以描述电路的逻辑功能: 用assign 连续赋值语句,常用于描述组合逻辑 assign x = ( b & ~c ) ...

  2. 【数字逻辑与EDA技术】verilog HDL语法-期末考试重点总结

    一.相关术语 BST(Boundary Scan Test)边界扫描测试 CAD(Computer Aided Design) 计算机辅助设计 CAE(Computer Aided Engineeri ...

  3. Verilog HDL 基础

    Verilog HDL 基础 一.Verilog 的基本概念 1. 硬件描述语言HDL 1.1 特点: 描述电路的连接.描述电路的功能.在不同抽象级上描述电路. 描述电路的时序.表达具有并行性 1.2 ...

  4. 【 Verilog HDL 】循环语句总结

    目录 综述 forever语句 repeat语句 while语句 for语句 综述 在Verilog HDL中存在四种类型的循环语句,用来控制执行语句的执行次数. 1) forever  连续的执行语 ...

  5. Verilog学习之路(4)— Verilog HDL的程序设计语句

    Verilog HDL的程序设计语句 一.连续赋值语句 连续赋值语句通常用来描述组合逻辑电路,连续赋值的目标类型主要是标量线网和向量线网两种,标量线网如"wire a,b;",向量 ...

  6. Verilog HDL——循环语句

    循环语句 Verilog HDL中4种循环语句 for循环:指定循环次数 while循环:设置循环条件 repeat循环:连续执行语句N次 forever循环:连续执行某条语句(不可综合,多用于仿真激 ...

  7. repeat语句 及 赋值语句说明---verilog HDL

    参考:verilog数字系统设计教程[第四版]夏宇闻 repeat语句用阻塞赋值语句,与用非阻塞语句产生的结果差别非常大,所以将二者放在同一篇文章中. 1.赋值语句 2.repeat 语句介绍   2 ...

  8. 数字集成电路设计(三、Verilog HDL程序设计语句和描述方式)(一)

    文章目录 1. 数据流建模 1.1 连续赋值语句 2. 行为级建模 2.1 过程语句 2.2 语句块 2.3 过程赋值语句 **!!!小结** 2.4 过程连续赋值语句 2.5 条件分支语句 2.5. ...

  9. Verilog HDL中阻塞语句和非阻塞语句的区别

    在Verilog中有两种类型的赋值语句:阻塞赋值语句("=")和非阻塞赋值语句("<=").正确地使用这两种赋值语句对于Verilog的设计和仿真非常重要 ...

最新文章

  1. 戳戳HackShield Ring0反調試
  2. python selenium自动化获取oracle,python27+selenium3自动化登录测试
  3. WPF窗体置于桌面最底层
  4. [Asp.net]站点地图SiteMap
  5. flowable支持的mysql版本_Flowable3-配置
  6. poj 3678 Katu Puzzle(2-sat)
  7. Go 并发编程 — 深入浅出 sync.Pool ,最全的使用姿势,最深刻的原理
  8. transactionscope 中的异步 处理 异常_PLC编程中的异常处理
  9. io 错误: socket closed_Tomcat NIO(9)IO线程Overall流程和关键类
  10. robo 3t使用教程
  11. png转jpg java_怎么把图片PNG格式转换成JPG格式?
  12. Java OCR tess4j 图片识别技术(三)
  13. PureStake CEO Derek Yoo解释Moonbeam背后的技术
  14. apicloud——云编译失败
  15. html5互动,制作H5页面有哪些趣味互动功能?
  16. php 0改成百 千_php 根据啊拉伯数字转变成大写中文数字
  17. 如何判断测试项目是否需要高频交直流电流探头
  18. Proxmox VE(PVE)、软路由、黑群晖(NAS)成功之道
  19. oppo应用显示服务器正忙,快应用-开通oppo账号服务艰辛之路
  20. qq撤回消息还在服务器上面吗,QQ怎么查看对方撤回的消息?

热门文章

  1. 使用ycsb测试cassandra
  2. Cocos2d-JS项目之UI界面的优化
  3. 【线性代数公开课MIT Linear Algebra】 第二十三课 微分方程与exp(At)
  4. asp.net mvc 如何在View中获取Url参数的值
  5. arduino定时器函数如何使用_excel如何使用函数公式来查找图片
  6. matlab如何测两点的角度_【邢不行|量化小讲堂系列01-Python量化入门】如何快速上手使用Python进行金融数据分析...
  7. linux查看进程运行日志文件,【Linux】常用指令、ps查看进程、kill杀进程、启动停止tomcat命令、查看日志、查看端口、find查找文件...
  8. python 结构数组_Python数组
  9. vs2019 缺android sdk,VS2019由于缺少NuGet Microsoft.NET.Sdk.Functions程序包而无法加载项目,但也无法添加此程序包(示例代码)...
  10. nfc/nfc模式_NFC的完整形式是什么?