Verilog行为描述高级语句PPT课件.ppt
《Verilog行为描述高级语句PPT课件.ppt》由会员分享,可在线阅读,更多相关《Verilog行为描述高级语句PPT课件.ppt(40页珍藏版)》请在咨信网上搜索。
1、第四讲 行为描述高级语句 过程语句(过程语句(initialinitial、alwaysalways)块语句(块语句(begin-endbegin-end、fork-joinfork-join)赋值语句(赋值语句(assignassign、=、=)条件语句(条件语句(if-elseif-else、casecase、casezcasez、casexcasex)循环语句(循环语句(forfor、foreverforever、repeatrepeat、whilewhile)编编译译指指示示语语句句(definedefine、includeinclude、ifdefifdef、elseelse、end
2、ifendif)任务(任务(tasktask)与与 函数(函数(functionfunction)顺序执行与并发执行顺序执行与并发执行1.Verilog HDL行为语句类别语句可综合性过程语句initialalways块语句串行块begin-end并行块fork-join赋值语句持续赋值assign过程赋值=、=条件语句if-elsecase循环语句forrepeatwhileforever编译向导语句defineincludeifdef,else,endif2.4.1 过程语句 initial alwayso在一个模块(module)中,使用initial和always语句的次数是不受限制的
3、。initial语句常用于仿真中的初始化,initial过程块中的语句仅执行一次;always块内的语句则是不断重复执行的,always结构在仿真过程中是时刻活动的。3.always过程语句使用模板always()begin/过程赋值/if-else,case,casex,casez选择语句/while,repeat,for循环/task,function调用end“always”过程语句通常是带有触发条件的,触发条件写在敏感信号表达式中,只有当触发条件满足时,其后的“begin-end”块语句才能被执行。4.敏感信号表达式敏感信号表达式又称事件表达式或敏感信号列表,即当该表达式中变量的值改变
4、时,就会引发块内语句的执行。因此敏感信号表达式中应列出影响块内取值的所有信号。若有两个或两个以上信号时,它们之间用“or”连接。alwaysalways(a)a)/当信号a a的值发生改变 alwaysalways(a or b)a or b)/当信号a a或信号b b的值发生改变 alwaysalways(posedgeposedge clock)/clock)/当clock clock 的上升沿到来时 alwaysalways (negedgenegedge clock)clock)/当clock clock 的下降沿到来时 alwaysalways(posedgeposedge clkc
5、lk or or negedgenegedge reset)reset)/当clkclk的上升沿到来或resetreset信号的下降沿到来电平敏感,组合逻辑电路采用边沿敏感,时序逻辑用。不要混用5.敏感信号列表举例module mux4_1(out,in0,in1,in2,in3,sel);output out;input in0,in1,in2,in3;input1:0 sel;reg out;always(in0,in1,in2,in3,sel)/敏感信号列表case(sel)2b00:out=in0;2b01:out=in1;2b10:out=in2;2b11:out=in3;defau
6、lt:out=2bx;endcaseendmodule4选1数据选择器6.posedge和negedge关键字对于时序电路,事件通常是由时钟边沿触发的,为表达边沿这个概念,Verilog提供了posedge和negedge关键字来描述。比如:【例】同步置数、同步清零的计数器module count(out,data,load,reset,clk);output7:0 out;input7:0 data;input load,clk,reset;reg7:0 out;always(posedge clk)/clk上升沿触发 begin if(!reset)out=8h00;/同步清0,低电平有效
7、 else if(load)out=data;/同步预置 else out=out+1;/计数 endendmodule7.4.2 块语句o块语句是由块标志符begin-end或fork-join界定的一组语句,当块语句只包含一条语句时,块标志符可以缺省。n顺序块,以关键字beginend将多条语句封装成块。按顺序执行。beginregb=rega;regc=regb;end由于begin-end块内的语句顺序执行,在最后,将regb、regc的值都更新为rega的值,该begin-end块执行完后,regb、regc的值是相同的。8.n并行块(了解即可)o以关键字fork join将多条语句
8、封装成块 o所有语句并行执行initial fork a=0;#5 b=1;#10 c=a,b;#15 d=b,a;join并行块容易引起竞争适用于绝对时间的控制实际建模时,并行块不可综合。用于仿真。仅用顺序块即可9.4.3 过程赋值语句 o行为级的赋值语句o必须出现在initial和always结构中o过程赋值语句的左端都必须是reg类型o分为阻塞性赋值和非阻塞性赋值 10.非阻塞(non_blocking)赋值方式赋值符号为“=”,如:b=a;非阻塞赋值在整个过程块结束时才完成赋值操作,即b的值并不是立刻就改变的。实际并行。阻塞(blocking)赋值方式赋值符号为“=”,如:b=a;阻塞
9、赋值在该语句结束时就立即完成赋值操作,即b的值在该条语句结束后立刻改变。如果在一个块语句中,有多条阻塞赋值语句,那么在前面的赋值语句没有完成之前,后面的语句就不能被执行,仿佛被阻塞了(blocking)一样,因此称为阻塞赋值方式。实际顺序执行。11.阻塞赋值与非阻塞赋值 非阻塞赋值module non_block(c,b,a,clk);output c,b;input clk,a;reg c,b;always(posedge clk)begin b=a;c=b;endendmodule阻塞赋值module block(c,b,a,clk);output c,b;input clk,a;reg
10、c,b;always(posedge clk)begin b=a;c=b;endendmodule12.阻塞赋值与非阻塞赋值非阻塞赋值综合结果:阻塞赋值综合结果13.阻塞赋值与非阻塞赋值非阻塞赋值仿真波形图 阻塞赋值仿真波形图 14.4.4 条件语句o(if-else语句)if-else语句使用方法有以下3种:(1)if(表达式)语句1;else ;/建议添加一个空else语句防止出现锁存器(2)if(表达式)语句1;else 语句2;(3)if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;else if(表达式n)语句n;else 语句n+1;15.
11、o关键字为case、default、endcaseocase语句的结构如下。case(敏感表达式)值1:语句1;/case分支项 值2:语句2;值n:语句n;default:语句n+1;endcasecase语句16.注意事项lcase语句中的每个分支条件必须不同,变量的位宽要严格相等,还要使用明确指定宽度的方式,避免使用“d”等不指明宽度的分支条件。lcase语句中的每个分支可以接多条待执行语句,只需要使用beginend即可lcase语句中只能有一个default语句,而且建议使用default,也是为了得到最后综合的电路不会生成锁存器。如2b01:begin out=a-b;sum=a+
12、b;end17.BCD码七段数码管显示译码器module decode4_7(decodeout,indec);output6:0 decodeout;input3:0 indec;reg6:0 decodeout;always(indec)begin case(indec)/用case语句进行译码 4d0:decodeout=7b1111110;4d1:decodeout=7b0110000;4d2:decodeout=7b1101101;4d3:decodeout=7b1111001;4d4:decodeout=7b0110011;4d5:decodeout=7b1011011;4d6:d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Verilog 行为 描述 高级 语句 PPT 课件
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。