VerilogHDL第五讲Verilog实例课件.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VerilogHDL第五讲Verilog实例课件

第五讲 门电路的描述和设计实例;5.1基本门电路的描述;5.1.1门电路列表;门与开关的说明语法可以用标准的声明语句格式和一个简单的实例引用加以说明 基本格式如下: 门的类型 [驱动能力延时]门实例1[,门实例2,门实例3……] 门的类型是门声明语句所必须的,它可以是VerilogHDL语法规定的26门类型中的任意一种。驱动能力和延时是可选的,可根据不同的情况选不同的值或不选。门实例1是在本模块中引用的第一个这种类型的门的名称及端口定义,而门实例n是引用的第n个这种类型的门的名称及端口定义。 例:nand #10nd1(a,data,clock,clear); 这个例子说明在模块中使用了一个名为nd1的与非门,输入为clock,data,clear 输出为a,输出与输入得延时为10个单位时间;5.1.2基本门的逻辑真值表;xor ;5.1.3门级延时的说明;5.1.4门级延时量的基本表示方式; 5.2组合逻辑电路设计实例 (1)加法器;module compare(equal,a,b); parameter size=1; output equal; input [size-1:0] a, b; assign equal =(a==b)? 1 : 0; endmodule;(3)3-8译码器;(4)BCD/七段译码器;(续)BCD/七段译码器;(5)多路器;(6)用门级结构描述D触发器;module flop(data,clock,clear,q,qb); input data,clock,clear; output q,qb; nand #10 nd1(a,data,clock,clear), nd2(b,ndata,clock), nd4(d,c,b,clear), nd5(e,c,nclock), nd6(f,d,nclock), nd8(qb,q,f,clear); nand #9 nd3(c,a,d), nd7(q,e,qb); not #10 iv1(ndata,data), iv2(nclock,clock); endmodule ; 设计示例二;5.3时序电路设计实例 (1)触发器;(2)带置位和复位端的电平敏感型锁存器;(3)移位寄存器;(4)计数器;5.4有限状态机实例;有限状态机的设计实例;//行人过街交通灯控制器 module traffic3(rst,clk,press,lights,count); input rst; //异步复位信号输入,高电平复位 input clk; //状态机时钟输入 input press; //过街按键信号输入,高电平有效 output [5:0] lights; //交通灯控制输出 output [5:0] count; //内部信号 reg [5:0] count; //秒计数,最大60秒 reg [2:0] states; //状态值 reg [5:0] lights; //交通灯控制输出 parameter state0=3d0,state1=3d1,state2=3d2,state3=3d3, state4=3d4,state5=3d5; parameter lights1=6b001_100, lights2=6b010_100, lights3=6b100_001, lights4=6b100_010; ;always @(posedge rst or posedge clk) begin if(rst) begin count=6d0; states=state0; end else begin case(states) state0: //汽车通行状态,等待按键 begin if(press) begin states=state1; //如果请求键按下,转到状态1 count=6d10; //同时将count初值给定为10,灯光控制不变 end end ;state1: //汽车通行状态,但是请求键已经按下,延时10秒后起作用 begin if(count6d0) begin count=count-1; end else begin states=state2; //计数结束,转换状态,同时为下一个状态计数器赋初值3 count=6d3; end end state2: //汽车通道黄灯 begin if(count6d0) begin

您可能关注的文档

文档评论(0)

dmdt5055 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档