《时序逻辑电路设计》PPT课件.ppt_第1页
《时序逻辑电路设计》PPT课件.ppt_第2页
《时序逻辑电路设计》PPT课件.ppt_第3页
《时序逻辑电路设计》PPT课件.ppt_第4页
《时序逻辑电路设计》PPT课件.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、第八章 时序逻辑电路设计,时序逻辑电路定义:任意时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关。 按照电路的工作方式,时序逻辑电路可分为同步时序逻辑电路(简称同步时序电路)和异步时序逻辑电路(简称异步时序电路)两种类型。,常见的时序逻辑电路有触发器、计数器、寄存器等。,概述,画出状态转换图 填写状态转换真值表 次态卡诺图 选定触发器类型求出输出方程、状态方程和驱动方程 画电路图,时序逻辑电路设计步骤(补充),8.1 时钟信号和复位信号,8.1.1 时钟信号描述,时序电路总是以时钟进程形式来描述,方式有两种:,1) 进程的敏感信号是时钟信号,2) 用进

2、程中的WAIT ON语句等待时钟,任何时序电路都是用时钟信号作为驱动信号的。 时序电路只是在时钟信号的有效沿或电平到来时,其状态才发生变化。 因此,时钟信号通常是描述时序电路的程序的执行条件。,1) 进程的敏感信号是时钟信号,在这种情况下,时钟信号应作为敏感信号,显式地出现在PROCESS语句后跟的括号中,例如PROCESS( clock_signal)。时钟信号边沿的到来,将作为时序电路语句执行的条件。例:,PROCESS ( clock_signal ) BEGIN IF ( clock_edge_condition ) THEN signal_out=signal_in; - 其它时序语

3、句; - END IF; END PROCESS;,该进程在时钟信号发生变化时被启动,而在时钟边沿的条件得到满足时才真正执行时序电路所对应的语句。 使用了IF语句对时钟沿进行说明。,在这种情况下,描述时序电路的进程将没有敏感信号,而是用WAIT ON 语句来控制进程的执行。也就是说,进程通常停留在WAIT ON语句上,只有在时钟信号到来,且满足边沿条件时,其余的语句才能执行,如下例如示:,PROCESS BEGIN WAIT ON (clock_signal ) UNTIL (clock_edge_conditon); signal_out=signal_in; - 其它时序语句; - END

4、 PROCESS,2) 用进程中的WAIT ON语句等待时钟,在使用WAIT ON语句的进程中,敏感信号量应写在进程中的WAIT ON语句后面。,在编写上述两个程序时应注意: 无论IF语句还是WAIT ON语句,在对时钟边沿说明时,一定要注明是上升沿还是下降沿,光说明是边沿是不行的。 当时钟信号作为进程的敏感信号时,在敏感信号的表中不能出现一个以上的时钟信号,除时钟信号以外,像复位信号等是可以和时钟信号一起出现在敏感表中的。 WAIT ON 语句只能放在进程的最前面或者是最后面。,3)时钟边沿的描述,可以用时钟信号的属性来描述时钟的边沿。 其上升沿的描述为: IF clk=1 AND clkL

5、AST_VALUE=0 AND clkEVENT 时钟的下降沿的描述为: IF clk=0 AND clkLAST_VALUE=1 AND clkEVENT,在一些程序中 经常所见时钟沿表达如下 时钟上升沿: (clockevent and clock = 1) 时钟下降沿: (clockevent and clock = 0),8.1.2 触发器的同步和非同步复位,同步复位:当复位信号有效且在给定的时钟边沿到来时,触发器才被复位。 异步复位:一旦复位信号有效,触发器就被复位。,1)同步复位,在用VHDL语言描述时,同步复位一定在以时钟为敏感信号的进程 中定义,且用IF语句来描述必要的复位条件

6、。例如:,process (clock_signal) begin if (clock_edge_condition) then if (reset_condition) then signal_out = reset_value; else signal_out = signal_in ; end if ; end if ; end process ;,2) 非同步复位,异步复位在描述时与同步方式不同:首先在进程的敏感信号中除时钟信号以外,还应加上复位信号;其次是用IF语句描述复位条件;最后在ELSE段描述时钟信号边沿的条件,并加上EVENT属性。其描述方式如: PROCESS ( rese

7、t_signal, clk_signal ) BEGIN IF ( reset_condition ) THEN signal_out=reset_value; ELSIF (clk_event AND clk_edge_condition ) THEN signal_out=signal_in; - 其它时序语句; -,属性 EVENT 对在当前的一个极小的时间段内发生的事件的情况进行检测。如发生事件,则返回 true,否则返回 false。 发生事件:信号电平发生变化。 左例中进程后跟括号内有两个敏感信号:复位信号和时钟信号。进程中的IF语句一开始就判断复位条件,可见复位优先级高于时钟。,

8、8.2 触发器,触发器(Flip Flop)是一种可以存储电路状态的电子元件。 按逻辑功能不同分为:RS触发器、D触发器、JK触发器、T触发器。,8.2.1 锁存器,锁存器(Latch)是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。 锁存,就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存。 锁存器根据触发边沿、复位和预置方式以及输出端多少的不同可以有多种形式的锁存器。,1) D锁存器,上升沿触发的D锁存器:,上升沿触发的D锁存器,有一个数据输入端d,一个时钟输入端 Clk和一个数据输出端q。D锁存器的输出端只有在上升沿脉冲过后输入端d的数据才传送到输出

9、端q。,时钟信号应作为敏感信号,显式地出现在PROCESS语句后跟的括号中。使用了IF语句对时钟沿进行说明。时钟边沿的到来时,将作为时序电路语句执行的条件。,D锁存器程序实例1,D锁存器程序实例 2,WAIT UNTIL 表达式; 当表达式的值为“真”时,进程被启动,否则进程被挂起。 该语句在表达式中将建立一个隐式的敏感信号量表,当表中的任何一个信号量发生变化时,就立即对表达式进行一次评估。如果评估结果使表达式返回一个“真”值,则进程脱离等待状态,继续执行下一个语句。,2) 异步复位D锁存器,异步复位D锁存器和一般的D锁存器区别是多了一个复位输入端clr。当clr=0时,输出端q置0。clr称

10、为清0输入端。 clr低电平有效。,进程后跟括号内有两个敏感信号:清0信号和时钟信号。 进程中的IF语句一开始就判断清0条件,可见此时清0优先级高于时钟。,异步复位D锁存器程序实例,3) 异步复位/置位D锁存器,除了前述的d,clk,q端外,还有clr和pset的复位、置位端。当clr=0时复位,使q=0;当pset=0时置位,使q=1; clr、pset均是低电平有效。,异步复位/置位D锁存器程序实例,进程后跟括号内有三个敏感信号:时钟信号,复位信号和置位信号。 通过进程中的IF THEN ELSEIF 语句可以看出:优先级,置位最高,复位次之,时钟最低。,4) 同步复位D锁存器,与异步方式

11、不同的是,当复位信号有效(clr=1)以后,只是在有效边沿来时才能进行复位操作。 从图中可以看出复位信号的优先级比d端的数据输入高,也就是当clr=1时,无论d端输入什么信号,在clk的上升沿到来时,q输出总是“0”。,同步复位D锁存器程序实例,进程后跟括号内只有一个敏感信号:时钟信号。 通过进程中的IF THEN ELSEIF 语句可以看出:优先级,时钟最高,复位次之。,8.2.2 JK触发器,JK触发器是数字电路触发器中的一种电路单元。JK触发器具有置0、置1、保持和翻转功能,在各类集成触发器中,JK触发器的功能最为齐全。在实际应用中,它不仅有很强的通用性,而且能灵活地转换其他类型的触发器

12、。由JK触发器可以构成D触发器和T触发器。,JK触发器的输入端有置位输入pset,复位输入clr,控制输入j和k,时钟信号输入clk;输出端有正向输出端q和反向输出端qb。JK触发器的真值表如表所示。表中q0表示原状态不变,翻转表示改变原来的状态。,优先级:置位最高于复位,与真值表不一致,没有考虑pset=clr=“0”时,输出时q=“X”(未知态)。,四个敏感信号,异步,与真值表一致的程序,此例中pset=clr=“0”这种情况没有考虑,在逻辑综合时,输出是未知的。,library ieee; use ieee.std_logic_1164.all; entity rs_ff is port

13、(r, s, clk : in std_logic; q, qn : buffer std_logic); end rs_ff; architecture rtl of rs_ff is begin,process(r, s, clk) begin if clkevent and clk=1 then if s = 1 and r = 0 then q=0; qn=1; elsif s=0 and r=1 then q=1; qn=0; elsif s=0 and r=0 then q=q; qn=q n; else null; end if; end if; end process; end

14、 rtl;,S,Clk,Q,Q,R,8.2.3 同步RS触发器,null为空语句,不作任何操作。格式:,null;,8.3 寄存器,数字电路中,用来存放二进制数据或代码的电路称为寄存器。 寄存器是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,存放n位二进制代码的寄存器,需用n个触发器来构成。 按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两大类。基本寄存器只能并行送入数据,需要时也只能并行输出。移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,串行输入、并行输出,十分灵活,

15、用途也很广。,8位串行输入、串行输出移位寄存器,它具有两个输入端:数据输入端a和时钟输入端clk;一个数据输出端b。在时钟信号作用下,前级数据向后级移动。该8位寄存器由8个D触发器构成。,8位移位寄存器描述(结构描述),在结构体的说明部分利用COMPONENT语句对要引用元件进行声明。,利用生成语句指定生成次数,利用COMPONENT_INSTANT语句,调用元件,用位置映射方式,8位移位寄存器直接用信号连接描述,进程中执行信号代入语句时,被代入信号量的值在当时并没有发生改变,直到进程结束,代入过程才同时发生。此例描述了移位功能。 若将程序中信号改成变量,变量赋值语句中,被赋值的变量的值会立即

16、改变,结果如何?,8.4 计数器,在数字电子技术中应用的最多的时序逻辑电路。计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。但是并无法显示计算结果,一般都是要通过外接LCD或LED屏才能显示。 1、如果按照计数器中的触发器是否同时翻转分类,可将计数器分为同步计数器和异步计数器两种。 常见的同步计数器有74160系列,74LS190系列,常见的异步计数器有74LS290系列。 2、如果按照技术过程中数字增减分类,又可将计数器分为加法计数器和减法计数器,随时钟信号不断增减的为加法计数器,不断减少的为减法计数器。,同步计数器指在时钟脉冲(计数脉冲)的控

17、制下,构成计数器的各触发器状态同时发生变化的计数器。,8.4.1 同步计数器,(1) 带允许端的十二进制计数器,计数器由4个触发器构成,clr是清零,en是计数控制端,qa,qb ,qc,qd为计数器的4位二进制值的输出端。,带允许端的十二进制计数器,调用了标准逻辑无符号包,定义了计数中间信号,由于输出qa,qb,qc,qd被定义为out类型,PROCESS后跟两个敏感信号,判断清零信号,判断计数使能信号,判断时钟信号,判断计数的终点,不同类型数据值可以进行相加,这是因为调用了标准逻辑无符号程序包,(2) 可逆计数器,可逆计数器根据计数控制信号的不同,在时钟脉冲作用下,可以实现加1和减1的操作

18、。控制端updn=1计数器加1,updn=0计数器减1。,可逆计数器(加减计数器)程序设计,调用了标准逻辑无符号包,定义了计数中间信号,PROCESS后跟两个敏感信号,判断清零信号,判断时钟信号,加计数和减计数判断,不同类型数据值可以进行相加减法,这是因为调用了标准逻辑无符号程序包,(3) 六十进制计数器,4位二进制计数器构成1位BCD十进制计数器,六十进制计数器可由两位十进制计数器连接。六十进制计数器常用于时钟计数。,六十进制计数器设计程序,调用了标准逻辑无符号包,计数器个位输出端,4位,计数器十位输出端,3位,定义了两个中间信号,第一个进程处理个位计数,第二个进程处理十位计数,六十进制计数器设计程序(续1),判断个位写控制端,若有效,对个位写入数据,判断时钟信号上升沿,判断进位输入端,判断个位计数终点,个位计数,判断十位写控制端,若有效,对十位写入数据,,判断时钟信号上升沿,第三个进程处理进位输出Co,六十进制计数器设计程序(续2),判断进位输入端和个位输出端,判断十位计数终点,十位计数,判断同时是否进位位1,个位为9,十位为5,8

温馨提示

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

评论

0/150

提交评论