数字设计 第七章 时序逻辑设计原理_第1页
数字设计 第七章 时序逻辑设计原理_第2页
数字设计 第七章 时序逻辑设计原理_第3页
数字设计 第七章 时序逻辑设计原理_第4页
数字设计 第七章 时序逻辑设计原理_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

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

文档简介

Chapter7

sequentiallogicdesignprinciplesstate,statevariablelatches,flip-flopsanalysissynthesissequentialcircuitCombinationalLogicStorageElementsInputsOutputsStateNextStatetheoutputsdependnotonlyonitscurrentinputs,butalsoonthepastsequenceoftime,possiblyarbitrarilyfarbackintime.Someimportantconceptsstateandstatevariable

state:collectionofstatevariable,containalltheinformationaboutthepastnecessarytoaccountforthecircuit’sfuturebehavior.

statevariable:thesymbolrepresentationofstate.finite-statemachinethestatesofasequentialcircuitisalwaysfinite.nstatevariables2npossiblestatesSomeimportantconceptsclockaclocksignalisasignalusedtocoordinatetheactionsoftwoormoresequentialunits.clockedsynchronousstatemachineallmemoryofthesequentialcircuitchangesonlyonaclockedgeorsignallevel.coordinatebysignallevelHLcoordinatebysignalrisingedgeorfallingedge7.1BistableElementOutputvariable:Q,Q_L,且Q_L=Q’Twostablestate:

Q=0、Q_L=1Q=1、Q_L=0feedback12QisthestatevariableanalysiswithtransfercharacteristicVOUT=T(VIN)VO1=VI2VI1=VO2stablemetastablestableINV1INV2VINVOUT7.2LatchesandFlip_FlopsbasicbuildingblockbeclassifiedasS-R、D、T、J-Ktypesdefinition:latch:watchesthecircuit’sinputscontinuouslyandcanchangestheoutputsatanytime.flip-flops:samplesthecircuit’sinputsandchangestheoutputonlywhenaclockingsignalischanging.1、S—RLatchesS-RlatchbuiltwithNORgatesQ=QN’=Q_L’holdresetsetforbidden12thestoredbitispresentontheoutputQ.SRQQ_L00LastQlastQ_L010110101100SandR:activehighsignalFunctiontable进入亚稳态(2)symbolandcharacteristicequationSRQQQSRQ*000000100101011d100110101101111dS=R=1,restrictedcombination

characteristicequationforS-Rlatch:Q*=S+R’Q(S·R=0)currentstatenextstate(3)minimumpulsewidththetimeofactivelevelofSorRmustbekeepinglongerthanminimumpulsewidth,pagationdelayisexistwhenatransitiononSorRinputproduceatransitiononanoutputsignal.S2、S-RlatchbuiltwithNANDgatesS_LR_LQQ_L00110110100111LastQlastQ_LS_L、R_L:activelowsignalsS_LR_LQ_LQSRQQholdresetsetforbidden3、S-RlatchwithenableSCRQQmetastablestillexistforbidden4、Dlatch保持RScharacteristicequation

Q*=D(C=1)transferdatatransparentlyDCQQwhenC=0,thedataislatchedonQ.timingdiagramdatatransfereddatalatchedifDchangesduringthetholdandtsetup,theoutputmaybecomemetastable.5、Edge-TriggeredDFlip-FlopsEdge-Triggered:outputofflip-flopchangesontheclocksignal’srisingedgeorfallingedge.positiveedge

(risingedge)negativeedge

(fallingedge)CLOCKpositive-edge-triggeredDflip-flopmaster-slavestructureCLK=0,QM=D,USholdlastQ;Attheclock’srisingedge,USenable,UMholdlastQM,Q=QM;CLK=1,UMholdlastQM,soQholdlastQ。UMUSOnlyattherisingedgeofclocksignal,DinputcouldbetransferredtoQoutput.Dynamic-inputindicator,meaningedge-triggered.OthersDCLKQQCLRPRPR_L:presetCLR:clearNegative-edge-triggeredDflip-flopedge-triggeredDflip-flopwithasynchronousinputsAsynchronousinputs:forcetheoutputtogointoacertainstatewithignoringthetriggeringedgeofclock.6、edge-triggeredDflop-flopwithenablecharacteristicequation

:Q*=EN·D+EN’·QDENCLKQQ_L01011110×0lastQlastQ_L××0lastQlastQ_L××1lastQlastQ_LfrequencydividerwithDf-fsinput(frequency,fin)output(frequency,fout)divide-by-2dividerDQQCLK7、scanflip-flopTE=1,testoperationmode,f-fstakeTIdata.TE=0,normalDf-f-s,takeDdata.DCLKQQTITENormalinputTestenableTestinput8、master/slaveS-R触发器Q*=S+R’Q(S·R=0)C=1,masterlatchfollowstheS-Rinput;Cgoesto0,Qoutputthefinallatchedvalueofmasterlatch.Itisnotedge-triggeredf-fs,butpulse-triggered.SCRQQSCRQQSRCQQ_LQMQM_LMasterSlaveSCRQQCSRQMQM_LQQ_LTimingdiagramofS-Rf-fs9.master/slaveJ-Kflip-flopstuctureJKCQQ_LfeedbackSCRQQSCRQQQMQM_LSMRMC=1,masterlatchfollowtheinput;Cgoesto0,Qoutput(slavelatch)thefinallatchvalue.MasterSlaveJKflip-floptimingdiagramJKCQQ_LfeaturesJKCQQ_L××0lastQlastQ_L00lastQlastQ_L0101101011lastQ_LlastQresetsettoggleholdPulse-triggeredf-f-sJCKQQCharacteristicequations

:Q*=JQ’+K’QEliminatethepossiblemetastablewhichexistintheS-Rf-fs(restrictedinput,S=R=1).But,1scatchingand0scatchingareexist.hold1scatchingC=1,当上次Q=0,当前JK=0×时,若J有1的出现,触发器会捕捉到这一变化,置Q=1。以后,J有1到0的变化,电路不会响应。0scatching当上次Q=1,当前JK=×0时,若K有1的出现,触发器会捕捉到这一变化,置Q=0。以后,K有1到0的变化,电路不会响应。10、Edge-triggeredJ-KFlip-Flopsampletheinputsandchangetheoutputstateattheedgeofclock。characteristicequations:Q*=JQ’+K’Q

eliminatethe“1scatching”and“0scatching”.JCLKKQQJCLKKQQ11、TFlip-FlopT:togglefunctionaltableCLKTQQ*1011100×保持symbolTQQCLKcharacteristicequation:Q*=TQ’+T’QImplementationContributebyDorJ-Kf-fs.JCLKKQQCLKQ_LQTQ_LCLKQDCLKQQTTFlip-FlopwithenableEN=1,normalTflip-flop;EN=0,holdthelastvalueENQQTCLKsummary:latchesandflip-flopslabelbystructure:latches:S-R、Dlatchesflip-flops:S-R、D、J-K、Tflip-flopslabelbytriggeringform:pulse-triggered、edge-triggeredonelatchorflip-flopisastorageelements,whichcanstoreonebit(0or1).italsoactasastatevariable,andmorestorageelementscanbecombinedtostoremorebitswhichusedtomemorystatesinsequentialcircuit.summary:characteristicequationS-RlatchDlatchDflip-flopDflip-flopwithenableM/SS-Rflip-flopM/SJ-Kflip-flopedge-triggeredJ-Kflip-flopTflip-flopQ*=S+R’·Q(S·R=0)Q*=DQ*=DQ*=EN·D+EN’·QQ*=S+R’·Q(S·R=0)Q*=J·Q’+K’·QQ*=J·Q’+K’·QQ*=TQ’+T’Q7.3clockedsynchronousstate-machineanalysisemphases:Basicstructure—MealymachineandMooremachine.understandactionofeachmoduleandtheirequations,tables.analysiswithDf-fs1、stucture(1)MealymachineNext-statelogic

F

statememory

clockOutputlogic

GinputsexcitationCurrentstateoutputsClocksignalconstructbyanalogcircuit,theoutputsignalistheexcitationinputofstorageelement.nextstate=

F(currentstate,input)constructbyflip-flops,canstore2nstateatmostconstructbyanalogcircuit,output=

G(currentstate,input)返回(2)MooremachineNext-statelogic

F

statememory

clockOutputlogic

GPS:

output=G(currentstate)inputsClocksignalexcitationCurrentstateoutputs2.analysisexamplestatevariable:Q0、Q1excitation:D0、D1output:MAXD0=F(EN,Q1,Q0)=[(EN·Q0’)’]’+[(EN’·Q0)’]’=EN·Q0’+EN’·QOD1=F(EN,Q1,Q0)=EN’·Q1+EN·Q1’·Q0+EN·Q1·Q0’excitationequationCharacteristicequationofDf-fs:Q*=DTransitionequation:Q1*=D1=EN’·Q1+EN·Q1’·Q0+EN·Q1·Q0’Q0*=D0=EN·Q0’+EN’·QOtransitionequationTransitiontableandstatetableQ1Q0EN01000001010110101011111100Q1*Q0*Transitionequation

:Q1*=EN’·Q1+EN·Q1’·Q0+EN·Q1·Q0’Q0*=EN·Q0’+EN’·QOCurrentstateSEN01AABBBCCCDDDAS*TransitiontableStatetableAssignstatenametoeachstate:Q1Q0S

00A

01B

10C

11DCurrentstateinputNextstateMAX=EN·Q1·Q0OutputequationENMAXQ1Q0EN010000,001,00101,010,01010,011,01111,000,1Q1*Q0*,MAXSEN01AA,0B,0BB,0C,0CC,0D,0DD,0A,1S*,MAXTransition/outputtablestate/outputtableTransition/outputtable,state/outputtableADCBSEN01AA,0B,0BB,0C,0CC,0D,0DD,0A,1S*,MAXEN=0MAX=0EN=1MAX=0EN=0MAX=0EN=1MAX=0EN=0MAX=0EN=1MAX=0EN=0MAX=0EN=1MAX=1ShowthetransitiondirectionofcurrentstateStatediagramQ1Q0Statevariablecombinationcanbewriteinthecircledirectly.00111001EN=0MAX=0EN=1MAX=0EN=0MAX=0EN=1MAX=0EN=0MAX=0EN=1MAX=0EN=0MAX=0EN=1MAX=1注意:有限状态机的时序分析必须以时钟周期为单位依序进行。TimingdiagramAnalysisofMooremachingexcitationequationandtransitionequationarechangelessMAXS=Q1·Q0Q1Q0ENMAXS

010000010010110010101101111001Q1*Q0*

(次态)SENMAXS01AAB0BBC0CCD0DDA1S*transitiontableindependentofinputvaluesstatetableA

MAXS=0D

MAXS=1C

MAXS=0B

MAXS=0EN=0EN=1EN=0EN=1EN=0EN=1EN=0EN=1showoutputvalueinsidethecirclestatediagram例1、2的时序对比分析statetransitionfeaturetransitionexpressiononarcsleavingaparticularstatemustbemutuallyexclusiveandallinclusive.Notwotransitionexpressionscanequal1forthesameinputcombination;Foreverypossibleinputcombination,sometransitionexpressionmustequal1.S1I1SiS1SnIiIntransitionexpression……3、analysiswithJ-Kflip-flops(1)excitationequation:J0=K0=1J1=K1=X⊕Q0(2)transitionequation:Q0*=J0·Q0’+K0’·Q0=Q0’Q1*=J1·Q1’+K1’·Q1

=X⊕Q0⊕Q1CP1XJ0K0J1K1Q0Q1ZJCLKKQQJCLKKQQ(3)outputequation:Z=Q0·Q1XZQ1Q0010001110011000010110101100101Q1*Q0*(4)transition/outputtableandstate/outputtableXZS01ABD0BCA0CDB0DAC1S*assignstatename:Q1Q0S

00A

01B

10C

11DA

Z=0D

Z=1C

Z=0B

Z=0X=1X=0XX’XX’XX’statediagramCPtimingdiagramXQ1Q0ZExp3:analyzethefollowingcircuitTQQCLK

XCLKZ(1)excitationequation:T1=XT2=X·Q1T1T2Q1Q2(2)transitionequation:Q1*=T1·Q1’+T1’·Q1=X·Q1’+X’·Q1Q2*=T2·Q2’+T2’·Q2=X·Q1·Q1’+(X·Q1)’·Q1(3)outputequation:Z=X·Q1·Q2TQQCLK

7.4同步时序状态机的设计提取输入/输出变量、状态,构造状态/输出表最小化状态的个数(可选)状态赋值建立转移/输出表选择一种触发器构造激励表由激励表导出激励方程由转移/输出表推导出输出方程画出逻辑电路图Exp1:sequence-detectordesignDesigna“110”sequence-detector.whenserialinputbinarynumberincludecontinuous“110”sequence,thecircuitoutput1.synthsisbyDflip-flops.thatis

inputP:outputC:solution1:Mooremachine(1)inputandoutputvariableinput:P(每次给电路送一个二进制数码)output:C(表明检测的结果,1位)state:01100101110100001000000100firstinputExp1:sequence-detectordesign定义状态:S0—收到的是0S1—收到的是1S2—收到连续的11S3—收到连续的11001100101110100001000000100P:C:目标:检测110SPC01S0S0S10S1S0S20S2S3S20S3S0S11S*state/outputtable(2)最小化状态的个数(3)状态的分配(状态的赋值)n个状态变量2n个状态。S个状态需(?)个状态变量(触发器)来表达需要触发器:m=2,令为Q0、Q1分配状态变量组合给已命名的状态:S:S0S1S2S3Q1Q0:00011011(4)建立转移/输出表用已赋值的状态变量代替状态/输出表中的状态名Q1Q0PC010000010010010010111001100011Q1*Q0*S0S1S2S3(5)选择触发器并构建激励表(用于建立次态逻辑电路)此处选择D触发器Q1Q0PC010000010010010010111001100011D1D0QQ*D000011100111QDQ*000011100111功能表应用表激励表应用方程:D=Q*代入转移/输出表(6)导出激励方程:由激励表,以Di的值作为输出,Q1、Q0、P的值作为输入,建立卡诺图,推导激励方程。10101000PQ1Q0Q1Q0D101011000PQ1Q0Q1Q0D0D1=Q1·Q0’+Q1’·Q0·PD0=Q1·Q0’·P+Q1’·Q0’·P+Q1·Q0·P(7)导出输出方程从转移/输出表得C=Q1·Q0Q1Q0PC010000010010010010111001100011Q1*Q0*思考:若状态赋值时,采用gray码顺序给各状态赋值,则电路是怎样的?解(二):建立Mealy型的同步时序状态机(1)定义状态S0—收到的是0,C=0

S1—收到的是1,C=0S2—收到连续的11,C=0S3—收到连续的110,C=1(2)建立状态/输出表SP01S0S0,0S1,0S1S0,0S2,0S2S3,1S2,0S3S0,0S1,0S*,C(3)最小化状态个数S0和S3是等价状态,消去S3,得简化的状态/输出表SP01S0S0,0S1,0S1S0,0S2,0S2S3,1S2,0S3S0,0S1,0S*,CS0(4)状态的赋值

所需触发器个数:

命名Q1、Q0

Q1Q0=00,01,10,11

S=S0,S1,S2

任选其中3个分配给已知状态。如,

S0—00,S1—01,S2—11

Q1Q0=10,是未用状态Q1Q0P010000,001,00100,011,01100,111,010??Q1*Q0*,C建立转移/输出表对未用状态的处理Q1Q0P010000,001,00100,011,01100,111,01000,000,0Q1*Q0*,CQ1Q0P010000,001,00100,011,01100,111,010dd,ddd,dQ1*Q0*,C①最小风险法②最小成本法(5)选触发器并导出激励表按最小成本法处理,触发器选用J-K触发器,QQ*JK000d011d10d111d0J-K触发器的应用表Q1Q0P01000d,0d,00d,1d,0010d,d1,01d,d0,011d1,d1,1d0,d0,010dd,dd,ddd,dd,dJ1K1,J0K0,C激励表(6)导出激励方程J1=P·Q0K1=P’J0=PK0=P’(7)导出输出方程C=Q1·P’课堂练习试写出如下电路的激励方程和转移方程。U1A74LS74D1D21Q5~1Q6~1CLR11CLK3~1PR4U2B74LS74D1D21Q5~1Q6~1CLR11CLK3~1PR4U3A74LS08DU4B74LS08DU5A74LS32DU6B74LS32DU7A74LS386DU8B74LS386DQ1Q0YXD0D1CLKD1=X⊕Q0⊕Q1D0=X·Q0+Q1Q1*=D1Q0*=D0Y=X+Q1·Q0时钟同步状态机设计—状态表设计设计问题:设计一个具有2个输入(A和B)1个输出(Z)的时钟同步状态机,Z为1的条件是:—在前2个脉冲触发沿上,A的值相同;或者—从上一次第1个条件为真起,B的值一直为1。否则,输出为0。(原文:DesignamachineinputsAandBwithoutputZthatis1if:AhadthesamevalueatthetwopreviousticksBhasbeen1sincethelasttimetheabovewastrue)1、确定电路可能有的状态电路开始工作,设置INIT状态,Z=0状态A0,A收到一个0,……,Z=0状态A1,A收到一个1,……,Z=0状态OK0,A收到连续的两个0,Z=1状态OK1,A收到连续的两个1,Z=1状态A001,A收到连续的两个0后,收到1,同时B=1,Z=1状态A110,A收到连续的两个1后,收到0,同时B=1,Z=1状态AE10,A已经收到过连续的00或11,收到连续的10,同时B=1,Z=1状态AE01,A已经收到过连续的00或11,收到连续的01,同时B=1,Z=1电路开始工作,设置INIT状态,Z=0状态A0,A收到第一个0,Z=0状态A1,A收到第一个1,Z=0状态OK0,A收到连续的两个0,Z=1状态OK1,A收到连续的两个1,Z=1状态A001,A收到连续的两个0后,收到1,同时B=1,Z=1状态A110,A收到连续的两个1后,收到0,同时B=1,Z=1状态AE10,A已经收到过连续的00或11,收到连续的10,同时B=1,Z=1状态AE01,A已经收到过连续的00或11,收到连续的01,同时B=1,Z=1SABZ00011110INITA0A0A1A10A0OK0OK0A1A10A1A0A0OK1OK10OK0OK0OK0A001A11OK1A0A110OK1OK11A001A0AE10OK1OK11A110OK0OK0AE01A11AE10OK0OK0AE01A11AE01A0AE10OK1OK11S*SABZ00011110INITA0A0A1A10A0OK0OK0A1A10A1A0A0OK1OK10OK0OK0OK0A001A11OK1A0A110OK1OK11A001A0AE10OK1OK11A110OK0OK0AE01A11AE10OK0OK0AE01A11AE01A0AE10OK1OK11S*等价状态,消去AE10等价状态,消去AE01SABZ00011110INITA0A0A1A10A0OK0OK0A1A10A1A0A0OK1OK10OK0OK0OK0A001A11OK1A0A110OK1OK11A001A0A110OK1OK11A110OK0OK0A001A11S*等价状态,消去A001等价状态,消去A110SABZ00011110INITA0A0A1A10A0OK0OK0A1A10A1A0A0OK1OK10OK0OK0OK0OK1A11OK1A0OK0OK1OK11S*最小化状态个数的状态表状态赋值:将一个特定的二进制组合赋给一个已定义的状态。需要的触发器个数(状态变量):得m=3,可提供8个二进制组合(状态编码)从8种编码中选择5个,有种方法,

将5个编码赋给5个状态有5!种方式,一共6720种。依赖经验和实践指南完成状态的赋值。建立转移/输出表、激励表,选定D触发器,导出激励方程、输出方程Q1Q2Q3ABZ0001111000010010010110101001101101011010101100100111111011011011011110111111001101111111D1*D2*D3*Q1Q2Q3ABZ0001111000010010010110101001101101011010101100100111111011011011011110111111001101111111Q1*Q2*Q3*建立转移/输出表、激励表,导出激励方程、输出方程Q1Q2Q3ABZ0001111000010010010110100010100111001101101011010101100100111111011011011011110111111001101111111D1*D2*D3*对未用状态的处理:(p.414)最小风险法:给未用状态的次态定义一个明确的已用状态。最小成本法:假设电路正常工作,不会进入未用状态,忽略未用状态的次态,视为“无关项”。?Q1Q2Q3ABZ0001111000010010010110100010010001101001101101011010101100100111111011011011011110111111001101111111D1*D2*D3*0000111100011110D100000000ABQ2Q300011110Q1=0D1111111110001111011111111ABQ2Q300011110Q1=1最小风险D1=Q1+Q2’Q3’Q1Q2Q3ABZ000111100001001001011010001d010d011d1001101101011010101100100111111011011011011110111111001101111111D1*D2*D3*dddd111100011110D1ddddddddABQ2Q300011110Q1=0D1111111110001111011111111ABQ2Q300011110Q1=1最小成本D1=1注:采用最小风险法,除了未用状态的次态被赋予已定义的状态,对应于未用状态的输出函数值也应该置为0。采用最小成本法,未用状态的次态和输出函数值都是无关项。上例的输出函数:

最小风险法:Z=Q1·Q2

最小成本法:Z=Q2最小成本法的逻辑电路最小风险法的逻辑电路选用J-K触发器进行综合(自学)例2、‘1’计数器要求:设计一个有2个输入(X和Y)以及1个输出Z的同步时序状态机,复位后,当X和Y输入1的个数为4的整数倍时,输出为1,否则输出为0。(designaclockedsynchronousstate-machinewithtwoinputsXandY,andoneoutputZ,theoutputshouldbe1ifthenumberof1inputsonXandYsinceresetisamultipleof4,and0otherwise.)X01001110010Y00110011001Z11定义状态:每个状态要同时记录X和Y输入1的个数,定义:S0—复位后,X和Y输入的1的个数是0S1—复位后,X和Y输入的1的个数是1S2—复位后,X和Y输入的1的个数是2S3—复位后,X和Y输入的1的个数是3S4—复位后,X和Y输入的1的个数是4……只要记录X和Y输入的1的个数N模4的结果即可。NMOD4=0,—Z=1——S0NMOD4=1,—Z=0——S1NMOD4=2,—Z=0——S2NMOD4=3,—Z=0——S3SXYZ00011110S0S0S1S2S11S1S1S2S3S20S2S2S3S0S30S3S3S0S1S00S*1、状态/输出表:2、化简状态的个数:无等价状态3、状态赋值及

温馨提示

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

最新文档

评论

0/150

提交评论