1、Chapter 8 Sequential Logic Design Practices(时序逻辑设计实践)SSI Latches and Flip-Flops (SSI型锁存器和触发器)MSI Device:Counters,Shift Registers (MSI器件:计数器、移位寄存器)Others:Documents,Iterative,Failure and Metastability (其它:文档、迭代、故障和亚稳定性)8.1 Sequential-Circuit Documentation Standards(时序电路文档标准)General Requirements(一般要求)(
2、P479)Logic Symbols(逻辑符号):Edge-Triggered,Master/Slave Output (边沿触发、主从输出)Asynchronous Preset(at the Top)and Clear(at the Bottom)(异步预置(顶端)、异步清零(底端))8.1 Sequential-Circuit Documentation Standards(时序电路文档标准)State-Machine Description (状态机描述)Word descriptions,State tables,State Diagrams,Transition Lists (文字
3、、状态表、状态图、状态转移列表)Timing Diagrams and Specifications (时序图及其规范(P481))CLOCKHtLtclkt触发器输出触发器输出ffpdtcombt组合电路输出组合电路输出触发器输入触发器输入holdtsetupt建立时间容限建立时间容限setupcomb(max)(max)ffpdclktttt保持时间容限保持时间容限holdcomb(min)min(ffpdttt8.2 Latches and Flip-Flops(锁存器和触发器)SSI Latches and Flip-Flops1Q 1Q2Q2Q3Q3Q4Q4Q1,2C1D2D3,4C
4、3D4D74x375D LatchesPRD Q CLK QCLR74x74PRJ Q CLK K QCLR74x109PRJ Q CLK K QCLR74x112P484P484图图8-38-3引脚引脚Switch Debouncing(开关消抖)+5VSW_LDSWPush(开关闭合开关闭合)SW_LDSWPush(开开关闭合关闭合)First Contact(闭合第闭合第1次接触次接触)ContactBounce(触点触点抖动抖动)SW_LDSWIdeal Case(理想情况理想情况)SW_LSW0011SW_LSW0011Push(开关闭合开关闭合)0011SW_LSW0011SW_L
5、SW1100单刀双掷单刀双掷(SPDT,Single-pole,Double-throw)优点优点:1、使用芯片数少、使用芯片数少;2、不需要上拉电阻不需要上拉电阻;3、可以产生两种极性的输入信号、可以产生两种极性的输入信号.SW_LSWDSWPush(开关闭合开关闭合)P486 图图8-5问题:问题:q 为什么不应该同高速为什么不应该同高速CMOSCMOS器件一起使用?器件一起使用?QQLS QR Q+5V避免门输出发生瞬时短路避免门输出发生瞬时短路Bus Holder Circuit(总线保持电路)三态总线:任何时刻,最多只有一个输出可以驱动总线三态总线:任何时刻,最多只有一个输出可以驱动
6、总线没有没有输出去驱动总线,总线输出去驱动总线,总线“悬空悬空”,会如何?,会如何?造成流入器件输出端的电流过大造成流入器件输出端的电流过大解决办法:接上拉电阻到高电平解决办法:接上拉电阻到高电平问题:上拉电阻阻值的选取?问题:上拉电阻阻值的选取?过大,过大,RC时间常数大,转换时间慢时间常数大,转换时间慢过小,消耗的电流太多过小,消耗的电流太多Bus Holder Circuit(总线保持电路)ABCG1G2AG2BY0Y1Y2Y3Y4Y5Y6Y774x138EN1EN2_LEN3_LSRC0SRC1SRC2P0P1P7SDATA线路由高线路由高/低变为低变为悬空时,悬空时,总线保持原态总线
7、保持原态线路在高线路在高/低间低间转换时,转换时,总线通过电阻总线通过电阻R提供小电流提供小电流Multibit Registers and Latches(多位锁存器和寄存器)D QC QD QC QD QC QD QC QDIN3:0 WRDOUT3:0RD回顾:回顾:锁存器的应用锁存器的应用 多位锁存器多位锁存器寄存器(寄存器(register)共用同一时钟的多个共用同一时钟的多个D 触发器组合在一起触发器组合在一起通常用来存储一组通常用来存储一组相关的二进制数。相关的二进制数。4-bit Register(4位寄存器74x175)6 6位寄存器位寄存器7474x174x174P488P
8、488图图8-98-91D2D3D4DCLKCLR_L8-bit Register7474x374x374(三态输出)三态输出)P489P489图图8-108-10OE输出使能输出使能7474x377x377(时钟使能)(时钟使能)7474x273x273(异步清零)异步清零)CLK7474x374x374(输出使能)输出使能)7474x377x377(Clock Enable,Clock Enable,时钟使能)时钟使能)ENEN二选一多路复用结构二选一多路复用结构寄存器(寄存器(registerregister)和锁存器(和锁存器(latchlatch)有什么区别?有什么区别?寄存器:边沿
9、触发特性寄存器:边沿触发特性 锁存器:锁存器:C C有效期间输出跟随输入变化有效期间输出跟随输入变化74x374输出使能输出使能8位寄存器位寄存器74x373输出使能输出使能8位锁存器位锁存器8.4 Counter(计数器)Modulus:The number of states in the cycle (模:循环中的状态个数)A modulo-m counter,or sometimes,a divide-by-m counter (模m计数器,又称 m分频计数器)Any clock sequential circuit whose state diagramContain a Singl
10、e cycle.(状态图中包含有一个循环的任何时钟时序电路状态图中包含有一个循环的任何时钟时序电路)8.4 Counter(计数器)An n-bit binary counter(n位二进制计数器)S1S2S3SmS5S4ENENENENENENENENENENENENEN8.4 Counter(计数器)Modulus:The number of states in the cycle (模:循环中的状态个数)A modulo-m counter,or sometimes,a divide-by-m counter (模m计数器,又称 m分频计数器)Any clock sequential c
11、ircuit whose state diagramContain a Single cycle.(状态图中包含有一个循环的任何时钟时序电路状态图中包含有一个循环的任何时钟时序电路)8.4 Counter(计数器)An n-bit binary counter(n位二进制计数器)S1S2S3SmS5S4ENENENENENENENENENENENENEN计数器的分类按时钟:同步、异步按计数方式:加法、减法、可逆按编码方式:二进制、十进制BCD码、循环码计数器的功能计数、分频、定时、产生脉冲序列、数字运算本节内容行波计数器、同步计数器MSI型计数器及其应用二进制计数器状态的译码Ripple Co
12、unters(行波计数器)q 利用利用 T T 触发器实现:触发器实现:Q*=QQQT考虑二进制计数顺序:考虑二进制计数顺序:只有当第只有当第 i-1 i-1 位由位由1 10 0时,时,第第 i i 位才翻转。位才翻转。CLKQQTQQTQQTQQTQ0Q1Q2Q3CLKQ0Q1Q2CLKQQTQQTQQTQQTQ0Q1Q2Q3速度慢,速度慢,最坏情况,第最坏情况,第n位要经过位要经过 ntTQ 的延迟时间的延迟时间 异步时序异步时序Synchronous Binary Up Counters(同步二进制加法计数器)1 0 1 1 0 1 1+11 0 1 1 1 0 0在多位二进制数的末位
13、加在多位二进制数的末位加 1,仅当第仅当第 i 位以下的各位都为位以下的各位都为 1 时,时,第第 i 位的状态才会改变。位的状态才会改变。最低位的状态每次加最低位的状态每次加1都要改变。都要改变。EN QT Qq 利用有使能端的利用有使能端的 T T 触发器实现:触发器实现:Q*=ENQ+ENQ=EN Q通过通过EN端进行控制,端进行控制,需要翻转时,使需要翻转时,使 EN=1 ENi=Qi-1 Qi-2 Q1 Q0EN0=?1Synchronous Counter(同步计数器)1CLKQ0Q1Q2C如何加入使能端?如何加入使能端?Synchronous Counters with Enab
14、le Input(有使能端的同步计数器)CNTEN低位低位 LSB高位高位 MSB串行使能串行使能Synchronous Counters with Enable Input(有使能端的同步计数器)CNTEN并行使能并行使能高位高位 MSB低位低位 LSBSynchronous Binary Up Counters(同步二进制加法计数器)1 0 1 1 0 1 1+11 0 1 1 1 0 0在多位二进制数的末位加在多位二进制数的末位加 1,仅当第仅当第 i 位以下的各位都为位以下的各位都为 1 时,时,第第 i 位的状态才会改变。位的状态才会改变。最低位的状态每次加最低位的状态每次加1都要改
15、变。都要改变。对于对于D触发器:触发器:Q*=DDi=(Qi-1 Q1 Q0)QD Q CLK Q=EN Q考虑考虑 T 触发器:触发器:Q*=EN Qq 利用利用 D D 触发器实现:触发器实现:D0=1 Q=QCLKEN同步清零和预置数同步清零和预置数Q0Q1Q2Q3D0D1D2D3LD_LCLR_LA计数功能的电路计数功能的电路Qi*=(Qi-1 Q1 Q0)QQASynchronous Clear and Load(同步清零和预置数功能同步清零和预置数功能)P508 图图 8-31A 4-Bit Binary Counter 74x163(4位二进制计数器)CLR同步清零同步清零LD同
16、步预置数同步预置数RCO进位输出进位输出ENPENT使能端使能端进位输出清零进位输出清零A 4-Bit Binary Counter 74x163(4位二进制计数器)74x163的功能表的功能表01111CLK工作状态工作状态同步清零同步清零同步置数同步置数保持保持保持保持,RCO=0计数计数CLR_L LD_L ENP ENT0111 0 1 0 1 174x161异步清零异步清零7474x163x163工作于自由运行模式时的接线方法工作于自由运行模式时的接线方法自由运行的自由运行的163163可以用作可以用作2 2、4 4、8 8和和1616分频计数器分频计数器012345678910 1
17、1 12 13 14 150Other MSI Counters(其它MSI计数器)74x160、74x1621位十进制(BCD)加法计数器(异、同步清零)01234567890QAQBQCQDQC、QD都是十分频,但占空比不是都是十分频,但占空比不是50Other MSI Counters(其它MSI计数器)74x169可逆计数器74x160、74x1621位十进制(位十进制(BCD)加法计数器(异、同步清零)加法计数器(异、同步清零)UP/DNUP/DN=1 加法计数(升序)加法计数(升序)UP/DN=0 减法计数(降序)减法计数(降序)使能输入使能输入进位输出进位输出低电平有效低电平有效
18、ABCG1G2AG2BY0Y1Y2Y3Y4Y5Y6Y774x138EN1EN2_LEN3_LSRC0SRC1SRC2P0P1P7SDATA如何控制地址端自动如何控制地址端自动轮流选择输出轮流选择输出Y0Y7 计数器的应用计数器的应用二进制计数器状态的译码若在一次状态转移中有若在一次状态转移中有2 2位或多位计数位同时变化,位或多位计数位同时变化,译码器输出端可能会产生译码器输出端可能会产生“尖峰脉冲尖峰脉冲”功能性冒险功能性冒险01234567012 CLK 8 8位寄存器位寄存器还有更好的办法。还有更好的办法。改进:消除改进:消除“毛刺毛刺”Any Modulus Counter(任意模值计
19、数器)利用SSI器件构成 时钟同步状态机设计利用MSI计数芯片构成 利用n位二进制计数器实现模m计数器分两种情况考虑:m 2n 清零法、置数法清零法、置数法CLOCKHtLtclkt触发器输出触发器输出ffpdtcombt组合电路输出组合电路输出触发器输入触发器输入holdtsetupt建立时间容限建立时间容限setupcomb(max)(max)ffpdclktttt保持时间容限保持时间容限holdcomb(min)min(ffpdtttA Synchronous Binary Up Counter(同步二进制加法计数器)1 0 1 1 0 1 1+11 0 1 1 1 0 0在多位二进制数
20、的末位加在多位二进制数的末位加 1,仅当第仅当第 i 位以下的各位都为位以下的各位都为 1 时,时,第第 i 位的状态才会改变。位的状态才会改变。最低位的状态每次加最低位的状态每次加1都要改变。都要改变。Qi*=(Qi-1 Q1 Q0)QiQ0*=1 Q0A Synchronous Binary Up-Counter(同步二进制加法计数器)q 利用有使能端的利用有使能端的 T T 触发器实现:触发器实现:Q*=EN QENi=Qi-1 Qi-2 Q1 Q0q 利用利用 D D 触发器实现:触发器实现:Di=(Qi-1 Q1 Q0)QiQi*=(Qi-1 Q1 Q0)QiQ0*=1 Q0MSI
21、Counters(MSI计数器)74x161、74x1634-Bit Binary Up-Counters(with Asynchronous/Synchronous Clear)(4位二进制加法计数器(异、同步清零))74x160、74x1621-Bit Decade(BCD Code)Up-Counters(with Asynchronous/Synchronous Clear)(1位十进制(BCD)加法计数器(异、同步清零))MSI Counter(MSI计数器)74x1694-Bit Binary Up/Down Counter(4位二进制可逆计数器)计数器可以用作分频器ABCG1G2
22、AG2BY0Y1Y2Y3Y4Y5Y6Y774x138EN1EN2_LEN3_LSRC0SRC1SRC2P0P1P7SDATA如何控制地址端自动如何控制地址端自动轮流选择输出轮流选择输出Y0Y7 计数器的应用计数器的应用二进制计数器状态的译码若在一次状态转移中有若在一次状态转移中有2 2位或多位计数位同时变化,位或多位计数位同时变化,译码器输出端可能会产生译码器输出端可能会产生“尖峰脉冲尖峰脉冲”功能性冒险功能性冒险01234567012 CLK 8 8位寄存器位寄存器还有更好的办法。还有更好的办法。改进:消除改进:消除“毛刺毛刺”Any Modulus Counter(任意模值计数器)Real
23、ize a Modulo-m Counter with an n-bit Binary Counter (利用n位二进制计数器实现模m计数器)Any Modulus Counter(任意模值计数器)Consider two cases(分两种情况考虑):m 2nS0S1S2S3S4S12S11S10S9S8S7S6S5S13S14S15清零法、置数法清零法、置数法级联。级联。Cascading Counter(计数器的级联)CLOCKRESET_LLOAD_LCNTEND0D1D2D3Q4Q5Q6Q774x16374x163思考:利用低位的进位控制高位的时钟行不行?思考:利用低位的进位控制高位
24、的时钟行不行?Modulo-m Counter(模m计数器(m 2n))先进行级联,再整体置零或预置数例:用74x163构造模193计数器 两片163级联得8位二进制计数器(0255)采用整体清零法,0192 采用整体预置数法,63255 25619363(P512图8-40)若 m 可以分解:m=m1m2分别实现m1和m2,再级联6310=(0011 1111)2 CLKCLRLDENPENTA QAB QBC QCD QD RCO74x163 CLKCLRLDENPENTA QAB QBC QCD QD RCO74x16311001111+5VCLOCKCLR_L CLKCLRLDENPE
25、NTA QAB QBC QCD QD RCO74x163 CLKCLRLDENPENTA QAB QBC QCD QD RCO74x16311001111CLOCKCLR_L+5VQ4Q5Q6Q7ENAnalysis what the modulo of the following circuit is?(分析下面的电路的模为多少?)CLKCLRLDENPENTA QAB QBC QCD QD RCO74x163011+5VCLOCKQD QC QB QA0 0 0 00 1 1 00 1 1 11 0 0 01 1 1 01 1 1 1ExerciseExercise:Analysis wh
26、at the modulo of the following circuit is?(练习练习:分析下面的电路的模为多少?分析下面的电路的模为多少?)?CLKCLRLDENPENTA QAB QBC QCD QD RCO74x16301+5VCLOCK模模12计数器计数器QD:12分频分频占空比占空比508.5 Shift Register(移位寄存器)Serial Input(串行输入串行输入)SERINSEROUTSerial Output(串行输出串行输出)Serial-In,Serial-Out(串入串出移位寄存器串入串出移位寄存器)Can be used to delay aSign
27、al by n clock ticks(可以使一个信号延迟可以使一个信号延迟n n 个时钟周期之后再输出个时钟周期之后再输出)Serial-In,Parallel-Out Shift Register(串入并出移位寄存器串入并出移位寄存器)Serial-In(串入串入)SERIN1Q2QNQParallel-Out(并出并出)Can be used to perform Serial-to-Parallel Conversion(可以用来完成可以用来完成串并转换串并转换)Parallel-In,Serial-Out(并入串出移位寄存器并入串出移位寄存器)多路复用结构多路复用结构LOAD/SHI
28、FTSERINSEROUTParallel-In,Parallel-Out(并入并出移位寄存器并入并出移位寄存器)LOAD/SHIFTSERIN1Q2QNQMSI Shift Register(MSI移位寄存器)CLKCLRSERASERB74x164QAQBQCQDQEQFQGQH CLK CLKINHSH/LDCLRSERABCDEFGH QH74x166SERASERBP521 图图 8-504-Bit Universal Shift Register(4位通用移位寄存器74x194)CLKCLRS1S0LIND QDC QCB QBA QARIN74x194S1 S0 功能功能0 0
29、保持保持0 1 右移右移1 0 左移左移1 1 载入载入Left Shift Input:From QD to QA(左移输入左移输入)Right Shift Input:From QA to QD(右移输入右移输入)4-Bit Universal Shift Register(4位通用移位寄存器74x194)00S1S0保持保持S1 S0S1 S010左移左移01右移右移11载入载入P522 图图8-51Qi*=S1S0Qi+S1S0Qi-1+S1S0Qi+1+S1S0INiS1 S0 功能功能0 0 保持保持0 1 右移右移1 0 左移左移1 1 载入载入LIN QHHQHCLR GQG
30、CLK FQFS1 EQES0 DQDG1 CQCG2 BQBAQARIN QA74x299Use Bidirectional Three-State lines for Input and output(输入输出采用双向三态数据线输入输出采用双向三态数据线)P524 图图8-53 8-Bit Universal Shift Register 8-Bit Universal Shift Register(8(8位通用移位寄存器位通用移位寄存器)CLKCLRS1S0LIND QDC QCB QBA QARIN74x194 CLKCLRS1S0LIND QDC QCB QBA QARINCLKCL
31、RS1S0LINRIN移移位位寄寄存存器器的的扩扩展展ParallelParallelInputsInputs(并行输入并行输入(8 8位)位))ParallelParallelOutputOutput(并行并行输出输出8 8位位)Shift-Register Counters(移位寄存器计数器)D0=F(Q0,Q1,Qn-1)Feedback Logic(反反 馈馈 逻逻 辑辑)D Q CK QD Q CK QD Q CK QD Q CK QCLKFF0FF1FF2FF3General Structure(一般结构一般结构):Ring Counters(环型计数器)1000010000010
32、010有效状态有效状态其他状态其他状态D Q CK QD Q CK QD Q CK QD Q CK QCLKFF0FF1FF2FF31000010000010010D0 D1 D2 D3 非自启动的非自启动的无效状态无效状态D0=Qn-1有效状态有效状态无效状态无效状态D Q CK QD Q CK QD Q CK QD Q CK QCLKFF0FF1FF2FF31000010000010010D0 D1 D2 D3自启动的自启动的自校正的自校正的Twisted-Ring Counters(扭环计数器)D Q CK QD Q CK QD Q CK QD Q CK QCLKFF0FF1FF2FF3
33、D0=Qn-100001000110011101111011100110001无效无效Normal State Cycle(有效的状态循环有效的状态循环)Self-correcting(自校正)自校正)Johnson,Moebius CounterShift Register(移位寄存器)移位寄存器结构串入串出、串入并出、并入串出、并入并出MSI移位寄存器串入并出74x164、并入串出74x166通用移位寄存器74x194、74x299移位寄存器的应用用作计数器、序列发生器进行串/并转换Shift-Register Counters(移位寄存器型计数器)General Structure(一般
34、结构一般结构):反反 馈馈 逻逻 辑辑D0=F(Q0,Q1,Qn-1)Ring Counter Ring Counter(环形计数器环形计数器):1000010000100001最简单的:最简单的:D0=Qn-1反反 馈馈 逻逻 辑辑自校正的:自校正的:D0=(Qn-2+Q1+Q0)0111101111011110(Qn-2 Q1 Q0)D Q CK QD Q CK QD Q CK QD Q CK QCLKFF0FF1FF2FF3有效状态有效状态无效状态无效状态D Q CK QD Q CK QD Q CK QD Q CK QCLKFF0FF1FF2FF31000010000010010D0 D
35、1 D2 D3自启动的自启动的自校正的自校正的Twisted-Ring Counters(扭环计数器)D Q CK QD Q CK QD Q CK QD Q CK QCLKFF0FF1FF2FF3D0=Qn-100001000110011101111011100110001无效无效Normal State Cycle(有效的状态循环有效的状态循环)Self-correcting(自校正)自校正)Johnson,Moebius Counter修改成自启动的方法不影响有效循环无效循环中至少有一个状态能直接或间接进入有效循环电路应最简枝尽可能短检查修改后的状态图是否只有一个圈,若只有一个圈,则宣告成
36、功。否则,重复第二步,直到状态图只有一个圈,其余都是枝为止。Twisted-Ring Counters(扭环计数器扭环计数器):最简单的实现最简单的实现:D0=Qn-1D Q CK QD Q CK QD Q CK QD Q CK QCLKFF0FF1FF2FF31001010010101101011010110101001000001000110011101111011100110001NormalState(有效有效状态状态)AbnormalState(无效无效状态状态)如何得到自校正如何得到自校正的扭环计数器?的扭环计数器?Self-Correcting Design(自校正设计)dddd
37、ddddMinimal Cost(最小成本最小成本)1、确定有效的状态循环、确定有效的状态循环2、对无效状态进行处理,、对无效状态进行处理,使其进入有效循环。使其进入有效循环。Q0 Q1 Q2 Q31111000011110000Q0Q100 01 11 1000011110Q2Q3D0100001000110011101111011100110001有有效效无无效效100101001010110101101011010100101D0=Q3+Q2Q1=(Q2Q1)Q3)D0=Q3+Q2Q14-Bit 8-State Self-Correcting Johnson 4-Bit 8-State
38、Self-Correcting Johnson Counter(4Counter(4位位8 8状态自校正的状态自校正的JohnsonJohnson计数器计数器)Use an Universal Register to perform a Ring Counter(利用通用寄存器74x194实现环形计数器)Q0Q1Q2Q310CLOCKQ0Q1Q2Q3101000Q0Q1Q2Q3RESET(载入载入)Q0Q1Q2Q3CLOCKSelf-Correcting(自校正的自校正的)利用通用寄存器74x194实现扭环计数器 CLKCLRS1S0LIND QDC QCB QBA QARIN74x194+5
39、VCLOCKRESET_LS1S0接成左移形式接成左移形式自校正改进:自校正改进:(法一)(法一)D0=Q3+Q2Q1Q0Q1Q2Q3利用通用寄存器利用通用寄存器7474x194x194实现扭环计数器实现扭环计数器 CLKCLRS1S0LIND QDC QCB QBA QARIN74x194+5VCLOCKRESET_L自校正改进:自校正改进:(法二)利用置数(法二)利用置数每当电路出现每当电路出现0XX0下一状态就是下一状态就是0001D0=Q3+Q0Q0Q1Q2Q3Linear Feedback Shift-Register Counter(LFSR,线性反馈移位寄存器计数器)LFSR计数
40、器计数器 有有 2n-1 种有效状态种有效状态 最大长度序列发生器最大长度序列发生器反反 馈馈 逻逻 辑辑D Q CK QD Q CK QD Q CK QD Q CK QCLKFF0FF1FF2FF3移位寄存器型计数器的一般结构移位寄存器型计数器的一般结构利用反馈逻辑可以实现利用反馈逻辑可以实现 模模2 2模模16 16 的计数器的计数器RESET_LCLOCK奇校验电路奇校验电路全全0态的下一状态?态的下一状态?反馈方程反馈方程 P535 表表8-21LFSR计数器计数器 有有 2n-1 种有效状态种有效状态 最大长度序列发生器最大长度序列发生器Linear Feedback Shift-R
41、egister CounterLinear Feedback Shift-Register Counter(LFSR,(LFSR,线性反馈移位寄存器计数器线性反馈移位寄存器计数器)伪随机序列伪随机序列发生器发生器EN猜谜游戏机猜谜游戏机L1L4ERRG1G4CLOCK使能输入随机产生使能输入随机产生典型应用:产生逻辑电路的测试输入信号典型应用:产生逻辑电路的测试输入信号 用于检错及纠错码的编码和译码电路用于检错及纠错码的编码和译码电路LFSRLFSR计数器计数器Serial-to-Parallel Conversion(串/并转换)Source Module(源模块源模块)Destinatio
42、n Module(目的模块目的模块)控制控制电路电路控制控制电路电路并并-串串转换器转换器串串-并并转换器转换器(并行并行数据数据)(并行并行数据数据)(串行数据串行数据)SYNC(同步脉冲同步脉冲)Parallel-to-Serial Conversion(并串转换并串转换)CLK CLKINHSH/LDCLRSERABCDEFGH QH74x166D7D6D5D4D3D2D1D0并行数据并行数据 SDATACLOCKCLOCKSYNC CLKCLRLDENPENTA QAB QBC QCD QD RCO163 CLKCLRLDENPENTA QAB QBC QCD QD RCO163计计数
43、数低低位位计计数数高高位位时时隙隙数数位位数数RESET_L到到目目标标+5V CLKCLRSERASERB74x164QAQBQCQDQEQFQGQHSDATACLOCK CLKCLRLDENPENTA QAB QBC QCD QD RCO163 CLKCLRLDENPENTA QAB QBC QCD QD RCO163SYNC+5V CLKEN1D 1Q2D 2Q3D 3Q4D 4Q5D 5Q6D 6Q7D 7Q8D 8Q74x377并行并行数据数据位数位数+5V+5V串并转换串并转换Sequence Pulse Generator(顺序脉冲发生器)利用移位寄存器构成 注意自校正(环形计数
44、器 P530)利用计数器和译码器构成 注意“毛刺”(二进制计数器的状态译码 P513)CLKQ0Q1Q2Q3Serial Signal Generator(序列信号发生器)用于产生一组特定的串行数字信号例:设计一个 110100 序列信号发生器利用触发器利用计数器利用移位寄存器利用利用D D触发器设计一个触发器设计一个110100110100序列信号发生器序列信号发生器1、画状态转换图、画状态转换图2、状态编码、状态编码000101 表示表示 S0 S5S0S1S5S2S4S3/1/1/0/1/0/03、列状态转换输出表、列状态转换输出表0 0 00 0 10 1 00 1 11 0 01 0
45、 10 0 10 1 00 1 11 0 01 0 10 0 0Q2Q1Q0Q2*Q1*Q0*Y1101004、得到激励方程和输出方程、得到激励方程和输出方程 考虑未用状态的处理考虑未用状态的处理5、得到电路图、得到电路图用计数器和数据选择器构成用计数器和数据选择器构成序列信号发生器序列信号发生器74x163 CLKCLRLDENPENTA QAB QBC QCD QD RCOENABCD0D1D2D3D4D5D6D7YY74x151例:产生一个例:产生一个8位的序列信号位的序列信号 00010111+5V+5V序列序列信号信号输出输出用移位寄存器构成用移位寄存器构成序列信号发生器序列信号发生
46、器例:产生一个例:产生一个8位的序列信号位的序列信号 0001011110111000Q2Q1Q00 0 00 0 10 1 01 0 10 1 11 1 11 1 01 0 0D0Q2Q1Q0010001 11 10D01101001D=Q2Q1Q0+Q2Q1+Q2Q0 CLKCLRS1S0LIND QDC QCB QBA QARIN74x194+5VCLOCKRESET_LQ0Q1Q2Q3用移位寄存器构成用移位寄存器构成序列信号发生器序列信号发生器例:产生一个例:产生一个8位的序列信号位的序列信号 0001011110111000Q2Q1Q00 0 00 0 10 1 01 0 10 1
47、11 1 11 1 01 0 0D0D=Q2Q1Q0+Q2Q1+Q2Q0组合逻辑组合逻辑移位寄存器实现序列检测功能设计一个设计一个110串行序列检测电路,串行序列检测电路,利用移位寄存器实现利用移位寄存器实现 CLKCLRS1S0LIND QDC QCB QBA QARIN74x194+5VCLOCKRESET_LAZBZ当电路检测到当电路检测到输入输入A 连续出现连续出现110 时,时,输出输出Z为为1输入输入A 连续出现连续出现110,且输入且输入B为为1 时,时,输出输出Z为为1。8.6 Iterative versus Sequential Circuits(迭代与时序电路)PICI
48、COPOCLKRegister(寄存器寄存器)CLOCKPIjPOj串行比较器(串行比较器(P547)、)、串行加法器(串行加法器(P548)Space/Time Trade-off(空间与时间的折衷空间与时间的折衷)Others in Synchronous System Design(同步设计中的其他问题)8.7 Synchronous System Structure and Design Methodology (同步系统结构和设计方法)同步系统同步系统 分解分解 模块结构模块结构Data Unit (数据单元数据单元)+C Control Unit(控制单元控制单元)寄存器、计数器、
49、存储器寄存器、计数器、存储器产生控制信号(状态机)产生控制信号(状态机)Synchronous System Structure(同步系统结构同步系统结构)命令命令控制控制控制控制控制控制数据输入数据输入数据输出数据输出输输 入入输输 出出数据单元数据单元data unit控制单元控制单元control unit(状态机)(状态机)时钟时钟条件条件命命 令令控制控制控制控制控制控制数据输入数据输入数据数据 输出输出输输 入入输输 出出数据单元数据单元控制单元控制单元(状态机)(状态机)时钟时钟条件条件时钟时钟控制单元状态控制单元状态数据单元输出数据单元输出有效有效数据单元控制输入数据单元控制输
50、入有效有效数据单元条件数据单元条件有效有效控制单元激励输入控制单元激励输入数据单元结果输入数据单元结果输入Others in Synchronous System Design(同步设计中的其他问题)8.8 8.8 Impediments to Synchronous DesignImpediments to Synchronous Design (同步设计中的障碍同步设计中的障碍)Race and Hazards are not a problem in synchronous systems (竞争和冒险可以不考虑竞争和冒险可以不考虑(P548))Clock Skew(时钟偏移时钟偏移(P