【数字逻辑】学习笔记 第五章 Part2 时序逻辑电路(分析与设计)
文章目录
- 一、时序逻辑电路分析
- 1. 同步时序逻辑电路分析
- (1) 分析目的
- (2) 分析方法
- (3) 分析步骤
- 2. 例题A
- (1) 写方程组
- (2) 根据方程组列出状态转移真值表
- (3) 根据状态转移真值表画状态转移图
- (4) 根据状态转移图画时序图
- (5) 检查电路能否重启动
- (6) 画出完整的状态图
- (7) 判断电路功能
- 3. 例题B
- (1) 写方程组
- (2) 列状态转移真值表
- (3) 画状态转移图
- (4) 画时序图
- (5) 检查是否能自启
- (6) 画出完整的状态转换图
- (7) 判断电路功能
- 4. 异步时序逻辑电路分析
- (1) 异步时序逻辑电路的特点
- (2) 分析步骤
- (3) 注意
- 5. 例题C
- (1) 写方程组
- (2) 根据方程组列出状态转移真值表
- (3) 根据状态转移真值表画出状态转移图
- (4) 画出系统时序图
- (5) 逻辑功能分析
- 二、时序逻辑电路的设计
- 1. 同步时序逻辑电路的设计
- (1) 同步时序逻辑电路设计的一般步骤
- (2) 逻辑抽象
- a. 例1
- b. 例2
- (3) 状态化简和分配
- (4) 确定驱动方程组和输出方程
- c. 例3
- (5) 检查自启动功能
- d. 例4
- 三、练习题目
一、时序逻辑电路分析
1. 同步时序逻辑电路分析
(1) 分析目的
分析时序逻辑电路在输入信号的作用下,其状态和输出信号变化的规律,进而确定电路的逻辑功能。
(2) 分析方法
利用驱动方程、次态方程和输出方程 , 求出在任何给定的输入变量状态和存储电路状态下时序电路的输出和次态
- 驱动方程:触发器输入端的逻辑表达式
- 次态方程:将驱动方程代入对应触发器特征方程得到的逻辑表达式
- 输出方程 :时序电路输出信号的逻辑表达式
(3) 分析步骤
1.了解电路的组成:电路的输入、输出信号、触发器的类型等
2.根据给定的时序电路图,写出下列各逻辑方程式:
- 各触发器的驱动方程
- 各触发器的次态方程
- 时序电路的输出方程
3.列出状态转换表或画出状态图和波形图
4.确定电路的逻辑功能
2. 例题A
例1:分析以下电路的逻辑功能:
(1) 写方程组
- 输出方程: z = Q 3 n z = Q^n_3 z=Q3n
- 驱动方程:
{ J 1 = Q 3 ‾ , K 1 = 1 J 2 = Q 1 n , K 2 = Q 1 J 3 = Q 1 n Q 2 n , K 3 = 1 \left \{ \begin{aligned} &J_1 = \overline {Q_3}, K_1= 1\\ &J_2 = Q^n_1, K_2 = Q_1\\ &J_3 = Q^n_1Q^n_2, K_3 = 1 \end{aligned} \right. ⎩⎪⎨⎪⎧J1=Q3,K1=1J2=Q1n,K2=Q1J3=Q1nQ2n,K3=1 - 次态方程:这是下降沿触发的J-K触发器,因此 Q n + 1 = J Q n ‾ + k ‾ Q n Q^{n+1} = J \overline {Q^n} + \overline k Q^n Qn+1=JQn+kQn
从而,可以得到以下的次态方程组:
{ Q 1 n + 1 = Q 3 n ‾ Q 1 n ‾ Q 2 n + 1 = Q 1 n Q 2 n ‾ + Q 1 n ‾ Q 2 n = Q 1 n ⊕ Q 2 n Q 3 n + 1 = Q 1 n Q 2 n Q 3 n ‾ \left \{ \begin{aligned} &Q^{n+1}_1 = \overline {Q^n_3}\ \overline {Q^n_1} \\ &Q^{n+1}_2 = Q^n_1\overline {Q^n_2} + \overline {Q^n_1}Q^n_2 = Q^n_1 \oplus Q^n_2\\ &Q^{n+1}_{3} = Q^n_1Q^n_2\overline {Q^n_3} \end{aligned} \right. ⎩⎪⎨⎪⎧Q1n+1=Q3n Q1nQ2n+1=Q1nQ2n+Q1nQ2n=Q1n⊕Q2nQ3n+1=Q1nQ2nQ3n
(2) 根据方程组列出状态转移真值表
(3) 根据状态转移真值表画状态转移图
(4) 根据状态转移图画时序图
(5) 检查电路能否重启动
检查电路能否从 非工作状态 (未出现在状态转移真值表中的状态) 进入工作状态
非工作状态: 101 , 110 , 111 101,110,111 101,110,111
分别代入次态方程组和输出方程:
电路可以由非工作状态进入工作状态,故可以自启!
(6) 画出完整的状态图
(7) 判断电路功能
由于时钟脉冲控制状态从 000 − 001 − 010 − 011 − 100 − 000 000-001-010-011-100-000 000−001−010−011−100−000,循环变换,逢五进一,可知,该电路是一个同步的五进制计数器
3. 例题B
分析以下电路的逻辑功能:
(1) 写方程组
这也是下降沿触发的J-K触发器。
- 输出方程: Z = ( X ⊕ Q 2 n ) ⋅ Q 1 n ‾ Z = (X \oplus Q^n_2) \cdot \overline {Q^n_1} Z=(X⊕Q2n)⋅Q1n
- 驱动方程:
{ J 1 = X ⊕ Q 2 n ‾ , K 1 = 1 J 2 = X ⊕ Q 1 n , K 2 = 1 \left \{ \begin{aligned} J_1 = X\oplus \overline {Q^n_2}, K_1 = 1\\ J_2 = X \oplus Q^n_1, K_2 = 1 \end{aligned} \right. {J1=X⊕Q2n,K1=1J2=X⊕Q1n,K2=1 - 次态方程: Q n + 1 = J Q n ‾ + K ‾ Q n Q^{n+1} = J\overline {Q^n} + \overline K Q^n Qn+1=JQn+KQn
可得次态方程组:
{ Q 1 n + 1 = ( X ⊕ Q 2 n ‾ ) Q 1 n ‾ Q 2 n + 1 = ( X ⊕ Q 1 n ) Q 2 n ‾ \left \{ \begin{aligned} Q^{n+1}_1 = (X \oplus \overline {Q^n_2}) \overline {Q^n_1} \\ Q^{n+1}_2 = (X \oplus Q^n_1)\overline {Q^n_2} \end{aligned} \right. {Q1n+1=(X⊕Q2n)Q1nQ2n+1=(X⊕Q1n)Q2n
(2) 列状态转移真值表
① 当 X = 0 X=0 X=0 时,化简方程:
{ Q 1 n + 1 = ( X ⊕ Q 2 n ‾ ) Q 1 n ‾ = Q 2 n ‾ Q 1 n ‾ Q 2 n + 1 = ( X ⊕ Q 1 n ) Q 2 n ‾ = Q 1 n Q 2 n ‾ Z = Q 2 n Q 1 n ‾ \left \{ \begin{aligned} &Q^{n+1}_1 = (X \oplus \overline {Q^n_2}) \overline {Q^n_1}=\overline {Q^n_2}\ \overline {Q^n_1} \\ &Q^{n+1}_2 = (X \oplus Q^n_1)\overline {Q^n_2} = Q^n_1 \overline {Q^n_2}\\ &Z = Q^n_2 \overline {Q^n_1} \end{aligned} \right. ⎩⎪⎨⎪⎧Q1n+1=(X⊕Q2n)Q1n=Q2n Q1nQ2n+1=(X⊕Q1n)Q2n=Q1nQ2nZ=Q2nQ1n
② 当 X = 1 X=1 X=1 时,化简方程:
{ Q 1 n + 1 = ( X ⊕ Q 2 n ‾ ) Q 1 n ‾ = Q 2 n Q 1 n ‾ Q 2 n + 1 = ( X ⊕ Q 1 n ) Q 2 n ‾ = Q 1 n ‾ Q 2 n ‾ Z = Q 2 n ‾ Q 1 n ‾ \left \{ \begin{aligned} &Q^{n+1}_1 = (X \oplus \overline {Q^n_2}) \overline {Q^n_1}= {Q^n_2}\ \overline {Q^n_1} \\ &Q^{n+1}_2 = (X \oplus Q^n_1)\overline {Q^n_2} = \overline{Q^n_1}\ \overline {Q^n_2}\\ &Z = \overline {Q^n_2}\ \overline {Q^n_1} \end{aligned} \right. ⎩⎪⎨⎪⎧Q1n+1=(X⊕Q2n)Q1n=Q2n Q1nQ2n+1=(X⊕Q1n)Q2n=Q1n Q2nZ=Q2n Q1n
(3) 画状态转移图
X = 0 X =0 X=0 时的状态转移图:
X = 1 X =1 X=1 时的状态转移图
(4) 画时序图
Z = ( X ⊕ Q 2 n ) ⋅ Q 1 n ‾ Z = (X \oplus Q^n_2) \cdot \overline {Q^n_1} Z=(X⊕Q2n)⋅Q1n
(5) 检查是否能自启
非工作状态: 11 11 11;分别代入次态方程组和输出方程,可得:
该电路能够自启。
(6) 画出完整的状态转换图
(7) 判断电路功能
该电路共有三个状态: 00 , 01 , 10 00,01,10 00,01,10
该电路是一个加减可控的三进制计数器
当时钟信号下降沿到来时:
- 若 X = 0 X=0 X=0, 按照加 1 1 1 规律从 00 → 01 → 10 → 00 00→01→10→00 00→01→10→00 循环变化,并每当转换为 10 10 10 状态(最大数)时, 输出 Z = 1 Z=1 Z=1;
- X = 1 X=1 X=1 时, 按照减 1 1 1 规律从
10 → 01 → 00 → 10 10→01→00→10 10→01→00→10 循环变化,并每当转换为 00 00 00 状态(最小数)时, 输出 Z = 1 Z=1 Z=1
4. 异步时序逻辑电路分析
(1) 异步时序逻辑电路的特点
- 电路无统一的时钟信号;
- 除了时钟脉冲外,没有其它输入信号, 由时钟脉冲,直接引起电路状态的变化
- 由次态逻辑产生各触发器的驱动信号及时钟信号
(2) 分析步骤
1.了解电路的组成:电路的输入、输出信号、触发器的类型等;
2.根据给定的时序电路图, 写出下列各逻辑方程式:
- 各触发器的时钟方程
- 各触发器的驱动方程
- 时序电路的输出方程
- 各触发器的次态方程
3.列出状态转换表、画出状态图和波形图
4.确定电路的逻辑功能
(3) 注意
1.第一个触发器:每一次状态转换必须从输入信号所能触发的第一个触发器开始逐级确定;
2.是否出现触发沿。逐个分析各触发器的时钟信号是否出现触发沿:
- 出现触发沿,求出该触发器的次态
- 未出现触发沿,记为
CP_n =0
,该触发器保持原有状态
3.时间延迟
各个触发器的状态转换存在一定的延迟。只有当全部触发器状态转换完毕,电路才进入新的“稳定”状态,即次态
5. 例题C
分析以下电路的逻辑功能:
(1) 写方程组
电路基本情况:
• 采用两个上升沿触发的 D D D 触发器
• 时钟脉冲信号作为输入信号,不存在其他的输入信号
• 时钟 CP
的上升沿触发 F F 0 FF_0 FF0
• Q 0 Q_0 Q0 由 0 → 1 0→1 0→1 时触发 F F 1 FF_1 FF1 ,要根据 Q 0 Q_0 Q0 的变化情况,确定是否更新 Q 1 Q_1 Q1 的次态
时钟方程:
{ C P 0 = C P ↑ C P 1 = Q 0 ↑ \left \{ \begin{aligned} &CP_0 = CP\uparrow \\ &CP_1 = Q_0 \uparrow \end{aligned} \right. {CP0=CP↑CP1=Q0↑
驱动方程组:
{ D 0 = Q 0 n ‾ D 1 = Q 1 n ‾ \left \{ \begin{aligned} &D_0 = \overline {Q_0^n} \\ &D_1 =\overline {Q_1^n} \end{aligned} \right. {D0=Q0nD1=Q1n
输出方程: Z = Q 0 n + Q 1 n ‾ = Q 0 n ‾ Q 1 n ‾ Z = \overline {Q^n_0 + Q^n_1} = \overline {Q^n_0}\ \overline {Q^n_1} Z=Q0n+Q1n=Q0n Q1n
由于 Q n + 1 = D Q^{n+1} = D Qn+1=D ,次态方程组:
{ Q 0 n + 1 = D 0 = Q 0 n ‾ ⋅ C P 0 Q 1 n + 1 = D 1 = Q 1 n ‾ ⋅ C P 1 \left \{ \begin{aligned} &Q_0^{n+1} = D_0 = \overline {Q_0^n} \cdot CP_0 \\ &Q_1^{n+1} = D_1 = \overline {Q_1^n} \cdot CP_1 \end{aligned} \right. {Q0n+1=D0=Q0n⋅CP0Q1n+1=D1=Q1n⋅CP1
计算过程:
- 将一组现态值带入次态方程组,计算出 Q 0 n + 1 Q_0^{n+1} Q0n+1
- 根据 Q 0 n → Q 0 n + 1 Q^n_0 \rightarrow Q_0^{n+1} Q0n→Q0n+1 的变化情况,即时钟 C P 1 CP_1 CP1 的状态,确定是否计算更新 Q 1 n + 1 Q_1^{n+1} Q1n+1 (时钟信号变化了)
- 若 Q 0 n → Q 0 n + 1 : 0 → 1 Q^n_0 \rightarrow Q_0^{n+1} : 0 \rightarrow 1 Q0n→Q0n+1:0→1 ,则计算更新 Q 1 n + 1 Q_1^{n+1} Q1n+1 ,否则 Q 1 n + 1 = Q 1 n Q_1^{n+1} = Q^n_1 Q1n+1=Q1n
(2) 根据方程组列出状态转移真值表
只有在 Q 0 Q_0 Q0 处于上升沿时, Q 1 Q_1 Q1 才会变化:
(3) 根据状态转移真值表画出状态转移图
(4) 画出系统时序图
(5) 逻辑功能分析
该电路共有四个状态,在时钟脉冲作用下,按照减 1 1 1 规律循环变化: 00 → 11 → 10 → 01 → 00 00→ 11→ 10→ 01→00 00→11→10→01→00 ,是一个四进制减法计数器。其中, Z Z Z 是借位信号。
接下来就是时序逻辑电路的设计问题了。
二、时序逻辑电路的设计
时序逻辑电路的设计相对来说很有难度,这里只要求掌握同步时序电路的设计。
1. 同步时序逻辑电路的设计
同步时序逻辑电路的设计是分析的逆过程,其任务是根据实际逻辑问题的要求,设计出能实现给定逻辑功能的电路。
(1) 同步时序逻辑电路设计的一般步骤
① 逻辑抽象:建立原始状态图和状态表;② 状态化简;③ 状态分配;
④ 选择触发器类型;⑤ 确定驱动方程组和输出方程;⑥ 检查自启动能力;⑦ 画出逻辑电路图
其中,状态化简和状态分配不要求掌握。
(2) 逻辑抽象
- 确定输入、输出变量及电路的状态数
- 定义输入、输出逻辑状态和电路状态的含义
- 按题意建立原始状态转换图和状态转移真值表
a. 例1
设计一个五进制可逆计数器。当输入 x = 0 x=0 x=0 时,进行加 1 1 1 计数;当 x = 1 x=1 x=1 时,进行减 1 1 1 计数。
(1) 确定输入、输出变量及电路状态的数量
- 输入变量: 1 1 1 个
- 输出变量: 1 1 1 个
- 电路状态数量: 5 5 5 个
(2) 定义输入、输出变量及电路状态的含义
- 输入变量: x x x —— 控制电路的功能选择
x = 0 x=0 x=0:加 1 1 1 计数
x = 1 x=1 x=1:减 1 1 1 计数 - 输出变量: y y y —— 指示电路处于初始状态
y = 1 y=1 y=1:电路处于 S 0 S_0 S0 状态
y = 0 y=0 y=0:电路处于其它状态 - 电路状态: S 0 − S 4 S_0-S_4 S0−S4 —— 五进制计数器的 5 5 5 种状态
(3) 列出状态转移真值表,画出状态转移图:
红色箭头:加1计数状态转换顺序;黑色箭头:减1计数状态转换顺序.
b. 例2
设计一个串行数据检测器,在连续输入四个或四个以上的 1 1 1 时输出 1 1 1 ,否则输出 0 0 0 。
(1) 确定输入、输出变量及电路状态分析
- 输入变量: 1 1 1 个,表示输入数值串
- 输出变量: 1 1 1 个,表示检测结果
- 电路状态:
S 0 S_0 S0 :未输入 1 1 1
S 1 S_1 S1 :输入一个 1 1 1
S 2 S_2 S2 :连续输入两个 1 1 1
S 3 S_3 S3 :连续输入三个 1 1 1
S 4 S_4 S4 :连续输入四个或四个以上的 1 1 1
(2) 画出状态转移图
(3) 列出状态转移表
(3) 状态化简和分配
合并等效状态、 消去多余状态的过程,利用状态与状态间的等效关系来进行状态简化。
状态等效 :
在完全确定的状态表中,若对所有可能的输入序列 ,分别从某两个状态(假设为 S 1 S_1 S1 与 S 2 S_2 S2 )出发 ,所得到的输出序列都相同,且状态转移效果相同,则说这两个状态( S 1 S_1 S1 与 S 2 S_2 S2 )等效。记做:( S 1 S_1 S1 , S 2 S_2 S2 )。此时 S 1 S_1 S1 与 S 2 S_2 S2 可以合并为一个状态。
等效的传递性:若有状态 S 1 S_1 S1 和 S 2 S_2 S2 等效,状态 S 2 S_2 S2 和 S 3 S_3 S3 等效,则状态 S 1 S_1 S1 和 S 3 S_3 S3 也等效,记为:( S 1 S_1 S1 , S 2 S_2 S2),( S 2 S_2 S2 , S 3 S_3 S3) → ( S 1 S_1 S1 , S 3 S_3 S3)
等效类:所含状态都可以互相构成等效对的等效状态集合,即:
( S 1 , S 2 , S 3 ) (S_1,S_2 ,S_3) (S1,S2,S3) → ( S 1 , S 2 ) (S_1, S_2) (S1,S2) ( S 2 , S 3 ) (S_2, S_3) (S2,S3) ( S 1 , S 3 ) (S_1, S_3) (S1,S3)
( S 1 , S 2 ) (S_1, S_2) (S1,S2) ( S 2 , S 3 ) (S_2, S_3) (S2,S3) ( S 1 , S 3 ) (S_1, S_3) (S1,S3) → ( S 1 , S 2 , S 3 ) (S_1,S_2 ,S_3) (S1,S2,S3)
最大等效类:一个原始状态表中,不能被其它等效类所包含的等效类.
状态分配就是给最小化状态表中的每个状态分配一个二进制代码;
电路的状态是触发器状态的组合。如果电路有 N N N 个状态, 2 n − 1 < N ≤ 2 n 2^{n-1} <N\le {2^n} 2n−1<N≤2n ,则可用 n n n 个触发器来实现.
(4) 确定驱动方程组和输出方程
在确定了触发器类型的条件下,再确定驱动方程组。最常用的触发器是 D D D 触发器,其次是 J − K J-K J−K 触发器和 T T T 触发器。
由状态转移表得到驱动方程组和输出方程的过程:
c. 例3
分别用 D
触发器、J-K
触发器和 T
触发器实现下表所示的逻辑功能,试求对应的驱动方程和输出方程。
(1) 绘制触发器次态卡诺图和输出卡诺图
(2) 求出次态方程和输出方程
{ Q 2 n + 1 = X ‾ Q 2 n ‾ + X Q 1 n ‾ Q 1 n + 1 = X Q 2 n + X Q 1 n ‾ + Q 2 n Q 1 n ‾ \left \{ \begin{aligned} &Q^{n+1}_{2} = \overline X\ \overline {Q^n_2} + X\overline {Q^n_1}\\ &Q^{n+1}_1 = XQ^n_2 + X\overline {Q_1^n} + Q^n_2\overline {Q^n_1} \end{aligned} \right. {Q2n+1=X Q2n+XQ1nQ1n+1=XQ2n+XQ1n+Q2nQ1n
输出方程: Z = X Q 2 n Q 1 n Z = XQ^n_2Q^n_1 Z=XQ2nQ1n
(3) 确定驱动方程组和输出方程(将次态方程代入触发器的特征方程中)
若选用
D
触发器, Q n + 1 = D Q_{n+1} =D Qn+1=D。对比,得到
{ D 2 = X ‾ Q 2 n ‾ + X Q 1 n ‾ D 1 = X Q 2 n + X Q 1 n ‾ + Q 2 n Q 1 n ‾ \left \{ \begin{aligned} &D_{2} = \overline X\ \overline {Q^n_2} + X\overline {Q^n_1}\\ &D_1 = XQ^n_2 + X\overline {Q_1^n} + Q^n_2\overline {Q^n_1} \end{aligned} \right. {D2=X Q2n+XQ1nD1=XQ2n+XQ1n+Q2nQ1n若选用
J-K
触发器, Q n + 1 = J Q n ‾ + K ‾ Q n Q^{n+1} = J\overline {Q^n} + \overline K Q^n Qn+1=JQn+KQn ,可得:
Q 2 n + 1 = X ‾ Q 2 n ‾ + X Q 1 n ‾ = X ‾ Q 2 n ‾ + X Q 1 n ‾ ( Q 2 n ‾ + Q 2 n ) = ( X ‾ + X Q 1 n ‾ ) Q 2 n ‾ + X Q 1 n ‾ Q 2 n = ( X ‾ + Q 1 n ‾ ) Q 2 n ‾ + X Q 1 n ‾ Q 2 n Q 1 n + 1 = X Q 2 n + X Q 1 n ‾ + Q 2 n Q 1 n ‾ = X Q 2 n ( Q 1 n + Q 1 n ‾ ) + X Q 1 n ‾ + Q 2 n Q 1 n ‾ = ( X + Q 2 n + X Q 2 n ) Q 1 n ‾ + X Q 2 n Q 1 n = ( X + Q 2 n ) Q 1 n ‾ + X Q 1 n Q 2 n \begin{aligned} Q^{n+1}_{2} &= \overline X\ \overline {Q^n_2} + X\overline {Q^n_1}\\ &= \overline X\ \overline {Q^n_2} + X\overline {Q^n_1}(\overline {Q^n_2} + Q^n_2)\\ &= (\overline X + X \overline {Q^n_1}) \overline {Q^n_2} + X \overline {Q^n_1} Q^n_2 \\ &= (\overline X + \overline {Q^n_1}) \overline {Q^n_2} + X\overline {Q^n_1} Q^n_2\\ Q^{n+1}_{1} &= X {Q^n_2} + X\overline {Q^n_1} + {Q^n_2}\overline {Q^n_1}\\ &= X {Q^n_2} ( {Q^n_1} + \overline {Q^n_1})+ X\overline {Q^n_1} + {Q^n_2}\overline {Q^n_1}\\ &= (X +{Q^n_2} + X {Q^n_2}) \overline {Q^n_1} + X {Q^n_2} Q^n_1 \\ &= ( X + {Q^n_2}) \overline {Q^n_1} + X {Q^n_1} Q^n_2 \end{aligned} Q2n+1Q1n+1=X Q2n+XQ1n=X Q2n+XQ1n(Q2n+Q2n)=(X+XQ1n)Q2n+XQ1nQ2n=(X+Q1n)Q2n+XQ1nQ2n=XQ2n+XQ1n+Q2nQ1n=XQ2n(Q1n+Q1n)+XQ1n+Q2nQ1n=(X+Q2n+XQ2n)Q1n+XQ2nQ1n=(X+Q2n)Q1n+XQ1nQ2n
从而:
{ J 2 = X ‾ + Q 1 n ‾ K 2 = X Q 1 n ‾ ‾ = X ‾ + Q 1 n { J 1 = X + Q 2 n K 1 = X Q 2 n ‾ = X ‾ + Q 2 n ‾ \left \{ \begin{aligned} J_2 &= \overline X + \overline {Q^n_1}\\ K_2 &= \overline {X \overline {Q^n_1}} = \overline X + {Q^n_1} \\ \end{aligned} \right.\\ \left \{ \begin{aligned} J_1 &=X + {Q^n_2}\\ K_1 &= \overline {X {Q^n_2}} = \overline X + \overline{Q^n_2} \\ \end{aligned} \right. {J2K2=X+Q1n=XQ1n=X+Q1n{J1K1=X+Q2n=XQ2n=X+Q2n若选用
T
触发器, Q n + 1 = T Q n ‾ + T ‾ Q n Q^{n+1} = T\overline {Q^n} + \overline T{Q^n} Qn+1=TQn+TQn ,这个就有一定难度了。为了求出驱动方程,我们分析如下:
T触发器要发生状态翻转,必须满足输入端信号 T = 1 T=1 T=1,若选用T触发器假设两个T触发器的输入端信号分别为T1和T2,由状态转移表画T1和T2的卡诺图:
对T1和T2的卡诺图进行化简,得到T1和T2的逻辑表达式:
{ T 2 = X ‾ + Q 1 n ‾ Q 2 n ‾ + Q 2 n Q 1 n T 1 = X ‾ Q 1 n + X Q 2 n ‾ + Q 2 n Q 1 n ‾ \left \{ \begin{aligned} T_2 &= \overline X + \overline {Q^n_1} \ \overline {Q^n_2} +Q^n_2Q^n_1\\ T_1 &= \overline {X} {Q^n_1} + X\overline{Q^n_2} + Q^n_2\overline {Q^n_1} \\ \end{aligned} \right.\\ {T2T1=X+Q1n Q2n+Q2nQ1n=XQ1n+XQ2n+Q2nQ1n
(5) 检查自启动功能
当所设计的电路中,触发器能表示的状态数大于有效状态数时,需要对所设计的电路进行实际工作状态讨论。
讨论两个问题 :
(1) 电路万一进入无用状态,能否在时钟脉冲作用下进入有效状态,即是否具有自恢复功能和自启动功能。
(2) 电路万一处在无用状态,是否会产生错误信号。
一但出现以上两个问题都必须修改电路设计,否则将影响电路工作的可靠性和正确性。
d. 例4
用 J-K
触发器设计一个五进制同步计数器, 要求状态转移关系如右图所示。
(1) 逻辑抽象,建立原始状态图和状态表 。
本例属于给定状态的时序电路设计问题,不存在逻辑抽象的问题,可以直接建立状态转移真值表。
(2) 选择触发器, 确定驱动方程和输出方程。根据状态转移真值表,画出各个次态的卡诺图。
若选用J-K触发器, 则由次态卡诺图求出其状态方程,再求出驱动方程:
{ Q 2 n + 1 = Q 1 n Q 2 n ‾ + Q 1 n ‾ Q 2 n Q 1 n + 1 = Q 0 n Q 1 n ‾ Q 0 n + 1 = Q 2 n ‾ = Q 2 n ‾ Q 0 n ‾ + Q 2 n ‾ Q 0 n { J 2 = Q 1 n , K 2 = Q 1 n J 1 = Q 0 n , K 1 = 1 J 0 = Q 2 n ‾ , K 0 = Q 2 n \left \{ \begin{aligned} &Q^{n+1}_{2} =Q_1^n \overline {Q^n_2} + \overline {Q^n_1}Q^n_2\\ &Q^{n+1}_1 = Q^n_0 \overline {Q_1^n} \\ &Q^{n+1}_0 = \overline {Q^n_2} = \overline {Q^n_2}\ \overline {Q^n_0} + \overline {Q^n_2} Q^n_0 \end{aligned} \right. \left \{ \begin{aligned} &J_{2} =Q_1^n, K_2 = {Q^n_1}\\ &J_1 = Q^n_0, K_1 = 1\\ &J_0 = \overline {Q^n_2}, K_0 = {Q^n_2} \end{aligned} \right. ⎩⎪⎨⎪⎧Q2n+1=Q1nQ2n+Q1nQ2nQ1n+1=Q0nQ1nQ0n+1=Q2n=Q2n Q0n+Q2nQ0n⎩⎪⎨⎪⎧J2=Q1n,K2=Q1nJ1=Q0n,K1=1J0=Q2n,K0=Q2n
(3) 自启动检查:根据以上次态方程, 检查多余状态的转移情况。
状态转移表:
状态转移图:
存在孤立状态,因此不能自启。通过修改电路设计,可以避免不能自启动的问题。解决方法:改变卡诺图的圈法。如果希望能尽量使用任意项,那么只能对图( a )和图( c )的圈法作修改。 现选择对图( c )的圈法作修改,即仅改变 Q 0 Q_0 Q0 的转移,改进后的 Q 0 Q_0 Q0 卡诺图:
{ Q 2 n + 1 = Q 1 n Q 2 n ‾ + Q 1 n ‾ Q 2 n Q 1 n + 1 = Q 0 n Q 1 n ‾ Q 0 n + 1 = Q 1 n ‾ Q 0 n ‾ + Q 2 n ‾ Q 0 n { J 2 = Q 1 n , K 2 = Q 1 n J 1 = Q 0 n , K 1 = 1 J 0 = Q 1 n ‾ , K 0 = Q 2 n \left \{ \begin{aligned} &Q^{n+1}_{2} =Q_1^n \overline {Q^n_2} + \overline {Q^n_1}Q^n_2\\ &Q^{n+1}_1 = Q^n_0 \overline {Q_1^n} \\ &Q^{n+1}_0 = \overline {Q^n_1}\ \overline {Q^n_0} + \overline {Q^n_2} Q^n_0 \end{aligned} \right. \left \{ \begin{aligned} &J_{2} =Q_1^n, K_2 = {Q^n_1}\\ &J_1 = Q^n_0, K_1 = 1\\ &J_0 = \overline {Q^n_1}, K_0 = {Q^n_2} \end{aligned} \right. ⎩⎪⎨⎪⎧Q2n+1=Q1nQ2n+Q1nQ2nQ1n+1=Q0nQ1nQ0n+1=Q1n Q0n+Q2nQ0n⎩⎪⎨⎪⎧J2=Q1n,K2=Q1nJ1=Q0n,K1=1J0=Q1n,K0=Q2n
能够自启动的状态转移图:
(4) 画出电路图
三、练习题目
这里题目出现了一定的错误,应该是异步置 0 0 0 端 R D ‾ \overline {R_D} RD,异步置 1 1 1 端 S D ‾ \overline {S_D} SD 。当 S D ‾ = 1 , R D ‾ = 0 \overline {S_D} = 1, \overline {R_D} = 0 SD=1,RD=0 时, Q = 0 Q = 0 Q=0;当 S D ‾ = 0 , R D ‾ = 1 \overline {S_D} = 0, \overline {R_D} = 1 SD=0,RD=1 时, Q = 1 Q = 1 Q=1 。因此 Q Q Q 的波形图如下:
看了答案,将答案更新如下。有的地方我没有写完整,有的地方我和答案不太一样,但是应该是对的。
上面没有检查自启动:
17. 17. 17. 用 J − K J-K J−K 触发器和门电路设计一个七进制加法计数器。
【数字逻辑】学习笔记 第五章 Part2 时序逻辑电路(分析与设计)相关推荐
- 【数字逻辑】学习笔记 第五章 Part3 时序逻辑电路(常用时序逻辑电路及其应用)
文章目录 一.计数器 1. 计数器概念和分类 2. 双时钟可逆十六进制计数器74LS193 (1) 74LS193的引脚示意图和逻辑功能图 (2) 74LS193 的逻辑功能表 3. 用集成计数器实现 ...
- 《Go语言圣经》学习笔记 第五章函数
<Go语言圣经>学习笔记 第五章 函数 目录 函数声明 递归 多返回值 匿名函数 可变参数 Deferred函数 Panic异常 Recover捕获异常 注:学习<Go语言圣经> ...
- Programming Entity Framework-dbContext 学习笔记第五章
### Programming Entity Framework-dbContext 学习笔记 第五章 将图表添加到Context中的方式及容易出现的错误 方法 结果 警告 Add Root 图标中的 ...
- 【数字逻辑】学习笔记 第四章 Part2 常用组合逻辑电路与竞争、险象
文章目录 一.常用组合逻辑电路 1. 译码器 (1) 二进制译码器 74LS138(3/8译码器) a. 一般符号和图形符号 b. 74LS138功能表 c. 两片 `74LS138` 构成 `4-1 ...
- 2022 最新 Android 基础教程,从开发入门到项目实战【b站动脑学院】学习笔记——第五章:中级控件
第 5 章 中级控件 本章介绍App开发常见的几类中级控件的用法,主要包括:如何定制几种简单的图形.如何使用几种选择按钮.如何高效地输入文本.如何利用对话框获取交互信息等,然后结合本章所学的知识,演示 ...
- javascript高级程序设计 学习笔记 第五章 上
第五章 引用类型的值(对象)是引用类型的一个实例.在 ECMAScript 中,引用类型是一种数据结构, 用于将数据和功能组织在一起.它也常被称为类,但这种称呼并不妥当.尽管 ECMAScri ...
- 《Android深度探究HAL与驱动开发》学习笔记----第五章
第五章 搭建S3C6410开发板的测试环境 开发板是开发和学习嵌入式技术的主要硬件设备. 主要学习了搭建S3C6410开发板的测试环境.首先要了解到S3C6410是一款低功耗.高性价比的RISC处理器 ...
- css层叠样式表基础学习笔记--第五章 文本属性
第五章 文本属性 5-01 字间距 5-02 行高 5-03 首行缩进 5-04 水平排列方式 5-05 垂直对齐方式 5-06 文本修饰 5-07 文本阴影 5-08 文本属性重置 5-01 字间距 ...
- 程序设计与算法三~C++面向对象程序设计~北大郭炜MOOC学习笔记~第五章:继承与派生(新标准C++程序设计)
以下内容为笔者手打,望读者珍惜,如有转载还请注明. 第五章 继承与派生 $5.1 继承与派生的概念 $5.1.1 基本概念 在C++中,当定义一个新的类B时,如果发现类B拥有某个已经写好的类A ...
最新文章
- http连接过程遇到的各种性能瓶颈
- iOS 开发_..和self...的区别以及使用
- 优质手机APP开发公司的特点
- php7.1解压包安装,【Swoole】php7.1安装swoole扩展
- linux下线程绑定内核,多线程 – 无法将内核线程绑定到CPU
- IP地址不是唯一的吗?为什么路由器的IP地址都是这样的呢?
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(2)-easyui构建前端页面框架[附源码]
- LeetCode--96. 不同的二叉搜索树(动态规划)
- 关于配置中心的几个问题
- 安卓java自实现mp3播放器,Android MediaPlayer实现音乐播放器实例代码
- exchange2003 SMTP连接器的应用案例
- JDK动态代理介绍与使用
- itextpdf将带复选框的html_使用flying-saucer 实现 html转pdf实现input框select,textarea checkbox等的显示...
- 用设计模式解决电商项目的更新库存业务
- Windos10使用手册
- Amdahl定律及木桶原理
- iFIERO -- (一) 宇宙大战 SPACE BATTLE — 新建场景SCENE、精灵节点、PARTICLE粒子及背景音乐
- 第一次来大姨妈,好酸爽!2
- 李宏毅 深度学习【持续更新】
- 单片机包络检波c语言,模拟电子系统设计指南:从半导体、分立元件到TI集成电路的分析与实现(基础篇)...