Verilog HDL硬件描述语言(标注版)-08

Verilog HDL硬件描述语言(标注版)-08

ID:37798981

大小:624.86 KB

页数:24页

时间:2019-05-31

Verilog HDL硬件描述语言(标注版)-08_第1页
Verilog HDL硬件描述语言(标注版)-08_第2页
Verilog HDL硬件描述语言(标注版)-08_第3页
Verilog HDL硬件描述语言(标注版)-08_第4页
Verilog HDL硬件描述语言(标注版)-08_第5页
资源描述:

《Verilog HDL硬件描述语言(标注版)-08》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、下载第8章行为建模在前几章中,我们已经介绍了使用门和UDP实例语句的门级建模方式,以及用连续赋值语句的数据流建模方式。本章描述VerilogHDL中的第三种建模方式,即行为建模方式。为充分使用VerilogHDL,一个模型可以包含所有上述三种建模方式。8.1过程结构下述两种语句是为一个设计的行为建模的主要机制。1)initial语句2)always语句一个模块中可以包含任意多个initial或always语句。这些语句相互并行执行,即这些语句的执行顺序与其在模块中的顺序无关。一个initial语句或a

2、lways语句的执行产生一个单独的控制流,所有的initial和always语句在0时刻开始并行执行。8.1.1initial语句initial语句只执行一次。initial语句在模拟开始时执行,即在0时刻开始执行。initial语句的语法如下:initial[timing_control]procedural_statementprocedural_statement是下列语句之一:procedural_assignment(blockingornon-blocking)//阻塞或非阻塞性过程赋值语

3、句//procedural_continuous_assignmentconditional_statementcase_statementloop_statementwait_statementdisable_statementevent_triggersequential_blockparallel_blocktask_enable(userorsystem)顺序过程(begin...end)最常使用在进程语句中。这里的时序控制可以是时延控制,即等待一个确定的时间;或事件控制,即等待确定的事件发生

4、或某一特定的条件为真。initial语句的各个进程语句仅执行一次。注意initial语句在模拟的0时刻开始执行。initial语句根据进程语句中出现的时间控制在以后的某个时间完成执行。下面是initial语句实例。regYurt;...initialYurt=2;60VerilogHDL硬件描述语言下载上述initial语句中包含无时延控制的过程赋值语句。initial语句在0时刻执行,促使Yurt在0时刻被赋值为2。下例是一个带有时延控制的initial语句。regCurt;...initial#2

5、Curt=1;寄存器变量Curt在时刻2被赋值为1。initial语句在0时刻开始执行,在时刻2完成执行。下例为带有顺序过程的initial语句。parameterSIZE=1024;reg[7:0]RAM[0:SIZE-1];regRibReg;initialbegin:SEQ_BLK_AintegerIndex;RibReg=0;for(Index=0;Index

6、语句,与C语言等高级编程语言相似。SEQ_BLK_A是顺序过程的标记;如果过程中没有局部说明部分,不要求这一标记。例如,如果对Index的说明部分在initial语句之外,可不需要标记。整数型变量Index已在过程中声明。并且,顺序过程包含1个带循环语句的过程性赋值。这一initial语句在执行时将所有的内存初始化为0。下例是另一个带有顺序过程的initial语句。在此例中,顺序过程包含时延控制的过程性赋值语句。//波形生成:parameterAPPLY_DELAY=5;reg[0:7]port_A;

7、...initialbeginPort_A='h20;#APPLY_DELAYPort_A='hF2;#APPLY_DELAYPort_A='h41;#APPLY_DELAYPort_A='h0A;end执行时,Port_A的值如图8-1所示。图8-1使用initial语句产生的波形如上面举例所示,Initial语句主要用于初始化和波形生成。第8章行为建模61下载8.1.2always语句与initial语句相反,always语句重复执行。与initial语句类似,always语句语法如下:alway

8、s[timing_control]procedural_statement过程语句和时延控制(时序控制)的描述方式与上节相同。例如:alwaysClk=~Clk;//将无限循环。此always语句有一个过程性赋值。因为always语句重复执行,并且在此例中没有时延控制,过程语句将在0时刻无限循环。因此,always语句的执行必须带有某种时序控制,如下例的always语句,形式上与上面的实例相同,但带有时延控制。always#5Clk=~Clk;//产生时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。