版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1Chapter8SequentialLogicDesignPractices
(时序逻辑设计实践)SSILatchesandFlip-Flops(SSI型锁存器和触发器)MSIDevice:Counters,ShiftRegisters(MSI器件:计数器、移位寄存器)Others:Documents,Iterative,FailureandMetastability(其它:文档、迭代、故障和亚稳定性)DigitalLogicDesignandApplication(数字逻辑设计及应用)28.1Sequential-CircuitDocumentationStandards(时序电路文档标准)8.1.1GeneralRequirements
(一般要求)8.1.2LogicSymbols(逻辑符号):Edge-Triggered,Master/SlaveOutput
(边沿触发、主从输出)AsynchronousPreset(attheTop)andClear(attheBottom)(异步预置(顶端)、异步清零(底端))DigitalLogicDesignandApplication(数字逻辑设计及应用)38.1Sequential-CircuitDocumentationStandards(时序电路文档标准)8.1.3State-MachineDescription(状态机描述)Worddescriptions,Statetables,StateDiagrams,TransitionLists
(文字、状态表、状态图、状态转移列表)8.1.4TimingDiagramsandSpecifications
(时序图及其规范)DigitalLogicDesignandApplication(数字逻辑设计及应用)4CLOCK触发器输出组合电路输出触发器输入建立时间容限保持时间容限即:组合电路输出(触发器激励)必须在触发器输入要求的建立时间之前到达。5CLOCK触发器输出组合电路输出触发器输入建立时间容限保持时间容限即:组合电路下一次的输出必须在触发器输入要求的保持时间之后到达。68.2LatchesandFlip-Flops
(锁存器和触发器)8.2.1SSILatchesandFlip-Flops1Q1Q2Q2Q3Q3Q4Q4Q1,2C1D2D3,4C3D4D74x375D
LatchesPRDQCLKQCLR74x74PRJQCLKK
QCLR74x109PRJQCLKK
QCLR74x112Figure8-3引脚DigitalLogicDesignandApplication(数字逻辑设计及应用)78.2.2SwitchDebouncing(开关消抖)+5VSW_LDSWPush(开关闭合)SW_LDSWPush(开关闭合)FirstContact(闭合第1次接触)ContactBounce(触点抖动)SW_LDSWIdealCase(理想情况)DigitalLogicDesignandApplication(数字逻辑设计及应用)8SW_LSW0011SW_LSW0011Push(开关闭合)0011SW_LSW0011SW_LSW1100DigitalLogicDesignandApplication(数字逻辑设计及应用)单刀双掷(SPDT,Single-pole,Double-throw)优点:1、使用芯片数少;2、不需要上拉电阻;3、可以产生两种极性的输入信号.9SW_LSWDSWPush(开关闭合)Figure8-5问题:为什么不应该同高速CMOS器件一起使用?QQLSQRQ+5VDigitalLogicDesignandApplication(数字逻辑设计及应用)避免门输出发生瞬时短路108.2.4BusHolderCircuit
(总线保持电路)三态总线:任何时刻,最多只有一个输出可以驱动总线DigitalLogicDesignandApplication(数字逻辑设计及应用)没有输出去驱动总线,总线“悬空”,会如何?造成流入器件输出端的电流过大解决办法:接上拉电阻到高电平问题:上拉电阻阻值的选取?过大,RC时间常数大,转换时间慢过小,消耗的电流太多118.2.4BusHolderCircuit
(总线保持电路)ABCG1G2AG2BY0Y1Y2Y3Y4Y5Y6Y774x138EN1EN2_LEN3_LSRC0SRC1SRC2P0P1P7SDATADigitalLogicDesignandApplication(数字逻辑设计及应用)线路由高/低变为悬空时,总线保持原态线路在高/低间转换时,总线通过电阻R提供小电流12DQCQDQCQDQCQDQCQDIN[3:0]WRDOUT[3:0]RD8.2.5MultibitRegistersandLatches
(多位锁存器和寄存器)回顾:锁存器的应用——多位锁存器寄存器(register)共用同一时钟的多个D触发器组合在一起通常用来存储一组相关的二进制数。134-bitRegister
(4位寄存器74x175)6位寄存器74x174Figure8-91D2D3D4DCLKCLR_LDigitalLogicDesignandApplication(数字逻辑设计及应用)148-bitRegister74x374(三态输出)Figure8-10OE输出使能1574x377(时钟使能)74x273(异步清零)CLK74x374(输出使能)1674x377(ClockEnable,时钟使能)ENEN’二选一多路复用结构DigitalLogicDesignandApplication(数字逻辑设计及应用)17寄存器(register)和锁存器(latch)有什么区别?寄存器:边沿触发特性锁存器:C有效期间输出跟随输入变化74x374输出使能8位寄存器74x373输出使能8位锁存器DigitalLogicDesignandApplication(数字逻辑设计及应用)188.4Counter(计数器)Modulus:Thenumberofstatesinthecycle(模:循环中的状态个数)Amodulo-mcounter,orsometimes,adivide-by-mcounter
(模m计数器,又称m分频计数器)AnyclocksequentialcircuitwhosestatediagramContainaSinglecycle.(状态图中包含有一个循环的任何时钟时序电路)DigitalLogicDesignandApplication(数字逻辑设计及应用)198.4Counter(计数器)Ann-bitbinarycounter(n位二进制计数器)S1S2S3SmS5S4ENENENENENENENEN’EN’EN’EN’EN’EN’DigitalLogicDesignandApplication(数字逻辑设计及应用)20计数器的分类按时钟:同步、异步按计数方式:加法、减法、可逆按编码方式:二进制、十进制BCD码、循环码计数器的功能计数、分频、定时、产生脉冲序列、数字运算本节内容行波计数器、同步计数器MSI型计数器及其应用二进制计数器状态的译码DigitalLogicDesignandApplication(数字逻辑设计及应用)218.4.1RippleCounters(行波计数器)
利用T触发器实现:Q*=Q’QQT考虑二进制计数顺序:只有当第i-1位由10时,第i位才翻转。CLKQQTQQTQQTQQTQ0Q1Q2Q3DigitalLogicDesignandApplication(数字逻辑设计及应用)00-01-10-11-00CLKQQTQQTQQTQQTQ0Q1Q2Q3CLKQ0Q1Q2速度慢,最坏情况,第n位在时钟触发后延迟n×tTQ才出现Q34×tTQ异步时序23SynchronousBinaryUpCounters
(同步二进制加法计数器)1011011+11011100在多位二进制数的末位加1,仅当第i位以下的各位都为1时,第i位的状态才会改变。最低位的状态每次加1都要改变。EN
QTQ
利用有使能端的T触发器实现:Q*=EN·Q’+EN’·Q=ENQ通过EN端进行控制,需要翻转时,使EN=1ENi=Qi-1·Qi-2·…·Q1·Q0EN0=?1DigitalLogicDesignandApplication(数字逻辑设计及应用)248.4.2SynchronousCounter
(同步计数器)1CLKQ0Q1Q2C如何加入使能端?DigitalLogicDesignandApplication(数字逻辑设计及应用)低位LSB高位MSB25SynchronousCounterswithEnableInput
(有使能端的同步计数器)CNTEN低位LSB高位MSB串行使能DigitalLogicDesignandApplication(数字逻辑设计及应用)26CNTEN并行使能高位MSB低位LSBDigitalLogicDesignandApplication(数字逻辑设计及应用)SynchronousCounterswithEnableInput
(有使能端的同步计数器)27SynchronousBinaryUpCounters
(同步二进制加法计数器)1011011+11011100在多位二进制数的末位加1,仅当第i位以下的各位都为1时,第i位的状态才会改变。最低位的状态每次加1都要改变。对于D触发器:Q*=DDi=(Qi-1·…·Q1·Q0)QDQCLKQ=ENQ考虑T触发器:Q*=ENQ
利用D触发器实现:D0=1Q=Q’DigitalLogicDesignandApplication(数字逻辑设计及应用)28MSICounters(MSI计数器)74x161、74x1634-BitBinaryUp-Counters(withAsynchronous/SynchronousClear)(4位二进制加法计数器(异、同步清零))74x160、74x1621-BitDecade(BCDCode)Up-Counters(withAsynchronous/SynchronousClear)(1位十进制(BCD)加法计数器(异、同步清零))DigitalLogicDesignandApplication(数字逻辑设计及应用)29MSICounter(MSI计数器)74x1694-BitBinaryUp/DownCounter(4位二进制可逆计数器)计数器可以用作分频器DigitalLogicDesignandApplication(数字逻辑设计及应用)8.4.3MSIcountersandapplications
(MSI型计数器及应用)同步4位二进制计数器74x163——模16计数器同步清零同步预置数进位输出使能端74x163的功能表01111CLK工作状态同步清零同步置数保持保持,RCO=0计数CLR_LLD_LENPENT0111
00
1174x161是异步清零RCO异步清零清零时,QA=QB=QC=QD=0
置数时,QA=A,QB=B,QC=C,QD=DDigitalLogicDesignandApplication(数字逻辑设计及应用)74x163的
逻辑电路图采用D触发器
便于实现清零
和加载预置数Figure8-2811111在计数值达到最大时,立即进位74x163的同步清零功能LD_LCLR_LAQA01000000同或门计数功能的电路Qi*=(Qi-1·…·Q1·Q0)Qi=(Qi-1·…·Q1·Q0)⊙
QNi
DigitalLogicDesignandApplication(数字逻辑设计及应用)74x163的同步预置数功能LD_LCLR_LAQA0010A0A1A同或门计数功能的电路Qi*=(Qi-1·…·Q1·Q0)Qi=(Qi-1·…·Q1·Q0)⊙
QNi
DigitalLogicDesignandApplication(数字逻辑设计及应用)74x163的自由运行模式自行循环计数DigitalLogicDesignandApplication(数字逻辑设计及应用)74x163的自由运行模式自由运行的74x163可以用作2、4、8和16分频计数器36OtherMSICounters(其它MSI计数器)74x160、74x1621位十进制(BCD)加法计数器(异、同步清零)01234567890QAQBQCQDQC、QD都是十分频,但占空比不是50%DigitalLogicDesignandApplication(数字逻辑设计及应用)3774x169可逆计数器74x160、74x1621位十进制(BCD)加法计数器(异、同步清零)UP/DNUP/DN=1加法计数(升序)UP/DN=0减法计数(降序)使能输入进位输出低电平有效DigitalLogicDesignandApplication(数字逻辑设计及应用)OtherMSICounters(其它MSI计数器)DigitalLogicDesignandApplication(数字逻辑设计及应用)8.4.4二进制计数器状态的译码398.4.4二进制计数器状态的译码若在一次状态转移中有2位或多位计数位同时变化,译码器输出端可能会产生“尖峰脉冲”
——
功能性冒险01234567012DigitalLogicDesignandApplication(数字逻辑设计及应用)40CLK
8位寄存器改进:消除“毛刺”DigitalLogicDesignandApplication(数字逻辑设计及应用)
ApplicationsofMSIcounters(MSI计数器应用)modulo-mCounterDesignMethod1:UseSSIdevice
——ClockedSynchronousState-MachineDesignMethod2:UseMSIcounter
——Usingnbitbinarycounterasamodulomcounterm<2n
,采用清零法、置数法m>2n
,采用级联法DigitalLogicDesignandApplication(数字逻辑设计及应用)Example1:usingthe’163asamodulo-11counter1.清零法S0S1S2S3S4S12S11S10S9S8S7S6S5S13S14S15计数到1010时,利用同步清零端强制为0000。DigitalLogicDesignandApplication(数字逻辑设计及应用)
ApplicationsofMSIcounters(MSI计数器应用)Example1:usingthe’163asamodulo-11counter1.清零法计数到1010时,利用同步清零端强制为000001010DigitalLogicDesignandApplication(数字逻辑设计及应用)
ApplicationsofMSIcounters(MSI计数器应用)Example1:usingthe’163asamodulo-11counter2.置数法S0S1S2S3S4S12S11S10S9S8S7S6S5S13S14S15计数到1111时,利用同步预置数端强制输出为0101DigitalLogicDesignandApplication(数字逻辑设计及应用)
ApplicationsofMSIcounters(MSI计数器应用)Example1:usingthe’163asamodulo-11counter2.置数法计数到1111时,利用同步预置数端强制输出为01011111101001DigitalLogicDesignandApplication(数字逻辑设计及应用)
ApplicationsofMSIcounters(MSI计数器应用)Example2:usingthe’163asanexcess-3decimalcounter。DecimalExcess-300011101002010130110401115100061001710108101191100UnusedCodeWords000000010010110111101111S0S1S2S3S4S12S11S10S9S8S7S6S5S13S14S15S30011S121100DigitalLogicDesignandApplication(数字逻辑设计及应用)
ApplicationsofMSIcounters(MSI计数器应用)Example2:usingthe’163asanexcess-3decimalcounter110000110DigitalLogicDesignandApplication(数字逻辑设计及应用)
ApplicationsofMSIcounters(MSI计数器应用)Example3:CascadingCounter(计数器的级联)思考:利用低4位的进位RCO控制高4位的时钟CLK行不行?①①②②111000000→1→100→1→1→1→0→0→0→0→1→1→1→0计数顺序…0000111000010000…00001111DigitalLogicDesignandApplication(数字逻辑设计及应用)
ApplicationsofMSIcounters(MSI计数器应用)Example3:CascadingCounter(计数器的级联)思考:利用低4位的进位RCO控制高4位的时钟CLK行不行?11100→1→1→0→0→0→0→1→1→1→0①②0000→1计数顺序…0000111000010000…00011111DigitalLogicDesignandApplication(数字逻辑设计及应用)
ApplicationsofMSIcounters(MSI计数器应用)Example3:CascadingCounter(计数器的级联)思考:如何利用低4位的进位RCO控制高4位的时钟CLK?11100→1→1→0→0→0→0→1→1→1→0①②0000→1计数顺序…0000111000010000…00001111DigitalLogicDesignandApplication(数字逻辑设计及应用)
ApplicationsofMSIcounters(MSI计数器应用)模m计数器设计(m>2n
)
先进行级联,再整体置零或预置数例:用74x163构造模193计数器两片163级联得8位二进制计数器(0~255)
——采用整体清零法,0~192
——采用整体预置数法,63~255256-193=63若m可以分解为:m=m1m2则可以分别实现m1和m2,然后再级联DigitalLogicDesignandApplication(数字逻辑设计及应用)
ApplicationsofMSIcounters(MSI计数器应用)6310=(00111111)2CLKCLRLDENPENTAQABQBCQCDQDRCO74x163CLKCLRLDENPENTAQABQBCQCDQDRCO74x16311001111+5VCLOCKCLR_LExample:模193计数器设计采用整体预置数法,63~255Q0Q1Q2Q3Q4Q5Q6Q7DigitalLogicDesignandApplication(数字逻辑设计及应用)
ApplicationsofMSIcounters(MSI计数器应用)6310=(00111111)2CLKCLRLDENPENTAQABQBCQCDQDRCO74x163CLKCLRLDENPENTAQABQBCQCDQDRCO74x16311001111+5VCLOCKCLR_LExample:模193计数器设计采用整体预置数法,63~255如何加上使能端?实现暂停(保持)
或继续计数
问题:输入端LD的优先级高于ENP和ENT计数值无法停在255ENQ0Q1Q2Q3Q4Q5Q6Q7
ApplicationsofMSIcounters(MSI计数器应用)6310=(00111111)2CLKCLRLDENPENTAQABQBCQCDQDRCO74x163CLKCLRLDENPENTAQABQBCQCDQDRCO74x16311001111+5VCLOCKCLR_LExample:模193计数器设计采用整体预置数法,63~255如何加上使能端?实现暂停(保持)
或继续计数
问题:输入端LD的优先级高于ENP和ENT计数值无法停在255EN解决方法Q0Q1Q2Q3Q4Q5Q6Q7
ApplicationsofMSIcounters(MSI计数器应用)CLKCLRLDENPENTAQABQBCQCDQDRCO74x163CLKCLRLDENPENTAQABQBCQCDQDRCO74x163CLOCKExam
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论