VC Spyglass:CDC官方Hands-on Training(三)

相关阅读

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


实验三、CDC结构分析

        本实验旨在帮助用户掌握完整的CDC分析流程,特别是如何排查重汇聚(Convergence)问题和毛刺(Glitch)违规问题,实验将指导用户使用定位器和利用反标信息进行深入分析。 

运行VC Spyglass

1、进入实验三的目录。

% cd VC_SpyGlass_Structural_CDC_Lab/Lab3_struct/

2、打开vc_cdc.tcl文件,注意在实验三中使用了check_cdc -type struct命令进行结构性同步检查,这与实验二不同。

check_cdc -type struct

3、使用批处理方式运行VC Spyglass,并通过report_cdc查看违规信息,可以注意到此时出现了名为CONV和GLITCH的阶段。

% vc_static_shell -f vc_cdc.tcl
vc_static_shell> report_cdc
  -----------------------------------------------------------------------------
  Management Summary
  -----------------------------------------------------------------------------
  Stage   Family        Fatals    Errors  Warnings     Infos
  -----   ----------  --------  --------  --------  --------
  SETUP   CLKPROP            0         0         1        56
  SETUP   RESET              0        23         6         9
  SYNC    CTRLPATH           0        12         0        19
  SYNC    DATAPATH           0       129         0         9
  SYNC    UNSYNC             0        37         0         0
  CONV    COMBCONV           0         5         0         0
  CONV    NOCONV             0         2         2         0
  CONV    SEQCONV            0         1         0         0
  GLITCH  GLITCH             0         5         0         0
  -----   ----------  --------  --------  --------  --------
  Total                      0       214         9        93


  -----------------------------------------------------------------------------
  Tree Summary
  -----------------------------------------------------------------------------
  Severity  Stage   Tag                                  Count
  --------  -----   -----------------------------------  -----
  error     CONV    CDC_COHERENCY_MULTI_SYNC                 2
  error     CONV    CDC_COHERENCY_RECONV_COMB                5
  error     CONV    CDC_COHERENCY_RECONV_SEQ                 1
  error     GLITCH  CDC_GLITCH_CTRL                          5
  error     SETUP   SETUP_RESET_ASSERT_MISSING              23
  error     SYNC    CDC_UNSYNC_ASYNCRESET                   20
  error     SYNC    CDC_UNSYNC_CTRL                         12
  error     SYNC    CDC_UNSYNC_DATA                        129
  error     SYNC    CDC_UNSYNC_NOSCHEME                     17
  warning   CONV    CDC_COHERENCY_BUS_NOCONV                 2
  warning   SETUP   SETUP_MULTIPLE_CONSTRAINTS               1
  warning   SETUP   SETUP_RESET_DRIVING_NON_ASYNC_PIN        6
  info      SETUP   SETUP_BBOXPIN_CONSTRAINED                1
  info      SETUP   SETUP_CLOCK_PROPAGATED                  12
  info      SETUP   SETUP_DATA_CONSTANT                     17
  info      SETUP   SETUP_PORT_CONSTRAINED                  23
  info      SETUP   SETUP_PORT_IGNORED                       3
  info      SETUP   SETUP_RESET_PROPAGATED                   9
  info      SYNC    CDC_SYNC_ASYNCRESET                      8
  info      SYNC    CDC_SYNC_CTRL                           19
  info      SYNC    CDC_SYNC_DATA                            1
  --------  -----   -----------------------------------  -----
  Total                                                    316

4、调试一个重汇聚违规问题,使用start_gui命令启动GUI

vc_static_shell> start_gui

        选择CDC_COHERENCY_MULTI_SYNC标签下的inputA违规项,然后点击窗口中的New Violation Schematic或者右键单击违规并在菜单中选择New Violation Schematic或者使用Ctrl+N快捷键,如图1所示,即可打开原理界面查看该违规的相关情况,如图2所示。

图1 打开违规的原理图

图2 违规的原理图

5、注意到名为CTRL_PATH_SRC和SAME:CTRL_PATH_SRC的定位器指向输入端口inputA,名为CTRL_PATH_SYNC和MULTIPLE:CTRL_PATH_SYNC的定位器指向同步后的信号,这表示一个信号使用两个同步器分别进行了同步。

6、为了启用更多调试信息,点击菜单中的Schematic并选择Annotate Debug Data,或者使用Ctrl+Shift+N快捷键,如图3所示,然后勾选希望在原理图中标注显示的信息(添选Data path Info并点击OK),如图4所示。

图3 打开反标注窗口

图4 反标注窗口

 

7、在启用调试反标后,用户将会在原理图中看到额外的数据路径、时钟域等信息,如图5所示。

图5 反标注窗口

屏蔽违规

1、Waiver用于屏蔽那些已知问题或已分析过的问题所对应的违规项(标签)。通过引入waiver,可以帮助用户区分哪些违规项还未分析,下面将屏蔽一个GLITCH阶段的违规。首先使用以下命令获取GLITCH阶段违规的详细报告。

vc_static_shell> report_cdc -stage GLITCH -verbose
  -----------------------------------------------------------------------------
  Management Summary
  -----------------------------------------------------------------------------
  Stage   Family      Fatals    Errors  Warnings     Infos
  -----   --------  --------  --------  --------  --------
  GLITCH  GLITCH           0         5         0         0
  -----   --------  --------  --------  --------  --------
  Total                    0         5         0         0


  -----------------------------------------------------------------------------
  Tree Summary
  -----------------------------------------------------------------------------
  Severity  Stage   Tag                Count
  --------  -----   -----------------  -----
  error     GLITCH  CDC_GLITCH_CTRL        5
  --------  -----   -----------------  -----
  Total                                    5



  -----------------------------------------------------------------------------
  CDC_GLITCH_CTRL  (5 errors/0 waived)
  -----------------------------------------------------------------------------
  Tag                                     : CDC_GLITCH_CTRL
  Description                             : CDC path contains structure resulting in potential glitch propagation to destination [GlitchDestInfo]
  Violation                               : CDC:284
  ReasonInfoList
    ReasonInfo
      ReasonCode                          : GLITCH_SOURCES_FROM_DIFF_DOMAIN
      ReasonCodeMsg                       : [ERROR] Glitch caused due to sources from different domain merging
  GlitchDestInfo
    DestObject                            : u_ACUS/u_merge_sources/meta/Q
    DestObjectType                        : flop
    DestClockInfoList
      DestClockInfo
        ClockName                         : clkC
        ClockObject                       : clkC
        ClockDomainId                     : 4
  GlitchSourceCount                       : 2
  GlitchSrcInfoList
    GlitchSrcInfo
      SrcObject                           : u_ACUS/regD/Q
      ReasonCodeList
        ReasonCode                        : GLITCH_SOURCES_FROM_DIFF_DOMAIN
      SrcClockInfoList
        SrcClockInfo
          ClockName                       : clkB
          ClockObject                     : clkB
          ClockDomainId                   : 3
    GlitchSrcInfo
      SrcObject                           : u_ACUS/regS/Q
      ReasonCodeList
        ReasonCode                        : GLITCH_SOURCES_FROM_DIFF_DOMAIN
      SrcClockInfoList
        SrcClockInfo
          ClockName                       : clkA
          ClockObject                     : clkA
          ClockDomainId                   : 2
  ContainerInstance                       : u_ACUS
  Module                                  : rule_Ac_unsync01

  -----------------------------------------------------------------------------
  Tag                                     : CDC_GLITCH_CTRL
  Description                             : CDC path contains structure resulting in potential glitch propagation to destination [GlitchDestInfo]
  Violation                               : CDC:285
  ReasonInfoList
    ReasonInfo
      ReasonCode                          : GLITCH_SOURCES_FROM_DIFF_DOMAIN
      ReasonCodeMsg                       : [ERROR] Glitch caused due to sources from different domain merging
  GlitchDestInfo
    DestObject                            : u_ACS01/u_sync2s/meta/Q
    DestObjectType                        : flop
    DestClockInfoList
      DestClockInfo
        ClockName                         : clkB
        ClockObject                       : clkB
        ClockDomainId                     : 3
  GlitchSourceCount                       : 2
  GlitchSrcInfoList
    GlitchSrcInfo
      SrcObject                           : u_ACS01/src/Q
      ReasonCodeList
        ReasonCode                        : GLITCH_SOURCES_FROM_DIFF_DOMAIN
      SrcClockInfoList
        SrcClockInfo
          ClockName                       : clkA
          ClockObject                     : clkA
          ClockDomainId                   : 2
    GlitchSrcInfo
      SrcObject                           : reset_n
      ReasonCodeList
        ReasonCode                        : GLITCH_SOURCES_FROM_DIFF_DOMAIN
      SrcClockInfoList
        SrcClockInfo
          ClockName                       : Clock_info03a_clk
          ClockObject                     : Clock_info03a_clk
          ClockDomainId                   : 1
  ContainerInstance                       : training
  Module                                  : training

  -----------------------------------------------------------------------------
  Tag                                     : CDC_GLITCH_CTRL
  Description                             : CDC path contains structure resulting in potential glitch propagation to destination [GlitchDestInfo]
  Violation                               : CDC:286
  ReasonInfoList
    ReasonInfo
      ReasonCode                          : GLITCH_SOURCE_RECONVERGES
      ReasonCodeMsg                       : [ERROR] Glitch is caused due to source re-convergence
    ReasonInfo
      ReasonCode                          : GLITCH_SOURCES_FROM_DIFF_DOMAIN
      ReasonCodeMsg                       : [ERROR] Glitch caused due to sources from different domain merging
  GlitchDestInfo
    DestObject                            : u_ACUS/u_sync2s/meta/Q
    DestObjectType                        : flop
    DestClockInfoList
      DestClockInfo
        ClockName                         : clkB
        ClockObject                       : clkB
        ClockDomainId                     : 3
  GlitchSourceCount                       : 3
  GlitchSrcInfoList
    GlitchSrcInfo
      SrcObject                           : u_ACUS/bin_count/Q[0]
      ReasonCodeList
        ReasonCode                        : GLITCH_SOURCES_FROM_DIFF_DOMAIN
      SrcClockInfoList
        SrcClockInfo
          ClockName                       : clkA
          ClockObject                     : clkA
          ClockDomainId                   : 2
    GlitchSrcInfo
      SrcObject                           : u_ACUS/bin_count/Q[1]
      ReasonCodeList
        ReasonCode                        : GLITCH_SOURCE_RECONVERGES
        ReasonCode                        : GLITCH_SOURCES_FROM_DIFF_DOMAIN
      SrcClockInfoList
        SrcClockInfo
          ClockName                       : clkA
          ClockObject                     : clkA
          ClockDomainId                   : 2
    GlitchSrcInfo
      SrcObject                           : reset_n
      ReasonCodeList
        ReasonCode                        : GLITCH_SOURCES_FROM_DIFF_DOMAIN
      SrcClockInfoList
        SrcClockInfo
          ClockName                       : Clock_info03a_clk
          ClockObject                     : Clock_info03a_clk
          ClockDomainId                   : 1
  ContainerInstance                       : training
  Module                                  : training

  -----------------------------------------------------------------------------
  Tag                                     : CDC_GLITCH_CTRL
  Description                             : CDC path contains structure resulting in potential glitch propagation to destination [GlitchDestInfo]
  Violation                               : CDC:287
  ReasonInfoList
    ReasonInfo
      ReasonCode                          : GLITCH_SOURCE_RECONVERGES
      ReasonCodeMsg                       : [ERROR] Glitch is caused due to source re-convergence
  GlitchDestInfo
    DestObject                            : uACCONV04/in1/Q{ [2] ,[0] }
    DestObjectType                        : flop
    DestClockInfoList
      DestClockInfo
        ClockName                         : clkA
        ClockObject                       : clkA
        ClockDomainId                     : 2
  GlitchSourceCount                       : 1
  GlitchSrcInfoList
    GlitchSrcInfo
      SrcObject                           : reset_n
      ReasonCodeList
        ReasonCode                        : GLITCH_SOURCE_RECONVERGES
      SrcClockInfoList
        SrcClockInfo
          ClockName                       : Clock_info03a_clk
          ClockObject                     : Clock_info03a_clk
          ClockDomainId                   : 1
  ContainerInstance                       : training
  Module                                  : training

  -----------------------------------------------------------------------------
  Tag                                     : CDC_GLITCH_CTRL
  Description                             : CDC path contains structure resulting in potential glitch propagation to destination [GlitchDestInfo]
  Violation                               : CDC:288
  ReasonInfoList
    ReasonInfo
      ReasonCode                          : GLITCH_SOURCE_RECONVERGES
      ReasonCodeMsg                       : [ERROR] Glitch is caused due to source re-convergence
  GlitchDestInfo
    DestObject                            : uACCONV04/in2/Q[2:0]
    DestObjectType                        : flop
    DestClockInfoList
      DestClockInfo
        ClockName                         : clkA
        ClockObject                       : clkA
        ClockDomainId                     : 2
  GlitchSourceCount                       : 1
  GlitchSrcInfoList
    GlitchSrcInfo
      SrcObject                           : reset_n
      ReasonCodeList
        ReasonCode                        : GLITCH_SOURCE_RECONVERGES
      SrcClockInfoList
        SrcClockInfo
          ClockName                       : Clock_info03a_clk
          ClockObject                     : Clock_info03a_clk
          ClockDomainId                   : 1
  ContainerInstance                       : training
  Module                                  : training

2、使用以下命令屏蔽DestObject为u_ACS01/u_sync2s/meta/Q的违规项,并再次使用report_cdc命令进行报告,可以看出其中多了一个条屏蔽项。

vc_static_shell> waive_cdc -add waive_glitch_dest -tag CDC_GLITCH_CTRL -filter { GlitchDestInfo:DestObject == u_ACUS/u_sync2s/meta/Q }
vc_static_shell> report_cdc
  -----------------------------------------------------------------------------
  Management Summary
  -----------------------------------------------------------------------------
  Stage   Family        Fatals    Errors  Warnings     Infos    Waived
  -----   ----------  --------  --------  --------  --------  --------
  SETUP   CLKPROP            0         0         1        56         0
  SETUP   RESET              0        23         6         9         0
  SYNC    CTRLPATH           0        12         0        19         0
  SYNC    DATAPATH           0       129         0         9         0
  SYNC    UNSYNC             0        37         0         0         0
  CONV    COMBCONV           0         5         0         0         0
  CONV    NOCONV             0         2         2         0         0
  CONV    SEQCONV            0         1         0         0         0
  GLITCH  GLITCH             0         4         0         0         1
  -----   ----------  --------  --------  --------  --------  --------
  Total                      0       213         9        93         1


  -----------------------------------------------------------------------------
  Tree Summary
  -----------------------------------------------------------------------------
  Severity  Stage   Tag                                  Count      Waived
  --------  -----   -----------------------------------  -----  ----------
  error     CONV    CDC_COHERENCY_MULTI_SYNC                 2           0
  error     CONV    CDC_COHERENCY_RECONV_COMB                5           0
  error     CONV    CDC_COHERENCY_RECONV_SEQ                 1           0
  error     GLITCH  CDC_GLITCH_CTRL                          4           1
  error     SETUP   SETUP_RESET_ASSERT_MISSING              23           0
  error     SYNC    CDC_UNSYNC_ASYNCRESET                   20           0
  error     SYNC    CDC_UNSYNC_CTRL                         12           0
  error     SYNC    CDC_UNSYNC_DATA                        129           0
  error     SYNC    CDC_UNSYNC_NOSCHEME                     17           0
  warning   CONV    CDC_COHERENCY_BUS_NOCONV                 2           0
  warning   SETUP   SETUP_MULTIPLE_CONSTRAINTS               1           0
  warning   SETUP   SETUP_RESET_DRIVING_NON_ASYNC_PIN        6           0
  info      SETUP   SETUP_BBOXPIN_CONSTRAINED                1           0
  info      SETUP   SETUP_CLOCK_PROPAGATED                  12           0
  info      SETUP   SETUP_DATA_CONSTANT                     17           0
  info      SETUP   SETUP_PORT_CONSTRAINED                  23           0
  info      SETUP   SETUP_PORT_IGNORED                       3           0
  info      SETUP   SETUP_RESET_PROPAGATED                   9           0
  info      SYNC    CDC_SYNC_ASYNCRESET                      8           0
  info      SYNC    CDC_SYNC_CTRL                           19           0
  info      SYNC    CDC_SYNC_DATA                            1           0
  --------  -----   -----------------------------------  -----  ----------
  Total                                                    315           1

3、使用GUI界面也可以完成上述操作,使用start_gui命令打开GUI,右键单击想要屏蔽的违规项,选择Create a Waiver,并选择Set Violation Status as Waived,最后在弹出的waiver窗口中点击ADD Item,Waive文件将创建并写入屏蔽命令。

使用检查点

1、检查点功能允许用户在设计执行过程中某个阶段保存一个基于进程/快照的检查点,并在后续运行中从该检查点继续执行,以避免从头开始重复分析,使用以下命令可以创建检查点。

vc_static_shell> checkpoint_session -session cdc_checkpoint
[Info] CHECKPOINTING_SESSION: Checkpointing session (vcst_rtdb (as cdc_checkpoint_cpdb)).
Checkpointing
Checkpoint Done

2、现在,如果想在另一次运行中恢复该会话,只需使用以下命令即可,之后可以使用report_cdc命令查看之前运行的CDC分析报告。

vc_static_shell> restart_session -session cdc_checkpoint
[Info] RESTARTING_SESSION: Restart session (cdc_checkpoint).
Restarting
Restart Done
vc_static_shell> report_cdc
  -----------------------------------------------------------------------------
  Management Summary
  -----------------------------------------------------------------------------
  Stage   Family        Fatals    Errors  Warnings     Infos    Waived
  -----   ----------  --------  --------  --------  --------  --------
  SETUP   CLKPROP            0         0         1        56         0
  SETUP   RESET              0        23         6         9         0
  SYNC    CTRLPATH           0        12         0        19         0
  SYNC    DATAPATH           0       129         0         9         0
  SYNC    UNSYNC             0        37         0         0         0
  CONV    COMBCONV           0         5         0         0         0
  CONV    NOCONV             0         2         2         0         0
  CONV    SEQCONV            0         1         0         0         0
  GLITCH  GLITCH             0         4         0         0         1
  -----   ----------  --------  --------  --------  --------  --------
  Total                      0       213         9        93         1


  -----------------------------------------------------------------------------
  Tree Summary
  -----------------------------------------------------------------------------
  Severity  Stage   Tag                                  Count      Waived
  --------  -----   -----------------------------------  -----  ----------
  error     CONV    CDC_COHERENCY_MULTI_SYNC                 2           0
  error     CONV    CDC_COHERENCY_RECONV_COMB                5           0
  error     CONV    CDC_COHERENCY_RECONV_SEQ                 1           0
  error     GLITCH  CDC_GLITCH_CTRL                          4           1
  error     SETUP   SETUP_RESET_ASSERT_MISSING              23           0
  error     SYNC    CDC_UNSYNC_ASYNCRESET                   20           0
  error     SYNC    CDC_UNSYNC_CTRL                         12           0
  error     SYNC    CDC_UNSYNC_DATA                        129           0
  error     SYNC    CDC_UNSYNC_NOSCHEME                     17           0
  warning   CONV    CDC_COHERENCY_BUS_NOCONV                 2           0
  warning   SETUP   SETUP_MULTIPLE_CONSTRAINTS               1           0
  warning   SETUP   SETUP_RESET_DRIVING_NON_ASYNC_PIN        6           0
  info      SETUP   SETUP_BBOXPIN_CONSTRAINED                1           0
  info      SETUP   SETUP_CLOCK_PROPAGATED                  12           0
  info      SETUP   SETUP_DATA_CONSTANT                     17           0
  info      SETUP   SETUP_PORT_CONSTRAINED                  23           0
  info      SETUP   SETUP_PORT_IGNORED                       3           0
  info      SETUP   SETUP_RESET_PROPAGATED                   9           0
  info      SYNC    CDC_SYNC_ASYNCRESET                      8           0
  info      SYNC    CDC_SYNC_CTRL                           19           0
  info      SYNC    CDC_SYNC_DATA                            1           0
  --------  -----   -----------------------------------  -----  ----------
  Total                                                    315           1
TMS WEB Core v2.9.0.1 Retail 安装程序及完整源码 TMS WEB Core 是 TMS Software 推出的一款强大的 Delphi 组件套件,用于开发 Web 应用程序。该组件的主要特点和功能: 全新组件和功能:TMS WEB Core v2.9.0.1 引入了多个新的组件和功能,以提升 Web 应用的开发体验。其中包括新的 UI 组件、数据绑定增强、以及更好的跨浏览器兼容性。 性能优化:该版本对多个组件进行了性能优化,提高了应用程序的响应速度和运行效率。 Bug 修复:解决了前一版本中存在的多个问题,提升了稳定性和可靠性。 功能特点 跨平台支持:TMS WEB Core 支持在 Windows、macOS 和 Linux 平台上开发 Web 应用程序,开发者可以在不同操作系统上使用相同的代码库。 丰富的组件库:提供大量的 UI 组件,如按钮、文本框、列表框、表格等,以及数据可视化组件,满足各种界面设计需求。 数据绑定:支持双向数据绑定,使数据与 UI 组件之间的同步更加简单直观,减少手动更新 UI 的代码量。 响应式设计:组件支持响应式布局,能够自动适应不同屏幕尺寸和设备类型,确保在移动设备和桌面浏览器上都能提供良好的用户体验。 集成开发环境:与 Delphi 的集成开发环境紧密集成,提供可视化设计工具和代码编辑器,提高开发效率。 第方库集成:支持与流行的 JavaScript 库和框架集成,如 jQuery、Bootstrap 等,进一步扩展应用的功能和样式。 代码生成器:内置代码生成器,可以快速生成常见的 Web 应用代码模板,加速项目启动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

日晨难再

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值