寄存器

142 阅读6分钟

从寄存器到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)接CLKCLK=1时导通,传递低电平
源极(S)接D数据输入端
漏极(D)接反相器栅极数据输出端
传输门PMOS栅极(G)接CLK̅CLK̅=0时导通,传递高电平
反相器NMOS栅极(G)接传输门漏极输入低电平时导通,输出高电平
源极(S)接GND接地
反相器PMOS栅极(G)接传输门漏极输入高电平时导通,输出低电平
源极(S)接VDD接电源

5. 补充

  1. 数据存储机制:
    • 存储本质:数据存储依赖交叉耦合反相器的正反馈,而非栅极电容。
    • 栅极作用:反相器栅极(G)仅是数据传递的终点,存储由反相器环路实现。
  2. CLK与D的权限分离:
    • CLK路径:仅控制传输门栅极(G),决定数据是否通过。
    • D路径:从传输门源极(S)输入,经漏极(D)输出到反相器栅极(G)。
  3. 复位信号(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后续变化无效)。
  • 从锁存器(Slave)
    • TG2 保持关闭(CLK'=0),从锁存器维持之前的数据。
    • 输出Q 不变。

🔍 关键点:高电平期间主从锁存器均关闭,输入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. 关键结论

  1. 上升沿:主锁存器采样D,从锁存器关闭(Q不变)。

  2. 高电平:主从均关闭,抗输入干扰。

  3. 下降沿:从锁存器传递数据到Q,完成输出更新。

  4. 低电平:从锁存器透明,但主锁存器未更新,Q保持。

主锁存器:CLK高电平时动态暂存数据,但不直接驱动输出。

从锁存器:clk低电平时长期存储的数据,直接输出Q。

从锁存器的Q端输出的数据可以作为下一个寄存器的输入信号。


终极结论

  • 层级化映射:寄存器→触发器→锁存器→CMOS→MOSFET,权限严格分离。
  • D:上个寄存器的输出端Q输出的数据,接收端MOS源极负责接收和采样。
  • CLK是控制核心:仅控制传输门开关,最终连接并发送控制信号到MOS管栅极,不直接参与数据存储。
  • 数据存储靠正反馈:交叉耦合反相器是锁存的核心。
  • 无冲突设计:CLK和D路径物理隔离,时序由Setup/Hold Time保证。

“D是乘客,CLK是检票员,反相器是座位,VDD/GND是火车轨道——数据上车后,座位(反相器)锁死,检票员(CLK)关门发车!” 🚂🎟️

数据像接力赛的接力棒——发送者在下降沿交棒(Q端输出),接收者在上升沿接棒(D端采样),缺一不可!