从寄存器到MOSFET的完整端口映射与信号路径
1. 寄存器级 → 触发器级
| 寄存器端口 | 触发器端口 | 功能 |
|---|---|---|
D[3:0] | 4个触发器的D输入 | 并行输入数据 |
Q[3:0] | 4个触发器的Q输出 | 并行输出数据 |
CLK | 所有触发器的CLK | 全局同步时钟 |
RST | 所有触发器的异步RST | 强制清零(需具体电路实现) |
VDD/GND | 所有触发器的电源/地 | 供电 |
2. 触发器级 → 锁存器级(主从结构)
| 触发器端口 | 锁存器端口 | 功能 |
|---|---|---|
D | 主锁存器的D输入 | 数据输入 |
CLK | 主锁存器CLK=CLK̅ | 主锁存器透明时从锁存器锁存 |
从锁存器CLK=CLK | 从锁存器透明时主锁存器锁存 | |
Q | 从锁存器的Q输出 | 边沿触发后稳定输出 |
3. 锁存器级 → CMOS门级
| 锁存器端口 | CMOS单元 | 功能 |
|---|---|---|
D | 传输门(TG)的源极(S) | 数据输入 |
CLK | 传输门NMOS栅极(CLK) | 控制低电平传输 |
CLK̅ | 传输门PMOS栅极(CLK̅) | 控制高电平传输(CLK̅=!CLK) |
Q | 反相器链的漏极(D) | 数据输出(存储单元) |
4. CMOS门级 → MOSFET级
| CMOS单元 | MOS管连接 | 功能 |
|---|---|---|
| 传输门NMOS | 栅极(G)接CLK | CLK=1时导通,传递低电平 |
源极(S)接D | 数据输入端 | |
| 漏极(D)接反相器栅极 | 数据输出端 | |
| 传输门PMOS | 栅极(G)接CLK̅ | CLK̅=0时导通,传递高电平 |
| 反相器NMOS | 栅极(G)接传输门漏极 | 输入低电平时导通,输出高电平 |
源极(S)接GND | 接地 | |
| 反相器PMOS | 栅极(G)接传输门漏极 | 输入高电平时导通,输出低电平 |
源极(S)接VDD | 接电源 |
5. 补充
- 数据存储机制:
-
- 存储本质:数据存储依赖交叉耦合反相器的正反馈,而非栅极电容。
- 栅极作用:反相器栅极(G)仅是数据传递的终点,存储由反相器环路实现。
- CLK与D的权限分离:
-
- CLK路径:仅控制传输门栅极(G),决定数据是否通过。
- D路径:从传输门源极(S)输入,经漏极(D)输出到反相器栅极(G)。
- 复位信号(RST)实现:
-
- 电路补充:RST通过额外NMOS管强制拉低反相器输出(需独立设计)。
主从D触发器(正边沿触发)的完整时钟周期操作详解
(基于CMOS传输门设计,涵盖上升沿、高电平、下降沿、低电平的全过程)
| 时钟阶段 | 主锁存器(Master) | 从锁存器(Slave) | 输入/输出状态 |
|---|---|---|---|
| CLK=0(低电平) | TG1 关闭(输入D隔离) | TG2 打开(从锁存器透明) | 输出Q保持之前的值(从锁存器维持数据)。 |
| CLK↑(上升沿) | TG1 短暂导通(采样输入D) | TG2 立即关闭(隔离主从) | 输入D被捕获到主锁存器,输出Q仍保持旧值。 |
| CLK=1(高电平) | TG1 关闭(主锁存器锁定D) | TG2 保持关闭 | 输入D变化无效,主锁存器保存上升沿采样的数据。 |
| CLK↓(下降沿) | TG1 保持关闭 | TG2 打开(传递主锁存器数据) | 主锁存器的数据传递到输出Q,更新最终结果。 |
1. 电路结构
- 主锁存器(Master Latch)
-
- 由传输门TG1和两个反相器(构成存储环路)组成。
- TG1控制信号:
CLK(直接)和CLK'(反相)。
- 从锁存器(Slave Latch)
-
- 由传输门TG2和两个反相器组成。
- TG2控制信号:
CLK'(直接)和CLK(反相)。
2. 时钟周期详细操作
(1) CLK=0(低电平阶段)
- 主锁存器(Master)
-
CLK=0→ TG1 关闭(输入D与主锁存器隔离)。- 主锁存器存储节点通过反相器环路保持之前的数据(不受新输入D影响)。
- 从锁存器(Slave)
-
CLK'=1→ TG2 打开,从锁存器透明。- 主锁存器的数据通过TG2传递到输出Q(但此时主锁存器未更新,Q保持旧值)。
🔍 关键点:低电平时从锁存器透明,但主锁存器未更新,因此输出Q不变。
(2) CLK↑(上升沿瞬间)
- 主锁存器(Master)
-
CLK从0→1,CLK'从1→0 → TG1 短暂导通(约几皮秒)。- 输入D的值通过TG1写入主锁存器的存储节点(两个反相器环路)。
CLK'=0后,TG1 立即关闭(即使CLK=1,主锁存器锁定D值)。
- 从锁存器(Slave)
-
CLK'=0→ TG2 关闭,从锁存器与主锁存器隔离。- 输出Q 保持旧值(未更新)。
🔍 关键点:上升沿瞬间主锁存器捕获D,从锁存器关闭,确保数据稳定。
(3) CLK=1(高电平阶段)
- 主锁存器(Master)
-
- TG1 保持关闭(
CLK'=0强制关闭,即使CLK=1)。 - 主锁存器存储节点锁定上升沿采样的D值(输入D后续变化无效)。
- TG1 保持关闭(
- 从锁存器(Slave)
-
- TG2 保持关闭(
CLK'=0),从锁存器维持之前的数据。 - 输出Q 不变。
- TG2 保持关闭(
🔍 关键点:高电平期间主从锁存器均关闭,输入D和输出Q均无变化。
(4) CLK↓(下降沿瞬间)
- 主锁存器(Master)
-
CLK从1→0,CLK'从0→1 → TG1 保持关闭(主锁存器不采样新数据)。
- 从锁存器(Slave)
-
CLK'=1→ TG2 打开,主锁存器的数据通过TG2传递到输出Q。- 输出Q 更新为上升沿采样的D值。
🔍 关键点:下降沿时从锁存器打开,输出Q更新,主锁存器准备下次采样。
- 上升沿:主锁存器捕获D=1,Q保持旧值。
- 高电平:主从均关闭,数据锁定。
- 下降沿:Q更新为1(主锁存器的值)。
3. 关键结论
-
上升沿:主锁存器采样D,从锁存器关闭(Q不变)。
-
高电平:主从均关闭,抗输入干扰。
-
下降沿:从锁存器传递数据到Q,完成输出更新。
-
低电平:从锁存器透明,但主锁存器未更新,Q保持。
主锁存器:CLK高电平时动态暂存数据,但不直接驱动输出。
从锁存器:clk低电平时长期存储的数据,直接输出Q。
从锁存器的Q端输出的数据可以作为下一个寄存器的输入信号。
终极结论
- 层级化映射:寄存器→触发器→锁存器→CMOS→MOSFET,权限严格分离。
- D:上个寄存器的输出端Q输出的数据,接收端MOS源极负责接收和采样。
- CLK是控制核心:仅控制传输门开关,最终连接并发送控制信号到MOS管栅极,不直接参与数据存储。
- 数据存储靠正反馈:交叉耦合反相器是锁存的核心。
- 无冲突设计:CLK和D路径物理隔离,时序由Setup/Hold Time保证。
“D是乘客,CLK是检票员,反相器是座位,VDD/GND是火车轨道——数据上车后,座位(反相器)锁死,检票员(CLK)关门发车!” 🚂🎟️
数据像接力赛的接力棒——发送者在下降沿交棒(Q端输出),接收者在上升沿接棒(D端采样),缺一不可!