




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章时序逻辑电路设计,1.时序电路的基本概念,数字电路按照结构特点不同分为两大类:组合逻辑电路(简称组合电路)和时序逻辑电路(简称时序电路)。组合电路是指由各种门电路组合而成的逻辑电路,输出只取决于当前输入信号的变化,与以前各时刻的输入或输出无关;组合电路没有记忆功能。例如:编/译码器、加法器等常用数字电路都属于组合电路。时序逻辑电路是具有记忆功能的逻辑电路,记忆元件一般采用触发器。因此,时序逻辑电路由组合电路和触发器组成,其等效模型如图4.5所示。,1模型,时序电路按其状态的改变方式不同,可分为同步时序逻辑电路和异步时序逻辑电路两种,在图4.5中,当CLK1与CLK2为相同信号时,该电路为同步电路;当CLK1与CLK2为不同信号时,该电路为异步电路。,1建立和保持时间,触发器的建立时间(Tsu)是指时钟有效沿(这里指上升沿)到来之前数据应保持稳定的时间。触发器的保持时间(Thd)是指时钟有效沿(这里指上升沿)到来之后数据应保持稳定的时间。,1.同步电路设计规则,(1)在用VerilogHDL进行数字逻辑设计时,只使用一个主时钟,同时只使用同一个时钟沿(上升沿或下降沿)。(2)在FPGA设计中,推荐所有输入、输出信号均应通过寄存器寄存,寄存器接口当作异步接口考虑。(3)当全部电路不能用同步电路思想设计时,即需要多个时钟来实现,则可以将全部电路分成若干局部电路(尽量以同一时钟为一个模块),局部电路之间接口当异步接口考虑。(4)电路中所有的寄存器、状态机在上电复位时必须有一个确定的初始态。(5)电路的实际最高频率不应大于理论最高频率,应留有设计余地。,标准同步电路,DFF,DFF,DFF,DFF,组合逻辑,组合逻辑,组合逻辑,组合逻辑,clock,2D触发器,1.上升沿触发的触发器2.带异步复位、上升沿触发的触发器3.带异步复位和置位、上升沿触发的触发器4.带异步复位和时钟使然、上升沿触发的触发器5.带同步复位、上升沿触发的触发器,上升沿触发的触发器,moduledff(data,clk,q);inputdata,clk;outputq;regq;always(posedgeclk)beginq=data;endendmodule,带异步复位、上升沿触发的触发器,moduledff_asynrst(data,rst,clk,q);inputdata,rst,clk;outputq;regq;always(posedgeclkorposedgerst)beginif(rst=1b1)q=1b0;elseq=data;endendmodule,带异步复位和置位、上升沿触发的触发器,moduledff_asynrst(data,rst,set,clk,q);inputdata,rst,set,clk;outputq;regq;always(posedgeclkorposedgerstorposedgeset)beginif(rst=1b1)q=1b0;elseif(set=1b1)q=1b1;elseq=data;endendmodule,带异步复位和时钟使然、上升沿触发的触发器,moduledff_asynrst(data,rst,en,clk,q);inputdata,rst,en,clk;outputq;regq;always(posedgeclkorposedgerst)beginif(rst=1b1)q=1b0;elseif(en=1b1)q=data;endendmodule,带同步复位、上升沿触发的触发器,moduledff_synrst(data,rst,clk,q);inputdata,rst,clk;outputq;regq;always(posedgeclk)beginif(rst=1b1)q=1b0;elseq=data;endendmodule,移位寄存器,移位寄存器是一种在时钟脉冲的作用下,将寄存器中的数据按位移动的逻辑电路主要功能:串并转换串行输入串行输出串行输入并行输出并行输入串行输出,串入串出移位寄存器,基本串入串出移位寄存器原理图8位移位寄存器由8个D触发器串联构成,在时钟信号的作用下,前级的数据向后移动,串行输入串行输出移位寄存器,moduleshift_1(din,clk,dout);inputdin,clk;outputdout;regdout;regtmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7;always(posedgeclk)begintmp1=din;tmp2=tmp1;tmp3=tmp2;tmp4=tmp3;tmp5=tmp4;tmp6=tmp5;tmp7=tmp6;dout=tmp7;endendmodule,串入并出shiftregister,4位串行输入并行输出移位寄存器的逻辑电路如图所示。该寄存器由4个同步D触发器组成这种D触发器的R端是是非同步清零端。,串行输入并行输出移位寄存器,moduleshift_2(din,clk,clr,q);inputdin,clk,clr;output3:0q;reg3:0q;always(posedgeclkornegedgeclr)beginif(clr=1b0)q=4b0000;elsebeginq0=din;q=q1;endendendmodule,并入串出shiftregister,并入串出移位寄存器可以将一组二进制数并行送入一组寄存器,然后把这些数据串行从寄存器内输出。一个同步并入串出移位寄存器的基本管脚:并行输出输入端:data时钟脉冲输入端:clk加载数据端:load串行数据输出端:dout,并行输入串行输出移位寄存器,moduleshift3(clk,din,load,q);inputclk,load;input3:0din;outputq;regq;reg3:0tmp;always(posedgeclk)beginif(load=1b1)tmp=din;elsebegintmp=tmp1;tmp0=1b0;q=tmp3;endendendmodule,计数器设计,计数器是一种典型的时序器件,常用于对时钟脉冲的个数进行计数,还用于定时,分频,产生同步脉冲按触发方式分:同步计数器和异步计数器最容易的计数器设计就是cnt=cnt+1,但是你可能得不到最好的结果,计数器,计数器对时钟脉冲进行计数以递增计数器为例,介绍其VerilogHDL设计方法递增计数器基本引脚:时钟输入端:clk复位端:rst计数使然端:en计数输出端:cnt,计数器设计代码,modulecnt_en(en,rst,clk,cnt);parameterWIDTH=8;inputen,rst,clk;outputWIDTH-1:0q;regWIDTH-1:0q;always(posedgeclkorposedgerst)beginif(rst=1b1)cnt=8b00000000;elsecnt=cnt+1;endendmodule,VerilogHDL参考设计(1),modulecount(clk,cnt);inputclk;output2:0cnt;reg2:0cnt;always(posedgeclk)beginif(cnt=7)cnt=0;elsecnt=cnt+1;endendmodule,modulecnt(clk,cnt);inputclk;output2:0cnt;reg2:0cnt;reg2:0next_cnt;always(cnt)begincase(cnt)3h0:next_cnt=3h1;3h1:next_cnt=3h2;3h2:next_cnt=3h3;3h3:next_cnt=3h4;3h4:next_cnt=3h5;3h5:next_cnt=3h6;3h6:next_cnt=3h7;3h7:next_cnt=3h0;default:next_cnt=3b000;endcaseendalways(posedgeclk)cnt=next_cnt;endmodule,VerilogHDL参考设计(2),问题思考,1.上述描述的是一个模为多少的计数器?2.请自行设计一个同步模12计数器3.在2基础上进行修改,设计一个带异步复位的模12计数器4.同步复位的模12计数器如何设计?,项目设计1,一、目的(1)实现带计数允许和复位端的十进制、六进制和60进制计数器;(2)掌握计数器类型模块的描述方法;(3)掌握VeriogHDL模块的层次化设计方法。,二、说明计数器是数字电路系统中最基本的功能模块之一。设计十进制、六进制和100进制计数器,要求计数器有计数允许和复位输入及进位输出功能。计数时钟可以用1Hz信号,用LED显示计数值。本设计要求用仿真和测试两种手段来验证计数器的功能。实验时,可以通过修改十进制计数器的设计得到六进制、100进制计数器。,三、设计要求(1)完成各模块的VerilogHDL设计编码;(2)进行功能仿真;(3)下载并验证计数器功能;(4)如果60进制计数器要求用6进制和10进制计数器搭建电路,请画出设计连接图,并完成设计编码和验证。,分频器设计,在硬件电路设计中时钟信号是最重要的信号之一。在数字电路中,常需要对较高频率的时钟进行分频操作,得到较低频率的时钟信号。,分频器设计,2的整数次幂的分频器设计;偶分频电路设计;占空比为1:15的分频电路设计。,用VerilogHDL语言完成对时钟信号CLK的2分频,4分频,8分频,16分频。这也是最简单的分频电路,只需要一个计数器即可。,2、4、8、16分频电路设计,2的整数次幂的分频器,modulediv1(clk,rst,clk2,clk4,clk8,clk16);inputrst,clk;outputclk2,clk4,clk8,clk16;wireclk2,clk4,clk8,clk16;reg3:0cnt;always(posedgeclkorposedgerst)beginif(rst=1b1)cnt=4b0000;elsecnt=cnt+1;endassignclk2=cnt0;assignclk4=cnt1;assignclk8=cnt2;assignclk16=cnt3;endmodule,电路的功能仿真波形,6分频电路设计与实现对于分频倍数不是2的整数次幂的情况,我们只需要对源代码中的计数器进行一下计数控制就可以了,如下面用VHDL设计一个对时钟信号进行6分频的分频器,电路的仿真波形图,在进行硬件设计的时候,往往要求得到一个占空比不是1:1的分频信号,这时仍采用计数器的方法来产生占空比不是1:1的分频信号。下面源代码描述的是这样一个分频器:将输入的时钟信号进行16分频,分频信号的占空比为1:15,也就是说,其中高电位的脉冲宽度为输入时钟信号的一个周期。,占空比1:15分频电路设计,占空比为1:15的分频电路设计,modulediv1_15(clk,rst,clk16);inputrst,clk;outputclk16;regclk16;reg3:0cnt;always(posedgeclkorposedgerst)beginif(rst=1b1)cnt=4b0000;elsecnt=cnt+1;endalways(posedgeclkorposedgerst)beginif(rst=1b1)clk16=1b0;elseif(cl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 股东合同协议书模板样本
- 福鼎充电桩采购合同范本
- 销售激光折弯机合同范本
- 特许加盟合同的管理协议
- 第三方管理装修合同协议
- 煤炭采购居间合同协议书
- 物业被盗赔偿协议书范本
- 网签购房合同中补充协议
- 防雷装置检测委托协议书
- 狗狗协议领养协议书模板
- 2025至2030中国精神病医院行业发展分析及发展趋势分析与未来投资战略咨询研究报告
- 2025年河南省中考英语试卷及答案
- 中国平安钻石俱乐部课件
- 2025年中国二手球鞋行业市场全景分析及前景机遇研判报告
- 2025年天津市中考语文试卷(含标准答案)
- 产品售后成本管理制度
- 对海外公司法务管理制度
- 现代农业技术专业教学标准(高等职业教育专科)2025修订
- 质检队伍考试题及答案
- 智能心理辅导系统-洞察阐释
- 运沙船运输合同协议
评论
0/150
提交评论