数电第六章.ppt
6.时序逻辑电路的分析与设计,6.1 时序逻辑电路的基本概念,6.2 同步 时序逻辑电路的分析,6.3 同步 时序逻辑电路的设计,6.4 异步 时序逻辑电路的分析,6.5 若干典型的时序逻辑集成电路,*6.6 用Verilog描述时序逻辑电路,6.7 时序逻辑可编程逻辑器件,教学基本要求,2、熟练掌握时序逻辑电路的分析方法,1、熟练掌握时序逻辑电路的描述方式及其相互转换。,3、熟练掌握时序逻辑电路的设计方法,4、熟练掌握典型时序逻辑电路计数器、寄存器、移位寄存器的逻辑功能及其应用。,5、正确理解时序可编程器件的原理及其应用。,*6、学会用Virelog HDL设计时序电路及时序可编程逻辑器件的方法。,6.1 时序逻辑电路的基本概念,6.1.1 时序逻辑电路的模型与分类,6.1.2 时序电路逻辑的表达,6.1 时序逻辑电路的基本概念,6.1.1 时序逻辑电路的模型与分类,1.时序电路的一般化模型,*电路由组合电路和存储电路组成。,*电路存在反馈。,结构特征:,输出方程:Of1(I,S),激励方程:Ef2(I,S),状态方程:Sn+1f3(E,Sn),表达输出信号与输入信号、状态变量的关系式,表达了激励信号与输入信号、状态变量的关系式,表达存储电路从现态到次态的转换关系式,2、异步时序电路与同步时序电路,时序电路,输出方程,激励方程组,状态方程组,1.逻辑方程组,6.1.2 时序电路功能的表达方法,将状态转换真值表转换为状态表,状态转换真值表,状态表,2.根据状态表画出状态图,4.时序图,时序逻辑电路的四种描述方式是可以相互转换的,根据状态表画出波形图,6.2 时序逻辑电路的分析,6.2.1 分析同步时序逻辑电路的一般步骤,6.2.2 同步时序逻辑电路分析举例,时序逻辑电路分析的任务:,分析时序逻辑电路在输入信号的作用下,其状态和输出信号变化的规律,进而确定电路的逻辑功能。,6.2 时序逻辑电路的分析,时序电路的逻辑能是由其状态和输出信号的变化的规律呈现出来的。所以,分析过程主要是列出电路状态表或画出状态图、工作波形图。,分析过程的主要表现形式:,6.2.1 分析同步时序逻辑电路的一般步骤:,1.了解电路的组成:电路的输入、输出信号、触发器的类型等,.确定电路的逻辑功能.,3.列出状态转换表或画出状态图和波形图;,2.根据给定的时序电路图,写出下列各逻辑方程式:,()输出方程;,()各触发器的激励方程;,(3)状态方程:将每个触发器的驱动方程代入其特性方程得状态方程.,例1 试分析如图所示时序电路的逻辑功能。,6.2.2 同步时序逻辑电路分析举例,电路是由两个T 触发器组成的同步时序电路。,解:,(1)了解电路组成。,(2)根据电路列出三个方程组,激励方程组:T0=A T1=AQ0,输出方程组:Y=AQ1Q0,将激励方程组代入T触发器的特性方程得状态方程组,(3)根据状态方程组和输出方程列出状态表,Y=A Q1Q0,(4)画出状态图,(5)画出时序图,(6)逻辑功能分析,观察状态图和时序图可知,电路是一个由信号A控制的可控二进制计数器。当A=0时停止计数,电路状态保持不变;当A=1时,在CP上升沿到来后电路状态值加1,一旦计数到11状态,Y 输出1,且电路状态将在下一个CP上升沿回到00。输出信号Y的下降沿可用于触发进位操作。,例2 试分析如图所示时序电路的逻辑功能。,电路是由两个JK触发器组成的莫尔型同步时序电路。,解:,1.了解电路组成。,J2=K2=X Q1,J1=K1=1,Y=Q2Q1,2.写出下列各逻辑方程式:,输出方程,激励方程,J2=K2=X Q1,J1=K1=1,将激励方程代入JK触发器的特性方程得状态方程,整理得:,FF2,FF1,3.列出其状态转换表,画出状态转换图和波形图,Y=Q2Q1,状态图,根据状态转换表,画出波形图。,X=0时,电路功能:可逆计数器,X=1时,Y可理解为进位或借位端。,电路进行加1计数,电路进行减1计数。,.确定电路的逻辑功能.,例3 分析下图所示的同步时序电路。,激励方程组,输出方程组 Z0=Q0 Z1=Q1 Z2=Q2,1.根据电路列出逻辑方程组:,得状态方程,2.列出其状态表,3.画出状态图,3.画出时序图,由状态图可见,电路的有效状态是三位循环码。从时序图可看出,电路正常工作时,各触发器的Q端轮流出现一个宽度为一个CP周期脉冲信号,循环周期为3TCP。电路的功能为脉冲分配器或节拍脉冲产生器。,4、逻辑功能分析,米利型和穆尔型时序电路,6.3 同步时序逻辑电路的设计,6.3.1 设计同步时序逻辑电路的一般步骤,6.3.2 同步时序逻辑电路设计举例,6.3 同步时序逻辑电路的设计,同步时序逻辑电路的设计是分析的逆过程,其任务是根据实际逻辑问题的要求,设计出能实现给定逻辑功能的电路。,6.3.1 设计同步时序逻辑电路的一般步骤,同步时序电路的设计过程,(1)根据给定的逻辑功能建立原始状态图和原始状态表,(2)状态化简-求出最简状态图;,合并等价状态,消去多余状态的过程称为状态化简,等价状态:在相同的输入下有相同的输出,并转换到同一个次态去的两个状态称为等价状态。,(3)状态编码(状态分配);,(4)选择触发器的类型,(6)画出逻辑图并检查自启动能力。,给每个状态赋以二进制代码的过程。,根据状态数确定触发器的个数,,(5)求出电路的激励方程和输出方程;,例1 用D触发器设计一个8421 BCD码同步十进制加计数器。,8421码同步十进制加计数器的状态表,6.3.2 同步时序逻辑电路设计举例,(2)确定激励方程组,D3、D2、D1、D0是触发器初态的函数,D3、D2、D1、D0、是触发器初态还是次态的函数?,画出各触发器激励信号的卡诺图,画出完全状态图,电路具有自启动能力,(3)画出逻辑图,并检查自启动能力,画出逻辑图,例2:,设计一个串行数据检测器。电路的输入信号X是与时钟脉冲同步的串行数据,其时序关系如下图所示。输出信号为Z;要求电路在X信号输入出现110序列时,输出信号Z为1,否则为0。,a 初始状态;,b A输入1后;,c A输入11后;,d A输入110后。,2.)定义输入 输出逻辑状态和每个电路状态的含义;,1.)确定输入、输出变量及电路的状态数:,输入变量:A,状态数:4个,输出变量:Z,解:(1)根据给定的逻辑功能建立原始状态图和原始状态表,2.状态化简,列出原始状态转换表,3、状态分配,令 a=00,b=01,c=11,,4、选择触发器的类型,触发器个数:两个。类型:采用对 CP 下降沿敏感的 JK 触发器。,5.求激励方程和输出方程,卡诺图化简得,激励方程,输出方程,6.根据激励方程和输出方程画出逻辑图,并检查自启动能力,激励方程,输出方程,当=10时,输出方程,能自启动,检查自启动能力和输出,输出方程,修改电路,例;用D 触发器设计状态变化满足下状态图的时序逻辑电路,1、列出原始状态表,2、状态表化简,2、状态编码,a=000;b=001;c=010;d=011;e=100,三种状态分配方案,状态转换真值表,3、求激励方程、输出方程,画出逻辑电路,画出完整的状态图,检查所设计的计数器能否自启动.,6.4 异步时序逻辑电路的分析,一.异步时序逻辑电路的分析方法:,分析步骤:,3.确定电路的逻辑功能。,2.列出状态转换表或画出状态图和波形图;,1.写出下列各逻辑方程式:,b)触发器的激励方程;c)输出方程d)状态方程,a)时钟方程,例1 分析如图所示异步电路,1.写出电路方程式,时钟方程,输出方程,激励方程,CP0=CLK,求电路状态方程,触发器如有时钟脉冲的上升沿作用时,其状态变化;如无时钟脉冲上升沿作用时,其状态不变。,CP1=Q0,二.异步时序逻辑电路的分析举例,3.列状态表、画状态图、波形图,根据状态图和具体触发器的传输延迟时间tpLH和tpHL,可以画出时序图,4.逻辑功能分析该电路是一个异步二进制减计数器,Z信号的上升沿可触发借位操作。也可把它看作为一个序列信号发生器。,例2 分析如图所示异步时序逻辑电路.,状态方程,时钟方程,解(1)列出各逻辑方程组,(2)列出 状态表,(CP=0表示无时钟下降沿,CP=1表示有时钟下降沿),电路是一个异步五进制加计数电路。,(4)逻辑功能分析,(3)画出状态图,(1)分析状态转换时必须考虑各触发器的时钟信号作用情况,有作用,则令cpn=1;否则cpn=0根据激励信号确定那些cpn=1的触发器的次态,cpn=0的触发器则保持原有状态不变。,(2)每一次状态转换必须从输入信号所能触发的第一个触发器开始逐级确定,注意:,6.5 若干典型的时序逻辑集成电路,6.5.1 寄存器和移位寄存器,6.5.2 计数器,6.5 若干典型的时序逻辑集成电路,1、寄存器,6.5.1 寄存器和移位寄存器,寄存器:是数字系统中用来存储代码或数据的逻辑部件。它的主要组成部分是触发器。,一个触发器能存储1位二进制代码,存储 n 位二进制代码的寄存器需要用 n 个触发器组成。寄存器实际上是若干触发器的集合。,8位CMOS寄存器74HC374,脉冲边沿敏感的寄存器,8位CMOS寄存器74HC/HCT374,0,8位CMOS寄存器74LV374,2、移位寄存器,移位寄存器是既能寄存数码,又能在时钟脉冲的作用下使数码向高位或向低位移动的逻辑功能部件。,按移动方式分,单向移位寄存器,双向移位寄存器,左移位寄存器,移位寄存器的逻辑功能分类,移位寄存器的逻辑功能,右移位寄存器,(1)基本移位寄存器,(a)电路,串行数据输入端,串行数据输出端,并行数据输出端,D3=Qn2,D1=Q0n,D0=DSI,Q0n+1=DSI,Q1n+1=D1=Q0n,Q2n+1=D2=Qn1,Q3n+1=D3=Qn2,2、写出激励方程:,3、写出状态方程:,(b).工作原理,D2=Qn1,D0 D2 D1 D3,1011,DSI=11010000,从高位开始输入,经过4个CP脉冲作用后,从DS 端串行输入的数码就可以从Q0 Q1 Q2 Q3并行输出。串入并出,经过7个CP脉冲作用后,从DSI 端串行输入的数码就可以从DO 端串行输出。串入串出,(2)典型集成电路,内部逻辑图,8位移位寄存器74HC/HCT164,2.多功能双向移位寄存器,(1)工作原理,实现多种功能双向移位寄存器的一种方案(仅以FFm为例),S1S0=00,S1S0=01,高位移向低位,S1S0=10,S1S0=11,并入,不变,低位移向高位,(2)典型集成电路CMOS 4位双向移位寄存器74HC/HCT194,74HCT194 的功能表,2、计数器的分类,按脉冲输入方式,分为同步和异步计数器,按进位体制,分为二进制、十进制和任意进制计数器,按逻辑功能,分为加法、减法和可逆计数器,概 述,1、计数器的逻辑功能,计数器的基本功能是对输入时钟脉冲进行计数。它也可用于分频、定时、产生节拍脉冲和脉冲序列及进行数字运算等等。,6.5.2 计 数 器,同步计数器,异步计数器,加计数器,减计数器,可逆计数器,加计数器,减计数器,可逆计数器,(1)异步二进制计数器-4位异步二进制加法计数器,工作原理,1、二进制计数器,结论:,计数器的功能:不仅可以计数也可作为分频器。,如考虑每个触发器都有1tpd的延时,电路会出现什么问题?,异步计数脉冲的最小周期 Tmin=n tpd。(n为位数),典型集成电路中规模集成电路74HC/HCT393中集成了两个4位异步二进制计数器在 5V、25工作条件下,74HC/HCT393中每级触发器的传输延迟时间典型值为6ns。,74HC/HCT393的逻辑符号,Q0在每个CP都翻转一次,Q1仅在Q0=1后的下一个CP到来时翻转,FF0可采用T=1的T触发器,FF1可采用T=Q0的T触发器,Q3仅在Q0=Q1=Q2=1后的下一个CP到来时翻转,FF2可采用T=Q0Q1T的触发器,Q2仅在Q0=Q1=1后的下一个CP到来时翻转,FF3可采用T=Q0Q1Q2T的触发器,(2)二进制同步加计数器,4位二进制同步加计数器逻辑图,4位二进制同步加计数器时序图,(2)典型 集成计数器74LVC161,2选1数据选择器,(2)时序图,TC=CETQ3Q2Q1Q0,74LVC161逻辑功能表,例6.5.1 试用74LVC161构成模216的同步二进制计数器。,1.异步二-十进制计数器,两种连接方式的状态表,2.用集成计数器构成任意进制计数器,例 用74LVC161构成九进制加计数器。解:九进制计数器应有9个状态,而74 LVC 161在计数过程中有16个状态。如果设法跳过多余的7个状态,则可实现模9计数器。,(1)反馈清零法,(2)反馈置数法,(1)工作原理,置初态Q3Q2Q1Q0=0001,,基本环形计数器,状态图,3.环形计数器,第一个CP:Q3Q2Q1Q0=0010,,第二个CP:Q3Q2Q1Q0=0100,,第三个CP:Q3Q2Q1Q0=1000,,第四个CP:Q3Q2Q1Q0=0001,,第五个CP:Q3Q2Q1Q0=0010,,a、电路,扭环形计数器,b、状态表,c、状态图,置初态Q3Q2Q1Q0=0001,,译码电路简单,且不会出现竞争冒险,6.7 时序可编程通用阵列逻辑器件(GAL),6.7.1 时序可编程逻辑器件中的宏单元,6.7.2 时序可编程逻辑器件的主要类型,6.7.3通用阵列逻辑GAL,6.7 时序可编程通用阵列逻辑器件(GAL),2、输出结构类型太多,给设计和使用带来不便。,2、输出端设置了可编程的输出逻辑宏单元(OLMC)通过编程可将OLMC设置成不同的工作状态,即一片GAL便可实现PAL 的5种输出工作模式。器件的通用性强;,GAL的优点:,1、由于采用的是双极型熔丝工艺,一旦编程后不能修改;,PAL的不足:,1、采用电可擦除的E2CMOS工艺可以多次编程;,3、GAL工作速度快,功耗小,6.7.1 时序可编程逻辑器件中的宏单元,1.通用阵列逻辑(GAL)在PLA和PAL基础上发展起来的增强型器件.电路设计者可根据需要编程,对宏单元的内部电路进行不同模式的组合,从而使输出功能具有一定的灵活性和通用性。,6.7.2 时序可编程逻辑器件的主要类型,2.复杂可编程逻辑器件(CPLD)集成了多个逻辑单元块,每个逻辑块就相当于一个GAL器件。这些逻辑块可以通过共享可编程开关阵列组成的互连资源,实现它们之间的信息交换,也可以与周围的I/O模块相连,实现与芯片外部交换信息。,3.现场可编程门阵列(FPGA)芯片内部主要由许多不同功能的可编程逻辑模块组成,靠纵横交错的分布式可编程互联线连接起来,可构成极其复杂的逻辑电路。它更适合于实现多级逻辑功能,并且具有更高的集成密度和应用灵活性在软件上,亦有相应的操作系统配套。这样,可使整个数字系统(包括软、硬件系统)都在单个芯片上运行,即所谓的SOC技术。,GAL的电路结构与PAL类似,由可编程的与逻辑阵列、固定的或逻辑阵列和输出电路组成,但GAL的输出端增设了可编程的的输出逻辑宏单元(OLMC)。通过编程可将OLMC设置为不同的工作状态,可实现PAL的所有输出结构,产生组合、时序逻辑电路输出。,6.7.3通用阵列逻辑GAL,可编程与阵列(32X64位),2、GAL举例GAL16V8的电路结构图,8个输入缓冲器29,8个三态输出缓冲器1219,8个输出逻辑宏单元OLMC,输出使能缓冲器,数据选择器,乘积项数据选择器(2选1),输出数据选择器(2选1),三态数据选择器(4选1),反馈数据选择器(4选1),4个数据选择器:用不同的控制字实现不同的输出电路结构形式,乘积项数据选择器:根据AC0和AC1(n)决定与逻辑阵列的第一乘积项是否作为或门的一个输入端。只有在G1的输出为1时,第一乘积项是或门的一个输入端。,乘积项数据选择器(2选1),OMUX:根据AC0和AC1(n)决定OLMC是组合输出还是寄存器输出模式,输出数据选择器(2选1)OMUX,三态数据选择器(4选1),三态数据选择器受AC0和AC1(n)的控制,用于选择输出三态缓冲器的选通信号。可分别选择VCC、地、OE和第一乘积项。,FMUX:根据AC0和AC1(n)的不同编码,使反向传输的电信号也对应不同。,反馈数据选择器(4选1)OMUX,5.GAL的编程与开发,软件工具,硬件工具,时序电路的分析,首先按照给定电路列出各逻辑方程组、进而列出状态表、画出状态图和时序图,最后分析得到电路的逻辑功能。时序电路的设计,首先根据逻辑功能的需求,导出原始状态图或原始状态表,有必要时需进行状态化简,继而对状态进行编码,然后根据状态表导出激励方程组和输出方程组,最后画出逻辑图完成设计任务。,小 结,时序逻辑电路一般由组合电路和存储电路两部分构成。它们在任一时刻的输出不仅是当前输入信号的函数,而且还与电路原来的状态有关。时序电路可分为同步和异步两大类。逻辑方程组、状态表、状态图和时序图从不同方面表达了时序电路的逻辑功能,是分析和设计时序电路的主要依据和手段。,作业,P321 6.2.1 6.2.4P325 6.4.2 6.4.3P327 6.5.11 6.5.12P328 6.5.15 6.5.19,