名称: cdc-analysis 描述: 用于FPGA设计中时钟域交叉分析和同步器设计的专业技能 允许使用的工具:
- 读取
- 写入
- 编辑
- 全局搜索
- 文本搜索
- Bash命令
CDC分析技能
概述
用于时钟域交叉(CDC)分析和同步器设计的专家技能,确保多时钟FPGA设计的亚稳态安全性。
能力范围
- 识别RTL中的所有时钟域交叉
- 设计带有ASYNC_REG属性的2FF和3FF同步器
- 为异步FIFO实现格雷码计数器
- 设计握手协议(请求-应答、有效-就绪)
- 计算同步器的平均无故障时间(MTBF)
- 生成CDC约束(设置虚假路径、设置最大延迟)
- 检测CDC违规(重汇聚、数据稳定性)
- 支持Xilinx CDC感知设计流程
目标流程
- cdc-design.js
- reset-strategy.js
- clock-network-design.js
- timing-constraints.js
使用指南
同步器类型
- 2FF同步器: 标准单比特同步(典型MTBF > 100年)
- 3FF同步器: 高可靠性应用
- 脉冲同步器: 跨时钟域的边沿检测
- 握手同步器: 带控制信号的多比特数据
FIFO设计
- 使用格雷码进行指针跨域
- 确保正确的空/满标志生成
- 考虑用于流量控制的几乎空/几乎满标志
- 应用正确的FIFO深度计算
约束指南
- 对2FF同步器路径使用
set_false_path - 对带有效同步的数据总线使用
set_max_delay - 对异步时钟使用
set_clock_groups - 将ASYNC_REG属性应用于同步器触发器
需要检测的CDC违规
- 同步器级之间的组合逻辑
- 从未同步信号的扇出
- 同步信号的重汇聚
- 数据稳定性违规
依赖关系
- CDC分析工具集成
- 供应商特定的CDC规则知识
- 亚稳态理论理解