4.1.1逻辑电路的结构与分类

逻辑电路按其输出信号与输入信号的关系可以分为组合逻辑电路和时序逻辑电路两大类。
  1. 组合逻辑电路:其特点是任一时刻的输出信号仅仅取决于该时刻的输入信号,与电路原来的状态无关。也就是说,只要输入信号确定,输出信号就唯一确定。例如:加法器、编码器、译码器等。
  1. 时序逻辑电路:其特点是任一时刻的输出信号不仅与该时刻的输入信号有关,而且还与电路原来的状态(即电路的历史状态)有关。也就是说,即使输入信号相同,由于电路原来的状态不同,输出信号也可能不同。例如:触发器、计数器、寄存器等。
时序逻辑电路中通常包含用来存储信息的存储电路,这些电路能记忆以前的输入信息,因此时序逻辑电路又称为记忆电路。
根据输出信号的变化方式,时序逻辑电路又可以分为:
  1. 同步时序电路:电路的所有状态变化都在统一时钟脉冲的控制下进行,只有在时钟脉冲来临时,电路状态才允许改变。这种电路工作稳定可靠,目前应用最为广泛。
  1. 异步时序电路:电路的状态变化不受统一时钟的控制,而是由输入信号的变化直接引起。这种电路结构简单,但工作不够稳定,容易产生竞争冒险现象。
在实际应用中,同步时序电路由于其稳定性和可靠性,已经成为现代数字系统中最主要的逻辑电路类型。
 
根据输出信号与输入信号和状态的关系,时序逻辑电路还可以分为:
  1. Moore型时序电路:其输出信号仅与电路当前状态有关,而与输入信号无直接关系。这种电路的输出较为稳定,因为输出信号不会随输入信号的变化而立即改变。
  1. Mealy型时序电路:其输出信号不仅与电路当前状态有关,而且还直接依赖于输入信号。这种电路对输入信号的响应较快,但输出可能会随输入信号的变化而产生毛刺现象。
在实际电路设计中,设计者需要根据具体应用场景选择合适的电路类型。Moore型电路适用于需要稳定输出的场合,而Mealy型电路则适用于需要快速响应的场合。

4.1.2 组合逻辑电路的分析与设计

基本逻辑电路的分析方法

分析基本逻辑电路的主要思路如下:
  1. 建立逻辑表达式:分析电路中每个输出变量与输入变量之间的逻辑关系,写出各输出端的逻辑表达式。这是分析的第一步,也是最基础的步骤。
  1. 绘制真值表:列出所有可能的输入组合及其对应的输出值。通过真值表可以清晰地看出输入与输出之间的对应关系。
  1. 确定电路功能:根据真值表和逻辑表达式,分析并说明电路的实际功能。这可能是一些基本的逻辑运算(如与、或、非),或是更复杂的组合功能(如加法、比较等)。

基本逻辑电路的设计方法

设计基本逻辑电路的主要思路如下:
  1. 明确设计要求:首先要明确电路的功能需求,包括输入变量、输出变量的数量和具体功能要求。这是设计的起点和基础。
  1. 建立真值表:根据功能需求列出所有可能的输入组合及其对应的期望输出值,形成完整的真值表(卡诺图)。
  1. 推导逻辑表达式:利用卡诺图,从真值表推导出逻辑表达式。注意,这一步需要提前考虑电路的硬件要求(例如用什么门实现)
  1. 绘制逻辑图:根据化简后的逻辑表达式,使用基本逻辑门电路绘制完整的逻辑电路图。
  1. 验证电路功能:通过分析或仿真验证电路的功能是否符合设计要求,必要时进行调整和优化。
 

4.1.3 基本时序电路的分析与设计

4.1.3.1 基本时序电路的分析

💡
异步时序电路只考分析;同步会考察分析和设计

同步时序电路

同步时序电路的分析基本步骤如下:
  1. 确定电路的基本参数:包括输入变量、输出变量、状态变量的数量和名称,以及时钟信号的特性。
  1. 建立状态方程和输出方程:
      • 驱动方程:描述触发器的输入与当前状态、输入变量之间的关系
      • 特征方程:描述触发器的次态与当前输入之间的关系
      • 状态方程:将驱动方程代入特征方程,得到次态与现态、输入变量之间的关系
      • 输出方程:描述输出变量与状态变量、输入变量之间的关系
  1. 确定初始状态:根据电路的实际工作条件,设定电路的初始状态。
  1. 分析状态转换:根据状态方程,分析在不同输入条件下,电路状态如何从初态开始按时钟节拍逐步变化。
  1. 绘制状态转换图或状态表:用图形或表格的形式直观展示电路的状态转换过程。
  1. 确定电路功能:根据状态转换过程和输出方程,总结电路的实际功能。这可能是计数、移位、存储等具体功能。

同步三位二进制加法计数器

notion image
notion image
notion image
notion image
这里不会有竞争冒险的问题吗?
 

同步三位二进制减法计数器

notion image
notion image
 

可逆计数器

notion image
notion image
加法/减法的区别在于,JK信号来自。加上一个二选一(与或门),即可实现可逆计数器

二选一(二路选择器)的与或门实现方法如下:
当选择信号S=1时,与门1导通,输出Y=A;当S=0时,与门2导通,输出Y=B。这样就实现了对A和B的选择。
因此在可逆计数器中,通过这种方式可以选择是使用Q还是Q非信号,从而实现加法或减法计数

异步时序电路

异步时序电路的分析步骤与同步时序电路基本相同,主要包括:
  1. 确定电路的基本参数:包括输入变量、输出变量、状态变量的数量和名称。
  1. 建立状态方程和输出方程:
      • 驱动方程:描述触发器的输入与当前状态、输入变量之间的关系
      • 状态方程:描述次态与现态、输入变量之间的关系
      • 输出方程:描述输出变量与状态变量、输入变量之间的关系
  1. 分析状态转换:由于没有时钟控制,需要特别关注激励信号的变化时序,分析电路状态的转换过程。
  1. 绘制状态转换图或状态表:展示电路的状态转换过程。
  1. 确定电路功能:根据状态转换过程和输出方程,总结电路的实际功能。
需要注意的是,异步时序电路中由于缺少统一的时钟控制,在分析时要特别关注信号的时序关系,以确保电路能够正常工作。

异步三位二进制加法计数器

notion image
notion image
异步二进制加法计数器的延时问题主要体现在以下几个方面:
  1. 累积延时:由于是异步触发,每一级触发器的翻转都需要等待前一级触发器的输出稳定。因此,从第一级到最后一级会产生累积延时,延时时间与触发器级数成正比。
  1. 竞争冒险:由于各级触发器的延时不完全相同,可能导致某些状态出现瞬间的错误值,特别是在多位同时变化时(如从0111到1000的转换)。
  1. 最大工作频率限制:由于累积延时的存在,输入时钟信号的周期必须大于所有触发器延时之和,这限制了电路的最大工作频率。
相比之下,同步计数器虽然在硬件上更复杂,但由于所有触发器在同一个时钟边沿触发,不存在累积延时问题,工作更加可靠。

异步三位二进制减法计数器

notion image
notion image

异步三位二进制可逆计数器

思路和之前是一样的,用二选一的与非门

4.1.3.2 基本时序电路的设计

同步时序电路的一般设计步骤:

  1. 由设计要求或时序图,画出状态转换图,状态用二进制代码进行编码(状态分配);选好触发器
  1. 列出状态转换真值表(输入、输出状态)
  1. 以现态和输入为变量,求出各触发器输入的逻辑函数(驱动方程)输出函数(进、借位);检查自启动
  1. 仔细画出整个计数器的逻辑电路图
💡
可见,设计过程只有规律性,无技巧性。关键是设计思路要清晰。

Moor型同步时序逻辑电路的例子
notion image
STEP1:状态转换图
notion image
STEP2:列写状态真值表
notion image
STEP3:驱动方程和输出函数(求J、K、B的函数式)
法一:用卡诺图
notion image
法二:由状态真值表直接得到各触发器的次态方程
notion image
STEP4:检查自启动
notion image
STEP5:完整电路实现
notion image

notion image
???
 

Mealy型同步时序逻辑电路的例子
notion image
notion image
110序列检测电路可能的状态应该是:
初始状态S0:输入序列信号没有出现过"1"以前的状态
状态S1:输入序列信号出现过一个"1"后的状态
状态S2:输入序列信号出现过连续两个"1"后的状态
状态S3:输入序列信号出现过连续两个"1"后,接着又出现"0"的状态,即出现了110序列信号
X代表输入信号;Z代表最终的输出信号
X代表输入信号;Z代表最终的输出信号
不难发现,S3、S0是同质的,可以进一步简化:
notion image
notion image
从真值表中可以明显看出来Mealy时序电路的特征:输出不仅和电路历史有关,还和外部输入有关
notion image

4.1.4 常见逻辑电路功能分析与设计

编码器

基本编码器

💡
任何时候只允许一个输入对象存在
e.g.将4个对象分别编制成二位二进制代码,该编码器的真值表:
notion image
 
notion image
输出逻辑函数:
notion image
注意到:由于输入和输出具有严格的一一对应关系,任何时候都不允许有两个或两个以上的输入对象存在,否则将会产生编码混乱。所以式子可以利用约束条件进行化简
notion image
以上是利用代数的方法进行化简。更容易的方式显然是利用卡诺图进行化简。化简的结果如下所示:

优先编码器

优先编码器是在基本编码器的基础上,允许同时有多个输入为1的一种编码器。当有多个输入同时为1时,优先编码器按照预先规定的优先级进行编码,通常优先处理最高位的1
notion image
 
notion image
notion image
notion image
课程只要求我们能够写出逻辑函数表达式;电路图很烦,不做要求

译码器

二进制基本译码器

notion image
notion image
notion image
notion image
notion image
notion image
  1. 一组代码和特定输出对象的关系是一一对应的关系
  1. 每一个输出的逻辑函数是输入代码的一个最小与项
 

中规模集成二进制译码器

首先,考虑把两个2-4译码器级联成1个3-8译码器的情况
notion image
可以发现,A2=0时,只有低4为工作;A2=1时,只有高4位工作。这种扩展时通过使能端实现的。
notion image
notion image
更进一步地,可以采用5片2/4组成4/16译码器(因为采用的是分级译码,有一级芯片专门控制使能端,所以会多出一块芯片)
notion image

二-十进制译码器和显示译码器

将输入BCD码翻译成十进制数码输出的组合逻辑电路,译码后的结果用显示器显示出来。
notion image
notion image
 

数据分配器

💡
串行输入,并行输出
notion image
notion image
💡
设计上就是一个2/4译码器当作数据分配器使用
notion image
notion image
观察的角度不同;24译码器中的使能是数据分配器中的数据

数据选择器

💡
并行输入,串行输出
notion image
notion image
注意与或门的使用!
注意与或门的使用!
每一个与门有4根线,不难发现:
  1. 1根数据线
  1. 1根使能线
  1. 2根地址线

👉用选择器实现逻辑函数:

当使能控制端 ĒN = 0 时,输出函数为:
notion image
其中:
  • 是选择地址的最小项
  • 就是第i位数据和对应的地址最小项
💡
使用注意事项:只要取对应的数据为0或1,就可以实现相应的最小项的逻辑运算,实现逻辑函数。

数据选择器的拓展

方案1:后面加上一个2选1与或门
方案1:后面加上一个2选1与或门
方案2:使用4选1使能端实现8选1
方案2:使用4选1使能端实现8选1

二进制加法器

一位半加器

💡
半加器不能处理来自低位的进位!
半加器是一种基本的组合逻辑电路,用于实现两个一位二进制数的加法运算。它具有两个输入端A和B(两个加数),两个输出端S(和)和C(进位)。
半加器的特点:
A
B
S
C
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
半加器的逻辑函数表达式为:
💡
换一种思路:半加器就是异或门+与门
异或门、与门实现
异或门、与门实现
与非门实现
与非门实现
或非门实现
或非门实现
逻辑符号表示:
notion image

一位全加器

全加器是一种基本的组合逻辑电路,用于实现两个一位二进制数以及来自低位的进位的加法运算。它具有三个输入端A、B(两个加数)和Ci(来自低位的进位),两个输出端S(和)和Co(向高位的进位)。
全加器的真值表:
Ci
A
B
S
Co
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
全加器的逻辑函数表达式:
将输出函数用最小项之和表示:

  1. 利用最小项之和的表达式,可以用与非门实现全加器
  1. 利用异或的表达式,可以用两个半加器实现全加器(还要一个或门)
notion image
全加器逻辑符号:
notion image

并行输入串行进位二进制加法器

notion image
并行输入串行进位二进制加法器存在以下延迟问题:
  • 进位信号必须依次通过每一级全加器,从最低位一直传播到最高位
  • 每经过一级全加器都会产生传输延迟,延迟时间累加
  • 位数越多,累计延迟时间越长,严重影响加法运算速度
例如:在4位加法器中,最高位的结果要等待进位信号依次经过前3个全加器后才能得到,这种串行进位方式的延迟时间与位数成正比。

超前进位二进制加法器

notion image
Loading...
Z_cosy
Z_cosy
浙江大学电气工程学院本科生
最新发布
Dairy
2025-4-21
MATH
2025-3-23
English
2025-3-21
Courses
2025-3-21
公告
🎉Welcome to Z-cosy🎉
-- 食用指南 ---
目前只有课程笔记以及电控学习笔记
陆续会整理更多内容!