• 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的约束

  1. clock_reset_integrity
    clock/reset的完整性检查
  2. cdc_verify
    block-level CDC验证
  3. cdc_verify_struct
    SOC-level CDC验证
  4. 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。

基础工作

  1. clocks和sets定义,设计中的端口、内部clocks和reset,要定义完整正确;
  2. 黑盒子设置
  3. 设置boundary assumptions。即I/O引脚的设置
  4. 可以指定设计中定义的合理同步practices。减少不必要的检查工作。
  5. 图形界面的setup goal是有setup status可以查看质量情况的。

技巧

如何屏蔽某些报告信息

  1. 屏蔽单个路径的报告
    使用cdc_false_path
  2. 屏蔽某个rule的报告
    使用waive
  3. 屏蔽某个模块的报告
    使用黑盒子

帮助命令

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方法学相关推荐

  1. 面向过程方法学开发软件的特点

    面向过程方法学开发软件的特点 分类: 设计模式 软件工程2014-02-22 22:53 887人阅读 评论(0) 收藏 举报 面向过程 数据结构 面向过程方法学开发软件的特点: 1.程序=数据结构( ...

  2. 斯坦福《编程方法学》 笔记与资源

    目录 文章目录 目录 介绍 正文 笔记 资源 介绍 编程是一切的基础,如果没有成功运行的程序,那么一切都是空谈. 正文 编程方法学是斯坦福的一门经典课程,学会该课程,可以很好的提升大家对程序的理解能力 ...

  3. 编程方法学26:介绍Java标准库

    前言 本笔记是斯坦福公开课,编程方法学的学习笔记. 总体而言,这门课讲了很多很基础的东西,具有很强的通用性. 正文 本次的笔记对应的是第二十六节课,这堂课是来讲Java标准库的知识. 1ACM lib ...

  4. 编程方法学25:设计实用社交网络

    前言 本笔记是斯坦福公开课,编程方法学的学习笔记. 总体而言,这门课讲了很多很基础的东西,具有很强的通用性. 正文 本次的笔记对应的是第二十五节课,这堂课是来讲设计实用社交网络的知识. 1Face p ...

  5. 编程方法学24:管理大型数据中的良好软件工程原理

    前言 本笔记是斯坦福公开课,编程方法学的学习笔记. 总体而言,这门课讲了很多很基础的东西,具有很强的通用性. 正文 本次的笔记对应的是第二十四节课,这堂课是助教来讲管理大型数据中的良好软件工程的原理的 ...

  6. 编程方法学23:搜索排序与算法效率分析

    前言 本笔记是斯坦福公开课,编程方法学的学习笔记. 总体而言,这门课讲了很多很基础的东西,具有很强的通用性. 正文 本次的笔记对应的是第二十三节课,这堂课是助教来讲搜索排序与算法效率分析的知识. 1线 ...

  7. 编程方法学22:NameSurfer概述

    前言 本笔记是斯坦福公开课,编程方法学的学习笔记. 总体而言,这门课讲了很多很基础的东西,具有很强的通用性. 正文 本次的笔记对应的是第二十二节课,这堂课布置的是编程作业NameSurfer 1可变性 ...

  8. 编程方法学21:监听器和迭代器回顾

    前言 本笔记是斯坦福公开课,编程方法学的学习笔记. 总体而言,这门课讲了很多很基础的东西,具有很强的通用性. 正文 本次的笔记对应的是第二十一节课,这堂课讲的是监听器和迭代器的相关知识 1交互因子 输 ...

  9. 编程方法学20:图形用户界面

    前言 本笔记是斯坦福公开课,编程方法学的学习笔记. 总体而言,这门课讲了很多很基础的东西,具有很强的通用性. 正文 本次的笔记对应的是第二十节课,这堂课讲的是图形用户界面的相关知识 1Graphica ...

最新文章

  1. 帆软所有销量为0的显示为空值_市场上最流行的9款跨境电商亚马逊销量预估工具精准度报告详解!...
  2. 文末惊喜福利 | 盘点2021主流架构创新实践
  3. 1024,点亮人间烟火
  4. Linux的关机与重启命令
  5. mysql group_concat去重_Mysql下GROUP_CONCAT使用
  6. 四十一、深入Java中的 File类
  7. python 复现AC自动机
  8. SharePoint读取和设置列表栏的内容
  9. eclipse-最新具体汉化教程
  10. hiberfil.sys和swapfile.sys文件的删除
  11. bzoj1127 洛谷3474 题解
  12. DCT变换的FPGA实现
  13. android修改recovery菜单,安卓刷机Recovery菜单介绍刷入教程详解
  14. 京东有多少钱可以重来?
  15. 机器学习中的最优化问题
  16. .h与.hpp文件的区别
  17. 400+陶企云集,20+重磅活动,2021佛山潭洲陶瓷展开幕首日人气火爆!
  18. Scrapy源码分析-Spiders爬虫中文文档(一)
  19. MCMC 蒙特卡罗方法 (一)
  20. 格物钛数据平台国内外经典开源数据汇总(自动驾驶、目标检测、人脸识别、人体姿态估计、文本检测、NLP、医疗)

热门文章

  1. FLStudio水果最新版本V21支持中文语言
  2. echarts实现中国地图和各省市地图
  3. 【Windows优秀软件推荐】:唧唧down——< B >视频和弹幕全清晰度下载
  4. Windows 10系统时间显示不正确
  5. FNN 网络介绍与源码浅析
  6. 图像分辨率+像素+尺寸+文件内存大小
  7. MuMu模拟器 安装电脑本地apk
  8. Stairway to T-SQL: Beyond The Basics Level 4: Using Views to Simplify Your Query - SQLServerCentral
  9. iOS 高德地图开发详解
  10. 发现一个免费虚拟主机和云服务器的网站