推荐答案
测试一下
题目
详细分析锁存器(latch)和触发器(flip-flop)
参考答案与知识点
参考答案
锁存器(latch)和触发器(flip-flop)是数字电路中的两种基本存储单元。锁存器是电平敏感器件,在使能信号有效期间,输出随输入变化;使能无效时,输出保持。触发器是边沿敏感器件,仅在时钟沿(如上升沿)瞬间采样输入并更新输出。在Verilog中,锁存器由不完整的组合逻辑if/else或case语句推断,其敏感列表常包含电平信号(如enable或data),且没有else分支时会在综合中生成锁存器。触发器则由时钟边沿触发的always块描述,通常包含复位逻辑。
为什么现代设计多用寄存器(即触发器)而非锁存器?主要原因如下:
1. 时序可控性:触发器在时钟边沿同步工作,便于静态时序分析(STA),保证设计可靠性。锁存器是电平敏感,其透明窗口导致时序路径更复杂,难以保证建立/保持时间约束。
2. 避免毛刺:锁存器在使能有效时直接传递输入,若输入存在毛刺,输出也会被传递;触发器只在边沿采样,对毛刺有天然抑制。
3. 综合与验证简易:触发器的时序模型统一,综合工具可精确计算延迟;锁存器需要特殊处理(如时间借用),增加设计复杂度。
4. 功耗管理:多数工艺中,触发器比锁存器更能有效支持时钟门控,减少动态功耗。
5. DFT(可测试性设计):扫描链通常由触发器构成,锁存器需要额外转换电路,增加面积和测试难度。
尽管锁存器在某些低压、高性能设计(如延迟锁定环、异步电路)中有优势,但主流数字设计仍以基于触发器的寄存器为主。
涉及知识点
- 锁存器电平敏感与触发器边沿敏感
- Verilog推断锁存器的条件
- 时序可控性与静态时序分析
- 毛刺抑制与同步设计优势
- 综合与DFT的便利性
- 功耗管理与时钟门控