最近一直在搞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)检查是否会有数据丢失

Spyglass CDC工具使用(五)的更多相关文章

  1. 8个实用的SVG工具,20 个有用的 SVG 工具,五款超实用的开源SVG工具

    8个实用的SVG工具 [导读] 你还在为没有好用的SVG工具而发愁吗?开发人员的福音来啦!小编为大家收集罗列了8款实用的SVG工具,让我们一起来看看吧! SVG可缩放矢量图形(Scalable Vec ...

  2. CDC工具使用

    最近一直在搞CDC (clock domain crossing) 方面的事情,现在就CDC的一些知识点进行总结. 做CDC检查使用的是0in工具. 本来要 写一些关于 CDC的 知识点,临时有事,要 ...

  3. Unity3D ——强大的跨平台3D游戏开发工具(五)

    第九章 图形用户界面类G.U.I 您在玩很多3D游戏的时候,不知是否注意到在游戏界面中,总有一些图形和文字信息是不随着3D视角的改变而改变的.这也是由于游戏本身的要求而决定的.比如说英雄的生命值,聊天 ...

  4. 深入浅出的webpack构建工具---PostCss(五)

    一:PostCss是什么?  PostCss是一个样式处理工具,它通过自定义的插件和工具生态体系来重新定义css.它鼓励开发者使用规范的css原生语法编写代码,然后配置编译器转换需要兼容的浏览器版本, ...

  5. 轻松把玩HttpClient之封装HttpClient工具类(五),携带Cookie的请求

    近期更新了一下HttpClientUtil工具类代码,主要是加入了一个參数HttpContext,这个是用来干嘛的呢?事实上是用来保存和传递Cookie所须要的. 由于我们有非常多时候都须要登录.然后 ...

  6. CocoStuff—基于Deeplab训练数据的标定工具【五、训练成果分析】

    一.说明 本文为系列博客第五篇,主要展示训练的结果,以及对训练进行分析. *注:暂未进行大量的数据训练以及IoU测算,目前只做到使用Matlab将训练结果的mat文件可视化. 二. *占坑

  7. Linux系统性能测试工具(五)——磁盘io性能工具之fio

    本文介绍关于Linux系统(适用于centos/ubuntu等)的磁盘io性能测试工具-fio.磁盘io性能测试工具包括: fio: dd

  8. 日志分析工具ELK(五)

    八.Kibana实践 选择绝对时间和相对时间 搜索 还可以添加相关信息 自动刷新页面时间,也可以关闭 创建图像,可视化 编辑Markdown,创建一个值班联系表 值班联系表 保存 再创建一个饼图;查看 ...

  9. as3+java+mysql(mybatis) 数据自动工具(五)

    现在介绍常量的配置,主要用于客户端(as3)与服务端(java)之间的常量同步,比如错误码.请求标识等 配置格式: <macros name="Macros" groupSt ...

  10. java工具类(五)之日期格式字符串与日期实现互转

    JAVA字符串转日期或日期转字符串 项目开发过程中需要实现日期格式的字符串与日期进行互转,并进行日期的加减操作. Demo如下: package weiming.lmapp.utils; import ...

随机推荐

  1. 让你深夜emo的“网抑云”,是如何做产品设计的?

    网易云音乐作为国内首个以"歌单"为核心架构的音乐APP,有的人喜欢它的热评,有的人却觉得它的版权太少,虽然网易云音乐不是曲库最丰富的听歌软件,但绝对是听歌软件里情感体验最好的. 我 ...

  2. 在datagridview中首列添加复选框

    //为dgv增加复选框列 DataGridViewCheckBoxColumn checkbox = new DataGridViewCheckBoxColumn(); //列显示名称 checkbo ...

  3. IDEA中已配置阿里镜像,但maven无法下载jar包的问题

    然后我还出现了一个问题,由于使用了HTTPS,存在着SSL证书验证的问题,因此我在IDEA中添加了一行配置: 配置如下: -Dmaven.wagon.http.ssl.insecure=true -D ...

  4. php基础教程(一)

    语法: PHP的语法很简单 --直接看代码: <?php /*代码部分*/ ?> 这就是PHP代码的声明方式. 注:<? ?> 等这中写法也可以写,但是不建议这么写. 标记语句 ...

  5. 学习canvas的vscode提示问题

    在代码中加入/** @type {HTMLCanvasElement} */ 即可 1 <script> 2 /** @type {HTMLCanvasElement} */ 3 let ...

  6. android隐藏apk方式以及apk之间的启动方式

    一.隐藏apk的方式: 在每个项目(apk)中都有一个启动应用的Activity,他的标签是这个: <intent-filter> <action android:name=&quo ...

  7. C++ 读取文本, 读取( 单字符/ 一行/ 全部 )

    C++ 读取文本 介绍三种读取方式: 逐字符读取(注意不是字节) 读取一行 读取全部 示例代码: #include <iostream> #include <string> # ...

  8. React整洁的代码的一些原则

    1. Model is everything models are  the heart of your app. If you have models separated from th rest ...

  9. springboot 整合 oss

    一.阿里云配置 获取 accessKeyIdaccessSecret 创建桶 bucketName 二.demo 1.oss.config import org.springframework.bea ...

  10. 攻防(一)tomcat CVE-2020-1938 ftp 21端口

    TOMCAT kali自带POE msf6 > use auxiliary/admin/http/tomcat_ghostcat set RHOST 10.98.xx.xx msf6 auxil ...