




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章时序逻辑设计
5.1时序逻辑设计的基本方法5.2建立原始状态5.3状态化简
5.4状态编码
5.5确定激励函数及输出方程
5.7时序逻辑设计举例
5.6脉冲异步时序逻辑电路的设计
5.1时序逻辑设计的基本方法
时序逻辑的设计,就是针对给定的时序逻辑命题,设计出能实现要求的电路。同步时序逻辑与异步时序逻辑的设计方法不同。本节以一个实例,引出同步时序逻辑设计的基本步骤及方法
例5-1:设计一个调宽码译码器。调宽码的编码格式:调宽码的特征:数据以调宽码流方式输入:0:前两个clk周期T内为高电平,后一个T内为低电平;1:前一个T内为高电平,后一个T内为低电平。译出的数据以串行方式输出。步骤1分析命题,规划电路框架
要将X译为Z
,可在clk
脉冲的上升沿对X取样。如果连续取样得到的系列为110,则Z=1;如果为10,则Z=0;否则就是误码。
E用于指示当前的Z是否有效,约定E=1时表示Z值有效。步骤2建立原始状态图及状态表逐步建立原始状态图S0:已连续收到X=0的次数大于1。若再收到X=0,则维持S0;若再收到X=1,则转入S2。
S1:等待下一位原始数据的到来。若收到X=0,则是误码,转入S0;若收到X=1,则转入S2。
S2:已收到第一次X=1的取样。若再收到X=0,则译出0,转入S1,输出ZE=01;若再收到X=1,则说明正在到来的原始数据位可能为1或误码,转入S3。
S3:已收到第二次X=1的取样。若再收到X=0,则译出一个为1的原始数据位,应转入S1,输出ZE=11;若再收到X=1,则说明是误码,转入S4。
S4:连续1误码状态。若再收到X=1,则维持S4,等待误码结束;若再收到X=0,则误码结束,转入S1
。由原始状态图作出原始状态表:现态次态/输出(Si/ZE)X=0X=1S0S0/00S2/10S1S0/00S2/10S2S1/01S3/10S3S1/11S4/10S4S1/00S4/10步骤3原始状态化简
注意表中的现态S0、S1:当输入为X=0时,它们都转到次态S0,且都输出ZE=00;当输入为X=1时,它们都转到次态S2,且都输出ZE=10。说明S0和S1可以合并为一个状态,记为S1,于是得到化简后的状态图。步骤4状态编码
用二进制代码表示各状态,以便能在触发器中存储。步骤5确定激励函数及输出方程编码方案:
S1:00,
S2:01,
S3:10,
S4:11。编码后的状态表见右表。现态y2y1次态/输出(y2n+1y1n+1
/ZE)X=0X=10000/Ф001
/Ф00100
/0110/Ф01000/1111
/Ф01100/Ф011
/Ф0选择触发器的类型:
J-K触发器,时钟上升沿触发。
确定激励函数和输出函数:激励J2、K2、
J1、K1和输出E、Z均是X,y2,y1函数,按组合逻辑电路设计。故列真值表:输入Xy2y1y2n+1y1n+1输出J2J1y2y1EZ000000
Ф
0Ф
Ф0001000
ФФ10101000Ф10Ф1101100Ф1Ф1Ф
0100010
Ф1ФФ
0101101ФФ1Ф011011Ф01ФФ011111Ф
0Ф
0Ф
0注意:(1)列真值表的目的是求解组合逻辑电路,红色的列仅供由输入推导出输出而列出。(2)推导中要用到J-K触发器的激励方程。由卡诺图化简:画出调宽码的译码逻辑电路:步骤6设计结果仿真使用MAX+plusⅡ对图4.7所示的电路进行仿真:需要进一步讨论的问题:采用Moore型还是Mealy型电路?如何化简状态?怎样合理分配状态编码?选择什么类型的触发器为好?下面将围绕一个实例,对设计步骤和上述问题专门讨论。5.2建立原始状态主要考虑如下几点:(1)
确定采用Moore型还是Mealy型电路。如果输出可由状态编码完全确定、或状态编码本身就是希望的输出(如计数器),则可采用Moore型电路;如果求输出量时,有输入量参与运算较简便,则可采用Mealy型电路。(2)找准第一个状态。(3)将第一个状态作为切入点,逐步扩充新状态。(4)边扩充新状态边确定状态的转移及输入、输出。例5-2设计一个4位串行二进制码奇偶检测器。串行输入数据检测方案:输入数据的格式:每4个进制位为一组。同步时钟clk的上升沿与每一位数据x的中点对齐,检测电路在clk的上升沿采集x。每当一组数据的最后一位到达后,即判断组中含有多少个1。含有偶数个1时电路的输出z=1,否则z=0。电路的框架:见左图。电路选型:Mealy原始状态图的建立过程:第一个状态A
:等待一组数据的首位到来;收到第一位数据后:若为0:转到状态B并输出0。若为1:转到状态C并输出0;收到第二位数据后:若现态为B:若第二位为0:转到D并输出0。若第二位为1:转到E并输出0;若现态为C:若第二位为0:转到F并输出0。若第二位为1:转到G并输出0;收到第三位数据后:……由原始状态图建立原始状态表:见左表。现态次态/输出X=0X=1AB/0C/0BD/0E/0CF/0G/0DH/0I/0EJ/0K/0FL/0M/0GN/0O/0HA/1A/0IA/0A/1JA/0A/1KA/1A/0LA/0A/1MA/1A/0NA/1A/0OA/0A/15.3状态化简
5.3.1状态化简的基本原理
情形1次态相同若状态Si和Sj,在相同的输入下都转到同一次态,且产生相同的输出,则Si和Sj可以合并。称Si和Sj为等效对,记为(Si,Sj)。例:情形2次态交错若Si和Sj在某些输入值下互为次态且输出相同,但在其他输入值下满足情形1,则Si和Sj为等效对,可以合并。例:见右图情形3状态对封闭链若有几对状态,对于每一对状态,在相同的输入下,能产生相同的输出但到达的次态不同。然而它们构成所谓“状态对封闭链”,则这些状态对均为等效对。状态对封闭链中的每一对状态都是可以合并的。
例:见左图完全定义状态图(状态表):对于所涉及的任一状态,都明确定义了对全部输入值的具体次态响应。不完全定义的状态图(状态表):所涉及的状态中,有些状态对于某些输入的次态响应不需要给出定义或为任意,即次态为任意态Ф。本小节仅讨论完全定义的状态图(状态表)的化简。5.3.2完全定义状态化简方法
1.有关定义等效对:若两个状态Si和Sj,对于所有可能的输入序列,分别从Si和Sj出发,产生的输出系列相同,则称Si与Sj等效;称Si和Sj为等效状态对,简称等效对,记为(Si,Sj)。等效对的传递性:若状态Si和Sj为等效对,状态Sj和Sm为等效对,则Si和
Sm也为等效对,称为等效对的传递性,记为(Si,Sj),(Sj,Sm)→(Si,Sm)。等效类:若一个状态集合中的任何两个状态都互为等效,则称该状态集合为等效类。例如,若有(Si,Sj),(Sj,Sm)→(Si,Sm),则{Si,Sj,Sm}为等效类。最大等效类:将状态图(或状态表)中的全部状态划分为若干个等效类,若某个等效类中的状态不能与其它等效类中的状态构成等效对,则这个等效类称为最大等效类。最大等效类中的状态可以合并为一个状态。2.隐含表化简法隐含表化简法能全面找出状态对,进而确定全部最大等效类。回到上例,用隐含表化简完成状态的化简。每一格代表其所在行、列的配对状态。第一趟判断各格代表的状态是否为等效对。不是等效对的,在对应格中填入“×”;是等效对的,在对应格中填入“√”
第二趟判断各格代表的状态是否为等效对。不是等效对的,在对应格中填入“×”;是等效对的,在对应格中填入“√”;本格是否等效对,视其他格而定的,在对应格中填入其他状态对的名称,表示暂时未决。审查未决格中的状态对,只要有一对为非等效对,则该格就不是等效对,划上“∕”第三趟求最大等效类。由等效对的传递性可知:在同一列上的“√”格及这些“√”格所在的行上的“√”格涉及的状态构成一个最大等效类。由表看出,有4个最大等效类:
Q1={H,M,N,K}、
Q2={I,O,L,J}、
Q3={D,G}、
Q4={E,F}。每个最大等效类可合并为一个状态:将Q1中的状态合并为一个状态,记为H;将Q2中的状态合并为一个状态,记为I;将Q3中的状态合并为一个状态,记为D;将Q4中的状态合并为一个状态,记为E。
最小化状态表,见左上表。
对应的最小化状态图如左图。
现态次态/输出X=0X=1AB/0C/0BD/0E/0CE/0D/0DH/0I/0EI/0H/0HA/1A/0IA/0A/15.4状态编码
4.4.1确定存储状态所需的触发器个数
存储n个状态,所需触发器的个数m为:
继续求解上例:共有7个状态,需触发器3个。故状态代码为三位,将其记为。
4.4.2用相邻编码法实现状态编码
相邻编码:为两个状态指派的二进制代码只有一位不同。在卡诺图上表现为两个状态左右或上下相邻。相邻编码的规则:规则1
输入相同且次态相同的现态应为相邻编码。
观察状态表,H和I符合应取相邻编码。规则2同一现态的次态应为相邻编码。
观察状态表,状态B和C,D和E,H和I,应分别取相邻编码。规则3输入不同但输出相同的现态应为相邻编码。
观察状态表,状态A~E应分别取相邻编码。
注意:优先顺序为规则1→规则2→规则35.5确定激励函数及输出方程
现态y3y2y1次态/输出X=0X=1000001/0011/0001100/0101/0011101/0100/0100010/0110/0101110/0010/0010000/1000/0110000/0000/15.5.1选定触发器类型
基于经验进行。目标:激励函数为最简。数据锁存、移位类时序逻辑电路,宜选用D触发器;计数类时序逻辑电路,宜选用T触发器;无明显规律时,则可选用J-K触发器。也可以同时选用几种类型的触发器。
上例:属数据锁存、移位类逻辑,选择D触发器。5.5.2求激励函数及输出函数注意:“111”未指派具体状态,按无关状态处理。画出电路图如图:
5.5.3电路的“挂起”及恢复问题
以上假说电路不会进入无关状态“111”。实际运行中,可能受干扰而误翻转到“111”态。后果如下:(1)电路挂起。进入无关状态后,无论什么输入都不能回到正常状态。(2)进入无关状态后,再经若干时钟能自动恢复到正常状态,但中途产生错误的输出。(3)进入无关状态后,再经若干时钟能自动恢复到正常状态,且不产生错误的输出。解决办法:修改激励函数或输出函数,强制其进入正常状态或消除错误输出上例的完整状态图,如右图。其属于第(3)中情形。无关态,可通过分析原电路图得出此结果。5.5.4设计结果仿真
测试数据:第一组:1101,在末位数据到达期间,仿真结果为z=0;第二组:0011,在末位数据到达期间,仿真结果为z=1。5.6异步时序逻辑电路的设计
(1)无公共时钟控制信号触发器的翻转借助于输入信号或电路中的其它信号的改变来实现。触发器的翻转又会导致电路中的有关信号改变。这种互为因果的关系如果处理不当,就会使电路不能正常工作。(2)输入信号不允许同时变化。因控制翻转的输入信号来自不同的信号源,不可能严格对齐。触发顺序不同会导致电路进入不同的状态。异步时序逻辑的主要优点:(1)可灵活地为各触发器选择不同的翻转控制信号,电路得以简化。(2)任何时刻只需考虑输入信号中的一个有效,电路的描述简单。异步时序逻辑的分类:(1)电平型异步时序逻辑电路:触发器的翻转受触发信号的电平高低控制,接收作用的时间长;(2)脉冲型异步逻辑时序电路:触发器的翻转仅在触发信号的有关跳变沿发生,接收作用的时间短,较易把握。本节仅讨论脉冲异步时序逻辑电路的设计。
异步时序逻辑的特点:例采用T触发器,设计一个脉冲异步型模5计数器。
步骤1构建电路框架
x:计数输入脉冲,上升沿有效。注:x并非所有触发器的时钟。
y2y1y0:计数值输出。
Z:进位输出。步骤2作原始状态图
5个状态,编码直接引用计数值。用“↑”表示信号的上升沿。
步骤3列出激励函数、时钟函数和输出函数的参考真值表
输入x现态y2y1y0次态y2n+1y1n+1y0n+1时钟与激励C2T2C1T1C0T0输出Z↑0000010Ф0Ф↑10↑0010100Ф↑1
↑10↑0100110Ф0Ф↑10↑011100↑1
↑1↑10↑100000↑10Ф0Ф↑参考真值表:注意:C2、C1、C0:时钟,也要求解;
y2n+1y1n+1y0n+1:不求解,列出只为方便确定激励。
如何推导出时钟与激励值?以表中第一行为例:问题:当x=“↑”时,要从现态000转移到次态001。推导:根据T触发器的特征——(1)要保持y2n+1=0
,
可选方案有:
①C2=0,T2=Ф;②C2=“↑”,T2=0。(2)要保持y1n+1=0
,
与(1)同理,选方案①,方案②备用。(3)要使y0n+1由0翻到1,只有一种方案:C0=“↑”,T0=1。
选方案①,方案②备用。步骤4求激励函数、时钟函数和输出函数
关键:找各触发器所需的时钟驱动源,原则如下:找单一的信号源提供时钟,尽量避免将几个信号组合形成时钟。注意触发的因果关系。不能把自己的时钟引发的跳变又作为自己的时钟
注意利用备选方案。输入x现态y2y1y0次态y2n+1y1n+1y0n+1状态变化
时钟与激励C2T2C1T1C0T0输出Z↑00000100↑0Ф
0Ф↑10↑0010100↑↓0Ф
↑1
↑10↑01001101↑0Ф
0Ф↑10↑0111000↓↓↑1
↑1↑10↑100000↓00↑10Ф0Ф
↑(1)为各时钟寻找信号源
C0:启用备选方案,改C0=1
、T0=Ф为C0=↑、T0=0,使C0与x
一致。即:C0=x
C1:观察发现,令C1=满足触发要求(因“↓”不起触发作用)。即:C1=
C2:启用备选方案,改C2=1
、T2=Ф为C2=↑、T2=0,使C2与x
一致。即:C2=x
↑0↑0↑0↑0(2)求激励函数注意:激励函数是电平型的,在相关时钟跳变之前,必须为各触发器的激励端准备好到达指定的次态所需的激励量,以等待相关时钟跳变时向次态翻转。所以,应借助现态来产生激励函数。作卡诺图,化简:注意:T2的表达式较复杂,现将T2改为D触发器,以进一步简化电路:电路的输出为:步骤4画出电路并用MAX+plusⅡ仿真:异步时序逻辑特点:(1)可能得到比较简单的电路。(2)工作速度要比同步时序逻辑低。由于各触发器的时钟来自不同的途径,到达的时刻滞后于输入信号的长短不尽相同,整个电路完成一次状态转移花费时间必然要比同步时序逻辑的长。(3)在状态转移的过程中,各状态变量的改变有先有后,在未达到稳定之前,会出现短暂的过渡状态值或输出值。5.7时序逻辑设计举例
5.7.1序列检测器设计系列检测器的功能是,在串行传输的数据系列中找到特定的子系列。这一功能通常用于串行数据的定位。
例如,在如下数据系列中寻找子系列“110”,如找到,则输出高电平脉冲:数据系列:…011000101111010010…输出系列:…000100000000100000…数据系列中带下划线的数为“110”系列。设计一个串行数据检测电路,当连续输入3个或3个以上1时,电路的输出为1,其它情况下输出为0。例如:输入X 101100111011110输入Y 000000001000110例1建立原始状态图S0S1S2S3设电路开始处于初始状态为S0。第一次输入1时,由状态S0转入状态S1,并输出0;1/0X/Y若继续输入1,由状态S1转入状态S2,并输出0;1/0如果仍接着输入1,由状态S2转入状态S3,并输出1;1/1此后若继续输入1,电路仍停留在状态S3,并输出1。1/1电路无论处在什么状态,只要输入0,都应回到初始状态,并输出0,以便重新计数。0/00/00/00/0原始状态图中,凡是在输入相同时,输出相同、要转换到的次态也相同的状态,称为等价状态。状态化简就是将多个等价状态合并成一个状态,把多余的状态都去掉,从而得到最简的状态图。状态化简2状态分配3所得原始状态图中,状态S2和S3等价。因为它们在输入为1时输出都为1,且都转换到次态S3;在输入为0时输出都为0,且都转换到次态S0。所以它们可以合并为一个状态,合并后的状态用S2表示。S0=00S1=01S2=104选触发器,求时钟、输出、状态、驱动方程选用2个CP下降沿触发的JK触发器,分别用FF0、FF1表示。采用同步方案,即取:输出方程状态方程比较,得驱动方程:电路图5检查电路能否自启动6将无效状态11代入输出方程和状态方程计算:电路能够自启动。5.7时序逻辑设计举例
5.7.2计数器设计基本功能:记录某事件发生的次数。用一个脉冲表示某事件发生,由计数器统计收到了多少个脉冲。输出当前计数值,供用户随时读取。
clk
计数脉冲输入,也作为电路的同步时钟。data_out
计数值输出。δ
计数增量控制。δ=1:计数增1;δ=0:计数增2。+/-
加/减法计数控制。为1:计数增加;为0:计数减少。mod
计数模控制。Mod=0或1时,按不同的进制计数。data_in
计数初始值输入。load
计数初始值加载脉冲。carry_out
进位/借位输出。
carry_in
进位/借位输入。例5-5用JK触发器设计一个按自然态序变化的7进制同步加法计数器,计数规则为逢七进一,产生一个进位输出步骤1分析题意输入:clk——计数脉冲,兼作电路的同步时钟;输出:Q2Q1Q0
——当前计数值;
Y
——进位信号。电路类型:Moore型。步骤2建立原始状态图和状态表
计数器要求有7个记忆状态,且逢七进一。由此可以做出如图5-30所示的原始状态转移图。由于模7计数器必须要有7个记忆状态,所以不需要再简化。步骤3状态分配表中不存在状态等效对,故是最简状态表。共有7个状态,需要3个触发器。S0~S6的状态代码采用计数值000~110。
由于在状态转移表中111状态未出现(偏离状态),作任意项x处理,如表5-14所示表5-14例5-5状态转移表输入CP现态次态输出Y(t)
000000101001010020100110301110004100101051011100611000017111xxxx步骤4选触发器,求时钟、输出、状态、驱动方程因需用3位二进制代码,选用3个CP下降沿触发的JK触发器,分别用FF0、FF1、FF2表示
由于要求采用同步方案,故时钟方程为:由表5-14可以做出次态卡诺图及输出函数的卡诺图状态方程式输出方程式:与JK触发器的特性方程比较之得得驱动方程式步骤5检查电路能否自启动将无效状态111代入状态方程式(5-13)计算,可知111的次态为有效状态000,电路能够自启动步骤6画逻辑电路图5.7.3基于MSI器件实现任意模值计数器应用N进制中规模集成器件(MSI)实现任意模值M(M<N)计数分频器时,主要是从N进制计数器的状态转移表中跳越(N-M)个状态,从而得到M个状态转移的M计数分频器。通常利用中规模集成器件的清零端(复位法)和置数端(置数法)来实现。当中规模N进制计数器从S0状态开始计数时,计数脉冲输入M个脉冲后,N进制计数器处于SM状态。如果利用SM状态产生一个清零信号,加到计数器的清零瑞,使计数器返回到S0状态,这样就跳越了(N-M)个状态,从而实现模值为M的计数分频。1.复位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出口运输协议书范本
- 2025年中文信息处理平台项目合作计划书
- 心理健康趣味测试课件
- 结款委托协议书范本
- 2025年温控仪表合作协议书
- 2025年监测环境污染的卫星系统合作协议书
- 空中课堂拓展知识课件
- 二零二五版人工智能教育平台开发与合作购销合同教育科技
- 2025版公寓租赁合同(含社区健身房月卡赠送)
- 二零二五年度保障性住房买卖置换合同范本
- 园林景观设计(高职)全套教学课件
- 三年级下册面积单位换算练习100道及答案
- 2023劳动合同法全文劳动合同法正规版
- 放射科未来五年发展规划(2021-2025)
- 肺恶性肿瘤的护理查房
- 气动系统主要元件常见故障及排除方法
- 桥梁更换伸缩缝劳务分包合同
- 八年级上册语文课内文言文复习资料
- 2023青海师范大学孵化西宁大学招聘专任教师20人笔试备考试题及答案解析
- 广西2023年中信银行南宁分行春季校园招聘考试参考题库含答案详解
- 煤电公司准军事化管理宣传手册
评论
0/150
提交评论