欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Verilog硬件描述语言.ppt

    • 资源ID:6522828       资源大小:1.34MB        全文页数:64页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Verilog硬件描述语言.ppt

    ,Verilog硬件描述语言(二),2,课程内容,一、Verilog HDL 运算符二、Verilog HDL 语句三、可综合设计,一、Verilog HDL 运算符,按功能分:算术运算符、逻辑运算符、关系运算符、缩减运算符、条件运算符、位运算符、移位运算符、拼接运算符等类。按操作数的个数分:单目运算符、双目运算符、三目运算符。,一、Verilog HDL 运算符,算术运算符(Arithmetic operator),+加-减*乘/除%求模,一、Verilog HDL 运算符,逻辑运算符(Logical operator),&逻辑与|逻辑或!逻辑非,一、Verilog HDL 运算符,一、Verilog HDL 运算符,位运算符(Bitwise operator),按位取反&按位与|按位或 按位异或,按位同或,一、Verilog HDL 运算符,按位与真值表,按位或真值表,按位异或真值表,一、Verilog HDL 运算符,关系运算符(Relational operator),大于=大于或等于注意:“=”操作符还用于信号的一种赋值,一、Verilog HDL 运算符,缩位运算符(Reduction operator),&与非&与|或|或非 异或,同或,一、Verilog HDL 运算符,缩位运算符与位运算符的逻辑运算法则一样,但缩位运算是对单个操作数进行与、或、非递推运算,它放在操作数前面。缩位运算符将一个矢量缩减为一个标量 如:reg3:0 a;b=,一、Verilog HDL 运算符,移位运算符(Shift operator),移位操作符只有两个:左移和右移 用法:An或An;表示把操作数右移或左移n位;移出的位用0添补,右移 左移,一、Verilog HDL 运算符,条件运算符(Conditional operator),这是一个三目运算符,对3个操作数进行运算。用法:signal=condition?true_expression:flase_expression;即:信号=条件?表达式1:表达式2;条件成立时,信号取表达式1的值,反之取2。,?,一、Verilog HDL 运算符,举例:,一、Verilog HDL 运算符,位接运算符,用法:信号1的某几位,信号2的某几位,信号n的某几位,举例:assign cout,sum=a+b+cin;,二、Verilog HDL 语句,分类,二、Verilog HDL 语句,过程语句:always,always()begin/过程赋值/if-else,case选择语句end,二、Verilog HDL 语句,敏感信号类型:(a)(a or b)(posedge clock)(negedge clock)(posedge clk or negedge reset),举例:DFF,module DFF(d,clk,reset,q,qb);output q,qb;input clk,reset,d;reg q,qb;always(posedge clk)begin if(!reset)begin q=0;qb=1;end else begin q=d;qb=d;end endendmodule,二、Verilog HDL 语句,特点:,只有两种状态:执行状态和等待状态 一般由敏感信号的变化来启动 各个always间通过信号线进行通信 一个always中只允许描述对应于一个时钟信号的同步时序逻辑 always之间是并发执行的,二、Verilog HDL 语句,块语句:begin end,总是在always内部 按顺序执行,二、Verilog HDL 语句,举例:,reg qa,qb,qc;always(posedge clk)begin qa=d;qb=qa;qc=qb;end,二、Verilog HDL 语句,赋值语句:,持续赋值语句 过程赋值语句,二、Verilog HDL 语句,持续赋值语句:,assign c=a,二、Verilog HDL 语句,过程赋值语句:,非阻塞赋值“=”阻塞赋值“=”分为两步骤:右式计算、左式更新,二、Verilog HDL 语句,非阻塞赋值:,当前语句的执行不会阻塞下一语句的执行 语句之间并发执行 左式更新在块结束后才进行,二、Verilog HDL 语句,阻塞赋值:,当前语句的执行会阻塞下一语句的执行 语句之间顺序执行 右式计算和左式更新同时进行,举例:,module nonblocking(clk,reset,a,b);input clk,reset;input 3:0a;output 3:0b;reg 3:0b;reg 3:0y;always(posedge clk or negedge reset)begin if(!reset)begin y=0;b=0;end elsebegin y=a;b=y;end endendmodule,结果:,举例:,module nonblocking(clk,reset,a,b);input clk,reset;input 3:0a;output 3:0b;reg 3:0b;reg 3:0y;always(posedge clk or negedge reset)begin if(!reset)begin y=0;b=0;end elsebegin b=y;y=a;end endendmodule,结果:,举例:,module blocking(clk,reset,a,b);input clk,reset;input 3:0a;output 3:0b;reg 3:0b;reg 3:0y;always(posedge clk or negedge reset)begin if(!reset)begin y=0;b=0;end elsebegin y=a;b=y;end endendmodule,结果:,举例:,module blocking(clk,reset,a,b);input clk,reset;input 3:0a;output 3:0b;reg 3:0b;reg 3:0y;always(posedge clk or negedge reset)begin if(!reset)begin y=0;b=0;end elsebegin b=y;y=a;end endendmodule,结果:,举例:,module nonblocking(clk,reset,a,b);input clk,reset;input 3:0a;output 3:0b;reg 3:0b;reg 3:0y;always(posedge clk or negedge reset)begin if(!reset)begin y=0;b=0;end elsebegin y=a;b=y;end endendmodule,结果:,举例:,module nonblocking(clk,reset,a,b);input clk,reset;input 3:0a;output 3:0b;reg 3:0b;reg 3:0y;always(posedge clk or negedge reset)begin if(!reset)begin y=0;b=0;end elsebegin y=a;b=y;end endendmodule,结果:,阻塞非阻塞使用原则:,有clock的always进程要使用non-blocking,always(posedge clk or negedge reset_n)begin if(!reset_n)counter=8b00;else counter=counter+1;end,二、Verilog HDL 语句,always(sel or a or b)begin case(sel)2b00:c=a;2b01:c=b;endcaseend,无clock的always进程使用blocking,二、Verilog HDL 语句,二、Verilog HDL 语句,continuous assignment使用blocking,一个always进程中不要同时使用blocking与non-blocking,assign y=a,二、Verilog HDL 语句,书P286页图8-10错误参考MIT课件,说明:,二、Verilog HDL 语句,条件语句:,if else case endcase,二、Verilog HDL 语句,if else:,if(表达式)语句1;if(表达式)语句1;else 语句2;if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;else if(表达式n)语句n;else 语句n+1;,二、Verilog HDL 语句,特点:,不完整的if else容易导致产生latch 总是在always内部按顺序执行,二、Verilog HDL 语句,Latch与DFF比较:,latch由电平触发,DFF由时钟沿触发 latch容易产生毛刺(glitch),DFF则不易产生毛刺 latch消耗的门资源比DFF要少,但耗费的LE资源要多 latch将静态时序分析变得极为复杂,二、Verilog HDL 语句,case endcase:,case(敏感表达式)值1:语句1;值2:语句2;值n:语句n;default:语句n+1;endcase,二、Verilog HDL 语句,特点:,不完整的case endcase容易导致产生latch 总是在always内部根据敏感量执行,二、Verilog HDL 语句,比较:,if else带有优先级 case endcase延时小,举例:四位选择器,always(sel)beginif(sel=2b00)out=in0;else if(sel=2b01)out=in1;else if(sel=2b10)out=in2;else out=in3;end,always(sel)begin case(sel)2b00:out=in0;2b01:out=in1;2b10:out=in2;default:out=in3;end,举例:七段数码管显示译码器,module decode4_7(decodeout,indec);output6:0 decodeout;input3:0 indec;reg6:0 decodeout;always(indec)begin case(indec)4d0:decodeout=7b1111110;4d1:decodeout=7b0110000;4d2:decodeout=7b1101101;4d3:decodeout=7b1111001;4d4:decodeout=7b0110011;4d5:decodeout=7b1011011;4d6:decodeout=7b1011111;4d7:decodeout=7b1110000;4d8:decodeout=7b1111111;4d9:decodeout=7b1111011;default:decodeout=7b1111111;endcase endendmodule,三、可综合设计,要点:,不使用初始化语句,不使用任务和函数 不使用带有延时的描述 不使用for循环 在always里面慎用乘法和除法,举例:,module test_13(clk,rst_n,data,num);input clk,rst_n;input 12:0data;output 3:0num;reg 3:0i;reg 3:0num;always(posedge clk)begin if(!rst_n)num=0;else beginfor(i=0;i13;i=i+1)if(datai)num=num+1;endendendmodule,结果:,举例:,module multip(clk,rst_n,a,b,num);input clk,rst_n;input 7:0a;input 7:0b;output 15:0num;reg 15:0num;always(posedge clk)begin if(!rst_n)num=0;else num=a*b;endendmodule,结果:,举例:,module div(clk,rst_n,a,b,num);input clk,rst_n;input 7:0a;input 7:0b;output 7:0num;reg 7:0num;always(posedge clk)begin if(!rst_n)num=0;else num=a/b;endendmodule,结果:,竞赛实验板说明:,结构示意图:,

    注意事项

    本文(Verilog硬件描述语言.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开