网站大量收购独家精品文档,联系QQ:2885784924

Verilog HDL数字系统设计与应用--FPGA-第4章-行为描述语言.pptxVIP

Verilog HDL数字系统设计与应用--FPGA-第4章-行为描述语言.pptx

  1. 1、本文档共39页,可阅读全部内容。
  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文档。上传文档
查看更多

第4章行为描述的语法

4行为描述语言行为描述是一种从抽象角度来表示硬件电路,通过表达输入与输出之间的关系来描述硬件行为的方法。行为描述直接根据电路外部行为进行描述,与硬件电路结构无关。VerilogHDL语法中的行为语句主要包括过程语句、块语句、条件语句和循环语句。这些语句的用法与C语言很类似,容易理解,但也存在一些不同之处,如块语句、casex和casez等。行为描述一般使用initial和always过程结构语句,其他行为语句只能出现在这两种过程结构语句中。

VerilogHDL的过程语句主要包括initial语句和always语句。在一个模块(module)中,使用initial和always语句的次数是不受限制的,而且每个initial和always都是并行执行的。initial语句通常用于仿真中的初始化,只在程序开始时执行一次。当触发方式满足后,always块内的语句一直重复执行。该语句可综合也可用于仿真,是一种被广泛采用的电路设计方式。4.1过程语句

initial语句主要用于仿真测试,在仿真0时刻开始对变量进行初始化或激励波形的产生。一个模块中可以有多个initial语句,每个initial语句都是同时从仿真0时刻开始并行执行。initial语句不能被综合,其格式如下:initial begin/fork 语句1; 语句2; …… 语句n; end/join begin-end与fork-join块语句类似C语言中的{},区别在于begin-end是串行执行的而fork-join是并行执行的。4.1.1initial语句4.1过程语句

4.1过程语句【例4.1】用initial过程语句对测量变量a的赋值。 timescasle10ns/1nsmoduletest; reg[2:0]a; initialbegina=3b000; #5a=3b001;#5a=3b010;#5a=3b011;#5a=3b100;end endmodule在例4.1中,timescasle10ns/1ns表示模块仿真的时间单位为10ns,时间精度为1ns,并定义变量a,在initial语句中对a进行赋值。initial语句中的内容在仿真0时刻开始执行,并且只执行一次:仿真0时刻开始,a值为3b000,经过50ns后a值为3b001,再经过50ns后a值为3b010,最后经过200ns后a值一直保持为3b100。

4.1过程语句4.1.2always语句只有当触发条件满足时,always语句才会不断重复的执行其后的块语句。always语句可被综合也可用于仿真,多个always语句间是并行执行的,与书写先后顺序无关。always语句格式如下: always@(敏感信号列表) begin 语句1; 语句2; …… 语句n; end敏感信号分为两种:一种为电平敏感型信号,一种为边沿敏感型信号。敏感信号之间用“or”或者“,”隔开。例如:电平敏感型信号always@(A,B)与always@(AorB)这两种书写格式表示的内容是一样。电平敏感型是指信号变量发生电平的变化,一般用于组合逻辑电路中。使用时应把可以引起always语句中的被赋值变量变化的所有信号都放入敏感信号列表中。

4.1过程语句【例4.2】用case语句描述一个3输入与非门。modulemy_nand(f,a,b,c);inputa,b,c; outputregf; always@(aorborc)//等价于always@(a,b,c) case({a,b,c}) 3b000:f=1;3b001:f=1;3b010:f=1;3b011:f=1;3b100:f=1;3b101:f=1;3b110:f=1;3b111:f=0;default:f=1bx;endcase endmodule

4.1过程语句在例4.2中,只要a、b、c任何一个输入信号发生变化,都会执行always语句一次。在case语句中,根据{a,b,c}的值来选择执行其中一个分支。用always语句设计组合逻辑电路时,需将所有输入变量都列入敏感信号列表中。可以用“*”来表示always过程语句中所有的输入信号变量,其书写格式有always*或always(*)。

4.1过程语句例4.2中的程序可以写为modulemy_nand(f,a,b,c);inputa,b,c; outputregf; alw

您可能关注的文档

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2025年02月18日上传了教师资格证

1亿VIP精品文档

相关文档