《Verilog行为描述》PPT课件

《Verilog行为描述》PPT课件

ID:36695423

大小:298.41 KB

页数:63页

时间:2019-05-10

《Verilog行为描述》PPT课件_第1页
《Verilog行为描述》PPT课件_第2页
《Verilog行为描述》PPT课件_第3页
《Verilog行为描述》PPT课件_第4页
《Verilog行为描述》PPT课件_第5页
资源描述:

《《Verilog行为描述》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章:verilogHDL行为描述4.1verilogHDL行为描述概要4.2块语句4.3赋值语句4.4高级程序语句4.5verilogHDL任务与函数4.1verilog行为描述概要4.1.1过程块4.1.2过程语句initial与always4.1.1过程块HDL由五个部分组成,主要部分是描述体部分。描述体部分由多个并行运行的过程块组成,而每个过程块又由过程块语句和块语句所组成,块语句则进一步由过程赋值语句和高级程序语句构成。VerilogHDL行为描述的模块描述体部分:过程语句@(事件控制敏感表)块语句开始标识符:块名块内局部变量说明一条

2、或多条过程赋值或高级程序语句块语句结束标识符过程块的形式:4.1.2过程语句initial和always:过程语句是:initial或always;事件敏感表只在always过程语句中出现,用于激活过程语句的执行;块语句标识符分begin-end(串行块)与fork-joint(并行块)两类。过程语句的特点:1.两者都是从0时刻执行,initial过程语句后面的块语句沿时间轴只执行一次,而always则循环地重复执行其后的块语句。2.initial过程语句不带触发条件,从0时刻开始执行它后面的块语句;always过程语句带有触发条件。3.一个模块

3、的行为描述中可以有多个initial和always语句,代表多个过程的存在,他们之间相互独立,并行运行。例子:moduleclk_gen_demo(clock1,clock2);outputclock1,clock2;//portdeclarationregclock1,clock2;//datadeclarationinitialbeginclock1=0;clock2=1;endalwaysbegin#50clock1=~clock2;endalwaysbegin#100clock2=~clock2;endendmodule4.2块语句块语句

4、是由begin-end或fork-joint界定的一组行为描述语句。构成块语句的作用之一就是相当于给这组行为描述语句进行打包处理,使之在形式上与一条语句相一致。块语句只能出现在行为描述中。4.2.1串行块begin-end1.串行块的语句按照排列次序,逐条顺序执行。每条语句的延时是相对于前一条语句结束时的时间;2.串行块的起始时间是第一条语句开始的时间;结束时间是最后一条语句完成的时间;3.串行块的行为描述可以理解为硬件电路在时钟及控制信号作用下,数据沿数据通道的各级寄存器之间的传送过程。例4-2一个包含延时的串行块描述的例子begin#10re

5、g_a=reg_b;#10reg_c=reg_a;end当流程控制进入串行块后,经10单位时间,reg_b的值赋给reg_a;再过10单位,又将reg_a的值赋给reg_c;到标识符end,流程转出块外。运行结果:reg_a和reg_c先后变成reg_b的值。从上述过程可以看到,每条语句的延时是相对于前一条语句而言的,串行块是沿时间轴顺序执行。4.2.2并行块fork_join1·并行块中的每条语句是同时并行执行,各条语句的执行过程与语句在块中的顺序无关。块中的每条语句给出的延时都是相对于该块开始的绝对时间。2·并行块的起始时间是流程转入该块的时

6、间,每条语句都是相对于这个时间同时开始的。块的结束时间就是该块中按时间排序最后执行的一条语句结束的时间。3·并行块的行为描述可以理解为硬件电路上电后,各电路模块同时开始工作的过程。例4-4一个包括延时地并行块描述的例子fork#10reg_a=reg_b;#10reg_c=reg_a;join将这个并行描述与例4-2中的串行描述对照,差别是块标识符从原来的串行标识符begin_end改为这里的并行标识符fork_join。正是这一改变导致块语句的执行过程与执行结果都发生了变化。modulewave_gen_seri(wav);outputwav;

7、regwav;eventend_wave;parameterdelay=50;initialbeginwav=0;#delaywav=1;#delaywav=0;#delaywav=1;#delaywav=0;#delay->end_wave;end例4-5.用串行块行为描述产生一段周期为100时间单位。占空比为1:1的信号波形。例4-6用并行块描述一段周期为100时间单位、占空比为1:1的信号modulewave_gen_para(wav);outputwav;regwav;eventend_wave;initialforkwav=0;#50w

8、av=1;#100wav=0;#150wav=1;#200wav=0;#250->end_wave;join例4-7用于验证并行块描述中

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

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

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