实验六时序逻辑电路设计_第1页
实验六时序逻辑电路设计_第2页
实验六时序逻辑电路设计_第3页
实验六时序逻辑电路设计_第4页
实验六时序逻辑电路设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、EDA课程课程 实验六实验六时序逻辑电路设计时序逻辑电路设计EDA课组一、实验目的:一、实验目的:1、了解时序逻辑电路设计原理及时序逻辑电路设计原理及特点;2、学习使用时序逻辑电路设计使用时序逻辑电路设计方法。二、实验内容二、实验内容2、通过仿真软件进行验证仿真。通过仿真软件进行验证仿真。 1、 设计几种典型时序逻辑电路系统;设计几种典型时序逻辑电路系统;三、实验原理三、实验原理时序逻辑电路:电路的任意时刻的输出状态时序逻辑电路:电路的任意时刻的输出状态不仅取决于该时刻的输入状态,还与电路的原状不仅取决于该时刻的输入状态,还与电路的原状态有关。所以时序电路都有记忆功能。态有关。所以时序电路都有

2、记忆功能。组合逻辑电路存储电路x1xnyny1q1qnpnp1y1=f(x1,xn,q1,qn)yn=f(x1,xn,q1,qn):时序电路状态的改变只发生在时时序电路状态的改变只发生在时钟边缘触发的一瞬间,该时刻的钟边缘触发的一瞬间,该时刻的输入决定输出,其它时间都是由输入决定输出,其它时间都是由系统当前状态决定。系统当前状态决定。时序电路一般都是采用过程语句进行硬件描述,采时序电路一般都是采用过程语句进行硬件描述,采用边沿或电平触发进行控制。常见的时序电路有各种触用边沿或电平触发进行控制。常见的时序电路有各种触发器、锁存器、寄存器、移位寄存器、分频器和计数器发器、锁存器、寄存器、移位寄存器

3、、分频器和计数器等。下面将对典型时序电路进行等。下面将对典型时序电路进行Vierlog设计。设计。四、实验步骤四、实验步骤1、基本触发器设计、基本触发器设计clkDQQD Qn(当前状态)Qn+1 (时钟有效沿输入时对应d的输出状态)00 0 clk010101111真值表真值表D触发器是时钟上升沿触发电路,只有上升沿到来时,触发器状态由输入决定,触发器是时钟上升沿触发电路,只有上升沿到来时,触发器状态由输入决定,其它时刻由系统状态决定。其它时刻由系统状态决定。一位一位D D触发器的触发器的VerilogVerilog描述描述module dff(Q,D,clk);input D,clk; o

4、utput reg Q;always (posedge clk)begin Q=D;endendmodule基于以上D触发器工作原理,可已采用如下Verilog描述程序:2、基本寄存器与锁存器设计、基本寄存器与锁存器设计寄存器设计:由触发器组成,并带有复位和置位等功能的器件,一般都是寄存器设计:由触发器组成,并带有复位和置位等功能的器件,一般都是采用边沿触发寄存。采用边沿触发寄存。带异步复位和使能的一位寄存器设计:带异步复位和使能的一位寄存器设计:当定义输入输出变量为当定义输入输出变量为N位宽度时,就可得到位宽度时,就可得到N为寄存器。为寄存器。锁存器设计:也由触发器组成,并带有复位和置位等功

5、能的器件,一般都锁存器设计:也由触发器组成,并带有复位和置位等功能的器件,一般都是采用电平触发锁存。是采用电平触发锁存。这种电路容易同组合电路相混淆这种电路容易同组合电路相混淆。module sel(CLK,D,Q);input CLK,D;output reg Q;always (CLK or D) if (CLK) Q = D;else Q = 1b0;endmodule 注意触发器与组合逻辑电路区别,都采用过程语句描述,又都是电平触发,区别注意触发器与组合逻辑电路区别,都采用过程语句描述,又都是电平触发,区别是触发器不用完备的赋值,而组合电路必须将所有可能的赋值都考虑到。是触发器不用完备

6、的赋值,而组合电路必须将所有可能的赋值都考虑到。3 3、计数器设计:、计数器设计:计数器能够累计输入脉冲个数,包含若干个触发器,并按预定顺序计数器能够累计输入脉冲个数,包含若干个触发器,并按预定顺序改变各触发器的状态,是一种应用广泛的时序电路,按照各个触发器状改变各触发器的状态,是一种应用广泛的时序电路,按照各个触发器状态翻转的时间,可分为同步和异步计数器;按照计数过程中的数字的增态翻转的时间,可分为同步和异步计数器;按照计数过程中的数字的增减规律,可分为加法、减法和可逆计数器;按照计数器循环长度,可分减规律,可分为加法、减法和可逆计数器;按照计数器循环长度,可分为二进制和为二进制和N N进制

7、计数器。进制计数器。二进制计数器设计:由给定的二进制位数决定计数长度。二进制计数器设计:由给定的二进制位数决定计数长度。module jsq_b(en,clk,reset,out);input clk,reset,en;parameter WIDTH=4; /参数定义参数定义outputWIDTH-1:0 out; regWIDTH-1:0 out;always (posedge clk )if(reset) out=0;else if(en) out=out+1;endmodule4位二进制计数器(相当位二进制计数器(相当16进制计数器)仿真结果进制计数器)仿真结果按照给定二进制位数就可以得

8、到相应的二进制计数器,如按照给定二进制位数就可以得到相应的二进制计数器,如2位(位(4进进制)、制)、3位(位(8进制)、进制)、4位(位(16进制)、进制)、5位(位(32进制)计数器等。进制)计数器等。想一想如何得到想一想如何得到5、6、7、9、10进制等计数器呢?进制等计数器呢?以上二进制计数器当位数增多时,当输出以后要显示出来,需要增以上二进制计数器当位数增多时,当输出以后要显示出来,需要增加相应转化电路,使系统变得复杂,所以通常采用多位加相应转化电路,使系统变得复杂,所以通常采用多位10进制计数进制计数器来计数并显示输出。器来计数并显示输出。同步十进制加法计数器参考程序同步十进制加法

9、计数器参考程序/clr为清零输入端/C为进位输出端/为避免进入无效状态,初始清零设计二位设计二位10进制计数器(进制计数器(099)。)。4、分频器设计:、分频器设计:分频器就是使得单位时间内的脉冲次数减小的电路,亦即分频器就是使得单位时间内的脉冲次数减小的电路,亦即降低脉冲频率。降低降低脉冲频率。降低1/2倍频率的为二分频器,降低倍频率的为二分频器,降低1/4倍频倍频率的为率的为4分频器,以此类推。分频器,以此类推。任意偶数倍分频器设计任意偶数倍分频器设计偶数倍分频器可以通过待分频的时钟触发计数器计数,当计偶数倍分频器可以通过待分频的时钟触发计数器计数,当计数器从数器从0计数到计数到N/2-

10、1时,输出时钟进行翻转并给计数器一个复时,输出时钟进行翻转并给计数器一个复位信号,以使下一个时钟从零开始计数,以此循环,就可以实现位信号,以使下一个时钟从零开始计数,以此循环,就可以实现任意的偶数倍分频。任意的偶数倍分频。1/6,10分频仿真结果(N=6,10)10T6Tmodule div_6(reset,clk_in,clk6_out,clk10_out); input clk_in,reset; output clk6_out,clk10_out; reg clk6_out,clk10_out; parameter WIDTH=3; reg WIDTH:0temp1,WIDTH:0tem

11、p2; always (posedge clk_in) begin if(reset)begin clk6_out=0; clk10_out=0; temp1=2;temp22) begin clk6_out= clk6_out ; temp14) begin clk10_out= clk10_out ; temp2=0; end end endendmodule 1/6,10分频参考程序(N=6,10)/试探研究改变相应参数,验证得到其它偶数倍分频计数器。试探研究改变相应参数,验证得到其它偶数倍分频计数器。奇数倍分频器设计奇数倍分频器设计当分频器系数当分频器系数N为奇数时,考虑采用双计数器计

12、数,两个计为奇数时,考虑采用双计数器计数,两个计数器同时计数,一个对输入时钟信号的上升沿计数,另一个则对数器同时计数,一个对输入时钟信号的上升沿计数,另一个则对信号的下降沿计数。计数器从信号的下降沿计数。计数器从0到到N-1循环计数,且计数器的计循环计数,且计数器的计数值小于(数值小于(N-1)/2时输出时输出1,计数值大于或等于(,计数值大于或等于(N-1)/2时时输出输出0。在这样的控制方式下,分频后输出的波形恰好相差。在这样的控制方式下,分频后输出的波形恰好相差1/2时钟周期,将两个波形进行或(时钟周期,将两个波形进行或(OR)操作后,即可得到所要的波操作后,即可得到所要的波形(占空比形

13、(占空比50%)。三分频器Verilog仿真结果占空比为50%的三分频器Verilog描述程序module fen3(clkin,qout1,qout2,clkout); input clkin; output reg qout1,qout2; output clkout; wire clkout; assign clkout=qout1|qout2; always (posedge clkin) begin : blk1 reg1:0 cnt; if(clkin=1b1)begin if(cnt1)begin qout1=1b1; cnt=cnt+1;end else begin qout1=1b0; cnt1) cnt=0;end end end always (negedge clkin) begin : blk2 reg1:0 cnt; if(clkin=1b0)begi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论