第六章时序逻辑电路内容提要本章主要介绍时序逻辑电路的工作原理和分析方法及设计方法。首先讲述时序逻辑电路的功能及结构特点、分析方法和步骤,然后具体介绍寄存器、计数器等各类时序逻辑电路的工作原理和使用方法,最后介绍时序逻辑电路的设计方法。本章重点是计数器的分析和设计本章主要内容6.1概述6.2时序逻辑电路的分析方法6.3若干常用的时序逻辑电路6.4时序逻辑电路的设计方法6.5时序逻辑电路中的竞争-冒险现象(自学)6.1概述一、时序逻辑电路:二、时序逻辑电路的构成及结构特点:在任意时刻的输出信号不仅取决于当时的输入信号,而且还取决于电路原来的状态。时序逻辑电路的构成可用图6.1.1所示框图表示图6.1.1特点:1.时序逻辑电路包含组合逻辑电路和存储电路两个部分;图6.1.16.1概述2.存储电路的输出状态必须反馈到组合电路的输入端,与输入信号一起,共同决定组合逻辑电路的输出。可以用三个方程组来描述图6.1.1),(),,,,,,,(),,,,,,,(①21211212111QXFYqqqxxxfyqqqxxxfylijli输出方程6.1概述6.1概述图6.1.1),(),,,,,,,(),,,,,,,(21211212111QXFYqqqxxxgzqqqxxxgzlikli驱动方程②6.1概述图6.1.1),(*),,,,,,,(),,,,,,,(*2121212111QZHQqqqzzzhqqqqzzzhqlillli状态方程③例6.1串行加法器电路如图6.1.2所示,写出其输出方程、驱动方程和状态方程6.1概述图6.1.2解:其输出方程为QbaCbasiiiiii1驱动方程为)()(1iiiiiiiiiibaQbabaCbaCD状态方程为)(*iiiibaQbaDQ三、时序逻辑电路的分类:根据触发器动作特点可分为同步时序逻辑电路和异步时序逻辑电路。在同步时序逻辑电路中,存储电路中所有触发器的时钟使用统一的CLK,状态变化发生在同一时刻,即触发器在时钟脉冲的作用下同时翻转;而在异步时序逻辑电路中,触发器的翻转不是同时的没有统一的CLK,触发器状态的变化有先有后。根据输出信号的特点时序逻辑电路可分为米利(Mealy)型和穆尔(Moore)型。在米利型时序逻辑电路中,输出信号不仅取决于存储电路的状态,而且还取决于输入变量,即6.1概述有关、与QXQXFY),(在穆尔型时序逻辑电路中,输出信号仅仅取决于存储电路的状态,故穆尔型电路只是米利型电路的特例而已,可表述为仅取决于电路状态)(QFY6.1概述6.2.时序逻辑电路的分析方法6.2.1同步时序逻辑电路的分析方法时序逻辑电路的分析:就是给定时序电路,找出该的逻辑功能,即找出在输入和CLK作用下,电路的次态和输出。由于同步时序逻辑电路是在同一时钟作用下,故分析比较简单些,只要写出电路的驱动方程、输出方程和状态方程,根据状态方程得到电路的状态表或状态转换图,就可以得出电路的逻辑功能。步骤:1.从给定的逻辑电路图中写出每个触发器的驱动方程(也就是存储电路中每个触发器输入信号的逻辑函数式);2.把得到的驱动方程代入相应触发器的特性方程中,就可以得到每个触发器的状态方程,由这些状态方程得到整个时序逻辑电路的方程组;3.根据逻辑图写出电路的输出方程;4.写出整个电路的状态转换表、状态转换图和时序图;5.由状态转换表或状态转换图得出电路的逻辑功能。6.2.时序逻辑电路的分析方法例6.2.1试分析图6.2.1所示的时序逻辑电路的逻辑功能,写出它的驱动方程、状态方程和输出方程,写出电路的状态转换表,画出状态转换图和时序图。6.2.时序逻辑电路的分析方法图6.2.1解:(1)驱动方程:23213312121321,)(,1,)(QKQQJQQKQJKQQJ(2)状态方程:JK触发器的特性方程QKQJQ*将驱动方程代入JK触发器的特性方程中,得出电路的状态方程,即6.2.时序逻辑电路的分析方法3232132312121321**)(*QQQQQQQQQQQQQQQQ23213312121321,)(,1,)(QKQQJQQKQJKQQJ(3)输出方程:32QQY6.2.2时序逻辑电路的状态转换表、状态转换图、状态机流程图和时序图6.2.时序逻辑电路的分析方法从例题可以看出,逻辑电路的三个方程应该说已经清楚描述一个电路的逻辑功能,但却不能确定电路具体用途,因此需要在时钟信号作用下将电路所有的的状态转换全部列出来,则电路的功能一目了然描述时序逻辑电路所有状态的方法有状态转换表(状态转换真值表)、状态转换图、状态机流程图和时序图。下面结合上面的例题介绍这几种方法。此电路没有输入变量,属于穆尔型的时序逻辑电路,输出端的状态只决定于电路的初态。一、状态转换表:6.2.时序逻辑电路的分析方法根据状态方程将所有的输入变量和电路初态的取值,带入电路的状态方程和输出方程,得到电路次态(新态)的输出值,列成表即为状态转换表图6.2.13Q2Q1Q3*Q2*Q1*Q000000000000000111111111111111100000011111000000Y00000110CLK0123456由状态转换表可知,为七进制加法计数器,Y为进位脉冲的输出端。3232132312121321**)(*QQQQQQQQQQQQQQQQ设初态Q3Q2Q1=000,由状态方程可得:6.2.时序逻辑电路的分析方法二、状态转换图:由状态转换表可得状态转换图如图6.2.2所示6.2.时序逻辑电路的分析方法将状态转换表以图形的方式直观表示出来,即为状态转换图3Q2Q1Q2*Q1*Q000000000000000111111110101110100000011111100100Y00000110CLK0123456图6.2.2三、时序图:在时钟脉冲序列的作用下,电路的状态、输出状态随时间变化的波形叫做时序图。由状态转换表或状态转换图可得图6.2.3所示6.2.时序逻辑电路的分析方法图6.2.3例6.2.2分析图6.2.4所示的时序逻辑电路的功能,写出电路的驱动方程、状态方程和输出方程,画出电路的状态转换图。6.2.时序逻辑电路的分析方法图6.2.4解:(1)驱动方程:21211QQADQD(2)状态方程212121111QQADQQDQnnD触发器的特性方程为Q*=D,得6.2.时序逻辑电路的分析方法21211QQADQD(3)输出方程:图6.2.421212121])()[(QQAQQAQQAQQAY(4)状态转换表:A=0时*2Q*1QY2Q1Q00001100111110000011为4进制加法计数器A=1时*2Q*1QY2Q1Q00001100111110010010为4进制减法计数器6.2.时序逻辑电路的分析方法212121111QQADQQDQnn21212121])()[(QQAQQAQQAQQAY可以合成一个状态转换表为:1Q2QA0100001111111100001000111000011000*2Q*1QY6.2.时序逻辑电路的分析方法A=0时*2Q*1QY2Q1Q00001100111110000011A=1时*2Q*1QY2Q1Q00001100111110010010故此电路为有输入控制的逻辑电路,为可控计数器,A=0为加法计数器,A=1为减法计数器。(5)状态转换图:6.2.时序逻辑电路的分析方法图6.2.5四、状态机流程图(SM图)(自学)*6.2.3异步时序逻辑电路的分析方法由于在异步时序逻辑电路中,触发器的动作不是同时的,故分析时除了写出驱动方程、状态方程和输出方程等外,还用写出各个触发器的时钟信号,因此异步时序逻辑电路的分析要比同步时序逻辑电路的分析复杂。例6.2.3已知异步时序逻辑电路的逻辑图如图6.2.6所示,试分析它的逻辑功能,画出电路的状态转换图和时序图。6.2.时序逻辑电路的分析方法图6.2.6解:(1)驱动方程:图6.2.66.2.时序逻辑电路的分析方法1,11,132132213100KQQJKJKQJKJ(2)JK的特性方程为QKQJQ*可得逻辑电路的状态方程:321*32*213*10*0QQQQQQQQQQQ6.2.时序逻辑电路的分析方法1,11,132132213100KQQJKJKQJKJ(3)输出方程:30QQC6.2.时序逻辑电路的分析方法(4)各触发器的时钟信号:0312010;QclkQclkQclkclkclk;;图6.2.6clk(5)状态转换表)(0clkclk触发器的状态时钟信号输出3Q2Q1Q0Q3clk2clk1clkC00000000000001110010001000011111000001011100000100001110111101100000000100111100100000000此电路为异步十进制计数器6.2.时序逻辑电路的分析方法321*32*213*10*0QQQQQQQQQQQ0312010;QclkQclkQclkclkclk;;30QQC图6.2.6clk(6)状态转换图000000010010001101000101011101101000100111111110Q3Q2Q1Q0/C/0/1/0/0/0/0/0/0/0/0/0/11011110110101100/1/1/0/0注:由状态转换图可知,10个状态0000~1001是在循环内,而其它的6个状态1010~1111最终在时钟作用下,都可以进入此循环,具有这种特点的时序电路,称为能够自启动的时序电路。6.2.时序逻辑电路的分析方法(7)时序图:tclk)(0clk00Q0Q30Q1Q200tttt)(1clk)(3clk)(2clk6.2.时序逻辑电路的分析方法6.3若干常用的时序逻辑电路6.3.1寄存器和移位寄存器可寄存一组二进制数码的逻辑部件,叫寄存器,是由触发器构成的,只要有置位和复位功能,就可以做寄存器,如基本SR锁存器、D触发器、JK触发器等等。一个触发器可以存1位二进制代码,故N位二进制代码需要N个触发器。根据存放数码的方式不同分为并行和串行两种:并行方式就是将寄存的数码从各对应的输入端同时输入到寄存器中;串行方式是将数码从一个输入端逐位输入到寄存器中。根据取出数码的方式不同也可分为并行和串行两种:并行方式就是要取出的数码从对应的各个输出端上同时出现;串行方式是被取出的数码在一个输出端逐位输出;根据有无移位功能寄存器也常分为数码寄存器和移位寄存器。一、寄存器(数码寄存器)6.3.1寄存器和移位寄存器74LS75是由同步SR触发器构成的D触发器构成的,电路图如图6.3.1所示。由于在CP=1期间,输出会随D的状态而改变图6.3.1由于D触发器是由同步SR触发器构成的,故在时钟clk=1期间,Q随D改变RD为清零端此寄存器为并行输入/并行输出方式。在CLK↑时,将D0~D3数据存入,与此前后的D状态无关,而且由异步置零(清零)功能。6.3.1寄存器和移位寄存器74HC175为由CMOS边沿触发器构成的4位寄存器,其逻辑电路如图6.3.2所示。图6.3.2其中:D0~D3为并行数据输入端;CLK为寄存脉冲输入端移位寄存器不仅具有数码存储功能,还具有移位的功能,即在移位脉冲的作用下,依次左移或右移。故移位寄存器除了寄存代码外,还可以实现数据的串行-并行转换、数值运算以及数据处理等。1.由D触发器构成的4位移位