已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五讲门电路的描述和设计实例 5 1基本门电路的描述 一个逻辑电路是由许多逻辑门和开关所组成 因此用逻辑门的模型来描述逻辑电路结构是最直观的 VerilogHDL提供了一些描述门类型的关键字 可以用于门级结构建模 VerilogHDL内含的基本元件模型共有26种 其中14种为基本门级元件 12种为开关级元件 5 1 1门电路列表 门与开关的说明语法可以用标准的声明语句格式和一个简单的实例引用加以说明基本格式如下 门的类型是门声明语句所必须的 它可以是VerilogHDL语法规定的26门类型中的任意一种 驱动能力和延时是可选的 可根据不同的情况选不同的值或不选 门实例1是在本模块中引用的第一个这种类型的门的名称及端口定义 而门实例n是引用的第n个这种类型的门的名称及端口定义 例 nand 10nd1 a data clock clear 这个例子说明在模块中使用了一个名为nd1的与非门 输入为clock data clear输出为a 输出与输入得延时为10个单位时间 5 1 2基本门的逻辑真值表 Nand和nor真值表 Xor和xnor真值表 5 1 3门级延时的说明 门级延时反映的是信号的变化从门级元件的任意输入端口流动到任一输出端口所经历的传输延迟主要可以分为 上升延时下降延时截至延时到不定态的延时 5 1 4门级延时量的基本表示方式 当门级延时量只包含一个延时值时 也就是说当门级延时说明部分是 d形式时 延时值d将同时代表元件实例的上升延时值 下降延时值 截至延时值 到不定态的延时值 当门级延时量包含两个延时值是 也就是当门级延时说明部分是 d1 d2 形式时 元件实例的上升延时值 下降延时值将指定 同理 当有3个延时值 前三个将指定 5 2组合逻辑电路设计实例 1 加法器 moduleadder 8 cout sum a b cin outputcout output 7 0 sum inputcin input 7 0 a b assign cout sum a b cin endmodule modulecompare equal a b parametersize 1 outputequal input size 1 0 a b assignequal a b 1 0 endmodule 2 比较器 3 3 8译码器 moduledecoder out in output 7 0 out input 2 0 in assignout 1 b1 in 把最低位的1左移in 根据从in口输入的值 位 并赋予out endmodule 4 BCD 七段译码器 modulebin7seg data in EN data out input 3 0 data in inputEN output 6 0 data out reg 6 0 data out always data inorEN begindata out 7 b1111111 if EN 1 case data in 4 b0000 data out 7 b1000000 04 b0001 data out 7 b1111001 14 b0010 data out 7 b0100100 24 b0011 data out 7 b0110000 34 b0100 data out 7 b0011001 44 b0101 data out 7 b0010010 5 续 BCD 七段译码器 4 b0110 data out 7 b0000011 64 b0111 data out 7 b1111000 74 b1000 data out 7 b0000000 84 b1001 data out 7 b0011000 94 b1010 data out 7 b0001000 A4 b1011 data out 7 b0000011 b4 b1100 data out 7 b0100111 c4 b1101 data out 7 b0100001 d4 b1110 data out 7 b0000110 E4 b1111 data out 7 b0001110 Fdefault data out 7 b1111111 endcaseendendmodule 5 多路器 modulemux2 out a b sel outputout inputa b sel regout 用电平触发的always块来设计多路器的组合逻辑always aorborsel begin 检查输入信号sel的值 如为1 输出out为a 如为0 输出out为b case sel 1 b1 out a 1 b0 out b default out bx endcaseendendmodule 6 用门级结构描述D触发器 moduleflop data clock clear q qb inputdata clock clear outputq qb nand 10nd1 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 9nd3 c a d nd7 q e qb not 10iv1 ndata data iv2 nclock clock endmodule 设计示例二 include flop v modulehardreg d clk clrb q inputclk clrb input 3 0 d output 3 0 q flopf1 d 0 clk clrb q 0 f2 d 1 clk clrb q 1 f3 d 2 clk clrb q 2 f4 d 3 clk clrb q 3 endmodule 5 3时序电路设计实例 1 触发器 moduledff q data clk outputq inputdata clk regq always posedgeclk beginq data endendmodule 2 带置位和复位端的电平敏感型锁存器 modulelatch2 q data clk set reset outputq inputdata clk set reset assignq reset 0 set 1 clk data q endmodule 3 移位寄存器 moduleshifter din clk clr dout inputdin clk clr output 7 0 dout reg 7 0 dout always posedgeclk beginif clr 清零dout 8 b0 elsebegindout dout 1 左移一位dout 0 din 把输入信号放入寄存器的最低位endendendmodule 4 计数器 modulecounter1 out cout data load cin clk output 7 0 out outputcout input 7 0 data inputload cin clk reg 7 0 out always posedgeclk beginif load out data elseout out cin endassigncout 只有当out 7 0 的所有各位都为1 并且进位cin也为1时才能产生进位coutendmodule 5 4有限状态机实例 有限状态机是时序电路的通用模型 任何时序电路都可以表示成为状态机 状态机有两类 1 Moore型 下一状态只与当前状态有关 2 Mealy型 下一状态与当前状态和输入有关 有限状态机本质上是由寄存器和组合逻辑电路构成的时序电路 有限状态机设计步骤 1 逻辑抽象 设置状态并优化 2 根据状态转移关系画出状态转移图 3 确定状态输出方程 4 按照状态转移图和状态输出方程 进行设计描述 一般描述状态机主要使用Case语句 有限状态机的设计实例 例 简单的交通灯state0 汽车通行状态 汽车绿灯亮state1 接受行人请求后延时10秒state2 汽车黄灯亮state3 汽车红灯亮 行人绿灯亮state4 行人黄灯亮state5 行人红灯亮 汽车绿灯亮 但是不响应行人请求 行人过街交通灯控制器moduletraffic3 rst clk press lights count inputrst 异步复位信号输入 高电平复位inputclk 状态机时钟输入inputpress 过街按键信号输入 高电平有效output 5 0 lights 交通灯控制输出output 5 0 count 内部信号reg 5 0 count 秒计数 最大60秒reg 2 0 states 状态值reg 5 0 lights 交通灯控制输出parameterstate0 3 d0 state1 3 d1 state2 3 d2 state3 3 d3 state4 3 d4 state5 3 d5 parameterlights1 6 b001 100 lights2 6 b010 100 lights3 6 b100 001 lights4 6 b100 010 例 简单的交通灯 always posedgerstorposedgeclk beginif rst begincount 6 d0 states state0 endelsebegincase states state0 汽车通行状态 等待按键beginif press beginstates state1 如果请求键按下 转到状态1count 6 d10 同时将count初值给定为10 灯光控制不变endend 续1 简单的交通灯 state1 汽车通行状态 但是请求键已经按下 延时10秒后起作用beginif count 6 d0 begincount6 d0 begincount count 1 endelse 计数结束 转移到下一个状态 同时为计数器赋初值beginstates state3 count 6 d30 endend 续2 简单的交通灯 state3 汽车等待 行人通行 时间30秒beginif count 6 d0 begincount6 d0 begincount count 1 endelsebeginstates state5 count 6 d60 endend 续3 简单的交通灯 state5 汽车通行 不响应按键的状态beginif count 6 d0 begincount count 1 endelsebeginstates state0 等待结束 回到状态0count 6 d0 endenddefault begincount hx states hx endendcaseendend 续4 简单的交通灯 根据当前状态输出灯光控制always negedgeclk begincase states state0 lights lights1 state1 lights lights1 state2 lights lights2 state3 lights lights3 state4 lights lights4 state5 lights lights1 default lights hx endcaseendendmodule 续5 简单的交通灯 设计示例 续 设计示例 续 modulefsm Clock Reset A F G inputClock Reset A outputF G regF G reg 1 0 state parameterIdle 2 b00 Start 2 b01 Stop 2 b10 Clear 2 b11 always posedgeClock if Reset beginstate Idle F 0 G 0 endelse 设计示例 续 case state idle beginif A state Start G 0 endstart if A state Stop Stop beginif A state Clear F 1 endClear beginif A state Idle F 0 G 1 endendcaseendmodule 设计示例 续 还可以用另一个VerilogHDL模型来表示同一个有限状态 见下例 modulefsm Clock Reset A F G inputClock Reset A outputF G regF G reg 3 0 state parameterIdle 4 b1000 Start 4 b0100 Stop 4 b0010 Clear 4 b0001 设计示例 续 always posedgeclock if Reset beginstate Idle F 0 G 0 endelsecase state Idle beginif A state Start G 0 endStart if A state Stop Stop beginif A state Clear 设计示例 续 F 1 endClear beginif A state Idle F 0 G 1 enddefault stat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 事业单位财会岗面试高频考题题库及参考答案 2026
- 2026事业单位教育岗面试全真模拟试卷及参考答案
- 事业单位计算机岗面试历年真题题库试卷及参考答案
- 2026年湖南财经工业职业技术学院高职单招笔试数学历年参考题库含答案解析
- 2026年湖南幼儿师范高等专科学校高职单招笔试英语历年参考题库含答案解析
- 2026年浙江同济科技职业学院高职单招笔试物理历年参考题库含答案解析
- 2026年河南交通职业技术学院高职单招笔试英语历年参考题库含答案解析
- 药品管理法考试参考题库含参考答案题带答案
- 血液科护士题库及答案
- 行政诉讼法试题库及答案
- 江苏无锡市2026-2027学年高三上学期期中考试语文试题
- 高压配电柜安全操作规程
- 老年人抗菌药物的使用与注意事项
- 2026年兰州市红古区事业单位招聘笔试参考题库及答案解析
- 钢结构冬季施工方案
- 2026年广东省高中学业水平春季高考数学试卷真题(含答案详解)
- 招商佣金协议合同范本
- 部编版七年级历史上册期中核心必背知识清单
- 特斯拉Model-3介绍课件
- 《YBT 5363 装饰用焊接不锈钢管》
- 2025年医院舆情应急演练脚本
评论
0/150
提交评论