数字电路零基础入门教程
从0到1,带你走进数字世界的底层逻辑
开篇:数字电路的魔法
想象一下,你正在用手机刷视频、玩游戏,电脑正在运行复杂的程序——这些看似神奇的操作,底层都是由无数个"开启"和"关闭"的状态组成的。这就是数字电路的魅力!
一、什么是数字电路?
核心概念
:数字电路用电压的高电平(代表1)和低电平(代表0)来表达信息。
模拟信号 vs 数字信号
模拟信号(连续变化):
╱╲ ╱╲
╱ ╲ ╱ ╲
╱ ╲╱ ╲
─────────────────→ 时间
数字信号(离散变化):
┌───┐ ┌───┐
│ 1 │ │ 1 │
──┘ └───┘ └──→ 时间
0 0
举个例子:
模拟信号:就像老式唱片播放音乐,声波连续不断
数字信号:就像莫尔斯电码,只有"滴"和"哒"两种状态
二、数字世界的语言——二进制
为什么用二进制?
因为电路只有两种稳定状态:通电(1)**和**断电(0)。这就像电灯开关,要么开,要么关,简单可靠!
进制转换实例
十进制 3210 的含义:
3210 = 3×1000 + 2×100 + 1×10 + 0×1
= 3×10? + 2×10? + 1×10? + 0×10?
二进制 1010 的含义:
1010 = 1×8 + 0×4 + 1×2 + 0×1
= 1×2? + 0×2? + 1×2? + 0×2?
= 8 + 2 = 10(十进制)
有符号数:如何表示负数?
关键点:
最左边的位(最高位)表示符号
开头 = 正数 1 开头 = 负数
示例:4位有符号二进制
1010
1010 = -(1×8) + 0×4 + 1×2 + 0×1
= -8 + 2 = -6
三、数据的"包装盒"
比特(bit):最小单位
一个二进制数字位 = 1比特(b)就像乐高积木的最小单元块
字节(Byte):常用单位
1 字节 = 8 比特 (B) 就像把8块积木组合成一个标准包
1 字节 = 8 比特
┌─┬─┬─┬─┬─┬─┬─┬─┐
│1│0│1│0│1│1│0│0│ = 1 Byte = 8 bits
└─┴─┴─┴─┴─┴─┴─┴─┘
容量单位:K、M、G、T
| 单位 | 二进制计算(2?) | 十进制计算(10?) | 常见场景 |
|---|---|---|---|
| 1 KB | 1,024 B | 1,000 B | 内存、RAM |
| 1 MB | 1,048,576 B | 1,000,000 B | 文件大小 |
| 1 GB | 1,073,741,824 B | 1,000,000,000 B | 硬盘、SSD |
| 1 TB | 1,099,511,627,776 B | 1,000,000,000,000 B | 大容量存储 |
小贴士:这就是为什么你买的1TB硬盘,实际只有930GB左右可用!
四、补码——负数的秘密
三兄弟:原码、反码、补码
以 4 位二进制为例,表示:
-5
原码:
0101
(+5的二进制)
反码:
1010
(所有位取反)
补码:
1011
(反码+1)
原码:0101 → 反码:1010 → 补码:1011
(全部取反) (加1)
为什么要用补码?
因为用补码可以把减法变成加法!计算机只需要一个加法器就够了。
五、MOSFET——数字电路的"开关"
什么是MOSFET?
MOSFET(金属氧化物半导体场效应晶体管)是现代数字电路的核心元件,就像一个电控开关。
N型MOSFET(高电压导通): P型MOSFET(低电压导通):
栅极(G) 栅极(G)
│ │
┌─┴─┐ ┌─┴─┐
│ │ │ │
源极─┤ ├─漏极 源极─┤ ├─漏极
(S) └───┘ (D) (S) └───┘ (D)
工作原理:
N型:栅极加高电压 → 开关闭合(导通)
P型:栅极加低电压 → 开关闭合(导通)
六、逻辑门——数字电路的"决策器"
三大基本逻辑运算
- AND门(与门):都是1才输出1
- OR门(或门):有1就输出1
- NOT门(非门):输入反转
- XOR门(异或门):不同输出1
真值表: 逻辑符号: 实际应用:
A B Y ┌────┐ "需要钥匙AND密码"
0 0 0 A─┤ │ 才能打开保险箱
0 1 0 │ & ├─Y
1 0 0 B─┤ │
1 1 1 └────┘
真值表: 逻辑符号: 实际应用:
A B Y ┌────┐ "指纹OR密码"
0 0 0 A─┤ │ 任意一个都能解锁
0 1 1 │ ≥1 ├─Y
1 0 1 B─┤ │
1 1 1 └────┘
真值表: 逻辑符号: 实际应用:
A Y ┌────┐ "非禁止=允许"
0 1 A─┤ 1 ├─Y 逻辑取反
1 0 └────┘
真值表: 逻辑符号: 实际应用:
A B Y ┌────┐ "AB必须不同"
0 0 0 A─┤ │ 加法器的半加器
0 1 1 │ =1 ├─Y
1 0 1 B─┤ │
1 1 0 └────┘
组合逻辑示例:半加器
输入:A, B(两个1位二进制数)
输出:S(和), C(进位)
A ───┬─────────┐
│ │
│ ┌──▽──┐
│ │ XOR ├─── S(和)
│ └──△──┘
│ │
B ───┼─────────┤
│ │
│ ┌──▽──┐
└──────┤ AND ├─── C(进位)
└──△──┘
│
B
示例计算:
- 1 + 1 = 10(二进制)→ S=0, C=1
- 1 + 0 = 01(二进制)→ S=1, C=0
七、存储元件——电路的"记忆"
- 最简单的锁存器
- D锁存器(Data Latch)
- D触发器(D Flip-Flop)
┌─────┐
┌───┤ AND ├───┐
│ └──△──┘ │
│ │ │
输入 ────┘ └──── 输出(会保持状态)
原理:输出反馈到输入,形成"记忆回路"
输入:D(数据), E(使能)
输出:Q, Q?(互补输出)
当 E=1:Q 跟随 D 变化(透明模式)
当 E=0:Q 保持不变(锁存模式)
D ──────┐
│ ┌───────┐
├───┤ ├─── Q
│ │ 锁存器 │
E ──────┤ │ ├─── Q?
│ └───────┘
关键特性:边沿触发(时钟上升沿采样)
D ──────┐
│ ┌───────┐
├───┤ D ├─── Q
│ │ FF │
CLK ──────┤ │ ├─── Q?
↑ │ └───────┘
上升沿 └─ 仅在↑时刻采样
时序图:
CLK: ┐ ┌─┐ ┌─┐ ┌─
└─┘ └─┘ └─┘
D: ─┐ ┌───┐
─┘ └───┘
Q: ──┐ ┌─ ← 仅在CLK↑时改变
└─────┘
八、组合逻辑 vs 时序逻辑
组合逻辑电路 特点:
输出只取决于当前输入,没有记忆功能
输入 → [逻辑门组合] → 输出
A,B 与/或/非 Y
示例:加法器、编码器、多路选择器
时序逻辑电路 特点:
输出取决于当前输入+历史状态,有记忆功能
┌──────────────┐
输入 ───→│ 组合逻辑 ├──→ 输出
│ 电路 │
┌───┤ │
│ └──────────────┘
│ ↓
│ ┌──────────┐
└───┤ 存储元件 │ ← 时钟信号
└──────────┘
示例:计数器、寄存器、状态机
生活类比:
组合逻辑:计算器,按什么出什么
时序逻辑:存钱罐,记得你存了多少钱
总结:数字电路的层次结构
┌─────────────────────────────────┐
│ 应用层:电脑、手机 │
├─────────────────────────────────┤
│ 功能层:CPU、内存、GPU │
├─────────────────────────────────┤
│ 逻辑层:时序电路、组合电路 │
├─────────────────────────────────┤
│ 器件层:触发器、锁存器 │
├─────────────────────────────────┤
│ 门电路层:与、或、非门 │
├─────────────────────────────────┤
│ 晶体管层:MOSFET开关 │
├─────────────────────────────────┤
│ 物理层:硅、半导体材料 │
└─────────────────────────────────┘
下一步学习建议
- 动手实践:使用Logisim等软件模拟电路
- 深入学习:卡诺图化简、时序分析
- 硬件实验:尝试面包板搭建简单电路
- 编程关联:学习Verilog/VHDL硬件描述语言
记住:
所有复杂的数字系统,都是由简单的0和1组合而成的!
学习声明
本文是学习**知识星球「FPGA从入门到精通」**后按个人理解整理的学习笔记,内容可能存在理解不够深入或不够完善之处。
如果你希望获取更系统、更专业的FPGA与数字电路知识,建议前往原知识星球学习更完整的课程内容。
笔记整理有限,原创内容无限


雷达卡


京公网安备 11010802022788号







