当前位置: 首页 > news >正文

Spyglass:CDC官方Hands-on Training(一)

相关阅读

Spyglasshttps://blog.csdn.net/weixin_45791458/category_12828934.html?spm=1001.2014.3001.5482


        本文是对Spyglass CDC Hands-on Training中第一个实验的翻译(有删改),Lab文件可以从以下链接获取。

Spyglass CDC Hands-on Traininghttps://download.csdn.net/download/weixin_45791458/90875640


        本教程提供了在多个设计阶段中运行Spyglass的操作指导,旨在通过实操获得对Spyglass设置及其结果调试/分析的深入理解,涵盖多个动手练习,每个练习之间是相互依赖的,需要按顺序完成。

实验概述

实验内容包括以下方面:

  • 调试时钟设置问题并即时应用CDC约束
  • 识别未同步的跨时钟域并通过CDC约束进行修复

实验目录的内容

        教程目录包含以下子目录:

  • RTL:与设计相关的RTL文件
  • spyglass:实验的工作目录,所有Spyglass的运行将在该目录下进行
  • SGDC:包含SpyGlass约束文件(.sgdc)
  • sg_results(运行后创建):实验的项目目录,用于保存运行结果

实验一、CDC设置

        本实验旨在帮助用户掌握进行CDC分析所需的基本设置流程,并初步熟悉Spyglass图形用户界面(GUI)的使用。实验中将介绍GUI的主要区域、帮助菜单及右侧的快捷提示信息。

        通过本实验,用户将学习以下内容:

  • 如何进行交互式时钟设置
  • 如何从潜在的候选时钟中识别出真实的时钟
  • 如何验证时钟设置信息的正确性
  • 如何完成复位信号的设置

运行Spyglass

1、进入名为spyglass的目录。

% cd SpyGlass_CDC_training/spyglass

2、在命令行使用-batch选项以批处理模式运行Spyglass,运行目标为cdc/cdc_setup,该目标包含一些规则,能自动识别设计中的时钟与复位信号并自动生成约束文件,作为后续检查和验证的准备步骤。

% spyglass -project training.prj -batch -goals cdc/cdc_setup

查看GUI界面

1、打开GUI界面查看运行结果。

% spyglass -project training.prj

2、GUI界面启动后切换为cdc/cdc_setup目标的结果分析界面,如图1所示。

图1 结果分析界面

3、在GUI左上角确保选中cdc/cdc_setup目标(目前只运行了一个目标,无需选择),这样才能分析该目标的运行结果,如图2所示。

图2 选择目标

4、在Violations窗口选择Group By Goal by Rule,这表示将结果按照目标->规则的方式分组,如图3所示。

图3 选择分组方式

5、点击Design Read目标(该目标是运行其他目标时自动运行的目标)前的加号以展开分组,如图4所示。

图4 展开分组

6、可以看出有一个来自ErrorAnalyzeBBox规则的错误,Spyglass没有找到这些模块的定义,因此将其标记为黑盒(black box),如图5所示。

图5 黑盒错误

7、打开项目文件training.prj,其中training.prj文件的读取命令被注释了,取消该注释、保存,重新读取项目(其实一般情况下,一旦项目文件在打开时被人为修改,Spyglass会立刻重新读取项目文件,但由于该项目将project_read_only选项设置为yes,所以不会自动读取),并再次运行cdc/cdc_setup目标并查看错误是否解决。

8、点击cdc/cdc_setup目标前的加号以展开分组,结果如图6所示。

图6 cdc/cdc_setup目标

9、可以看出有十二个来自Clock_info01规则的信息,它们有些是主时钟(定义在输入端口的时钟)、有些是派生时钟(定义在触发器输出引脚)还有黑盒时钟(定义在黑盒输出引脚),如图7所示。

图7 时钟识别

10、双击选中第一条信息(黑盒时钟),使用快捷键I或者点击Violations窗口上的符号查看原理图,如图8所示。

图8 黑盒时钟

11、在以下路径查看Clock_info01规则生成的约束文件。

sg_results/training/training/cdc/cdc_setup/spyglass_reports/clock-reset/autoclocks.sgdc

12、回到图6,以看出有十三个来自Reset_info01规则的信息,它们可以是主复位/置位(定义在输入端口的时钟)、有些是派生复位/置位(定义在触发器输出引脚)、黑盒复位/置位(定义在黑盒输出引脚)、未驱动复位/置位、门控复位/置位、同步复位/置位,如图9所示。

图9 复位/置位识别

13、在以下路径查看Reset_info01规则生成的约束文件。

sg_results/training/training/cdc/cdc_setup/spyglass_reports/clock-reset/autoresets.sgdc
http://www.xdnf.cn/news/575371.html

相关文章:

  • 什么是质量管理的核心要素?人、机、料、法、环、测解析
  • C++(26): 标准库 <queue>
  • 【原创】instagram 批量下载工具
  • 【优秀三方库研读】在 quill 开源库 Backend.h 知识点
  • docker面试题(3)
  • 滚珠丝杆的承载力是多少?
  • BISS0001 PIR红外感应IC:高性能热释电信号处理解决方案
  • MIMO 检测(6)--基于QR分解的ML检测器
  • 红杉资本2025 AI 峰会之Cybersecurity
  • 开源免费抓包工具:ProxyPin 的详细使用
  • Cross-Mix Monitoring for Medical Image Segmentation With Limited Supervision
  • 界面控件 Kendo UI 在各行业的应用实践:如何解决业务痛点,提升系统效能
  • [每日一题] 3356. 零数组变换ii
  • 常见的网络服务的枚举和利用 | TryHackMe | Network services 1/2
  • 【MySQL】表的内连和外连
  • svn 提交后报错 : is scheduled for addtion,but is missing
  • 总结一个编程的学习方式~
  • 【Linux基础I/O】文件调用接口、文件描述符、重定向和缓冲区
  • stack--oj2
  • 《国家高等教育智慧平台:重塑学习新时代》
  • java基础 之 Hash家族(一)
  • M|攻壳机动队2.0
  • 外卖Day7
  • Win10更改IP地址在哪里设置?多种方法详解
  • 和风天气 API 获取天气预报 2025/5/21
  • SAP-ABAP:企业级异常处理框架设计与实战 —— 构建高可用、可观测的异常治理体系
  • Frp Dockr Mysql内网映射
  • C#中Task.Run的线程管理最佳实践与并发控制
  • FPGA设计需要学什么?
  • Shell入门篇二