3 / 63 · 概念
基本逻辑门:AND、OR、NOT、BUFFER
将电路符号与真值表对应起来,用多个逻辑门组合条件。
课时内容可免费阅读,选课后可保存学习进度。
逻辑门定义了所有输入组合的函数
对于输入 ,AND 在两者均为 1 时输出 1,OR 在至少一个为 1 时输出 1。NOT 将输入取反取反 将 0 变为 1、1 变为 0 的 NOT 运算。表达式上方的横线表示对其覆盖的整个表达式应用 NOT。了解更多,BUFFER 原样传递逻辑值。实际 BUFFER 也有驱动能力和延迟,这里只考察其逻辑功能。
| a | b | AND | OR | NOT a | BUFFER a |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 |
在布尔代数布尔代数 处理 0、1 及 AND、OR、NOT 的代数。这里的加号通常表示 OR,因此规则与整数加法不同。了解更多中, 表示 AND, 表示 OR, 表示 NOT。因此这里的 不是整数加法。同样的含义也可写作 、、。
结合符号、输入和真值表阅读
在下方选择 AND 和 OR,逐一检查 00→01→10→11。比较 AND 平直的输入侧、圆弧形的输出侧与 OR 弯曲的输入侧。NOT 用三角形尖端的小圆圈表示反相;BUFFER 是没有该圆圈的三角形。这里采用常见逻辑符号,其他标准也可能使用矩形符号。
| a | b | y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
OR 表示“至少一个”,而非“恰好一个”。两个输入都为 1 时,OR 为 1,而下一课的 XOR 为 0。漏查真值表真值表 完整列出所有可能输入组合及每种组合输出的表格。随时间的变化需要另行通过波形检查。中的一行,就可能错过这个差别。
将条件连接起来就形成了电路
设有使能输入 ,当两个检测器 中至少一个激活时输出有效,则电路为:
首先由 OR 生成 ,再由 AND 将其与 结合。 时,无论检测器状态如何,输出都为 0。三个输入共有 种组合,应在真值表的八行中检查规格与实现是否一致。
- a 与 b: 定义两个检测器的输入值
- OR: 至少一个激活:t = a + b
- AND: 与使能 e 结合:y = e · t
阅读 RTL 运算符的基本规则
a & b、a | b、~a 分别是按位 AND、OR、NOT。若向量为 a=0010、b=0100,则 a & b=0000;但逻辑条件 a && b 为 1,因为两个向量都非零。一元 &a 是将全部位进行 AND 的归约运算。按位运算、逻辑条件运算和归约运算的结果位宽与含义各不相同。
真值表描述的是输入稳定后的值。符号和表达式正确,并不意味着传播延迟传播延迟 从输入变化到输出稳定为正确值所需的时间。逻辑表达式等价与时间特性是两回事。了解更多或瞬时毛刺会消失。
更改输入
自己试试
在 y=e(a+b) 中,说明 e=0 时四种输入组合为何得到相同结果。若误实现为 y=eab,哪两个输入能暴露错误?
阅读解释
e=0 时,无论 OR 的结果如何,最后的 AND 都输出 0。当 e=1 且 (a,b)=(0,1) 或 (1,0) 时,正确电路输出 1,错误电路输出 0。