第二章 逻辑代数基础
> 第三/四节课 20200407/10
2.3 基本公式和常用公式
2.3.1 基本公式
3. AA = A 4. AA' = 0
8. (AB)' = A' + B'(反演律)
17. A + BC = (A + B)(A + C)(分配律)
18. (A + B)' = A'B'(反演律)
2.3.2 常用公式
21. A + AB = A
22. A + A'B = A + B
24. A(A + B) = A
25. AB + A'C + BC = AB + A'C
26. A(AB)' = AB'
2.4 基本定理
2.4.2 反演定理
对于逻辑式Y,将 · 和 + 互换,1 和 0 互换,原变量和反变量互换,结果为 Y'。
2.5 逻辑函数及其描述方法
2.5.2 描述方法
1. 逻辑真值表 2. 逻辑函数式 3. 逻辑图 4.波形图 5.卡诺图* 6. 硬件描述语言*
2.5.3 最小项和最大项
最小项之和形式
【例】Y = ABC' + BC = ABC' + (A + A')BC = ABC' + ABC + A'BC = m6 + m7 + m3 = ∑m(3, 6, 7)
2.6 逻辑函数的化简方法
2.6.1 公式化简
1. 并项 AB + AB' = A
2. 吸收 A + AB = A
3. 消项 4. 消因子(参见常用公式)
5. 配项 增加额外项以消除
2.6.2 卡诺图化简法
如左图所示为四变量最小项卡诺图。
如右图所示,0 和 1 分别对应最小项的编号的取值,x 表示为无关项。化简时可以圈中的 1,表示乘积项。
要求:
1、这些乘积项必须包含所有 1;
2、所用乘积项个数尽量少;
3、每个乘积项包含因子尽量少。
如果还具有无关项,则 x 可以被圈也可以不被圈。
如右图,三个圈满足条件,分别表示 BD, ABC, B'C,即 Y = BD + ABC + B'C.
2.7 具有无关项的逻辑函数及其化简
【例】化简具有约束的逻辑函数 Y = A'B'C'D + A'BCD + AB'C'D'
给定约束条件为 A'B'CD + A'BC'D + ABC'D' + AB'C'D + ABCD + ABCD' + AB'CD' = 0
上述可以写成:Y(A, B, C, D) = ∑m(1, 7, 8) + d(3, 5, 9, 10, 12, 14, 15)
【解】在 Y 的基础上增加一些约束项,即:
Y = (A'B'C'D + A'B'CD) + (A'BCD + A'BC'D) + (AB'C'D' + ABC'D') + (ABCD' + AB'CD')
= A'B'D + A'BD + AC'D' + ACD' = A'D + AD'
第三章 门电路
> 第五节课 20200414
3.1 概述
S 断开时,输出电压 Vo 为高电平 Vcc;S 接通时,输出电压 Vo 为低电平 0。
集成电路是把整个电路的各个元件以及相互之间的联接同时制造在一块半导体芯片上,组成一个不可分的整体。体积小、重量轻、功耗低、可靠性高、价格低。
分类:
1、按集成度:小、中、大和超大规模;
2、按导电类型:双、单极性和两种兼容;
3、按功能:数字和模拟。
3.2 半导体二极管门电路
二极管的结构:PN 结 + 引线 + 封装构成
3.2.1 二极管的开关特性
外加正向电压是导通,反向电压截止。
高电平:Vih = Vcc,D 截止,Vo = Voh = Vcc
低电平:Vil = 0,D 导通,Vo = Vol = 0
3.2.2 二极管与门
3.2.3 二极管或门
3.3 CMOS 门电路
第四章 组合逻辑电路
> 第六节课 20200417
4.1 概述
4.1.1 特点
根据逻辑功能不同特点将数字电路分为:组合逻辑电路,时序逻辑电路。
组合逻辑电路不包含存储单元,任意时刻的输出只取决于该时刻的输入,与原来状态无关。
4.1.2 逻辑功能的描述
a1, a2, ..., an 表示输入变量,y1, y2, ..., ym 表示输出变量,逻辑关系可以用下图表示,
或者向量函数形式:Y = F(A)
4.2 组合逻辑电路的分析方法
组合逻辑电路图 -> 写出逻辑表达式 -> 化简 -> 列真值表 -> 说明功能
4.3 组合逻辑电路的设计方法
进行逻辑抽象 -> 列真值表 -> 写出逻辑函数式 -> 选定器件类型 -> 将逻辑函数化简或转换成适当描述形式 -> 根据化简或转换后的逻辑式,画出连接图 -> 设计验证 -> 工艺设计
【例子】判断红绿灯是否故障。
① 逻辑抽象
取红黄绿三种状态为输入变量,分别用 R, Y, G 表示,灯亮时为 1,不亮为 0;
取故障信号为输出变量,用 Z 表示,正常为 0,故障为 1。
② 列真值表
R Y G Z
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
③ 写出逻辑函数式
Z = R'Y'G' + R'YG + RY'G + RYG' + RYG
④ 选定器件类型
选定小规模集成门电路。
⑤ 化简逻辑函数
Z = R'Y'G' + RY + RG + YG(最简与或表达式)
Z = ((R'A'G')'(RA)'(RG)'(AG)')'(最简与非表达式)
Z = (RA'G'+R'AG'+R'A'G)'(最简与或非表达式)
⑥ 画出逻辑函数图
最简与或表达式
最简与或非表达式
4.4 若干常用组合逻辑电路
4.4.1 编码器 Encoder
将特定逻辑信号编为一组二进制代码。
一、普通编码器
只允许输入一个编码信号,n 个不同的信号至少需要 log n 位二进制数。
例如:8线 - 3线二进制普通编码器
二、优先编码器
同时允许输入两个以上的编码信号,但是只对其中优先权最高的编码。
8线 - 3线二进制优先编码器 74HC148
例如:设 I7 优先权最高,I0 最低,则:
Y2 = I7 + I7'I6 + I7'I6'I5 + I7'I6'I5'I4 = I7 + I6 + I5 + I4
控制端扩展功能:两片 8线 - 3线优先编码器组成一个 16线 - 4线优先编码器,其中 A15‘ 优先权最高。
三、二-十进制优先编码器
将 I9' ~ I1' 编成 0110 ~ 1110,I9' 优先权最高,输入的低电平信号变成一个对应的十进制编码。
输入端 9 个,输出端 4 个,也称 10线 - 4线编码器。
4.4.2 译码器 Decoder
将每个输入的二进制代码译成以对应的输出高/低电平信号,即编码的反操作。
一、二进制译码器
用二极管与门阵列组成的3线 - 8线二进制译码器
缺点:输入电阻低,输出电阻高,输出的高低电平信号发生偏移,因此只在大规模集成电路内部采用,中规模多采用三极管集成门电路。
二、二-十进制译码器
输入端 4 个,是十进制数的 4 位二进制编码(BCD 码),输出端 10 个。
三、显示译码器
将二进制代码翻译成习惯的形式直观显示出来。
1、七段字符显示器
半导体数码管 BS201A
由发光二极管组成 LED(Light Emitting Diode),外加正向电压时,有大量多余能量以光的形式释放。
优点:电压低,体积小,寿命长,可靠性高,响应时间短,亮度高
缺点:电流大,10mA 左右,频繁开启容易烧坏
液晶显示器 LCD(Liquid Crystal Display)
2、BCD - 七段显示译码器
半导体数码管和 LCD 都可以用 TTL 或者 CMOS 集成电路直接驱动。因此,需要使用显示译码器将 BCD 代码译成数码管所需要的驱动信号,以便数码管用十进制数字显示出 BCD 代码所表示的数值。
7448 的附加控制信号:灯测试输入 LT'(=0,Ya ~ Yg 全部置为 1),灭零输入 RBI'(把不希望显示的 0 熄灭),灭灯输入 / 灭零输出 BI' / RBO',作为输入,直接熄灭;作为输出,当输入为 0 且 RBI' = 0 时给出为 0。
四、设计组合逻辑电路
4.4.3 数据选择器 Data Selector
一、工作原理
在数字信号传输过程中,有时需要从一组输入数据中选择一个。
数据选择器是根据需要将多路信号中选择一路送到公共数据线上的逻辑电路。
① 二选一数据选择器
② 四选一数据选择器
输入 D(输入数据),A1, A0(地址变量),由地址变量决定从 4 路输入中选择哪一路输出。
双四选一数据选择器 74HC153
二、设计组合逻辑电路
列出真值表 -> 写出最小项表达式 -> 选定数据选择器 -> 对照所求逻辑函数式和表达式确定输入变量的表达式或取值 -> 画出电路连线图
【例子】L = A'B'C + A'BC' + AB,有三个变量,选用双四选一数据选择器,其有两个地址变量:A1 = A, A0 = B。
L = A'B'C + A'BC' + AB = A1'A0'C + A1'A0C' + A1A0'·0 + A1A0·1
Y = A1'A0'D0 + A1'A0D1 + A1A0'D2 + A1A0D3
则:D0 = C, D1 = C', D2 = 0, D3 = 1
4.4.4 加法器 Summator
一、1位加法器
1、半加器
不考虑进位,直接相加。A, B 为加数,S 为和,CO 为向高位的进位。
S = A'B + AB' = A ⊕ B(A XOR B)
CO = AB
2、全加器
考虑进位。CI 为来自低位的进位。
S = (A'B'CI' + A'BCI + AB'CI + ABCI')'
CO = (A'B' + B'CI' + A'CI')'
二、多位加法器
1、串行进位加法器
简单,慢。(CI)i = (CO)i - 1, Si = Ai XOR Bi XOR (CI)i, (CO)i = AiBi + (Ai + Bi)(CI)i
4.4.5 数值比较器
用来比较两个二进制数的数值大小。
A > B(A = 1, B = 0), Y = AB'
A < B(A = 0, B = 1), Y = A'B
A = B(A = B = 0 / 1), Y = (A XOR B)'
4.6 可编程逻辑器件
数字集成电路分为通用型和专用型,前面都是通用型,功能简单。
可编辑逻辑器件(Programmable Logic Device)是通用器件,但可以由用户编程,集成度高。
乘积线:多个输入端与门只用一根输入线表示
输入线和乘积线交点有三种情况:
① 黑点 ·:固定连接点,用户不能改变
② 叉点 ×:用户定义编程点,出厂连通,可选择是否连通
③ 无点:断开或编程时擦除
4.9 竞争-冒险现象
竞争:两个输入同时向相反的逻辑电平变化
竞争冒险:由竞争可能引发的输出产生尖峰脉冲的现象
产生原因:门电路的延迟时间
检查方法:在输入变量每次只有一个改变状态的简单情况下,通过逻辑函数式判断是否存在;只要在一定条件下能简化成:Y = A + A' 或 Y = AA'
消除方法:接入滤波电容;引入选通脉冲;修改逻辑设计。
第五章 半导体存储电路
> 第十节课 20200508
5.1 概述
1、概念
能够存储 1 位二值信号的基本单元电路的统称为触发器(flip-flop)。
2、特点
① 具有两个能自行保持的稳定状态:0 / 1;
② 在触发信号的操作下,根据不同输入信号可以置成 0 或 1 状态。
3、分类
① 按触发方式
电平触发器、脉冲触发器、边沿触发器
② 按逻辑功能方式
SR 锁存器、JK 触发器、D 触发器、T 触发器、T' 触发器
③ 按结构
基本 SR 锁存器、同步 SR 触发器、主从触发器、维持阻塞触发器、边沿触发器
④ 按存储结构原理
静态触发器(靠电路自锁来存储数据)、动态触发器(靠电容存储电荷来存储数据)
5.2 SR 锁存器
1、概念
SR 锁存器(Set-reset Latch),又称基本 RS 触发器,是各种触发器构成的基本部件,也是最简单的触发器。输入信号直接作用于触发器。
2、结构
① 由或非门构成
② 由与非门构成
3、动作特点
任何时刻,输入都能直接改变输出状态。
5.3 触发器
在数字系统中,常常要求某些触发器在同一时刻动作,这就要求有一个同步信号来控制,这个信号叫做时钟信号,简称时钟,用 CLK 表示。触发信号的工作方式分为:电平触发、脉冲触发、边沿触发。
5.3.1 电平触发的触发器
1、结构
只有在 CLK = 1 时,SR 才能起作用。结果与 SR 或非门 相同。有时候需要在 CLK 到来前将触发器预置成指定状态,则设置异步置位端 SD' 和异步复位端 RD'。
CLK = 0 时可体现出初始状态。结果与 SR 与非门 相同。
2、D 触发器
为了使用单端输入信号的需要,将 S 通过反相器接到 R 上,构成电平触发的 D 触发器。
特点:输出状态始终跟随输入状态变化。
5.3.3 脉冲触发的触发器
为避免空翻现象提高可靠性,希望每个 CLK 期间输出端状态只改变一次,设计出脉冲触发的触发器。
脉冲触发的 SR 触发器(主从 SR 触发器)由两个电平触发 SR 触发器组成。
(右图中符号表示延迟输出)
工作原理:
① CLK = 1 时,主触发器按 S, R 变化,从触发器保持不变;
② CLK 由 1 -> 0,主触发器保持不变,从触发器随主触发器状态反转,故在 CLK 一个周期内,触发器输出状态只可能改变一次。
结果与 SR 或非门 相同。
克服了多次翻转问题后,在 CLK = 1 期间,主触发器仍会随输入变化,存在不定态,仍需要遵守 SR = 0。为了让 S = R = 1 也有确定状态,将 Q 和 Q' 输出反馈到输入端,这样的触发器称为 JK 触发器。
J = K = 0 时,Q* = Q(存储);J = K = 1 时,Q* = Q'(计数);其他情况 Q* = J。
5.3.2 边沿触发器的触发器
由于 JK 触发器存在一次变化问题,抗干扰能力差。为提高可靠性,希望 Q* 仅决定于 CLK 下降沿(或上升沿)到达时刻输入信号的状态,边沿触发器诞生了。
1、用两个电平触发 D 触发器组成的边沿触发器
工作原理:
CLK = 0,触发器状态不变,FF1 = D;
CLK = 1,FF1 状态与前沿到来之前的 D 状态相同并保持,同时 FF2 输出 Q 的状态被置成前沿到来前 D 的状态。
2、利用 CMOS 传输门的边沿触发器
略
> 符号表示边沿触发。真值表中,↑ 表示上升沿;↓ 表示下降沿,且 CLK 输入端加画小圆圈。
为实现异步置位和复位而设置 SD, RD。
(貌似有错,见下)
5.3.4 触发器按逻辑功能分类
1、SR 触发器
特性方程:Q* = S + R'Q SR = 0
2、JK 触发器
特性方程:Q* = JQ' + K'Q
3、T 触发器
特性方程:Q* = TQ' + T'Q
4、D 触发器
特性方程:Q* = D
第六章 时序逻辑电路
> 第十六节课 20200602
6.1 概述
1、组合电路与时序电路
组合电路:电路输出只与输入有关,与前一时刻状态无关;
时序电路:不仅取决于该时刻电路的输入,还取决于前一时刻电路状态(由触发器保存)。
三个方程组:
① 输出方程:Y = F(X, Q)
② 驱动方程:Z = G(X, Q)
③ 状态方程:Q* = H(Z, Q)
2、分类
① 按动作特点
同步时序逻辑电路、异步时序逻辑电路
② 按输出特点
不仅取决于存储电路路状态还取决于当前输入(米利 Mealy 型)、
仅决定于存储电路状态(穆尔 Moore 型)
6.2 分析方法
6.2.1 同步时序逻辑电路
逻辑图 -> 时钟方程、驱动方程 -> 状态方程(将驱动方程代入特性方程而得) -> 状态方程组 -> 逻辑图 -> 输出方程
特性方程:描述触发器逻辑功能的逻辑表达式
驱动方程:触发器输入信号的逻辑表达式
状态方程:次态输出的逻辑表达式
输出方程:输出变量的逻辑表达式
时钟方程:控制时钟 CLK 的逻辑表达式(由图可见,同步触发不需写出)
6.2.2 状态转换表、图、时序图
1、状态转换表
2、状态转换图
箭尾为现态,箭头为次态,标注:输入 / 输出
3、时序图
6.3 若干常用时序逻辑电路
寄存器:用来存放二进制数据的电路,由具有存储功能的 n 个触发器组合构成,存放 n 位二进制数。
74LS75:用电平触发的 D 触发器组成的 4 位寄存器。
CLK = 1,Q 随 D 改变;CLK = 0,Q 保持 CLK 变为低电平时的 D 的状态。
74HC175:边沿触发器构成的寄存器
① 清零:RD' = 0,异步清零;
② 送数:RD' = 1,CLK 上升沿送数,Q*3Q*2Q*1Q*0 = D3D2D1D0;
③ 保持:RD' = 1,CLK 非上升沿,保持不变。
6.3.1 移位寄存器
不仅可以寄存代码,还可以实现数据串行-并行转换、数值运算和数据处理。
边沿触发的 D 触发器
因为存在延迟时间,所以各触发器按前一级触发器原来的状态翻转。
74HC194A:4 位左右双向移位,并行输入,保持,异步置零
6.3.2 计数器
能够记忆输入脉冲个数的电路称为计数器。除了计数,还可以用于分频、定时、产生脉冲以及数字运算等。
分类:加法 / 减法 / 可逆计数器;同步 / 异步计数器;二 / 十 / n 进制计数器。
1、同步二进制
① 4 位二进制同步加法计数器
74LS161/163:4 位集成二进制同步加法计数器。
74LS163 不同之处在于采用同步清零,CLK 第一行和第二行一致。
② 4 位集成二进制同步可逆计数器 74LS191
异步置数
③ 双时钟加减计数器 74LS193
2、同步十进制
在二进制基础上修改而来。
能自启动。
74160:十进制
74LS161 是十六进制。
3、异步二进制
三位二进制异步加法计数器
(Q0 接 CLK1,Q1 接 CLK2 为下降沿触发)
4、异步十进制
在 4 位异步二进制加法计数器上修改而成,要注意跳过 1010 ~ 1111 这六个状态。
异步二-五-十进制计数器 74LS290
计数脉冲 CLK0 输入,Q0 输出,即二进制;CLK1 输入,Q1 ~ 3 输出,即五进制;CLK1 与 Q0 相连,CLK0 输入,Q0 ~ 3 输出,即 8421 码十进制计数器。
异步计数器结构简单,工作频率低,存在竞争-冒险现象。
5、任意进制构成方法
① 置零法(复位法)
适用于有清零输入端的集成计数器。只要在清零输入端加一有效电平电压,输出就会立即回到 0000。
② 置数法(置位法)
适用于具有预置功能的集成计数器。计数过程中将其输出的任意状态通过译码产生一个预置数控制信号反馈至控制端,在下一个 CLK 脉冲作用后,计数器会把预置数输入端 D0D1D2D3 的状态置入输出端。
当 m > n 时,需使用多片 n 进制近十期组合实现。若 m 为大于 n 的素数,则可整体置零方式,整体置数方式;若 m = n1 * n2(n1, n2 < n),还可串行进位方式,并行进位方式。
整体置零方式:
整体置数方式:
串行进位方式:以低位片的进位信号作为高位片的 CLK;
并行进位方式:CLK 脉冲同时输入,以低位片进位信号作为高位片工作状态控制信号。
6、移位寄存器型计数器
① 环形计数器
不能自启动。
能自启动。
n 位环形移位寄存器只有 n 个有效状态,有 2 ^ n - n 个无效状态。
② 扭环形计数器
n 位扭环形移位寄存器只有 2 * n 个有效状态,有 2 ^ n - 2 * n 个无效状态。
6.4 时序逻辑电路设计方法
6.4.1
确定输入输出变量及状态数 -> 画原始状态图 -> 最简状态图 -> 状态分配 -> 选择触发器,求时钟、输出、状态、驱动方程 -> 画电路图 -> 检查能够自启动
6.4.2 自启动设计
使得每个无效状态都能直接或间接转为某一有效状态。