第五章异步时序逻辑电路2组合逻辑电路存储电路x1xnZ1Zmysy1Y1YrCPXi(i=1~n):组合电路的外部输入信号Zj(j=1~m):组合电路的外部输出信号yk(k=1~s):组合电路的内部输入信号Yl(l=1~r):激励信号,组合电路的内部输出信号CP:时钟脉冲信号同步时序逻辑电路的结构Zi=fi(x1,x2,…xn,y1,y2,…,ys)Yi=gi(x1,x2,…xn,y1,y2,…,ys)输出函数激励函数5.1异步时序逻辑电路模型异步时序逻辑电路中没有统一的时钟脉冲信号,电路状态的改变是外部输入信号变化直接作用的结果。根据电路结构和输入信号形式的不同,异步时序逻辑电路可分为脉冲异步时序逻辑电路和电平异步时序逻辑电路两种类型。根据输入和输出之间的关系不同,Mealy型和Moore型两种结构模型。3脉冲异步时序逻辑电路(1)结构脉冲异步时序电路的一般结构如下图图中,存储电路可由时钟控制触发器或非时钟控制触发器组成。4(2)输入信号的形式与约束①输入信号为脉冲信号;②输入脉冲的宽度必须保证触发器可靠翻转;③输入脉冲的间隔必须保证前一个脉冲引起的电路响应完全结束后,后一个脉冲才能到来;④不允许两个或两个以上输入端同时出现脉冲。理由:因为客观上两个或两个以上脉冲是不可能准确地“同时”的,在没有时钟脉冲同步的情况下,由不可预知的时间延迟造成的微小时差,可能导致电路产生错误的状态转移。脉冲异步时序逻辑电路5注意由于不允许两个或两个以上输入端同时出现脉冲,加之输入端无脉冲出现时,电路状态不会发生变化。因此,对n个输入端的电路,其一位输入只允许出现n+1种取值组合,其中有效输入种取值组合为n种。即只需考虑各自单独出现脉冲的n种情况,而不像同步时序逻辑电路中那样需要考虑2n种情况。例如,假定电路有x1、x2和x3共3个输入,并用取值1表示有脉冲出现,则一位输入允许的输入取值组合只有000、001、010、100共4种,其中有效输入取值组合只有后3种情况。脉冲异步时序逻辑电路6(3)输出信号的形式脉冲异步时序逻辑电路的输出信号可以是脉冲信号也可以是电平信号。若电路结构为Mealy型,则输出为脉冲信号?因为输出不仅是状态变量的函数,而且是输入的函数,所以,输出一定是脉冲信号。若电路结构为Moore型,则输出是电平信号。?因为输出仅仅是状态变量的函数,所以,输出值被定义在两个间隔不定的输入脉冲之间,即由两个输入脉冲之间的状态决定。脉冲异步时序逻辑电路75.2脉冲型异步时序逻辑电路分析和设计5.2.1脉冲异步时序逻辑电路的分析分析步骤:(1)写出电路的输出函数和激励函数表达式;(2(3(4)用文字描述电路的逻辑功能(必要时画出时间图)。8脉冲异步时序逻辑电路分析与同步时序逻辑电路的主要区别:(1)当存储元件采用时钟控制触发器时,对触发器的时钟控制端应作为激励函数处理。分析时应特别注意触发器时钟端何时有脉冲作用,仅当时钟端有脉冲作用时,才根据触发器的输入确定状态转移方向,否则,触发器状态保持不变。(2)由于不允许两个或两个以上输入端同时出现脉冲,加之输入端无脉冲出现时,电路状态不会发生变化。因此,分析时可以排除这些情况,从而使分析过程和使用的图、表得以简化。5.2脉冲型异步时序逻辑电路分析和设计9例5.1分析如图所示的脉冲异步时序电路。&&Z1DC11DC1D1D2CP2CP1XQ2Q2Q110解:第一步列出激励函数和输出函数表达式D2=Q2CP2=x·Q1D1=Q2CP1=xZ=Q2Q1x11第二步做状态真值表001110101011011000110111111100110101Q1n+1ZQ2n+1D1CP1D2CP2Q1Q2x注意:何时有脉冲作用?触发器状态只有在脉冲作用下才会发生相应改变,否则保持不变!000112第三步做状态转移表和状态图xQ2Q1Q2n+1Q1n+1Z100010101110110100111001000111100/01/00/01/00/01/10/01/013第四步功能说明该电路为一个三进制计数器。当进入“10”状态时,电路处于挂起状态,需要进行调整14例5.2分析如图所示的脉冲异步时序逻辑电路。15&&&Zx2x1RSYY解:第一步写出激励函数和输出函数表达式。该触发器为非钟控RS触发器,故不需分析CP时钟脉冲。Z=x1yS=x1yR=x2y16第二步列状态真值表0001110000001011001010110001zyn+1SRyx2x1注意:脉冲异步电路不允许两个脉冲同时输入,因而2个输入脉冲,应有3种输入组合,其中2种有效输入组合,即10和0117第三步列状态表和状态图注意:由于在状态真值表中,只分析了x1x2取值为01和10的两个状态,在x1x2取值为00和11时应如何处理?1/1d/d0/01/01/0d/d0/00/010x1x2=10x1x2=11x1x2=01x1x2=00现态y次态/输出保持不变做无关项处理现态y次态/输出x1x201/00/011/10/001X1/0X2/0X1/1X2/018第四步功能描述X1脉冲检测器19练习分析如图所示异步脉冲时序电路。Y2Y1CP1T2T120例5.3分析如图所示的脉冲异步时序逻辑电路。&JKJKQ2Q11XZCP2CP1当时钟脉冲CP为下降沿时触发器被触发21解:该电路由两个J-K触发器和一个与门组成,有一个输入端x和一个输出端Z,输出是输入和状态的函数,属于Mealy(1)写出输出函数和激励函数表达式Z=xy2y1J2=K2=1;C2=y1J1=K1=1;C1=x22(2)列出电路次态真值表111111011000↓↓↓↓↓↓111111111111111100110110输入x状态y2y1激励函数CP2J2K2CP1J1K1次态y2n+1y1n+1注意:何时有脉冲作用?状态发生转移的时机?脉冲作用下,且为负跳变的瞬间!23(3)作出状态表和状态图根据次态真值表和输出函数表达式,可作出该电路的状态表、状态图。现态y2y1次态y2(n+1)y1(n+1)/输出Zx=10001101101/010/011/000/124(4)画出时间图并说明电路逻辑功能为了进一步描述该电路在输入脉冲作用下的状态和输出变化过程,可根据状态表或状态图分析出该电路的时间图。由状态图和时间图可知,该电路是一个模4加1计数器,当收到第四个输入脉冲时,电路产生一个进位输出脉冲。25例5.4分析如图所示的脉冲异步时序逻辑电路。J&KJKJKJK1x26解:第一步:列出激励函数和输出函数表达式J1=K1=1,CP1=xJ2=Q4,K2=1,CP2=Q1=CP4J3=K3=1,CP3=Q2J4=Q2Q3,K4=127000111111↓11↓11↓11101111011111111101101011011111↓1110↓10101101011111111000101001011111↓11↓10↓11001110011111111001001010011111↓1110↓10001100011111111000001Q4Q3Q2Q1CP1J1K1CP2J2K2CP3J3K3CP4J4K4Q4Q3Q2Q1x第二步列出状态转移真值表↓↓↓↓↓↓↓↓J1=K1=1,CP1=xJ2=Q4,K2=1,CP2=Q1=CP4J3=K3=1,CP3=Q2J4=Q2Q3,K4=1注意:当CP为下降沿时,触发器状态才会发生相应改变,否则保持不变!请同学们将表格补全28第三步画出状态表和状态图第四步功能描述模16加1计数器1110111100100011000101000000010101100111100010011010101111001101295.2.2脉冲异步时序逻辑电路设计1、设计脉冲异步时序逻辑电路设计的方法与同步时序逻辑电路设计大至相同。但由于在脉冲异步时序逻辑电路中没有统一的时钟脉冲信号,以及对输入脉冲信号的约束,所以在某些步骤的处理细节上有所不同。305.2.2脉冲异步时序逻辑电路设计应注意两个问题:由于不允许两个或两个以上输入端同时为1(用1表示有脉冲出现),设计时可以作如下处理:当有多个输入信号时,只需考虑多个输入信号中仅一个为1的情况,从而使问题的描述得以简化。在确定激励函数和输出函数时,可将两个或两个以上输入同时为1的情况作为无关条件处理,从而有利于函数的简化。当采用带时钟控制端的触发器时,触发器的时钟端应作为激励函数处理。31各触发器的异步时序电路激励表QQ(n+1)CPD00d00d0111101011d10dQQ(n+1)CPJK00d0d0dd0111d101d111dd00ddQQ(n+1)CPT00d00d0111101111d00dQQ(n+1)CPRS00dd00dd011011011011d0d0ddRS触发器D触发器JK触发器T触发器从表中可知,当所求触发器状态保持不变时,有两种不同的处理方法:一是令CP为d,输入端取相应值;二是令CP为0,输入端取任意值;若使触发器状态发生改变,输入端为相应值且CP取指必为1。32例如,当要使D触发器维持0不变时,可令CP为d,D为0;也可令CP为0,D为d。显然,这将使激励函数的确定变得更加灵活,究竟选择哪种处理方法,应看怎样更有利于电路简化。一般选CP为0,输入任意,因为这样显得更清晰。5.2.2脉冲异步时序逻辑电路设计332、步骤设计过程与同步时序电路相同,具体如下:(1)形成原始状态图和状态表;(2)状态化简;(3)状态编码;(4)确定激励函数和输出函数;(5)画逻辑电路图5.2.2脉冲异步时序逻辑电路设计34例5.5设计一个脉冲异步时序电路,该电路有3个输入x1、x2和x3,一个输出Z。当电路接收到输入脉冲序列x1-x2-x3时,输出Z由0变为1,其后出现输入脉冲x2时,输出Z才由1变为0。电路的典型输入、输出波形如图所示。35解:(类似于同步时序电路的序列检测器)第一步做原始状态图和状态表首先,有典型序列可以看出,输入x序列为脉冲信号,但输出Z为电平信号,故电路采用Moore型电路设计。设状态初始状态为A,若输入x1,则由B状态记忆,输入x2,创建新状态C,输入x3,有D状态记忆,且输出为1。注意:三个输入,同一时刻只有一个输入为有效值。36A/0B/0C/0D/1x1x2x3x1x3x2x3x2x1x1x3x2yx1x2x3ZABAA0BBCA0CBAD0DDAD137第二步状态化简该状态表已是最小化状态表。第三步状态编码4个状态需由2位编码表示y2y1010AD1BCy2y1x1x2x3Z000100000010111000110100100101000101y2y1111110101x1100011x2010x3001000Z00dddddd01dd000000001dddddd01dd110001011dddddd01dd001011010dddddd10dd001010138第四步确定激励函数和输出函数表达式y2y1x1CP2D2CP1D1x2CP2D2CP1D1x3CP2D2CP1D1Z00010d1100D00d000dd000101d0d111110d000d1001101100d001010100d10010100d0d0010d0100dd01100010001000d001d101111010010100010001d0d01d00dd0d10001000110dd010110dd1000100011d01d0d00d00x1x2x3y2y1CP2=x1y1+x2D2=x2y2y1CP1=x1y2+x2y2+x3CP1=x1CP2D2CP1D139第五步根据函数式画电路图。40例5.6设计一个脉冲异步时序逻辑电路,该电路用来检测“X1-X2-X2”序列检测器,该电路仅在“X1-X2-X2”序列出现时产生输出Z=1。41解:第一步做原始状态图和原始状态表CABx