EDA技术与Verilog设计王金明版第6章.ppt

EDA技术与Verilog设计王金明版第6章.ppt

ID:51052597

大小:992.00 KB

页数:88页

时间:2020-03-18

EDA技术与Verilog设计王金明版第6章.ppt_第1页
EDA技术与Verilog设计王金明版第6章.ppt_第2页
EDA技术与Verilog设计王金明版第6章.ppt_第3页
EDA技术与Verilog设计王金明版第6章.ppt_第4页
EDA技术与Verilog设计王金明版第6章.ppt_第5页
资源描述:

《EDA技术与Verilog设计王金明版第6章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章Verilog设计进阶主要内容◆过程语句(initial、always)◆块语句(begin-end、fork-join)◆赋值语句(assign、=、<=)◆条件语句(if-else、case、casez、casex)◆循环语句(for、forever、repeat、while)◆编译指示语句(`define、`include、`ifdef、`else、`endif)◆任务(task)与函数(function)◆顺序执行与并发执行VerilogHDL行为语句类别语句可综合性过程语句initialalways√块语句串行块

2、begin-end√并行块fork-join赋值语句持续赋值assign√过程赋值=、<=√条件语句if-else√case√循环语句for√repeatwhileforever编译向导语句`define√`include√`ifdef,`else,`endif√6.1过程语句一、initial和always?initial从0时刻起,顺序执行其后的块语句一次;?always从0时刻起(若带有触发条件的话,则从触发时刻起),反复执行其后的块语句多次,仅当碰到诸如$finish之类的结束控制语句之后,才能停止循环过程?initia

3、l过程块的使用主要是面向功能模拟的,通常用来描述测试模块的初始化、监视、波形生成等功能;?always过程块的使用主要是对硬件功能模拟的行为进行描述,也可以在测试模块用来对时钟进行描述。利用always过程块可以实现触发器、锁存器和组合电路。一个模块中可有多个initial和always语句,代表多个过程块的存在,它们之间相互独立,并行运行1.always过程语句使用模板always@(<敏感信号表达式event-expression>)begin//过程赋值//if-else,case,casex,casez选择语句//whi

4、le,repeat,for循环//task,function调用end“always”过程语句通常是带有触发条件的,触发条件写在敏感信号表达式中,只有当触发条件满足时,其后的“begin-end”块语句才能被执行。敏感信号表达式“event-expression”敏感信号表达式又称事件表达式或敏感信号列表,即当该表达式中变量的值改变时,就会引发块内语句的执行。因此敏感信号表达式中应列出影响块内取值的所有信号。若有两个或两个以上信号时,它们之间用“or”连接。例如:@(a)//当信号a的值发生改变@(aorb)//当信号a或信号b

5、的值发生改变@(posedgeclock)//当clock的上升沿到来时@(negedgeclock)//当clock的下降沿到来时@(posedgeclkornegedgereset)//当clk的上升沿到来或reset信号的下降沿到来敏感信号列表举例(4选1数据选择器)modulemux4_1(out,in0,in1,in2,in3,sel);outputout;inputin0,in1,in2,in3;input[1:0]sel;regout;always@(in0orin1orin2orin3orsel)//敏感信号列表

6、case(sel)2'b00:out=in0;2'b01:out=in1;2'b10:out=in2;2'b11:out=in3;default:out=2'bx;endcaseendmodule敏感信号分为两类:边沿敏感型;电平敏感型,每一个always过程最好由一种类型的敏感信号来触发,而不要将边沿敏感型和电平敏感型信号列在一起,比如:always@(posedgeclkorposedgeclr)//边沿型always@(AorB)//两个敏感信号都是电平敏感型always@(posedgeclkorclr)//不建议这样用

7、,最好不要将边沿敏感型和电平敏感型信号列在一起posedge和negedge关键字对于时序电路,事件通常是由时钟边沿触发的,为表达边沿这个概念,Verilog提供了posedge和negedge关键字来描述。比如:【例】同步置数、同步清零的计数器modulecount(out,data,load,reset,clk);output[7:0]out;input[7:0]data;inputload,clk,reset;reg[7:0]out;always@(posedgeclk)//clk上升沿触发beginif(!reset)o

8、ut=8'h00;//同步清0,低电平有效elseif(load)out=data;//同步预置elseout=out+1;//计数endendmoduleposedge和negedge关键字always@(posedgeclkorposedgeclear)//

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

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

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