CDC spyglass
SoC中会有着几百的clock domains,millions的async data crossing。
Glitch等cdc问题是netlist level simulation的主要目的。
CDC的困难点:
1)STA不会进行asynchronous的检查,只会进行synchronous的检查;
2)Path across clock domain通常会被设置为false path,不进行check;
3)CDC带来的一些问题只有在进行post-sim的时候,才会暴露出来;
在RTL level simulation中,无法发现问题。
4)CDC带有一定的lucky性质,simulation只能检查出一部分的error;
典型的CDC问题:
1)Metastability:异步相位的必然结果;


2-sync cell会导致一个clock cycle的uncertainty;
metastability可能会导致data-coherency和re-covergence的问题;
2)Reconvergence(correlation):一些reconvergence信号会带来的glitch以及sample single出错;(multi-bit uncertainty)
会导致在receiving domain中有一到两个cycle的latency或者cycle uncertainty;
可以通过gray encoding的方式来避免;
通过verify signals肯定不会在destination clock cycle进行toggle,从而waive掉这个path。


3)Data hold problem(data loss):Fast to slow clock以及data enable sequencing场景;



可以通过implement pulse extenders的方式来避免:

Spyglass对于这类fast-slow cdc crossing,会自动进行formal check,如果data不能被capture到,会报error
处理方法:
1)synchronization scehme(such as handshake,FIFO)
2)reset synchronization(reset is asynchronously asserted and synchronously de-assert)
3)bus async bridge;
4)尽量使用glitch-free的mux;
5)well managed convergence paths;
CDC中主要的问题会在register中,因为Apb/Ahb clock与fucntion clock的async。
CDC spyglass的更多相关文章
- (转)SpyGlass工具介绍
Spyglass工具有五大模块: lint, CDC(多时钟域检查), LP(低功耗),Constraint(约束),DFT(可测试性). 一,在RTL层面上预估芯片性能,从而引导设计人员开发出更加 ...
- Oracle CDC配置案例
异步部署 1. 环境的配置准备 1.1. 数据库版本 SQL> select * from v$version; BANNER ------------------------------ ...
- SQL Server 变更数据捕获(CDC)监控表数据
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现过程(Realization) 补充说明(Addon) 参考文献(References) ...
- SQL Server 变更数据捕获(CDC)
标签:SQL SERVER/MSSQL SERVER/数据库/DBA/字段/对象更改 概述 变更数据捕获用于捕获应用到 SQL Server 表中的插入.更新和删除活动,并以易于使用的关系格式提供这些 ...
- 数据仓库之启用cdc
准备工作: 先将sqlservere 代理服务启动 USE [MyDB]; GO EXECUTE sys.sp_cdc_enable_db; --启用数据库对CDC的支持 GO -- 设置别名 @ca ...
- CDC的StretchBlt函数载入位图时图片失真问题
最近遇到加载的bmp图片出现失真问题,查找得知需要用SetStretchBltMode函数设置拉伸模式. 函数原型:int SetSTretchBltMode(HDC hdc, int iStretc ...
- CDC和HDC的区别与转换
CDC和HDC的区别与转换 一.区别与联系HDC是句柄:CDC是MFC封装的Windows 设备相关的一个类:CClientDC是CDC的衍生类,产生对应于Windows客户区的对象HDC是WIN ...
- VC++ 中CDC与HDC的区别以及二者之间的转换
MFC类的前缀都是C开头的 H开头的大多数是句柄 这是为了助记,是编程读\写代码的好的习惯. CDC中所有MFC的DC的基类.常用的CClientDC dc(this);就是CDC的子类(或称派 ...
- 知方可补不足~用CDC功能来对数据库变更进行捕捉
回到目录 如果我们希望监视一个数据表的变化,在sql2008之前的版本里,在数据库端可能想到的只有触发器,或者在程序端通过监视自己的insert,update,delete来实现相应的功能,这种实现无 ...
随机推荐
- oracle截取某个字符前面的字符串
已验证. 要求:A.数据库表中的一个字符串 可能含有"+" 例:ORC+001 也可能不含“+” B.要求如果该字符串含有“+”,则取“+”之前的字符 例:ORC+001 取ORC ...
- Android开发-修改AVD路径
最近清理系统的时候发现C盘下有个.android文件夹占了大概10G的空间,这可怎么办,后来证实是AVD的缘故,只能修改AVD路径了. 以下是修改AVD路径的方法: 1.创建新的环境变量,ANDROI ...
- (leetcode)Summary Ranges
Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ...
- Linq世界走一走(LINQ TO XML)
前言:Linq to xml是一种使用XML的新方法.从本质上来说,它采用了多种当前使用的XML处理技术,如DOM和XPath,并直接在.NET Framework内将它们组合为一个单一的编程接口.L ...
- Selenium2学习-031-WebUI自动化实战实例-029-JavaScript 在 Selenium 自动化中的应用实例之四(获取元素位置和大小)
通过 JS 或 JQuery 获取到元素后,通过 offsetLeft.offsetTop.offsetWidth.offsetHeight 即可获得元素的位置和大小,非常的简单,直接上源码了,敬请参 ...
- Selenium2学习-024-WebUI自动化实战实例-022-网站不同分辨率下页面样式展示兼容性问题解决方案 -- 设置浏览器显示区域大小(无人值守,节约测试成本的福音,BOSS 最爱)
在 Web UI 自动化测试的过程中,通常会测试页面在不同分辨率下的显示效果,即在不同大小的显示器上全屏浏览器后的页面展示,此种测试方法需要购置不同大小的显示器,或者频繁的设置屏幕分辨率,不仅浪费了大 ...
- C#遍历List并删除某个或者几个元素的方法
C#遍历List并删除某个或者几个元素的方法,你的第一反应使用什么方法实现呢?foreach? for? 如果是foreach,那么恭喜你,你答错了.如果你想到的是用for,那么你只是离成功进了一步. ...
- php object转数组示例
原本是这样格式的数据: object(Thrift\Server\PageCards)#32 (3) { ["cards"]=> array(10) { [0]=> o ...
- linux多个python版本下导致no request报错
解决办法: sudo apt-get install uwsgi uwsgi-core uwsgi-plugin-python sudo apt-get install uwsgi-plugin-py ...
- Java 语句总结
一.替代if语句x = a ? b:c; 等价:if (a){ x=b;}else{x=c;}二.页面展示二维数组 <s:iterator var="rt" value=&q ...