spyglass CDC方法学
- CDC issues
- 亚稳态
- spyglass CDC方法学流程
- sdc2sgdc
- 黑盒子的clock用assume_path约束
- 该goal会产生clockreset的约束文件
- 利用cdc_top_down也可以从soc顶层生成block-level的约束
- 错误报告太多怎么看
- 优先解决
- Ac_Sync_group属于结构性的错误
- Convergence
- Glitches
- DataHold
- Data Correlation and Race Conditions
- Reset同步复位异步释放
- fifo的识别和验证
- 优先解决
- spyglass CDC方法学推荐原则
- RTL阶段执行所有检查
- 先IP验证后SOC整体系统验证
- 基础工作
- 技巧
- 如何屏蔽某些报告信息
- 帮助命令
- rule检查顺序
参考文档来源spyglass工具文档(2015.12)。spydocviewer
clock-domain crossing(CDC).
CDC issues
亚稳态
跨时钟域的异步设计,存在setup和hold-time问题。会导致亚稳态产生。原文档有图有例子。
移除亚稳态,可以用以下方法:
1. 控制信号的同步
利用multi-flop同步。多级触发器,会把亚稳态值转变为干净的0或者1,之后才会传到下游逻辑。
2. 数据信号的同步
数据信号的同步,一般使用enable技术。跨时钟域的数据稳定之后,利用使能使得目的触发器捕获稳定的数据(所以不会产生建立保持时间的时序违反)。fifo,就是依赖格雷码指针的full/empty控制信号作为使能,解决数据的亚稳态问题。
数据同步的关键概念,就是如何保证数据不会在变化的情况下被捕获到。一般的数据跨时钟域,有图。qualifier(英文翻译:有资格的。在这里,一般就是多级触发器同步的控制信号,有责任保证跨时钟域的数据已经稳定可以被目的触发器正常捕获。)
spyglass CDC方法学流程
基于goal目标的流程。
1. cdc_setup
2. cdc_setup_check
建立必需的
- constraits(约束,时钟复位之类的。约束文件扩展名.sgdc)
- parameters(命令参数及options)
sdc2sgdc
sdc文件,可以转换为sgdc文件
黑盒子的clock,用assume_path约束
该goal会产生clock/reset的约束文件
默认可以不加任何约束,利用cdc_setup这个goal可以产生很多约束文件,比如
autoclocks.sgdc
autoresets.sgdc
generated_clocks.sgdc
cdc_setup_generated_clocks.sgdc
waive/set_case_analysis等。
但是需要检查修改确认后,然后放入spyglass执行脚本里。
利用cdc_top_down
也可以从soc顶层生成block-level的约束
clock_reset_integrity
clock/reset的完整性检查cdc_verify
block-level CDC验证cdc_verify_struct
SOC-level CDC验证- Signing-Off
查看报告
错误报告,太多。怎么看?
优先解决
Ac_Sync_group属于结构性的错误
Ac_unsync01 rule
Ac_unsync02 rule
debug方法,可以参考另外一个博客笔记。
Convergence
Glitches
DataHold
Data Correlation and Race Conditions
Reset同步复位异步释放
fifo的识别和验证
spyglass CDC方法学推荐原则
RTL阶段,执行所有检查
fifo或复杂的同步机制,在综合后或布局布线后的netlist是不会检测到的。
先IP验证,后SOC整体系统验证
SOC的特点,是大量IP集成,关注点一般都集中在block boundaries,即子模块接口上的情况。
推荐使用CDC hierarchical Verification Flow。
基础工作
- clocks和sets定义,设计中的端口、内部clocks和reset,要定义完整正确;
- 黑盒子设置
- 设置boundary assumptions。即I/O引脚的设置
- 可以指定设计中定义的合理同步practices。减少不必要的检查工作。
- 图形界面的setup goal是有setup status可以查看质量情况的。
技巧
如何屏蔽某些报告信息
- 屏蔽单个路径的报告
使用cdc_false_path - 屏蔽某个rule的报告
使用waive - 屏蔽某个模块的报告
使用黑盒子
帮助命令
spydocviewer
是分类pdf,可以查询并打开相关pdf文档。
sg_shell下,执行下述命令,看看就知道了。
help
help help
help -rules
rule检查顺序
按照上述流程顺序,依次排查warning和error。
基于goal目标的流程。
1. cdc_setup
2. cdc_setup_check
3. clock_reset_integrity
4. cdc_verify
5. cdc_verify_struct
spyglass CDC方法学相关推荐
- 面向过程方法学开发软件的特点
面向过程方法学开发软件的特点 分类: 设计模式 软件工程2014-02-22 22:53 887人阅读 评论(0) 收藏 举报 面向过程 数据结构 面向过程方法学开发软件的特点: 1.程序=数据结构( ...
- 斯坦福《编程方法学》 笔记与资源
目录 文章目录 目录 介绍 正文 笔记 资源 介绍 编程是一切的基础,如果没有成功运行的程序,那么一切都是空谈. 正文 编程方法学是斯坦福的一门经典课程,学会该课程,可以很好的提升大家对程序的理解能力 ...
- 编程方法学26:介绍Java标准库
前言 本笔记是斯坦福公开课,编程方法学的学习笔记. 总体而言,这门课讲了很多很基础的东西,具有很强的通用性. 正文 本次的笔记对应的是第二十六节课,这堂课是来讲Java标准库的知识. 1ACM lib ...
- 编程方法学25:设计实用社交网络
前言 本笔记是斯坦福公开课,编程方法学的学习笔记. 总体而言,这门课讲了很多很基础的东西,具有很强的通用性. 正文 本次的笔记对应的是第二十五节课,这堂课是来讲设计实用社交网络的知识. 1Face p ...
- 编程方法学24:管理大型数据中的良好软件工程原理
前言 本笔记是斯坦福公开课,编程方法学的学习笔记. 总体而言,这门课讲了很多很基础的东西,具有很强的通用性. 正文 本次的笔记对应的是第二十四节课,这堂课是助教来讲管理大型数据中的良好软件工程的原理的 ...
- 编程方法学23:搜索排序与算法效率分析
前言 本笔记是斯坦福公开课,编程方法学的学习笔记. 总体而言,这门课讲了很多很基础的东西,具有很强的通用性. 正文 本次的笔记对应的是第二十三节课,这堂课是助教来讲搜索排序与算法效率分析的知识. 1线 ...
- 编程方法学22:NameSurfer概述
前言 本笔记是斯坦福公开课,编程方法学的学习笔记. 总体而言,这门课讲了很多很基础的东西,具有很强的通用性. 正文 本次的笔记对应的是第二十二节课,这堂课布置的是编程作业NameSurfer 1可变性 ...
- 编程方法学21:监听器和迭代器回顾
前言 本笔记是斯坦福公开课,编程方法学的学习笔记. 总体而言,这门课讲了很多很基础的东西,具有很强的通用性. 正文 本次的笔记对应的是第二十一节课,这堂课讲的是监听器和迭代器的相关知识 1交互因子 输 ...
- 编程方法学20:图形用户界面
前言 本笔记是斯坦福公开课,编程方法学的学习笔记. 总体而言,这门课讲了很多很基础的东西,具有很强的通用性. 正文 本次的笔记对应的是第二十节课,这堂课讲的是图形用户界面的相关知识 1Graphica ...
最新文章
- 帆软所有销量为0的显示为空值_市场上最流行的9款跨境电商亚马逊销量预估工具精准度报告详解!...
- 文末惊喜福利 | 盘点2021主流架构创新实践
- 1024,点亮人间烟火
- Linux的关机与重启命令
- mysql group_concat去重_Mysql下GROUP_CONCAT使用
- 四十一、深入Java中的 File类
- python 复现AC自动机
- SharePoint读取和设置列表栏的内容
- eclipse-最新具体汉化教程
- hiberfil.sys和swapfile.sys文件的删除
- bzoj1127 洛谷3474 题解
- DCT变换的FPGA实现
- android修改recovery菜单,安卓刷机Recovery菜单介绍刷入教程详解
- 京东有多少钱可以重来?
- 机器学习中的最优化问题
- .h与.hpp文件的区别
- 400+陶企云集,20+重磅活动,2021佛山潭洲陶瓷展开幕首日人气火爆!
- Scrapy源码分析-Spiders爬虫中文文档(一)
- MCMC 蒙特卡罗方法 (一)
- 格物钛数据平台国内外经典开源数据汇总(自动驾驶、目标检测、人脸识别、人体姿态估计、文本检测、NLP、医疗)
热门文章
- FLStudio水果最新版本V21支持中文语言
- echarts实现中国地图和各省市地图
- 【Windows优秀软件推荐】:唧唧down——< B >视频和弹幕全清晰度下载
- Windows 10系统时间显示不正确
- FNN 网络介绍与源码浅析
- 图像分辨率+像素+尺寸+文件内存大小
- MuMu模拟器 安装电脑本地apk
- Stairway to T-SQL: Beyond The Basics Level 4: Using Views to Simplify Your Query - SQLServerCentral
- iOS 高德地图开发详解
- 发现一个免费虚拟主机和云服务器的网站