行为语句.pptVIP

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

第三部分 Verilog HDL 语言 仿真结果 例:模为60的BCD码加法计数器 module count60(qout,cout,data,load,cin,reset,clk); output[7:0] qout; output cout; input[7:0] data; input load,cin,clk,reset; reg[7:0] qout; always @(posedge clk) //clk上升沿时刻计数开始 begin if(reset) qout=0; //同步复位,高电平有效 else if(load) qout=data; //同步置数,高电平有效 else if(cin) begin if(qout[3:0]==9) //低位是否为9,是则 begin qout[3:0]=0; //低们回0, if(qout[7:4]==5) qout[7:4]=0; //高位为5,回0 else qout[7:4]= qout[7:4]+1; //高位不为5,加1 end else qout[3:0]= qout[3:0]+1; //低位不为9,加1 end end assign cout=((qout==8`h59)cin)?1:0; //产生进位信号 endmodule 仿真结果 例 用repeat实现8位二进制数的乘法。 module mult_repeat(outcome,a,b); parameter size=8; input[size:1] a,b;output[2*size:1] outcome; reg [2*size:1] m_a,outcome;reg [size:1] m_b; always @(a or b) begin outcome=0;m_a=a;m_b=b; repeat(size) begin if(m_b[1]) outcome=outcome+m_a; m_a=m_a1;m_b=m_b1; end end endmodule 设计输入:在两个文件中 仿真结果 注意:data、qout显示时用16进制形式显示 因为是BCD码,四位二进制数表示一位十进制数 Verilog HDL中有四类循环语句: (1)forever循环语句 (2)repeat循环语句 (3)while循环语句 (4)for 循环语句 5、循环语句 forever语句实现的是一种无限的循环,该循环语句内指定的循环体部分将不断重复地得到执行。forever循环语句常用于产生周期性的波形,用来作为仿真测试信号。forever语句不能独立写在程序中,一般必须写在initial块中。 forever语句的格式如下: ? forever?语句; //这里的语句就是被重复执行的循环体 ? 或? forever ?begin? 多条语句; //这里的语句块就是被重复执行的循环体 ? end? (1)forever循环语句 例如: initial begin Clock = 0; # 5 forever #10 Clock = ~Clock; e n d 说明: 这一实例产生时钟波形;时钟首先初始化为0,并一直保持到第5个时间单位。此后每隔1 0个时间单位,C l o c k反相一次。 ※如果需要在某个时刻跳出forever循环语句所指定的无限循环,则可以通过在循环体语句块中使用中止语句(disable语句)来实现这一目的. 例如: module clk_gen(clk); output clk; integer count; initial begin count=0; clk=0; #1

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档