verilog中的initial语句
来源:互联网 发布:iphone解压缩软件 知乎 编辑:程序博客网 时间:2024/05/18 01:00
首先说说结构化过程语句,在verilog中有两种结构化的过程语句:initial语句和always语句,他们是行为级建模的两种基本语句。其他所有的行为语句只能出现在这两种语句里
与C语言不通,verilog在本质上是并发而非顺序的。verilog中的各个执行流程(进程)并发执行,而不是顺序执行的。每个initial语句和always语句代表一个独立的执行过程,每个执行过程从仿真时间0开始执行并且两种语句不能嵌套使用。下面举例解释之:
initial语句
所有的initial语句内的语句构成了一个initial块。initial块从仿真0时刻开始执行,在整个仿真过程中只执行一次。如果一个模块中包括了若干个initial块,则这些initial块从仿真0时刻开始并发执行,且每个块的执行是各自独立的。如果在块内包含了多条行为语句,那么需要将这些语句组成一组,一般式使用关键字begin和end将他们组合在一个块语句;如果块内只有一条语句,则不必使用begin和end.下面给出了initial语句的例子:
module stimulusreg x,y, a,b, minitialm = 1'b0;initialbegin#5 a = 1'b1;#25 b = 1'b0;endinitialbegin#10 x = 1'b0;#25 y = 1'b1;endinitial#50 $finish;endmodule
在上面例子中,三条initial语句在仿真0时刻开始并行执行。如果在某一条语句前面存在延迟#<delay>,那么这条initial语句的仿真将会停顿下来,在经过指定的延迟时间之后再继续执行。因此上面的initial语句执行顺序为:
时间所执行的语句0m = 1'b0;5a = 1'b1;10x = 1'b0;30b = 1'b0;35y = 1'b1;50$finish;
- verilog中的initial语句
- verilog中的initial语句
- verilog中的initial语句
- Verilog 中的for语句
- verilog中的循环语句
- verilog 中的case语句辨析
- Verilog HDL中的延迟控制语句
- 关于Verilog HDL中的赋值语句
- verilog语句
- 【原创】always语句 和 initial语句
- verilog 不可综合语句
- Verilog中几种赋值语句
- Verilog的块语句
- Verilog之case语句
- verilog中assign语句
- verilog-for 语句实例
- Verilog赋值语句
- 循环语句(Verilog HDL)
- SQL基础8.2——层次化查询(START BY ... CONNECT BY PRIOR)
- 英语单词词根词缀和词性转换
- C#垃圾回收
- 杜拉拉升职记1-学习笔记
- 杜拉拉升职记3-学习笔记
- verilog中的initial语句
- 如何在项目中用一台机器进行简单性能测试
- PHPCMS中模板中$forminfos循环输出表单的代码详解
- DSOFramer控件文档上传到服务器处理页面后,怎么解析数据 <转>
- 简单的python流回显服务器与客户端
- phpcms中的loop标签
- 关于dsoframer控件保存文档至服务器的问题
- [USACO 1.3.3] Calf Flac
- 12个项目管理成功的关键原则