hxing

拒绝思维懒惰,习惯深度思考,提升认知水平。

导航

Spyglass CDC工具使用(五)

  最近一直在搞CDC (clock domain crossing) 方面的事情,现在就CDC的一些知识点进行总结。

做CDC检查使用的是Spyglass工具。以下内容转载自:Spyglass之CDC检查(5)_yuzhong_沐阳的博客-CSDN博客_cdc检查

 

文章目录

  • AC_cdc01a
  • AC_datahold01a
  • AC_conv02/04/05
  • AC_fifo01
  • AC_handshake01/02

本篇介绍CDC检查最后一个过程CDC_verify(functional cdc checks)。主要检查:a)数据完整性;b) 格雷码编码;c) FIFO上溢或下溢;d) 握手协议。

AC_cdc01a

检查快时钟到慢时钟同步数据传输是否丢失。

 

 

如下图所示,快时钟域信号只维持一个时钟周期,很难被慢时钟域采到,造成数据丢失。

 

 

解决办法是在快时钟域添加extender,使信号至少维持一个慢时钟周期

 

 

AC_datahold01a

检查数据被另一个时钟域采样时是否稳定。与ac_cdc01a规则相似,区别ac_cdc01a检查单bit,ac_datahold01a检查多bit数据。FIFO,握手以及门控同步模块不会检查。

AC_conv02/04/05


检查跨时钟传输中没有聚合也没有格雷码编码的多bit控制信号
(1)检查是否使用格雷码编码。下图中q[1;0]信号源没有采用格雷码编码。

 

 

(2)检查不同bit信号是否使用不同的同步方式。如下图src_bus[0]采用多级同步器方式同步,src_bus[1]采用同步控制信号方式

 

 

(3)检查不同bit信号是否使用同一个同步控制信号。如下图src_bus[0]与src_bus[1]采用不同的同步控制信号。

 

 

 

 

AC_fifo01

检查设计中的FIFO是否会上溢或下溢

AC_handshake01/02


(1)检查REQ-ACK信号是否满足四相握手协议:
REQ拉高->ACK拉高->REQ拉低->ACK拉低

 

 

(2)检查是否会有数据丢失

posted on 2022-07-07 16:09  hxing  阅读(1496)  评论(0编辑  收藏  举报