Spyglass 的 Clock Domain Crossing (CDC) 检查

乐活   2024-09-30 15:08   北京  



Spyglass 的 Clock Domain Crossing (CDC) 检查




Spyglass 的 Clock Domain Crossing (CDC) 检查是用于验证数字设计中跨时钟域信号传输的一组功能。在多时钟域的设计中,数据从一个时钟域传输到另一个时钟域时可能会出现时序问题,例如亚稳态(metastability)和数据丢失。Spyglass 的 CDC 检查旨在发现这些问题并提供建议的解决方案。


CDC流程

Goal:表示一系列相互关联的规则集合,它们共同作用以实现RTL分析中的特定目标。 

Rule:表示SpyGlass在进行RTL分析时最小的执行单元。


cdc/cdc_setup和cdc/cdc_setup_check:主要任务是验证约束文件的完整性,确保所有输入输出端口都得到了100%的约束覆盖。

cdc/cdc_verify_struct:重点在于确认信号是否经过了适当的同步处理。

cdc/cdc_verify:主要的工作是检测数据丢失问题、信号聚合问题,并对检测到的握手信号、FIFO模块等问题进行报告。

Goals

Rules

cdc/cdc_setup

Clock_info01

Reset_info01

SetupClock01

cdc/cdc_setup_check

Clock_info03a

Clock_info05/a/b

Clock_info18

cdc/cdc_verify_struct

Ac_unsync01/02

Ac_sync01/02

Ar_async*

Clock_sync05/06

Ac_conv01/02/03

Setup_quasi_static

Ac_glitch03

cdc/cdc_verify

Ac_cdc01a

Ac_datahold01a

Ac_conv02/04/05

Ac_fifo01

Ac_handshake01/02


Clock_info01:检查时钟的基本信息,如时钟定义、时钟频率和时钟域的识别。

Reset_info01:检查复位信号的基本信息,包括复位的极性、类型和确保所有寄存器都被正确复位。

SetupClock01:检查时钟设置,包括时钟属性、时钟约束和时钟关系的定义。


Clock_info03:验证时钟信号的详细信息,如时钟属性、时钟域交叉和时钟同步机制。

Clock_info05/a/b:检查特定的时钟信息,如时钟网络的完整性、时钟质量的评估等。

Clock_info18:检查时钟域特定的属性,如时钟域的隔离、时钟域间的交互等。



Ac_unsync01/02:检查未同步信号的处理,确保在跨时钟域传输中未同步信号的安全性。

Ac_sync01/02:检查同步信号的处理,包括同步机制的正确性和时序要求。

Ar_async:检查异步信号的处理,确保异步信号在跨时钟域传输中的正确性。

Clock_sync05/06:检查时钟同步机制的正确性,包括同步器的使用和配置。

Ac_conv01/02/03:检查信号转换的处理,确保信号在跨时钟域传输中的转换是安全的。

Setup_quasi_static:检查准静态信号的处理,确保这些信号在跨时钟域传输中的稳定性。

Ac_glitch03:检查潜在的时钟毛刺问题,确保时钟信号的质量。


Ac_cdc01a:检查跨时钟域信号传输的基本要求,如信号同步和时序分析。

Ac_datahold01a:检查数据保持时间的要求,确保数据在跨时钟域传输中的稳定性。

Ac_conv02/04/05:检查信号转换的特定方面,如信号编码和格式的转换。

Ac_fifo01:检查异步FIFO的实现和配置,确保FIFO在跨时钟域传输中的正确性。

Ac_handshake01/02:检查握手信号的处理,确保在跨时钟域传输中握手信号的可靠性。




END


芯时代青年
专心数字前端全流程,芯时代有为青年的自我修养
 最新文章