第四章 Verilog 行动描述.pptxVIP

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 Verilog 行动描述

第四章: verilog HDL 行为描述;4.1 verilog 行为描述概要;4.1.1 过程块;Verilog HDL 行为描述的模块;描述体部分:;过程语句 @ (事件控制敏感表) 块语句开始标识符: 块名 块内局部变量说明 一条或多条过程赋值或高级程序语句 块语句结束标识符;4.1.2过程语句initial 及 always:;过程语句的特点:;例子:;4.2 块语句;4.2.1 串行块 begin-end;例4-2 一个包含延时的串行块描述的例子;4.2.2 并行块fork_join;例4-4 一个包括延时地并行块描述的例子;module wave_gen_seri(wav); output wav; reg wav; event end_wave; parameter delay=50; initial begin wav=0; #delay wav=1; #delay wav=0; #delay wav=1; #delay wav=0; #delay -end_wave; end;例4-6 用并行块描述一段周期为100时间单位、占 空比为1:1的信号;例4-7 用于验证并行块描述中语句的排序不影响语句的执行过程的例子。;4.2.3 有名块 Named-block;一、便于实现对块语句执行过程的有效控制 对于多条语句构成的块语句,各条语句顺序或并行运行。如果需要根据过程的状态,控制过程的是否继续执行下去。给块命名后,可以通过后面要介绍的disable语句,在必要时终止(或提前结束)该有名块语句的执行过程。;二、允许在块语句内部引入局部变量 局部变量的含义类似于c语言中的相应含义。只在该块内部起作用。Verilog HDL中,变量都是静态变量(同样请参考c语言的静态变量)。给块命名后,就可以在模拟时给属于这一有名块的局部变量分配内存地址单元。即使局部变量与块外的其他变量同名,由于块名的标识,模拟系统很容易据此加以区别。显然,局部变量只可能是寄存器类的变量。;4.3赋值语句; Verilog HDL对模块的行为描述由一个或多个并行运行的过程块构成,而位于过程块中的赋值语句称之为过程赋值语句。过程赋值语句只能对寄存器类的量进行赋值。 过程语句的左边必须是寄存器类的变量(reg. integer. real. Time).对于多位宽的寄存器变量(矢量)可以只对其中某一位或某几位赋值。对与存储器只能通过选定的地址单元,对某个字赋值;还可以将前述各类变量用连续符拼接起来,构成一个整体作为过程赋值的左端。; ; ; ;1.延时控制;2.事件控制;(1) @(信号名);(2)@ (posedge信号名);(3)@(negedge信号名);(4)@ (事件1 or 事件2 or 事件3…);例子:;二、内部模式:;内部模式说明:;两者之间的关系:;例4-9 一个包含延时的并行块 的两种描述形式;4.3.3 阻塞型过程赋值于非阻塞型过程赋值;例4-10 一个用于说明阻塞型赋值语句与非阻塞型赋值语句差别的例子。;方法二: non-blocking assignment in a serial block; 同时包含阻塞型与非阻塞型串行块的描述: 1.在前一个阻塞型赋值语句的串行块中,到达10单位时刻时,a得到1;在到达15单位时刻时,b得到0的值;在到达16单位时刻时,c得到1。 2.在后一个使用非阻塞型赋值语句的串行块描述中,c在1单位时刻首先得到1;继之b在5时间单位时得到了0;最后才是a在10单位时刻得到了1。;例4-11 用非阻塞型赋值语句产生一段周期为100时间单位,占空为1:1的信号:;例4-12 用串行块及阻塞型赋值语句描述的一个例子。;例4-12 描述的综合结果;例4-13 用并行块及阻塞型赋值语句描述的一个例子。;例4-14 用串行块及非阻塞型赋值语句描述的一个例子。;4.3.1 什么是过程赋值语句 (continuous assignment statement);过程赋值与连续赋值之间的差别:;过程赋值与连续赋值之间的???别:;例 4-15 用两种方式实现一个与门的描述. 方式一:用连续赋值语句实现;方式二:用过程赋值语句实现;4.3.5 过程连续赋值语句;例 4-16 用过程边续赋值语句实现具有异步清零功能(低电平有效)的上升没D触发器;二、force 与 release; 4.4 高级程序语句;4.4.1 if-else条件语句;一、if (条件表达式)

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档