相关阅读
Spyglasshttps://blog.csdn.net/weixin_45791458/category_12828934.html?spm=1001.2014.3001.5482
Spyglass可以用于检测设计中的跨时钟域相关问题,确保电路中添加了适当的同步机制,以避免此类问题的发生,例如:
- 与亚稳态相关的问题
- 与复杂同步器(如异步FIFO、握手协议)相关的问题
- 与同步复位相关的问题
- 快时钟域到慢时钟域同步中的数据保持问题
- 数据相关性与竞争冒险
以下同步方案能够被Spyglass检测到,并被认为是已同步的跨时钟域设计。
同步方案 | 被认为是同步的条件 | 文章链接 |
常规多级触发器 | 多级触发器按照同步触发器的方式排列 | Spyglass:跨时钟域同步(常规多级触发器) |
同步单元 | 目标对象是一个由sync_cell约束、synchronize_cells参数或synchronize_data_cells参数指定的同步单元 | Spyglass:跨时钟域同步(同步单元) |
同步使能 | 目标时钟域中的第一个触发器通过一个同步到目标时钟域的控制信号进行使能 | Spyglass:跨时钟域同步(同步使能) |
循环复用器 | 目标时钟域中的第一个触发器由一个多路复用器驱动,该多路复用器的选择引脚连接到一个同步到目标时钟域的控制信号 | |
非循环复用器 | 与循环复用器类似,但不使用循环多路复用器 | |
长延迟信号 | 使用quasi_static约束跨时钟域信号 | |
与门 | 跨时钟域信号通过与门的一个引脚连接到目标时钟域,而另一个引脚连接到一个同步到目标时钟域的控制信号 | |
毛刺保护单元 | 目标时钟域中的第一个触发器由一个毛刺保护单元驱动,该毛刺保护单元的引脚连接到一个同步到目标时钟域的控制信号 | |
时钟门控单元 | 目标时钟域中的第一个触发器的时钟路径包含一个时钟门控单元,且该时钟门控单元的引脚连接到一个同步到目标时钟域的控制信号 | |
限定条件 | 使用qualifier约束的控制信号,根据类型,能够到达源时钟域或目标时钟域。 |