数字电路与系统 课件 第6章 时序逻辑电路分析设计_第1页
数字电路与系统 课件 第6章 时序逻辑电路分析设计_第2页
数字电路与系统 课件 第6章 时序逻辑电路分析设计_第3页
数字电路与系统 课件 第6章 时序逻辑电路分析设计_第4页
数字电路与系统 课件 第6章 时序逻辑电路分析设计_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

第6章时序逻辑电路分析与设计10学时2025/7/231学习目标与内容学习目标理解双稳态、单稳态、无稳态(振荡器)的概念掌握时序基本电路——SR锁存器结构理解锁存与触发的概念了解触发器的分类掌握时序电路的分析方法掌握时序电路的设计方法理解等价状态的概念及其对电路复杂度的影响理解时序约束的概念及其对电路工作速度的影响学习内容无稳态、单稳态和双稳态电路锁存器——SR、D触发器——D、JK、T触发器——特性方程、特性表、激励表时序电路分析步骤及其举例状态转移图/表,时序波形图时序电路设计步骤及其举例状态转移关系的建立等价状态判断关键路径与时序约束2025/7/232时序电路时序逻辑电路的输出不仅与当前的输入有关,而且与以往输入都有关电路结构:有存储元件,或有反馈回路,或两者都有“状态”表征所有以前输入到目前时刻所综合表现出的结果有限状态机(FiniteStateMachine,FSM):状态的数目总是有限可数的(不考虑无限状态)时钟同步时序电路异步时序电路输出输出与输入有直接关系,弥勒型电路输出与输入无直接关系(但有间接关系),摩尔型电路2025/7/2336.1锁存器锁存器(latch):在有效电平期间,输出逻辑状态随输入逻辑状态的变化而相应变化;而在无效电平期间,输出端的逻辑状态取决于有效电平转无效电平瞬间时的输入逻辑状态,并将该时刻的输出值锁存保持不变触发器(flip-flop):时钟有效上升沿/下降沿,输出逻辑状态取决于该瞬间时的输入逻辑状态,并在时钟周期的其他时间,都将该输出逻辑状态保持不变2025/7/2346.1.1稳态的概念双稳态:0、1都是稳定的,除非输入或反馈信号而使之改变单稳态:0、1只有一个是稳定的,输入作用下使输出处于另一状态,也仅暂时无稳态:0、1都不稳定,交替出现,即振荡自激振荡发生器产生时钟,时钟存在抖动(jitter)和偏移(skew)2025/7/23tLtHTCLK状态变化点占空比=tL/TCLK(a)下降沿有效tHtLTCLK状态变化点占空比=tH/TCLK(b)上升沿有效ABCtPDABC11115单稳态电路单稳态:电路只有一个稳定的状态(0或1),与稳定状态相对的另一逻辑值(1或0)称为暂态。即使外界因素使得电路进入暂态,其持续时间有限,且自动回到稳态2025/7/23UO1tUItUI2tUT=UDD/2UOttwUIUO1UI2UOG1G2UDDCR≥1≥1稳态的确定:由于电阻R的上拉作用,稳定时UI2为高电平,UO为低电平稳定时,电容无电压差,即UO1也为高电平,即要求UI为低电平所以输入UI为低电平(逻辑0)时,该电路处于稳定状态,输出UO为低电平6单稳态电路

2025/7/23UIUO1UI2UOG1G2UDDCR≥1≥1UO1tUItUI2tUT=UDD/2UOttw7双稳态电路若Q为高电平,即UI2为高电平。G2非门输出Q_L为低电平,也就是UI1为低电平,经过G1非门后,输出端Q为高电平。即通过反馈后,电路的电平状态与原电平的值一致,都是高电平,是稳定的状态如果Q为低电平,相同的分析过程,Q_L为高电平,再反馈到Q是低电平,即仍然维持原来的低电平,也是稳定的状态Q有高电平和低电平两种稳定的状态2025/7/23QUI1Q_LUI2UO1UO2G1G211AB112个非门首尾相接3个非门首尾相接有何不同?8亚稳态电压传输特性的第3个交点,位于电压变化最陡处任何输入的微小波动,导致输出大变化;反馈到另一个门输入大变化,而输出更大变化,并滑向稳态点亚稳态如同置于刀口上的乒乓球,既不能稳立于其上,也不知会滚落于哪一边,可以说完全是随机的发生亚稳态的情况输入信号保持不变的时间,不足以通过反馈回路建立起稳定的工作状态和输出输入信号造成矛盾的输出反馈信号存在竞争等等2025/7/23UI1=UO2稳态点UO1=UI2稳态点亚稳态点96.1.2S-R锁存器R=0、S=0时,等效电路离散时刻n为当前已有(现态),离散时刻n+1为未来将有(次态)R=0、S=1时2025/7/23RSQQ_LG1G2≥1≥1QQ_LQn+1=Qn

Q_Ln+1=Q_Ln新态原态保持QQ_LRS01现态:Qn=1,Q_Ln=010次态:Qn+1=1,Q_Ln+1=0Set01QQ_LRS011000110现态:Qn=0,Q_Ln=1次态:Qn+1=1,Q_Ln+1=010S-R锁存器R=0、S=0时,输出由反馈信号决定,等效于双稳态电路。Q与Q_L的逻辑状态互为非R=0、S=1时,G2门的输出Q_L为0,反馈到G1门,且R=0,而使得输出Q为1类似地推导R=1、S=0时,G1门的输出Q为0,反馈到G2门,且S=0,而使得输出Q_L为1。R=1、S=1时,G1门的输出Q为0,G2门的输出Q_L也为0。即Q与Q_L相同亚稳态:R=S=1使得Q和Q_L输出都为0。若R、S同时从原来的1变为0,出现了竞争,输出不定,即亚稳态2025/7/23RSQQ_LG1G2≥1≥1SRRSQ’Q电路符号11S-R锁存器波形图避免亚稳态的方法是对输入S和R加约束,即要求满足S⸱R=0此时,满足Q_L=Q’关系与非门构成的S-R锁存器工作原理类似2025/7/23RQQ_LS亚稳态S_LR_LQQ_LG2G1&&SQ

RQ电路符号12锁存器描述方法现态Qn:当前时刻输出端的状态次态Qn+1:当前输入作用后,输出将出现的状态特性表:输入、现态作为变量,次态为输出特性方程:Qn+1=S+R’⸱QnS⸱R=0状态转移图:锁存器输出变化及其对应的输入值激励表:输出状态转移时,相应输入的取值2025/7/23S-R锁存器特性表SRQnQn+1功能0000保持00110100清001101001置11011110×约束111×

RQnS1

11××000111100101S=0,R=1S=0,R=×S=1,R=0S=×,R=0S-R锁存器激励表状态转移激励输入QnQn+1SR000×0110100111×013钟控S-R锁存器基本锁存器缺点:不便多个锁存器同步作用钟控S-R锁存器CLK为0时,S和R输入无作用,S-R锁存器处于保持状态CLK为1时,S和R分别反相后输入到基本S-R锁存器。与基本S-R锁存器的功能完全一致2025/7/231S1RRSQ’QCLKC1(b)电路符号SRQQ’G2G1CLKG3G4&&&&14钟控S-R锁存器描述特性表特性方程:Qn+1=S+R’⸱Qn

,CLK=1S⸱R=0时序图2025/7/23钟控S-R锁存器特性表CLKSRQnQn+10××000××111000010011101001011011001110111110×1111×R钟控S-R锁存器波形图QCLKSQ’156.1.3D锁存器及其应用S-R缺点:输入受约束D锁存器D输入为S=D和R=D’,S⸱R=D⸱D’=0,D无约束要求D锁存器的特性方程:Qn+1=D,CLK=12025/7/231DDQ’QC1(b)电路符号CLKSRQQ’(a)电路图G2G1G3G4DG5&&&&1CLK钟控D锁存器特性表CLKDQnQn+1功能0×00保持0×111000清010101101置1111101D=0D=0D=1D=1钟控D锁存器波形图CLKDQQ’TransparentLatch(透明锁存器)锁存器的Verilog语言描述modulelatch(d,le,q);inputd,le;outputq;assignq=le?d:q;//le为1时,d输入到q;//le为0时,q保持,即锁存不变endmodule16D锁存器建立时间/保持时间分析2025/7/2317DCLKRSRQQ’G2G1G3G4DG5&&&&1CLKABABQQ’由于Q’为0,此时尽管A为1,但Q仍然不变1111D锁存器动态参数孔径时间ta:建立时间和保持时间之和孔径时间内,输入要保持稳定,以免进入亚稳态建立时间tsetup:在时钟有效电平结束时刻(下降沿)之前,输入信号应保持稳定不变的最小时间2025/7/23CLKDQtsetuptholdtDQtCQ钟控锁存器动态时序波形图tDQ保持时间thold:时钟有效电平结束(下降沿)之后,输入信号仍需维持稳定不变的最小时间时钟到锁存器输出的延迟时间tCQ:时钟有效的起始时刻(上升沿)到由此作用而产生的信号在输出端输出时刻的延迟时间输入信号到锁存器输出的延迟时间tDQ:时钟有效期间,输入信号变化到由此作用而产生的信号在输出端输出时刻的延迟时间脉冲宽度tw:为保证锁存器将输入信号作用而产生的输出,能稳定传输到输出端,所要求的时钟高电平的最小宽度LH18D锁存器延迟时间2025/7/23QDCLKtpLH(CQ)tpHL(DQ)tpLH(DQ)tpHL(CQ)在CLK的下降沿附近有一个时间窗这段时间内D输入一定不能变化tsetup建立时间setuptimethold保持时间holdtime19器件参数表数据手册2025/7/2374LS373锁存器参数表参数数值单位时钟脉冲CLK最小宽度tw15ns最小建立时间tsetup5↓ns最小保持时间thold20↓ns时钟(锁存使能)上升沿到Q端的最大传输延时,tPLH或tPHL(LE

Q)30ns数据D到Q端的最大传输延时,tPLH或tPHL(D

Q)18ns使能OE_L有效使输出由高阻到高输出延迟时间tPZH(OE_L

Q)28ns使能OE_L有效使输出由高阻到低输出延迟时间tPZL(OE_L

Q)36ns使能OE_L无效使输出由高到高阻态的延迟时间tPHZ(OE_L

Q)20ns使能OE_L无效使输出由低到高阻态的延迟时间tPLZ(OE_L

Q)25ns注:↓表示以时钟下降沿为参考边沿20锁存器应用按键去抖动分离复用信号2025/7/23双稳电路互锁消除开关抖动SWUOHGND悬空上触点开UOL抖动SW_LUOHGNDUOL下触点合DSWHLSW开关闭合DSWSW_L11174LS373功能表OE_LLEDQH××Hiz(高阻)LL×保持LHLLLHHHLEAD0~7DataDataAddrAddrA0~7AddrAddrAddrLEAD0~7A0~7Q32D1111ENC14576891312141517161819DQClkQDQClkQDQClkQDQClkQDIN[3:0]WRDOUT[3:0]RD8位D锁存器的Verilog语言描述:modulelatch_d8(le,oe,d,q);inputle,oe;input[7:0]d;outputreg[7:0]q;always@(*)beginif(oe)q<=8'bz;elseif(le)q<=d;elseq<=q;

endendmodule216.2触发器锁存器局限性:时钟有效电平期间,输出随输入改变而变化抗干扰能力下降,输入信号上的干扰会传递到输出限制了锁存器的使用,如锁存器不能用于计数器、移位寄存器等触发器:输出由时钟沿时刻的输入决定。抗干扰能力强分类功能分类:S-R触发器、D触发器、JK触发器、T触发器和T’触发器电路结构分类:主从结构触发器、维持阻塞触发器、传输延迟型触发器触发方式分类:上升沿触发器,下降沿触发器其他:带使能端触发器,扫描触发器2025/7/23226.2.1D触发器CLK=0时,主锁存器输出QM随输入信号D的变化而变化,而从锁存器处于锁存的状态,输出Q保持不变CLK=1时,主锁存器处于锁存状态,并将CLK上升沿时刻的D输入信号锁存到QM;从锁存器接收主锁存器QM的信号,由于这期间QM被主锁存器锁存不变,因此从锁存器的输出Q也保持与QM一致Q取决于时钟CLK上升沿时刻的D输入逻辑值特性方程:Qn+1=D,CLK↑2025/7/231DDQ’QCLKC1DDCDQ’QCCLK主锁存器从锁存器QM111DDQ’QC1SRSD_LRD_L同步输入,异步输入DCLKQQ’001110X0HoldX0Hold功能表23ENENQ’QCLKC11DD主从D触发器波形2025/7/23DQCQDQCQQQ’DCLKQmDCLKQQm24DCLKQD

latchD

filp-flop——边沿有效——电平有效DCLKQ2025/7/2325维持阻塞结构D触发器CLK为0时,G3和G4为1,Q和Q’保持。G3和G4输出1分别使得G5和G6处于开通状态。G6的输出为D’,G5的输出为DCLK上升沿↑后,即CLK变成了高电平若此前D=0,则G3为1,G4为0,输出Q为0,Q’为1。同时G4输出0反馈到G6输入,即使D变化为1,G6输出仍然维持为1,可见D输入维持不变的时间要求很短若此前D=1,G3为0,G4为1,输出Q为1,Q’为0。G3输出的0封锁G4和G5,即输入D不起作用,D输入维持不变的时间要求很短上升沿时刻,输入D建立了触发器Q和Q’。之后D无论怎么变化,Q都不变2025/7/23QQ’CLKDG1G2G3G6G5G4置1维持线置0维持线置0阻塞线置1阻塞线&&&&&&CLK为高电平1时,上述分析已知D为0时,G3为1,G4为0,并由置0维持线维持G4的0而对D无要求,而仍然保持Q为0,同时Q’为1D为1时,G3为0,G4为1,G6为0,并由置1维持线通过G5,G3保持0,而使得Q为1,同时Q’为0

CLK为下降沿↓时,即CLK为0,使G3和G4为1,G1和G2基本S-R保持,即Q和Q’保持不变26D触发器动态参数建立时间tsetup:数据信号D在时钟CLK上升沿到来之前,应该稳定存在的最小时间。保持时间thold:数据信号D在时钟CLK上升沿之后,需维持不变的最小时间2025/7/23CLKDQtsetuptholdtCQtCQ时钟触发沿到触发器输出的延迟时间tCQ:时钟信号上升沿至触发器输出端建立稳定状态所需要的时间。触发脉宽tw:保证稳定正常触发,所要求时钟信号的最小宽度74LS74触发器参数表参数数值单位时钟CLK最高频率fMAX25MHz时钟脉冲CLK最小宽度高电平tH25ns低电平tL15ns复位RD_L,置位SD_L的低电平最小宽度tL25ns最小建立时间tsetup20↑ns最小保持时间thold5↑ns时钟沿到Q(或Q’)端的最大传输延时tPLH(CLK

Q)或tPLH(CLK

Q’)25↑nstPHL(CLK

Q)或tPHL(CLK

Q’)40↑ns异步复位下降沿到Q端的最大传输延时tPHL(RD_L

Q)40ns异步复位下降沿到Q’端的最大传输延时tPLH(RD_L

Q’)25ns异步置位下降沿到Q端的最大传输延时tPLH(SD_L

Q)25ns异步置位下降沿到Q’端的最大传输延时tPHL(SD_L

Q’)40ns注:↑表示以时钟上升沿为参考边沿27传输延迟与亚稳态2025/7/23tpLH(CQ)

tpHL(CQ)

tsetup建立时间thold保持时间DCLKQ28D触发器的Verilog描述2025/7/23D触发器的Verilog语言描述代码如下:moduleDff(CLK,D,Q);inputCLK,D;outputregQ;always@(posedgeCLK)//上升沿触发Q<=D;endmodule带有低电平有效异步置位和复位端的D触发器Verilog语言描述代码如下:moduleDff_sr(CLK,Set,Reset,D,Q);inputCLK,Set,Reset,D;outputregQ;always@(posedgeCLK,negedgeSet,negedgeReset)if(Set==0)Q<=1;elseif(Reset==0)Q<=0;elseQ<=D;endmodule同时输出Q和Q’的D触发器Verilog语言描述如下:moduleDffQN1(CLK,D,Q,QN);inputCLK,D;outputregQ,QN;always@(posedgeCLK)Q<=D;always@(Q)QN<=!Q;endmodulemoduleDffQN2(CLK,D,Q,QN);inputCLK,D;outputregQ,QN;always@(posedgeCLK)beginQ<=D;QN<=!D;endendmodule该代码看似更简洁,但综合工具会将其综合为2个独立的D触发器,一个触发器的输出是Q,而另外一个触发器的输出是QN。296.2.2其他功能-JK触发器JK触发器特性方程:Qn+1=J⸱Qn’+K’⸱Qn,CLK↓2025/7/2301J=×,K=1J=0K=×J=1,K=×J=×K=01JJQ’QCLKC11KKJK触发器特性表JKQnQn+1功能JKQnQn+1功能0000保持1001置1001110110100清01101翻转01101110000111100100011110QnJK具有异步置位和复位的JK触发器的Verilog语言描述如下:moduleJKff_rs(CLK,J,K,Set,Reset,Q);inputCLK,J,K,Set,Reset;outputregQ;always@(posedgeCLK,negedgeSet,negedgeReset)beginif(!Reset)Q<=1'b0;elseif(!Set)Q<=1'b1;elsebegincase({J,K})2'b00:Q<=Q;2'b01:Q<=1'b0;2'b10:Q<=1'b1;2'b11:Q<=~Q;default:Q<=1'bx;endcaseendendendmodule306.2.2其他功能-T触发器T触发器的特性方程:Qn+1=T⊕Qn,CLK↓2025/7/2301T=1T=0T=1T=01TTQ’QCLKC1T触发器特性表TQnQn+1功能TQnQn+1功能000保持101翻转011110当T=1,触发器的特征方程为:Qn+1

=Qn’

(也称为T’触发器)T,T’不是独立结构类型的触发器,由其他触发器功能转换而来目前D触发器最常用316.2.2其他功能-扫描触发器TE选择端为0时,即D触发器功能;TE选择端为1时,即测试模式,测试向量由TI加载2025/7/231DDQ’QC1TETICLK1DQ’QC1G1G2TED&&≥1CLKTI扫描触发器功能表TETIDCLKQnQn+10×0↑×00×1↑×110×↑×011×↑×1×××除↑外00×××除↑外11326.3时序逻辑电路分析摩尔(MOOR)型时序电路:电路输出只与触发器状态有关弥勒(MEALY)型时序电路:电路输出不仅与触发器状态有关,还与电路输入有直接关系2025/7/23激励逻辑电路输出逻辑电路触发器输入X状态Q激励Z输出YCLK(a)摩尔(MOOR)型时序电路模型激励逻辑电路输出逻辑电路触发器

输入X状态Q激励Z输出YCLK(b)弥勒(MEALY)型时序电路模型激励(或驱动)逻辑函数表达式为:Z=F1(X,Qn)状态转移逻辑函数表达式为:Qn+1=F2(Z,Qn)输出逻辑函数表达式为:Y=F3(Qn)orY=F3(X,Qn)336.3.2时序逻辑电路分析时序逻辑电路分析步骤:分析电路连接关系、信号流向,确定电路的输入变量、输出函数。识别电路中触发器类型,写出触发器特性方程,并标注其触发条件。分析激励电路结构,写出各激励逻辑函数表达式。将激励逻辑函数表达式代入到触发器特性方程,得到各个触发器的状态转移逻辑函数表达式,即各个触发器的次态Qin+1逻辑函数表达式,并标注触发条件。分析电路的输出部分结构,写出输出逻辑函数表达式。构造状态转移表,分析确定初始状态,由状态转移逻辑函数表达式和输出逻辑函数表达式依次推算次态和输出,直至全部状态推出为止。给状态分配符号,由状态转移表画状态转移图,并标注激励和输出。根据需求和可能性,构建时序波形图。归纳时序逻辑电路的功能2025/7/2334时序逻辑电路分析举例1分析电路。X为输入,Y为输出。输出Y与输入X有直接关系,为弥勒型电路2025/7/231DQ0’Q0C11DQ1’Q1C1CLKXY&&&1D触发器特性方程:Qin+1=Di,CLK↑,i=0,1激励逻辑函数表达式:D0=X⸱Q1n’D1=X’⸱Q0n激励表达式代入特性方程,得状态转移表达式:Q0n+1=X⸱Q1n’,Q1n+1=X’⸱Q0n,CLK↑输出逻辑函数表达式:Y=X⸱Q1n求状态转移表:输入和现态的所有组合

求次态,输出一维状态转移表输入现态次态输出XQ1nQ0nQ1n+1Q0n+1Y00000000110001000001110010001010101011000111100135Q0n+1=0⸱0’=0,Q1n+1=0’⸱0=0,Y=0⸱0=0Q0n+1=0⸱0’=0,Q1n+1=0’⸱1=1,Y=0⸱0=0输入与现态的取值组合Q0n+1=0⸱1’=0,Q1n+1=0’⸱0=0,Y=0⸱1=0代入变量取值,简化表达式X=0

Q0n+1=0,Q1n+1=Q0n,Y=0X=1

Q0n+1=Q1n’,Q1n+1=0,Y=Q1n时序逻辑电路分析举例12025/7/231DQ0’Q0C11DQ1’Q1C1CLKXY&&&1一维状态转移表输入现态次态输出XQ1nQ0nQ1n+1Q0n+1Y000000001100010000011100100010101010110001111001二维状态转移表现态Q1nQ0n输入X010000,001,00110,001,01000,000,11110,000,1次态,输出Q1n+1Q0n+1,Y状态表现态Sn输入X01AA,0B,0BC,0B,0CA,0A,1DC,0A,1次态,输出Sn+1,Y将00、01、10、11分别用A、B、C、D表示00011011Q1Q0X/Y0/01/01/01/10/00/00/01/1串行数字序列101检测器36状态转移表的其他形式状态转移图ABCDSX/Y0/01/01/01/10/00/00/01/1时序逻辑电路分析举例12025/7/2337时序波形图XQ0YQ1CLK一维状态转移表输入现态次态输出XQ1nQ0nQ1n+1Q0n+1Y000000001100010000011100100010101010110001111001分析举例2A为输入,Y为输出,同步电路D特性方程:Qin+1=Di,CLK↑,i=1,2激励表达式:D1=Q1n’,D2=A

Q1n

Q2n状态转移表达式:Q1n+1=Q1n’,CP↑;Q2n+1=A

Q1n

Q2n,CP↑输出逻辑函数表达式:Y=A’·Q2n·Q1n

+A·Q2n’·Q1n’功能描述:可逆计数器A=0加法,A=1减法2025/7/23AQ2n

Q1n0

000010

100

111

001

01110111Q2n+1

Q1n+1

Y0

101

001100

0

11

110

0

00

1

01

0

0S00011011A0101,010,011,000,111,100,001,010,0Q2n+1Q1n+1,YQ2nQ1n状态转移表38分析举例3无输入,计数型电路触发器特性方程:Qin+1=Ji⸱Qin’+Ki’⸱Qin,CLK↓,i=0,1,2激励逻辑函数表达式:J0=(Q1n⸱Q2n)’,K0=1;J1=Q0n,K1=(Q0n’⸱Q2n’)’;J2=Q0n⸱Q1n,K2=Q1n状态转移表达式:Q0n+1=(Q1n⸱Q2n)’⸱Q0n’+1’⸱Q0n=(Q0n+Q1n⸱Q2n)’,CLK↓Q1n+1=Q0n⸱Q1n’+(Q0n’⸱Q2n’)’’⸱Q1n=Q0n⸱Q1n’+Q0n’⸱Q1n⸱Q2n’,CLK↓Q2n+1=Q0n⸱Q1n⸱Q2n’+Q1n’⸱Q2n,CLK↓输出逻辑函数函数表达式:Y=(Q1n⸱Q2n)’’=Q1n⸱Q2n2025/7/23CLKY1JQ2’Q2C11K1JQ0’Q0C11K1JQ1’Q1C11K“1”&&&1状态转移表Q2nQ1nQ0nQ2n+1Q1n+1Q0n+1Y00000100010100010011001110001001010101110011000011110001000,0Q2Q1Q0,Y001,0010,0011,0100,0101,0110,1111,1七进制递增计数器39时序波形图2025/7/23状态转移表Q2nQ1nQ0nQ2n+1Q1n+1Q0n+1Y00000100010100010011001110001001010101110011000011110001Q0YQ2Q140CLK异步时序逻辑电路分析举例4分析方法类似,但每个触发器都需标注时钟特性方程:Qin+1=Ji⸱Qin’+Ki’⸱Qin,CLK↓,i=0,1

Q2n+1=J2⸱Q2n’+K2’⸱Q2n,Q1↓激励表达式:J0=(Q1n⸱Q2n)’,K0=1;J1=Q0n,K1=(Q0n’⸱Q2n’)’;J2=1,K2=1状态转移表达式:Q0n+1=(Q1n⸱Q2n)’⸱Q0n’+1’⸱Q0n=(Q0n+Q1n⸱Q2n)’,CLK↓Q1n+1=Q0n⸱Q1n’+(Q0n’⸱Q2n’)’’⸱Q1n=Q0n⸱Q1n’+Q0n’⸱Q1n⸱Q2n’,CLK↓Q2n+1=1⸱Q2n’+1’⸱Q2n=Q2n’,Q1↓输出表达式:Y=(Q1n⸱Q2n)’’=Q1n⸱Q2n7进制递增计数器2025/7/23CLKY1JQ2’Q2C11K1JQ0’Q0C11K1JQ1’Q1C11K“1”“1”“1”FF0FF1FF21&&状态转移表Q2nQ1nQ0nQ1n→Q1n+1Q2n+1Q1n+1Q0n+1Y00000010001↑010001010110011↓100010001010101↑1100110↓0001111↓0001123CP4567Q2Q1Q0416.4同步时序逻辑电路设计分析问题描述和设计需求,确定“记忆”的状态数和状态之间的转移关系,画出原始状态转移表/原始状态转换图等价状态合并状态编码与状态分配触发器选择求输出表达式,求激励表达式检查能否自启动,若不能,修改设计画电路图2025/7/23设计需求原始状态转换表原始状态转换图等价状态合并最简化状态转换表状态编码与分配编码形式的状态转换表输出逻辑函数表达式触发器选择触发器激励函数逻辑电路图优化无效状态的处理能自启动?YN426.4.2等价状态与状态分配完全确定的时序电路:对于输入变量取值的所有组合都唯一地确定了该时刻的输出和次态不完全确定的时序逻辑电路:若时序电路的状态转换表中,包含不确定的输出或不确定的次态状态等价的2个条件对于全部输入变量的所有取值组合,两个状态对应的输出分别一一对应相同对于全部输入变量的所有取值组合,两个状态的转移效果完全相同次态对应相同次态的次态对应相同次态与次态的次态互为隐含相同2025/7/2343原始转换状态化简原始状态蕴含表:状态数-1,不等价x,等价√,待定的列出2025/7/23例6-4原始状态表现态Sin输入X01S1S7,0S1,0S2S7,0S1,0S3S1,0S5,1S4S2,0S6,1S5S7,0S3,1S6S7,0S2,1S7S1,0S7,0次态,输出Sin+1,YS2√

S3××

S4××(1,2)(5,6)

S5××1,7(2,7)(6,3)

S6××(1,7)(5,2)(2,7)(6,2)3,2

S7√1,7××××

S1S2S3S4S5S6原始状态蕴含表S2√

S3××

S4×××

S5××1,7×

S6×××××

S7√1,7××××

S1S2S3S4S5S6关联比较后的蕴含表S2√

S3××

S4×××

S5××√×

S6×××××

S7√√××××

S1S2S3S4S5S6最终蕴含表S1和S7、S1和S2、S2和S7、S3和S5是等价状态对S1、S2和S7是最大等价类。S3和S5也是最大等价类化简后状态表现态Sin输入X01AA,0A,0BA,0B,1CA,0D,1DA,0A,1次态,输出Sin+1,YA表示(S1,S2,S7)B表示(S3,S5)C表示(S4);D表示(S6)关联比较446.4.3同步时序逻辑电路设计举例设计一个可变模值的同步计数器电路,当模选择信号M=0时,实现模7计数,当M=1时,实现模5计数解:原始状态转换图

等价状态合并

状态编码令S0=000、S1=001、S2=011、S3=110、S4=101、S5=010、S6=100求状态转移方程和输出方程2025/7/23S01/0S11/0S20/0S31/1S40/0S50/0S61/00/1M/Y0/00/01/00/0状态转移表现态Q2nQ1nQ0n输入M01000001,0001,0001011,0011,0011110,0110,0110101,0100,0101010,0×××,×010100,0×××,×100000,1000,1111×××,××××,×次态,输出Q2n+1Q1n+1Q0n+1,Y

Q1nQ0nMQ2n

11

×1

××1

1×0001111000011110Q2n+1

Q1nQ0nMQ2n11

××

11×0001111000011110Q1n+11Q1nQ0nMQ2n1

×1

××

11

×0001111000011110Q0n+1

Q1nQ0nMQ2n

1

×

1××

×0001111000011110Q2n+1=Q1nQ1n+1=Q0nQ0n+1=Q2n’⸱Q1n’+M’⸱Q2n⸱Q1nY=Q2n⸱Q1n’⸱Q0n’45设计举例检查自启动M=1时,未定义状态和未使用状态的转移关系不会影响电路的自启动M=0时,现态为未定义的状态111时,次态还是111。电路不能自启动将Q0n+1卡诺图的最小项m7的约束关系“×”改为“0”Q0n+1=Q2n’⸱Q1n’+M’⸱Q2n⸱Q1n⸱Q0n’选择D触发器,求激励D2=Q1n,CLK↑D1=Q0n,CLK↑D0=Q2n’⸱Q1n’+M’⸱Q2n⸱Q1n⸱Q0n’,CLK↑画电路图2025/7/23111M/0/1111111/110(S3)101(S4)1/010(S5)010(S5)1/100(S6)1Q1nQ0nMQ2n1

×1

××

11

×0001111000011110Q0n+11/0能自启动的状态转移图1/00/01/10/00/01/00/1M/Y0/00/01/00/0S1001S2011S3110S4101S5010S6100S7111S00000/01/01/01/0S4101S5010Q2n+1=Q1nQ1n+1=Q0nQ0n+1=Q2n’⸱Q1n’+M’⸱Q2n⸱Q1nY=Q2n⸱Q1n’⸱Q0n’46

Q1nQ0nMQ2n

11

×1

××1

1×0001111000011110Q2n+1

Q1nQ0nMQ2n11

××

11×0001111000011110Q1n+11DQ2’Q2C11DQ1’Q1C11DQ0’Q0C1CLKMY用D触发器实现的电路图&≥1&1&设计1101串行序列检测器电路串行序列检测方法,如011101011101101001…右边的位是新输入的分段检测法:左往右每4位为一组滑动窗口检测法:对新输入的1位以及相邻的m-1个位进行判断滑动窗口归零法:检查到要求的序列,从新的输入位开始累够位数并判断分段检测法的原始状态转移图2025/7/23011101011101101001…000000000001000000…011101011101101001…000001000001001000…000001000001000000…011101011101101001…S7S8S9S10S11S12S13S14S3S4S6S5S1S0S2序列分段检测法原始状态转移图0/01/00/01/00/01/00/01/00/01/00/01/00/01/0X/Y0/01/00/01/00/01/00/01/00/01/00/01/00/01/10/01/0S00/0序列分段检测法化简后的原始状态转移图S1×/0S3×/0S71/0S130/0S60/0S21/01/10/01/0×/0X/Y等价状态合并47S7、S8、S9、S10、S11、S12、S14等价S3、S4、S5也等价设计1101串行序列检测器电路滑动窗口序列检测法的原始状态转移图2025/7/23S01/0S11/0S30/00/00/0S41/0S21/01/10/00/0X/YS0S0S11/00/0X/YS0S1S21/00/0S3S2S21/00/0S0S3S41/10/0S0S4S21/00/0S01/0滑动窗口序列检测的简化状态转移图S11/0S30/00/00/0S21/01/10/0X/YS01/0滑动窗口归零序列检测的原始状态转移图S11/0S30/00/00/0S21/01/10/0X/Y48等价状态判断与合并S1和状态S4等价设计1101串行序列检测器电路滑动窗口检测法。四个状态2位编码,即S0=00,S1=01,S2=10,S3=11。

状态转移和输出方程Q1n+1=Q1n⸱Q0n’+X⸱Q1n’⸱Q0nQ0n+1=X’⸱Q1n⸱Q0n’+X⸱Q1n’⸱Q0n’+X⸱Q1n⸱Q0nY=X⸱Q1n⸱Q0n若状态编码S0=00,S1=01,S2=11,S3=10Q1n+1=Q1n⸱Q0n+X⸱Q0nQ0n+1=XY=X⸱Q1n⸱Q0n’没有冗余编码,即不存在无效状态,电路能自启动2025/7/23状态转移表现态Q1nQ0n输入X010000,001,00100,010,01011,010,01100,001,1次态,输出Q1n+1Q0n+1,Y状态转移表现态Q1nQ0n输入X010000,001,00100,011,01110,011,01000,001,1次态,输出Q1n+1Q0n+1,Y1DQ1’Q1C11DQ0’Q0C1CLKXY用D触发器实现的电路图&≥1&S01/0滑动窗口序列检测的简化状态转移图S11/0S30/00/00/0S21/01/10/0X/Y49Q0n+1Q1nQ0nX

1

1

10001111001Q1nQ0nX

1

110001111001Q1n+1Q0n+1Q1nQ0nX

1

1

110001111001Q1nQ0nX1

110001111001Q1n+1设计串行余3码转BCD码的米利型电路串行输入:要求电路能记忆每一位输入后的状态码字规律分析从高位看,余3码高位为1时(5~9的码字),相应的BCD码高位有0(5~7的码字),也有1(8~9的码字)——无区分,不适用2025/7/2350数值余3码BCD码000110000101000001201010010301100011401110100510000101610010110710100111810111000911001001分组数值余3码BCD码第一组000110000201010010401110100610010110810111000第二组101000001301100011510000101710100111911001001数值余3码BCD码000110000101000001201010010301100011401110100510000101610010110710100111810111000911001001从低位看,具有区分度第一轮分组,从余3码最低位看余3码最低位与相应字符的BCD码最低位刚好相反按余3码最低位为0/1将码字分为二组设计串行余3码转BCD码的米利型电路第二轮分组,从余3码次低位看第一组次低位为1(且对应的BCD码位都为0)的分为第1组,次低位为0(且对应的BCD码位都为1)的分为第2组第二组次低位为0的分为第3组,次低位为1的分为第4组第三轮分组,从余3码次高位看,分为捌组2025/7/2351分组数值余3码BCD码第一组000110000201010010401110100610010110810111000第二组101000001301100011510000101710100111911001001分组数值余3码BCD码第1组000110000401110100810111000第2组201010010610010110第3组101000001510000101911001001第4组301100011710100111分组数值余3码BCD码第1组000110000401110100810111000第2组201010010610010110第3组101000001510000101911001001第4组301100011710100111分组数值余3码BCD码第A组000110000810111000第B组401110100第C组201010010第D组610010110第E组101000001911001001第F组510000101第G组301100011第H组710100111各个码字从低位开始,均可区分设计串行余3码转BCD码的米利型电路采用低位先入,得状态转移图等价状态分析合并,得最简状态转移图状态S7、S9和S11等价。状态S8和S13等价。状态S10、S12和S14等价。状态S4和S5等价9个状态,4位编码,状态分配S0=0000,S1=0001,S2=1000,S3=0011,S4=1001,S6=1010,S7=1111,S8=0010,S10=10112025/7/2352S7S8S9S10S11S12S13S14S3S4S6S5S1S0S20/101/000/001/100/101/000/101/000/101/000/001/100/101/00X/BZ0/×11/000/001/100/×11/000/001/×10/×11/000/001/×10/001/100/001/×1S7S8S10S3S4S6S1S0S20/101/000/001/100/101/001/000/100/001/100/101/00X/BZ0/×11/000/000/001/101/×1X:余3码B:BCD码Z:码字合规高位低位设计串行余3码转BCD码的米利型电路9个状态,4位编码,状态分配S0=0000,S1=0001,S2=1000,S3=0011,S4=1001,S6=1010,S7=1111,S8=0010,S10=1011未用编码0100、0101、0110、0111、1100、1101,1110X:余3码输入位,B:BCD码输出位,Z:合规码字2025/7/2353现态Q3nQ2nQ1nQ0n输入X0100000001,101000,0000010011,001001,1010001001,101010,0000111111,100010,0010011111,101011,0010101110,001011,1011110000,×10000,0000100000,000000,1010110000,000000,×1次态,输出Q3n+1Q2n+1Q1n+1Q0n+1,BZS7S8S10S3S4S6S1S0S20/101/000/001/100/101/001/000/100/001/100/101/00X/BZ0/×11/000/000/001/101/×1由状态转移表

画卡诺图

写最简表达式

检查自启动

修改表达式

求激励表达式

画电路图时序电路(有限状态机,FSM)的Verilog描述状态分析S0──没有输入1;0S1──输入1个1;1S2──连续输入2个1;11S3──连续输入3个1;111S4──连续输入4个或4个以上个1;1111S3与S4等价,可合并定义:S000、S101、S211、S3

102025/7/2354串行序列检测,连续输入4个或以上1时,输出1,否则输出0连续输入4个或以上1,输出为1modulestat(x,z,clk,rst);inputx,clk,rst;outputz;reg[1:0]state;wirez;parameterS0=‘b00,S1=’b01,S2=‘b11,S3=’b10;//状态定义

assignz=(state==S3&&x==1)?1:0;always@(posedgeclkornegedgerst)

if(!rst)

state<=S0;

elsecase(state)

S0:if(x==1)

state<=S1;

elsestate<=S0;

S1:if(x==1)state<=S2;

elsestate<=S0;

S2:if(x==1)

state<=S3;

elsestate<=S0;

S3:if(x==1)

state<=S3;

elsestate<=S0;

default:state<=S0;

endcaseendmodule2025/7/23553状态计数电路描述moduledivideby3FSM(inputclk,inputreset,outputq);reg[1:0]state,nextstate;parameterS0=2’b00;parameterS1=2’b01;parameterS2=2’b10;//stateregisteralways@(posedgeclk,posedgereset)if(reset)state<=S0;elsestate<=nextstate;//nextstatelogicalways@(*)case(state)S0:nextstate=S1;S1:nextstate=S2;S2:nextstate=S0;default:nextstate=S0;endcase

//outputlogicassignq=(state==S0);endmodule2025/7/2356Verilog的FSM描述风格用Verilog语言描述有限状态机可使用多种风格,不同的风格会极大地影响电路性能。通常有3种描述方式:单always块:组合逻辑和时序逻辑用同一个过程always块描述,寄存器输出,无毛刺。但会产生多余的触发器,代码难于修改和调试,应尽量避免双always块:大多用于描述Mealy状态机和组合输出的Moore状态机,一个过程always块描述当前时序状态,另一always块描述激励的组合逻辑并给输出赋值。结构清晰,综合后的面积和时间性能好。但组合逻辑输出往往会有毛刺,若输出向量用作时钟信号,这些毛刺会对电路产生致命的影响三always块:大多用于同步Mealy状态机,两个时序always块分别用来描述现态逻辑和对输出赋值,另一always块用于产生激励的组合逻辑。这种方式的状态机也是寄存器输出,输出无毛刺,并且代码比单always块清晰易读,但是面积大于双always块。随着芯片资源和速度的提高,目前这种方式得到了广泛应用设计复杂时,可分为更多个always块2025/7/2357Verilog三段式状态机描述时序电路的状态是一个状态变量集合,这些状态变量在任意时刻的值都包含了为确定电路的未来行为而必需考虑的所有历史信息。三段式建模描述FSM的状态机输出时,只需指定case敏感表为次态寄存器,然后直接在每个次态的case分支中描述该状态的输出即可,不用考虑状态转移条件。三段式描述方法虽然代码结构复杂了一些,但是换来的优势是:使FSM做到了同步寄存器输出,消除了组合逻辑输出的不稳定与毛刺的隐患,而且更利于时序路径分组,一般来说在FPGA/CPLD等可编程逻辑器件上的综合与布局布线效果更佳。2025/7/2358三段式状态机描述示列//第一个进程,同步时序always模块

温馨提示

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

最新文档

评论

0/150

提交评论