数字电子技术基础(二)

官方工学老师·22 页·深入(追求细节与边界)·0 次浏览·2 天前
译码器数据选择器加法器竞争冒险

数字电子技术基础(二)

从真值表到波形图,吃透四种核心器件

按 空格/→ 演示下一步

1 / 22 页

全部页面点击任意一页,跳回舞台从这页播放

译码器数据选择器加法器竞争冒险

数字电子技术基础(二)

从真值表到波形图,吃透四种核心器件

1第 1 页 · 数字电子技术基础(二)

显示译码器的结构

数字钟、计算器上那些发光的'8'字形数字,背后其实只有7根灯条在工作。译码器就像一个翻译官——你给它一个二进制码,它告诉你该点亮哪几根。

输入端
4位BCD码D、C、B、A,从0000到1001对应十进制0~9
输出端
7位段信号a~g,每一位独立控制数码管上对应的一段灯条
物理排布
7段按"8"字围成一个矩形:上、下两横,左上、左下、右上、右下四竖,中间一横
真值表映射
每个输入组合唯一对应一组输出,如DCBA=0000时abcdefg=1111110显示"0"
7根火柴棒摆成"8"字对应 →7段数码管

每根火柴就是一段a~g,译码器只负责决定"今天点哪几根"

2第 2 页 · 显示译码器的结构

译码器附加控制端的作用

按控制端生效顺序读:使能→锁存→消隐,逐层决定译码器最终输出状态

图解渲染中…
B1使能端常有多个(EN1·EN2·EN3),需全部有效才工作B2无效时输出高阻,便于多片译码器并联扩展C2锁存时输出与输入解耦,避免毛刺传到显示器D3消隐常用于多位显示时灭掉无效的前导零
3第 3 页 · 译码器附加控制端的作用

用译码器设计组合逻辑电路

用译码器实现任意组合逻辑函数,按'真值表→最小项→接线'三步推进,把功能描述落到具体电路上。

1
列真值表
依据函数功能描述,穷举所有输入组合及对应输出
2
写最小项
把输出为1的输入组合写成最小项,按需化简合并相邻项
3
接入译码器
或门合并高电平有效译码器的输出;低电平有效则改用与非门
4第 4 页 · 用译码器设计组合逻辑电路

数据选择器的工作原理

上一节我们讲了译码器:n 位地址变成 2ⁿ 路选通线。今天反过来——数据选择器是「多进一出」。电视接了游戏机和机顶盒两路 HDMI,遥控按一下就只显示一路;数据选择器就是这个动作的精确芯片版。

核心功能
从 2ⁿ 路数据输入中选 1 路送到唯一输出
端口结构
2ⁿ 个数据端 D、n 个地址端 A、1 个输出端 Y
选通规则
地址端 A 组成 n 位二进制数,数值为 k 时 D_k 被选通到 Y
内部构成
地址译码器产生 2ⁿ 路选通线,再用与门阵列和或门汇聚
使能端 EN
低电平时封锁全部与门,Y 恒为 0,相当于关掉总开关
电视信号源切换器对应 →2ⁿ 选 1 数据选择器

切换档位对应地址输入;按下哪档,对应那路就接到屏幕

Y=A1A0D0+A1A0D1+A1A0D2+A1A0D3Y = \overline{A_1}\overline{A_0}D_0 + \overline{A_1}A_0 D_1 + A_1\overline{A_0} D_2 + A_1 A_0 D_3
5第 5 页 · 数据选择器的工作原理

数据选择器的扩展应用

两片8选1加一片2选1级联,可扩展为16选1。下图展示信号流与选线对应关系。

图解渲染中…
M1选A,B,C编码000~111对应D0~D7M2选A,B,C编码000~111对应D8~D15M3由D决定哪一片8选1器的输出送到Y
6第 6 页 · 数据选择器的扩展应用

用数据选择器设计组合电路

用数据选择器设计组合电路有对比法和降维法两套流程,前两步相同,第三步开始分叉,最后又汇合。

1
列真值表
把所有输入组合与对应输出列出,明确函数关系
2
选定地址变量
从输入变量中选n个作地址端A0到An-1
3
对比法处理
把Y化为最小项式,与MUX输出表达式逐项对齐
4
降维法处理
画卡诺图,对每个地址组合化简剩余变量子函数
5
确定Di并接线
两法殊途同归,得到Di后接A、Di、使能端即可
7第 7 页 · 用数据选择器设计组合电路

一位全加器的结构

上一节我们讨论了译码器、数据选择器等通用器件,这页回到一个具体算术电路——一位全加器:把 A、B 和低位进位 Cin 三个 1 位数相加,得到本位和 S 与向高位的进位 Cout。

真值表穷举
三输入 A、B、Cin 共 8 种组合,分别对应 S 与 Cout 的取值,作为推导依据。
本位和 S
三变量中 1 的个数为奇数时 S=1,化简得 S = A⊕B⊕Cin。
进位 Cout
至少两个输入为 1 时 Cout=1,化简为 Cout = AB + (A⊕B)Cin = AB + ACin + BCin。
电路结构
两个半加器级联得到 S,进位经或门合并得 Cout,是最常见的实现方式。
两人接力算账对应 →两个半加器级联

第一个半加器处理 A+B 给出局部和与进位,第二个再把它的和与 Cin 相加,进位由或门合并。

S=ABCiCo=AB+(AB)Ci=AB+ACi+BCiS = A \oplus B \oplus C_i \quad C_o = AB + (A \oplus B)C_i = AB + AC_i + BC_i
8第 8 页 · 一位全加器的结构

全加器电路的内部实现

从左到右读:A、B 先过一级半加器,所得 P 与 Cin 进入二级半加器产出 S;两条进位经或门合并为 Cout。

图解渲染中…
G1P = A⊕B,第一级半加器的中间和G3S = P⊕Cin,全加器最终本位和G5把两个进位路径合并为 Cout
9第 9 页 · 全加器电路的内部实现

多位加法器的组成

上页我们看了一位全加器的内部,它一次只算 1 位。要处理 8 位、32 位的二进制数,最朴素的办法就是把全加器串起来——但进位线怎么连,决定了整个加法器能跑多快。

串行进位
n 个全加器级联,低位的 Cout 接到高位的 Cin,进位像波浪一样从最低位逐位传到最高位
超前进位
不依赖前级进位到达,用组合逻辑把所有进位同时并行算出,每位的 Cin 在 2~3 级门延迟内就位
性能取舍
n 位串行延迟 ≈ n × 一级门延迟;超前进位延迟接近常数,但每位电路门数随位数增长明显
多米诺骨牌 vs 并排开关对应 →串行进位 vs 超前进位

多米诺要等前一张倒下才能推倒下一张;并排开关虽同时触发,但每条线路都早已预埋

Ci+1=Gi+PiCi  ,  Gi=AiBi  ,  Pi=AiBiC_{i+1}=G_i+P_i\cdot C_i\;,\;G_i=A_iB_i\;,\;P_i=A_i\oplus B_i
10第 10 页 · 多位加法器的组成

超前进位加法器的结构

进位生成与传播的并行计算机制

超前进位加法器的结构
进位生成与传播的并行计算机制
11第 11 页 · 超前进位加法器的结构

用加法器设计组合电路

减法、比较这些运算,本质都能归结为加法——关键是把减数和比较关系做对转换。

1
转换思路
减法 A−B 化为加法 A+(~B)+1,借补码绕过借位
2
减数取反
用反相器对 B 的每一位按位取反,得到反码
3
末位进一
把全加器最低位的进位输入 Cin 接 1,完成 +1
4
判断关系
看最高位进位 Cout 和符号位,得到大小比较结果
12第 12 页 · 用加法器设计组合电路

数值比较器的工作原理

上节用全加器求两个二进制数的和,今天换角度:把两个数送进去,只看谁大谁小、谁和谁相等——就像比身高,只需要「高、矮、一样」三种结论。

三种独立输出
大于、小于、等于,一次比较同时给出三个互斥结论
单比特比较规则
A=1 且 B=0 则 A 大;A=0 且 B=1 则 B 大;相等则看更低位
级联扩展方法
多位比较由若干一位比较器串联,低位「等于」信号传入高位
裁判举胜负牌对应 →三种输出

一次只举一块,三块牌互斥,对应 A>B、A<B、A=B 三选一

FA>B=ABˉ,FA<B=AˉB,FA=B=ABF_{A>B}=A\cdot\bar{B},\quad F_{A<B}=\bar{A}\cdot B,\quad F_{A=B}=A\odot B
13第 13 页 · 数值比较器的工作原理

多位数值比较器的结构

高位优先的瀑布式比较。任一位分出大小,结论立即锁定;只有全等才走到最末。

图解渲染中…
S输入 4 位数 A=A3A2A1A0 与 B=B3B2B1B0H9高 3 位全等且末位也等时才会落到的最终判断
14第 14 页 · 多位数值比较器的结构

竞争现象的本质

上一节我们用译码器、加法器设计了不少组合电路——逻辑图上看似无懈可击,但实际芯片里每个门都有传输延迟。一路信号如果经过多条路径到达同一逻辑门,就会产生'竞争'。

竞争现象
同一变量经过多条路径到达同一逻辑门时,因各路径延迟不同,到达时间有先后
延迟差异是根源
每个门都有 t_pd,不同门、不同路径长度让总延迟各不相同
竞争不等于冒险
竞争只是'到达有先后'的客观事实;只有原/反变量同时到达才可能引发毛刺
两类竞争
0-型:A 与 Ā 形式到达;1-型:同为 A 形式但路径不同
两条水管汇入同一水盆对应 →竞争现象

管长不同则到达有先后,落差大时溅起水花——类似潜在的冒险毛刺

15第 15 页 · 竞争现象的本质

冒险现象的分类与识别

从竞争现象出发,按稳态取值把冒险分成两类,左右两条路径对比波形特征。

图解渲染中…
b1稳态值指输入稳定后输出应有的取值e1负向毛刺:波形瞬时下凹到 0 再回升e2正向毛刺:波形瞬时上凸到 1 再回落
16第 16 页 · 冒险现象的分类与识别

竞争-冒险的判断方法

两种方法识别竞争-冒险:代数法从表达式入手,卡诺图法从图形覆盖入手。

1
写出最简与或式
把逻辑函数化为最简与或式,作为后续判断的基础
2
找互补变量对
查找某变量是否同时以原变量和反变量形式出现
3
判其余是否恒1
若变量切换时其他部分恒为1,则存在竞争-冒险
4
画卡诺图圈1格
将函数映射到卡诺图,按相邻性圈出全部1格得到与或式
5
查相邻覆盖
若相邻1格分属不同卡诺圈,输入切换时会产生竞争-冒险
17第 17 页 · 竞争-冒险的判断方法

消除竞争-冒险的方法对比

同为设计阶段消除冒险,'改逻辑'与'加选通'的代价与适用场景截然不同——怎么选?

修改逻辑设计
  • 原理:卡诺图增加冗余覆盖项,从源头消除
  • 代价:增加门数与连线,需重新化简
  • 效果:输出全程自由运行,波形干净
  • 适用:高速、波形连续可用的场合
引入选通脉冲
  • 原理:用选通信号在稳定后才开窗输出
  • 代价:输出受时钟控制,牺牲自由运行
  • 效果:冒险窗口被遮蔽,但瞬态仍存在
  • 适用:时序系统、需同步锁存的场合
高速连续工作选修改设计;分时同步输出选引入选通;滤波电容仅在波形允许畸变时作补救。
18第 18 页 · 消除竞争-冒险的方法对比

修改设计消除冒险

上一页对比了四种消除竞争-冒险的方法,各有侧重。这一页我们钻进去,把'修改设计法'在卡诺图上彻底拆开——它治本,但也付出代价。

冗余项的本质
在卡诺图上原本不必圈的多余项,加上后让某条路径上的0格也被覆盖
卡诺图补圈操作
定位竞争相邻的两组1格,在它们中间补一个圈覆盖过渡路径
经典例子 F=AB+A'C
B=C=1时 F=A+A' 出现毛刺;补上冗余项 BC 后 F 恒为1
适用与代价
仅消除静态逻辑冒险;会增加门电路数量,可能略降速度
双电源热备份切换对应 →冗余项消除竞争

两路电源单独都能负载,但切换瞬间可能短暂失电;让两路短暂同时导通,输出不间断

F=AB+ACF=AB+AC+BCF = AB + \overline{A}C \rightarrow F = AB + \overline{A}C + BC
19第 19 页 · 修改设计消除冒险

综合自测

点击作答

用四位二进制加法器和门电路实现补码减法 A−B,下列哪种输入处理正确?

20第 20 页 · 综合自测

知识要点回顾

  • 译码器与选择器都能实现任意组合逻辑函数
  • 进位链决定加法速度,超前进位用面积换时间
  • 多片级联靠高位输出对低位使能端的衔接
  • 竞争-冒险源于路径延时差,根治要回到设计层
延伸主题:时序逻辑基础:触发器与锁存器有限状态机的设计方法常用中规模集成电路选型
21第 21 页 · 知识要点回顾

课后思考

先独立思考,再对照参考答案。设计题解法不唯一,重点看思路的合理性。

1为什么超前进位加法器比串行进位加法器更快?这种速度提升的代价是什么?

参考答案超前进位通过进位生成与传递函数直接并行算出每一位进位,延迟与位数无关。代价是电路复杂度急剧上升,位数较大时门数量和扇入要求爆炸式增长。

2若用两片 3-8 译码器和必要门电路,实现一个四输入变量的组合逻辑函数,你会如何设计?

参考答案用使能端做扩展。将 A 作为使能信号,一片接 A、另一片接 A'(或加反相器),分别译出 A=0 和 A=1 时的 8 个最小项,再用或门合并两片对应输出。

3实际工程中,竞争-冒险的存在一定是设计缺陷吗?什么情况下可以容忍冒险?

参考答案不一定是缺陷。当毛刺宽度小于后级电路响应时间,或输出端有惯性环节(RC 滤波、机械继电器)时,冒险不会引发误动作。应按可靠性与成本综合权衡,不必机械地全部消除。

22第 22 页 · 课后思考