Skip to content

数字电路基础

数字电路

利用两种不连续的电位来表示信息的电子电路

  • 1 = 电源电压 = H / 高电平
  • 0 = 接地电压 = L / 低电平
  • 大部分数字电路是基于叫做 MOSFET(Metal-Oxide-Semiconductor Field-Effect Transistor,金属氧化物半导体场效应管)的场效应管实现的

数值表达

  • 数字电路的设计基于二进制数
  • 有符号二进制数
    • 补码表示法,最高位为 0 时是正数,最高位为 1 时是负数 ../../res/Pasted image 20240204154953.png
    • 如何取补码?全反,+1
    • 设计初衷:相加时无需考虑符号的处理,能够和其相反数相加通过溢出从而使计算机内计算结果变为 0 的二进制码

比特和字节

  • 二进制中的一个数字位称为 binary digit,简称比特(bit)。一个字节(byte)代表 8 比特
  • 绝大多数 CPU 都是以字节为单位处理数据的
  • 内存地址大多也是为每字节赋予一个地址,称为字节编址方式

MOSFET 的结构

MOSFET 有 P 型 MOSFET 和 N 型 MOSFET 两种。

../../res/Pasted image 20240204155900.png

MOSFET 有源极(Source,电流输入)、漏极(Drill,电流输出)和栅极(Gate,电流控制)3 个电极

Quote

下面以 N 型 MOSFET 为例说明其工作原理。在不给控制电流的栅极施加电压时, 源极和漏极间填充了异种半导体材料,因此电流无法流过。当给栅极施加正电压时,源极和漏极中 N 型半导体材料里的自由电子被栅极吸引,使通道中充满电子,源极和漏极间的电流从而能够流动 ../../res/Pasted image 20240204160030.png Note. 具体可参考 SI100B 笔记

N 型 MOSFET 在栅极施加电源电压(H)时电流可以流通,接地(L)时电流无法流通。反之,P 型 MOSFET 的栅极接地时电流可以通过,施加电源电压时电流无法流过。

CMOS

这种持有相反特性的 N 型 MOSFET 和 P 型 MOSFET 互补使用形成的门电路称为 CMOS (Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)。CMOS 可以用来制作各种各样的逻辑电路。

逻辑运算

逻辑运算是只用“真”(对应 H / 1)、“假”(对应 L / 0)二值进行的运算

三种基本运算:AND, OR, NOT

CMOS 基本逻辑门电路

两种 MOSFET

N 型 MOSFET P 型 MOSFET
../../res/Pasted image 20240204160606.png ../../res/Pasted image 20240204160623.png
施加电源电压可流通,接地无法流通 接地可以流通,施加电源电压无法流通

NOT 门的 MOSFET 级实现

../../res/Pasted image 20240204160816.png

MIL(美军标准)逻辑符号

../../res/Pasted image 20240204160943.png

具体实现见 SI100B 笔记及 Turing Complete(逃

存储元件

锁存器(Latch)

简单的循环回路锁存器

../../res/Pasted image 20240204161125.png

Data Latch / D-Latch

AKA. 通过型锁存器

../../res/Pasted image 20240204161149.png

4 个 NAND 门构成,两个输入(Data / Enable) - Enable = 0 - 输出维持前一个数据 - Enable = 1 - 输出更新为 Data

../../res/Pasted image 20240204161539.png

SR Latch

触发器(Flip-Flop)

D Flip-Flop

D 锁存器和 NOT 门组合,可以实现依据时钟信号同步并保存数据的 D 触发器

../../res/Pasted image 20240204161859.png

../../res/v2-76970a544e8ee889f87d40114156e24d_1440w.webp

../../res/Pasted image 20240204162136.png

拥有两个输入(Data / Clock),两个输出

  • Clock = 0
    • Master 启用:读取当前输入并传递给 Slave
    • Slave 禁用:不会影响 Slave 本身的值
  • Clock = 1
    • Master 禁用:此时的输入不会导致 Slave 接收到的数据变化
    • Slave 启用:读取之前的 Master 值并成功更新输出
  • 检测时钟信号上升 ../../res/Pasted image 20240204202057.png

建立时间 / 保持时间

../../res/Pasted image 20240204194647.png

D 触发器是由时钟信号的边沿来触发数据的存储动作的。因此,需要在时钟沿前后一段时间内将输入信号稳定下来。如果在时钟变化时输入信号也在变化,很可能无法正确存储数据。 因此,为了让 D 触发器正确存储数据,需要有建立时间(setup time)和保持时间(hold time)两个基本条件。

建立时间是在时钟变化前必须稳定输入信号的时间,而保持时间是时钟变化后必须稳定输入信号的时间。

图 1-32 说明了建立时间和保持时间的关系。同时遵守建立时间和保持时间,就可以让 D 触发器正确的存储数据。 ../../res/Pasted image 20240204202529.png

组合电路和时序电路

  • 组合逻辑电路是指输出值仅由输入信号的状态决定的电路
    • 输出不依赖于过去的输入
    • 不含有存储元件
  • 时序电路是指输出值同时依赖于现在和过去输入信号的逻辑电路
    • 含有用于保持输入的存储元件

时钟同步设计

一种数字电路的设计技术,区别现在和过去

  • 时钟信号:周期性在 H / L 之间变化
    • 时钟变化边沿 (上升沿或下降沿)之前被称为过去,之后被称为现在
  • 由时钟边沿触发同步更新电路的状态