《数字电路:ch6 时序逻辑电路的分析与设计d》由会员分享,可在线阅读,更多相关《数字电路:ch6 时序逻辑电路的分析与设计d(55页珍藏版)》请在金锄头文库上搜索。
1、1/556.5 6.5 若干典型的时序逻辑集成电路若干典型的时序逻辑集成电路一、一、 寄存器寄存器6.5.1 6.5.1 寄存器和移位寄存器寄存器和移位寄存器寄存器寄存器:数字系统中用来存储代码或数据的逻辑部件。:数字系统中用来存储代码或数据的逻辑部件。它的主要组成部分是触发器。它的主要组成部分是触发器。 一个触发器能存储一个触发器能存储1位二进制代码,存储位二进制代码,存储 n 位二进位二进制代码的寄存器需要用制代码的寄存器需要用 n 个触发器组成。个触发器组成。2/551. 1. 电平敏感的寄存器电平敏感的寄存器8位位CMOS寄存器寄存器74LV3742. 2. 脉冲边沿敏感的寄存器脉冲边
2、沿敏感的寄存器3/558位位CMOS寄存器寄存器74LV374高阻高阻HHH高阻高阻LLH存入数据,禁止输出存入数据,禁止输出HHL对应内部触发对应内部触发器的状态器的状态LLL存入和读出数据存入和读出数据Q0Q7DNCP输出输出内部触发器内部触发器输输 入入工作模式工作模式4/55二、二、 移位寄存器移位寄存器移位寄存器是既能寄存数码,又能在时钟脉冲的作用下使数移位寄存器是既能寄存数码,又能在时钟脉冲的作用下使数码向高位或向低位移动的逻辑功能部件。码向高位或向低位移动的逻辑功能部件。按移动方式分按移动方式分单向移位寄存器单向移位寄存器双向移位寄存器双向移位寄存器左移位寄存器左移位寄存器移位寄
3、存器的逻辑功能分类移位寄存器的逻辑功能分类移位寄存器的逻辑功能移位寄存器的逻辑功能右移位寄存器右移位寄存器5/551 1、 基本移位寄存器基本移位寄存器(1 1)电路)电路时钟信号输入端时钟信号输入端串行数据串行数据输入端输入端串行数据串行数据输出端输出端并行数据输出端并行数据输出端6/55D3=Qn2D1=Q0nD0=DSQ0n+1=DSQ1n+1 = Q0nQ2n+1 =Qn1Q3n+1 =Qn2Qn+1=DD触发器的特性方程触发器的特性方程激励方程:激励方程:状态方程:状态方程:(2). (2). 工作原理工作原理( (电路分析电路分析) )D2=Qn17/55CPQ0 Q1 Q2 Q3
4、11 0 0 021 1 0 030 1 1 041 0 1 1 123456789 经过经过7个个CP脉冲作用后,脉冲作用后,从从DS 端端串行输入的数码串行输入的数码就可以从就可以从DO 端串端串行输出。行输出。 串入串入串出串出 经过经过4个个CP脉冲作用后,从脉冲作用后,从DS 端串行输入的数码端串行输入的数码就可以从就可以从Q0 Q1 Q2 Q3并行并行输出。输出。 串入串入并出并出1 1 0 11 1 0 11 10 01 11 18/55 1 0 1 1 0 1 1 0 1 1 0 00 0 0 0 0 0 0FF0 FF1 FF2 FF3CR=01CP 后后2CP 后后3CP
5、后后4CP 后后1101 1 Q0n+1=DIQ1n+1 = Q0nQ2n+1 =Qn1Q3n+1 =Qn2DS=11019/55 2. 2. 多功能双向移位寄存器多功能双向移位寄存器。10/55实现多功能双向移位寄存器的一种方案实现多功能双向移位寄存器的一种方案11/55(2)典型集成电路CMOS 4位双向移位寄存器74HCT194 12/5574194的功能表的功能表 LLH8LLLHH7HHLHH6LLHLH5HHHLH4ABCDABCDHHH3H(L)H2LLLLL1D3D2D1D0右移右移DSR左移左移DSLS0S1Q3Q2Q1Q0并行输入并行输入时钟脉时钟脉冲冲CP串行输入串行输入
6、控制信号控制信号输输 出出输输 入入清清零零RD序序号号异步清零异步清零 同步置数同步置数低位向高位移动低位向高位移动(左移左移)高位向低位移动高位向低位移动(右移右移)保持保持13/55移位寄存器的应用n并/串、串/并转换n乘法和除法n与其他电路配合完成复杂的逻辑功能14/55阻塞赋值与非阻塞赋值n阻塞赋值“=”:在同一个always块中,其后面的赋值语句是在前一个赋值语句结束后才开始赋值的,有一个先后的顺序关系。n非阻塞赋值“=”:在同一个always块中,所有的赋值语句是同时计算并完成赋值操作的,可看作两个步骤:n在赋值开始时刻,计算“=”右边的表达式;n在赋值结束时,更新“=”左边的表
7、达式。15/55组合逻辑应使用阻塞赋值n对于简单的组合逻辑电路,用非阻塞和阻塞赋值方式均可以实现。n当always中,有多个赋值语句时,使用没有延时的非阻塞赋值可能导致仿真结果不正确。16/55组合逻辑应使用阻塞赋值(1)always (a or b or c or d) begin tmp1 = a & b; tmp2 = c | d; y = tmp1 | tmp2; end非阻塞非阻塞(1) 初始:初始:a=1, b=0, c=0, d=0, tmp1=0, tmp2=0, y=0 (2) b=1:tmp1=1, tmp2=0, y=0 (3) b=0:tmp1=0, tmp2=0, y
8、=117/55组合逻辑应使用阻塞赋值(2)always (a or b or c or d or tmp1 or tmp2) begin tmp1 = a & b; tmp2 = c | d; y = tmp1 | tmp2; end非阻塞非阻塞(1) 初始:初始:a=1, b=0, c=0, d=0, tmp1=0, tmp2=0, y=0(2) b=1:tmp1=1, tmp2=0, y=0(3) tmp1=1:tmp1=1, tmp2=0, y=1(4) b=0:tmp1=0, tmp2=0, y=1(5) tmp1=0:tmp1=0, tmp2=0, y=018/55组合逻辑应使用阻塞
9、赋值(3)always (a or b or c or d) begin tmp1 = a & b; tmp2 = c | d; y = tmp1 | tmp2; end阻塞阻塞(1) 初始:初始:a=1, b=0, c=0, d=0, tmp1=0, tmp2=0, y=0(2) b=1:tmp1=1, tmp2=0, y=1(3) b=0:tmp1=0, tmp2=0, y=019/55组合和时序混合逻辑使用非阻塞组合和时序混合逻辑使用非阻塞always (posedge clk or negedge rst) begin if (!rst) q=0; else q=a & b; enda
10、lways (a or b) y=a &b;always (posedge clk or negedge rst) begin if (!rst) q=0; else q=y; end20/55移位寄存器(移位寄存器(1)always (posedge clk) begin q1=d; q2=q1; q3=q2; end 21/55移位寄存器(移位寄存器(2)always (posedge clk) begin q3=q2; q2=q1; q1=d; end 22/55移位寄存器(移位寄存器(3)always (posedge clk) begin q3=q2; q2=q1; q1=d; en
11、d23/55 移位寄存器(移位寄存器(4) always (posedge clk) begin q2=q1; q1=d; q3=q2; end24/55 移位寄存器(移位寄存器(5) reg3:0 q; always (posedge clk) begin q3:1=q2:0; q0=d; end25/556.8设计原则的总结设计原则的总结n时序电路时序电路用非阻塞赋值;用非阻塞赋值;n在在always块中编写块中编写组合逻辑组合逻辑时用阻塞赋值时用阻塞赋值;n在在always中中同时实现组合和时序逻辑同时实现组合和时序逻辑时,使时,使用非阻塞方式用非阻塞方式;但是,当组合逻辑复杂度较高时,
12、应该将组合逻辑和时序分开实现应该将组合逻辑和时序分开实现,如状态机的设计。n不要在同一个不要在同一个always块中,同时使用阻塞和块中,同时使用阻塞和非阻塞赋值;非阻塞赋值;n不要在多个不要在多个always块中,同时对一个变量进块中,同时对一个变量进行赋值行赋值。26/552 2、计数器的分类、计数器的分类按脉冲输入方式,分为同步和异步计数器按脉冲输入方式,分为同步和异步计数器按进位体制,分为二进制、十进制和任意进制计数器按进位体制,分为二进制、十进制和任意进制计数器按逻辑功能,分为加法、减法和可逆计数器按逻辑功能,分为加法、减法和可逆计数器概概 述述1 1、计数器的逻辑功能、计数器的逻辑
13、功能 计数器的基本功能是对输入时钟脉冲进行计数。它也可计数器的基本功能是对输入时钟脉冲进行计数。它也可用于分频、定时、产生节拍脉冲和脉冲序列及进行数字用于分频、定时、产生节拍脉冲和脉冲序列及进行数字运算等等。运算等等。7.1 7.1 计计 数数 器器27/55同步计数器同步计数器异步计数器异步计数器加计数器加计数器减计数器减计数器可逆计数器可逆计数器二进制计数器二进制计数器非二进制计数器非二进制计数器十进制计数器十进制计数器任意进制计数器任意进制计数器加计数器加计数器减计数器减计数器可逆计数器可逆计数器二进制计数器二进制计数器非二进制计数器非二进制计数器十进制计数器十进制计数器任意进制计数器任
14、意进制计数器28/55一、一、 二进制计数器二进制计数器驱动方程驱动方程:状态方程状态方程:1.三位二进制异步加计数器三位二进制异步加计数器(分析)分析)1、电路、电路:2、电路分析:、电路分析:(CP由由01时,时,状态方程状态方程有效有效) 时钟方程时钟方程CP0=CP, CP1= Q0 ,CP2= Q11. )根据给定的时序电路图写出下列各逻辑方程式根据给定的时序电路图写出下列各逻辑方程式29/55状态转换表状态转换表(CP(CP由由0 01 1时,此式有效时,此式有效) )(Q(Q0 0由由1 10 0时,此式有效时,此式有效) )(Q(Q1 1由由1 10 0时,此式有效时,此式有效
15、) )次态次态现现 态态CPCP0 0=CP=CPCPCP1 1= Q= Q0 0CPCP2 2= Q= Q1 13)3)列出状态转换表或画出状态图列出状态转换表或画出状态图状态图状态图0 00 00 01 10 00 00 01 10 0 0 0 00 0 01 11 11 1 1 1 11 1 10 01 11 1 1 1 01 1 01 10 01 1 1 0 11 0 10 00 01 1 1 0 0 1 0 0 1 11 10 0 0 1 10 1 1 0 0 1 0 0 1 0 1 00 1 030/55CPQ0Q1Q21tpd2tpd3tpd时序图时序图结论结论:异步计数脉冲的最
16、小周期异步计数脉冲的最小周期 Tmin=ntpd。(。(n为位数)为位数) 计数器的功能:不仅可以计数也可作为分频器计数器的功能:不仅可以计数也可作为分频器。如考虑每个触发器都有如考虑每个触发器都有1tpd的延时,电路会出现什么问题?的延时,电路会出现什么问题?CP0=CPCP1= Q0CP2= Q1 Q10 QQ2 000 001 010 011 100 101 110 111 31/55 为为2 23 3进制进制( (模八模八) )计数器计数器同样具有分频作用同样具有分频作用 三位二进制异步减计数器三位二进制异步减计数器32/55un位二进制异步计数器由位二进制异步计数器由n个处于计数工作
17、状态的触发器个处于计数工作状态的触发器组成。组成。u在二进制异步计数器中,高位触发器的状态翻转必须在在二进制异步计数器中,高位触发器的状态翻转必须在低低1 1位触发器产生进位信号之后才能实现,因此,异步位触发器产生进位信号之后才能实现,因此,异步计数器的工作速度较低。计数器的工作速度较低。 u触发器之间的连接方式由加、减计数方式及触发器的触触发器之间的连接方式由加、减计数方式及触发器的触发方式决定。发方式决定。二进制异步计数器的特点二进制异步计数器的特点33/55驱动方程驱动方程: :状态方程状态方程: :输出方程输出方程: :C=Q2nQ1nQ0n2 2、3 3位二进制同步加法计数器位二进制
18、同步加法计数器(1 1)电路)电路: :(2 2)电路分析:)电路分析:34/55状态转换表状态转换表C=Q2nQ1nQ0n状态转换图状态转换图波形图波形图876543210 电路状态电路状态 Q2 Q1 Q0计数计数顺序顺序000111011101001110010100000011010000000进位进位CC=Q2nQ1nQ0n35/552 2、电路的工作特点:电路是同步计数器,各触发器在、电路的工作特点:电路是同步计数器,各触发器在CPCP地作用地作用下同时翻转,它们的翻转仅比下同时翻转,它们的翻转仅比CPCP滞后一个滞后一个t tpdpd时间。同步计数时间。同步计数器计数速度比异步计
19、数器高器计数速度比异步计数器高。 小结小结1 1、电路的逻辑功能:电路为、电路的逻辑功能:电路为8 8进制计数器。也可作为分频器进制计数器。也可作为分频器36/553 3位二进制减计数器状态图状态表B0 00 00 01 11 11 11 11 11 11 11 11 10 00 01 11 10 01 10 01 10 01 10 01 11 10 00 00 01 10 00 00 01 11 10 00 01 11 10 01 10 00 00 01 10 00 00 01 10 00 00 01 10 00 00 00 0选用选用3 3个下降沿触发的个下降沿触发的边沿边沿JKJK触发器
20、组成电路触发器组成电路求状态方程求状态方程: :二进制同步减计数器二进制同步减计数器( (设计设计) )二进制计数器二进制计数器37/55画逻辑电路图画逻辑电路图: :二进制同步减计数器二进制同步减计数器 (设计设计)二进制计数器二进制计数器38/55 用Verilog HDL设计8进制可逆计数器 module cnt8(CP, M, Q); input CP, M; /M为计数标志 output2:0 Q; reg2:0 Q; always(posedge CP) if (M) /加法计数 if(Q 7) Q = Q + 1; else Q = 0; else /减法计数 if(Q = 0)
21、 Q = 7; else Q = Q - 1;endmodule39/55J=K=1,Q翻转J=K=0,Q不变n000001010011100000nQ0平时翻转,在Q2=1时保持不变nQ1在Q0=1时翻转,其余保持不变nQ2在Q2=1时或Q1Q0=11时翻转40/55设计7进制计数器n000001010011100101110000nQ0:平时翻转,只在Q2Q1Q0=110时保持为0nQ1:在Q0=1时或Q2Q1Q0=110时翻转,其余保持nQ2:在Q1Q0=11时或Q2Q1Q0=110时翻转,其余保持J=K=1,Q翻转J=K=0,Q不变41/55 用Verilog HDL设计7进制可逆计数
22、器module cnt8(CP, M, Q);input CP, M; /M为计数标志output3:0 Q;reg3:0 Q;always(posedge CP)if(M) /加法计数 if(Q 6) Q = Q + 1; else Q = 0;else /减法计数 if(Q = 0) Q = 6; else Q = Q - 1;endmodule42/55 1. 集成计数器集成计数器74161(1)74161的逻辑功能的逻辑功能RCO=ETQAQBQCQD74161逻辑功能表逻辑功能表保保 持持A B C DDCBALHLQA QBQCQDDCBACPETEPLDRD输输 出出预置数据预置
23、数据输入输入时钟时钟使能使能预置预置L L L LX X X XLHH保保 持持X X X XLXHH计计 数数X X X XHHHH清零清零异步清零异步清零同步并行预置数据同步并行预置数据保持原有状态不变保持原有状态不变计数计数QDQCQBQA0000QDQCQBQADCBAQDQCQBQA QDQCQBQACP每来一个上升沿,计数器的数值增每来一个上升沿,计数器的数值增1。43/55(2)(2)时序图时序图RCO=ETQAQBQCQD44/55设法跳过设法跳过16 9=7个状态个状态 11CP&例例2 用用74161构成九进制加计数器。构成九进制加计数器。CPQDQCQBQA0000010
24、00120010.8100091001151111(a) 反馈清零法:利用异步置零输入端,在反馈清零法:利用异步置零输入端,在M进制计数器的计数过程中,进制计数器的计数过程中,跳过跳过M-N个状态,得到个状态,得到N进制计数器的方法。进制计数器的方法。(3)应用)应用11RD的作用?的作用?1设置初始状态为设置初始状态为0000 2、在计数过程中置、在计数过程中置0,去除若干状态,去除若干状态45/55& &1 11 11 1CPCP工作波形工作波形状态图状态图46/55 RCO ET EP 1 1 CP 1 1 RD A B C D CP QA QB QC QD74161 LD 1 CPQD
25、QCQBQA000001000120010.8100091001151111(b) (b) 反馈置数法反馈置数法: :利用同步置数端,在利用同步置数端,在M M进制计数器的计进制计数器的计数过程中,跳过数过程中,跳过M-NM-N个状态,得到个状态,得到N N进制计数器的方法。进制计数器的方法。利用同步置数端构成九进制计数器利用同步置数端构成九进制计数器L LD D的作用?的作用?1 1设置初始状态设置初始状态2 2、在计数过程中置数,去除若干状态、在计数过程中置数,去除若干状态47/55 采用后九种状态作为有效状态,用反馈置数法采用后九种状态作为有效状态,用反馈置数法 构成九构成九进制加计数器
26、。进制加计数器。CPQDQCQBQA000001000120010.701118011191000151111 RCO ET EP 1 1 CP RD A A B B C C D D CP QA QB QC QD74161 LD 1 1 1 1 1 1 1 11 Q QD D Q QC C Q QB B Q QA A1 1 0 01 1 0 00 1 1 10 1 1 11 0 0 01 0 0 01 0 0 11 0 0 11 0 1 01 0 1 01 0 1 11 0 1 11 1 0 11 1 0 11 1 1 01 1 1 01 1 1 11 1 1 148/551234567891
27、0波形图:波形图:该计数器的模为该计数器的模为9 9。49/55分析下图所示的时序逻辑电路,试画出其状态图和在分析下图所示的时序逻辑电路,试画出其状态图和在CP脉冲脉冲作用下作用下Q3、Q2、Q1、Q0的波形,并指出计数器的模是多少?的波形,并指出计数器的模是多少?M=1250/55例例3 3 用用74HCT16174HCT161组成组成256256进制计数器。进制计数器。解:解: 1 1片片7416174161是是1616进制计数器进制计数器256 = 16256 = 161616所以所以256256进制计数器需进制计数器需用两片用两片7416174161构成构成片与片之间的连接通常有两种方
28、式:片与片之间的连接通常有两种方式:并行进位并行进位 ( (低位片的进位信号作为高位片的使能信号低位片的进位信号作为高位片的使能信号) )串行进位串行进位 ( (低位片的进位信号作为高位片的时钟脉冲,低位片的进位信号作为高位片的时钟脉冲, 即异步计数方式即异步计数方式) ) 设计思想设计思想51/55N = 1616=256 + 0 0 0 11. 集成计数器集成计数器74161CP0000 1111 计数状态计数状态 : 0000 0000 1111 1111并行进位:低位片的进位作为高位片的使能并行进位:低位片的进位作为高位片的使能52/551计数状态计数状态 : 0000 0000 11
29、11 1111采用串行进位时,为什么低采用串行进位时,为什么低RCO要经反向器后作为高位的要经反向器后作为高位的CP?+ 0 0 0 10000 1111 串行进位:低位片的进位作为高位片的时钟串行进位:低位片的进位作为高位片的时钟53/55用集成计数器构成任意进制计数器的一般方法用集成计数器构成任意进制计数器的一般方法1)N M 的情况的情况(1)串行进位方式:)串行进位方式:(2)并行进位方式:)并行进位方式:-采用多片采用多片M进制计数器构成。进制计数器构成。按芯片连接方式可分为:按芯片连接方式可分为:构成异步计数器构成异步计数器构成同步计数器构成同步计数器实现的方法:实现的方法:55/55应用举例应用举例 D7 0 1 74LS151 D0 D1 D2 D3 D4 D5 D6 EN CBA111CPYD7 序列信号发生器序列信号发生器在在CP的作用下,的作用下,Y端产生端产生00010111循环序列信号循环序列信号如要求如要求Y端产生端产生10110010循环序列信号,如何改变电路的连接?循环序列信号,如何改变电路的连接?