VC Spyglass:Lint官方Hands-on Training(二)

相关阅读

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


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

VC Spyglass Lint Hands-on Traininghttps://download.csdn.net/download/weixin_45791458/91056423


实验二、VC Spyglass使用模式(VCUM)

本实验旨在帮助用户掌握如何通过TCL文件直接运行VC Spyglass Lint,并通过实际例子学习如何进行标签验证与问题修复。实验还将介绍如何保存与恢复分析会话,并通过命令行调用图形界面进行调试。

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

  • 如何通过TCL文件直接运行VC Spyglass Lint

  • 如何保存当前会话并在之后恢复

  • 如何通过vc_static_shell启动图形用户界面(GUI)

  • 如何调试违规项并验证修复效果

  • 如何更改违规标签的严重等级并自定义违规等级类别

运行VC Spyglass

1、进入实验二的目录。

复制代码
% cd VC_SpyGlass_Lint_Overview\Lab2

2、 对之前的工作文件进行清理,为了简便本实验可以使用Makefile,内容如下所示。

复制代码
run_save:
	vc_static_shell -f vclint.tcl

run_restore:
	vc_static_shell -f restore.tcl

clean:
	rm -rf WORK vcst* vc_run* novas* report_lint.txt

% make clean

3、实验目录中存在vclint.tcl文件,如果使用VCUM模式,直接在终端中使用vc_static_shell运行TCL文件即可。

复制代码
% vc_static_shell -f vclint.tcl

使用make命令也是可以的。

复制代码
% make run_save

4、在VC Spyglass运行Lint检查后,将会保存当前会话并退出,下面是保存信息。

复制代码
save_session -session vc_run
[Info] SAVED_SESSION: Saved session (vcst_rtdb (as vc_run_rtdb)).

5、可以使用-session选项为会话指定任意名称,在本实验中会话名称设置为vc_run,可以在 vclint.tcl文件中找到save_session命令。

6、下面检查一下运行过程中生成的文件。

vcst_session.log:包含在VC Spyglass运行中执行的所有命令的日志。

复制代码
                                   VC Static 

                 Version W-2024.09 for linux64 - Aug 30, 2024 

                    Copyright (c) 2010 - 2024 Synopsys, Inc.
   This software and the associated documentation are proprietary to Synopsys,
 Inc. This software may only be used in accordance with the terms and conditions
 of a written license agreement with Synopsys, Inc. All other use, reproduction,
   or distribution of this software is strictly prohibited.  Licensed Products
     communicate with Synopsys servers for the purpose of providing software
    updates, detecting software piracy and verifying that customers are using
    Licensed Products in conformity with the applicable License Key for such
  Licensed Products. Synopsys will use information gathered in connection with
    this process to deliver software updates and pursue software pirates and
                                   infringers.

 Inclusivity & Diversity - Visit SolvNetPlus to read the "Synopsys Statement on
            Inclusivity and Diversity" (Refer to article 000036315 at
                        https://solvnetplus.synopsys.com)
restore_session -level default

MasterSourceFile vclint.tcl
set_app_var enable_lint true
[Info] In case any tcl command throwing error , last 10 suppressed messages for the command will be shown on console.
check_hdl_lib -all
configure_lint_setup -goal lint_rtl
analyze -verbose -f sverilog -vcs {-f file_list.f}
[Info] DB_COPT044: Calling VCS: '$VCS_HOME/bin/vlogan  -kdb=common_elab /home/zhangchen/VC_SpyGlass_Lint_Overview/Lab2/vcst_rtdb/.internal/design/undef_vcs.v -Xvd_opts=-silent,+disable_message+C00373,-ssy,-ssv,-ssz -file /home/zhangchen/VC_SpyGlass_Lint_Overview/Lab2/vcst_rtdb/.internal/design/analyzeCmd1 -kdb=incopt  -Xufe=parallel:incrdump  -full64  -libfile_opt '.
                         Chronologic VCS (TM)
         Version W-2024.09_Full64 -- Thu Jun 19 14:47:46 2025

                    Copyright (c) 1991 - 2024 Synopsys, Inc.
   This software and the associated documentation are proprietary to Synopsys,
 Inc. This software may only be used in accordance with the terms and conditions
 of a written license agreement with Synopsys, Inc. All other use, reproduction,
   or distribution of this software is strictly prohibited.  Licensed Products
     communicate with Synopsys servers for the purpose of providing software
    updates, detecting software piracy and verifying that customers are using
    Licensed Products in conformity with the applicable License Key for such
  Licensed Products. Synopsys will use information gathered in connection with
    this process to deliver software updates and pursue software pirates and
                                   infringers.

 Inclusivity & Diversity - Visit SolvNetPlus to read the "Synopsys Statement on
            Inclusivity and Diversity" (Refer to article 000036315 at
                        https://solvnetplus.synopsys.com)

Parsing design file '/home/zhangchen/VC_SpyGlass_Lint_Overview/Lab2/vcst_rtdb/.internal/design/undef_vcs.v'
Parsing design file 'fft256/fft256_config_new.inc'
Parsing design file 'cavlc/cavlc_fsm.v'
Parsing included file './cavlc/defines.v'.
Back to file 'cavlc/cavlc_fsm.v'.
Parsing design file 'cavlc/cavlc_len_gen.v'
Parsing included file './cavlc/defines.v'.
Back to file 'cavlc/cavlc_len_gen.v'.
Parsing design file 'cavlc/cavlc_read_levels.v'
Parsing included file './cavlc/defines.v'.
Back to file 'cavlc/cavlc_read_levels.v'.
Parsing design file 'cavlc/cavlc_read_run_befores.v'
Parsing included file './cavlc/defines.v'.
Back to file 'cavlc/cavlc_read_run_befores.v'.
Parsing design file 'cavlc/cavlc_read_total_coeffs.v'
Parsing included file './cavlc/defines.v'.
Back to file 'cavlc/cavlc_read_total_coeffs.v'.
Parsing design file 'cavlc/cavlc_read_total_zeros.v'
Parsing included file './cavlc/defines.v'.
Back to file 'cavlc/cavlc_read_total_zeros.v'.
Parsing design file 'cavlc/cavlc_top.v'
Parsing included file './cavlc/defines.v'.
Back to file 'cavlc/cavlc_top.v'.
Parsing design file 'openfire/bbfifo_16x8.v'
Parsing design file 'openfire/kcuart_rx.v'
Parsing design file 'openfire/kcuart_tx.v'
Parsing design file 'openfire/openfire_arbitrer.v'
Parsing included file './openfire/openfire_define.v'.
Back to file 'openfire/openfire_arbitrer.v'.
Parsing design file 'openfire/openfire_cpu.v'
Parsing included file './openfire/openfire_define.v'.
Back to file 'openfire/openfire_cpu.v'.
Parsing design file 'openfire/openfire_decode.v'
Parsing included file './openfire/openfire_define.v'.
Back to file 'openfire/openfire_decode.v'.
Parsing design file 'openfire/openfire_execute.v'
Parsing included file './openfire/openfire_define.v'.
Back to file 'openfire/openfire_execute.v'.
Parsing design file 'openfire/openfire_fetch.v'
Parsing included file './openfire/openfire_define.v'.
Back to file 'openfire/openfire_fetch.v'.
Parsing design file 'openfire/openfire_iospace.v'
Parsing included file './openfire/openfire_define.v'.
Back to file 'openfire/openfire_iospace.v'.
Parsing design file 'openfire/openfire_pipeline_ctrl.v'
Parsing included file './openfire/openfire_define.v'.
Back to file 'openfire/openfire_pipeline_ctrl.v'.
Parsing design file 'openfire/openfire_primitives.v'
Parsing included file './openfire/openfire_define.v'.
Back to file 'openfire/openfire_primitives.v'.
Parsing design file 'openfire/openfire_regfile.v'
Parsing included file './openfire/openfire_define.v'.
Back to file 'openfire/openfire_regfile.v'.
Parsing design file 'openfire/openfire_soc.v'
Parsing included file './openfire/openfire_define.v'.
Back to file 'openfire/openfire_soc.v'.
Parsing included file './openfire/openfire_debug.v'.
Back to file 'openfire/openfire_soc.v'.
Parsing design file 'openfire/openfire_template_bootram.v'
Parsing design file 'openfire/prom_reader_clock_mgmt.v'
Parsing design file 'openfire/prom_reader_my_lut2.v'
Parsing design file 'openfire/prom_reader_shift_cmp_serial.v'
Parsing design file 'openfire/prom_reader.v'
Parsing included file './openfire/openfire_define.v'.
Back to file 'openfire/prom_reader.v'.
Parsing design file 'openfire/sim_sram256kx16.v'
Parsing included file './openfire/openfire_define.v'.
Back to file 'openfire/sim_sram256kx16.v'.
Parsing design file 'openfire/sp3dk_simulator.v'
Parsing included file './openfire/openfire_define.v'.
Back to file 'openfire/sp3dk_simulator.v'.
Parsing design file 'openfire/sram_wrapper.v'
Parsing included file './openfire/openfire_define.v'.
Back to file 'openfire/sram_wrapper.v'.
Parsing design file 'openfire/uart_rx.v'
Parsing design file 'openfire/uart_tx.v'
Parsing design file 'openfire/vga_controlador.v'
Parsing included file './openfire/openfire_define.v'.
Back to file 'openfire/vga_controlador.v'.
Parsing design file 'openfire/vga_parts.v'
Parsing design file 'rs_dec_full/BM_lamda.v'
Parsing design file 'rs_dec_full/DP_RAM.v'
Parsing design file 'rs_dec_full/error_correction.v'
Parsing design file 'rs_dec_full/GF_matrix_ascending_binary.v'
Parsing design file 'rs_dec_full/GF_matrix_dec.v'
Parsing design file 'rs_dec_full/GF_mult_add_syndromes.v'
Parsing design file 'rs_dec_full/input_syndromes.v'
Parsing design file 'rs_dec_full/lamda_roots.v'
Parsing design file 'rs_dec_full/Omega_Phy.v'
Parsing design file 'rs_dec_full/out_stage.v'
Parsing design file 'rs_dec_full/RS_dec.v'
Parsing design file 'rs_dec_full/transport_in2out.v'
Parsing design file 'top.v'
Parsing included file './fft256/fft256_config_new.inc'.
Back to file 'top.v'.

Parsing design file 'sha3/f_permutation.v'
Parsing design file 'sha3/keccak.v'
Parsing design file 'sha3/padder1.v'
Parsing design file 'sha3/padder.v'
Parsing design file 'sha3/rconst2in1.v'
Parsing design file 'sha3/round2in1.v'
Parsing design file 'hpdmc/hpdmc.v'
Parsing design file 'hpdmc/hpdmc_datactl.v'
Parsing design file 'hpdmc/hpdmc_banktimer.v'
Parsing design file 'hpdmc/hpdmc_busif.v'
Parsing design file 'hpdmc/spartan6/hpdmc_iddr32.v'
Parsing design file 'hpdmc/spartan6/hpdmc_ddrio.v'
Parsing design file 'hpdmc/spartan6/hpdmc_obuft4.v'
Parsing design file 'hpdmc/spartan6/hpdmc_oddr32.v'
Parsing design file 'hpdmc/spartan6/hpdmc_oddr4.v'
Parsing design file 'hpdmc/spartan6/hpdmc_iobuf32.v'
Parsing design file 'hpdmc/hpdmc_mgmt.v'
Parsing design file 'hpdmc/hpdmc_ctlif.v'
Parsing design file 'fft256/bufram256c.v'
Parsing included file './fft256/fft256_config_new.inc'.
Back to file 'fft256/bufram256c.v'.
Parsing design file 'fft256/cnorm.v'
Parsing included file './fft256/FFT256_CONFIG.inc'.
Back to file 'fft256/cnorm.v'.
Parsing design file 'fft256/fft16.v'
Parsing included file './fft256/FFT256_CONFIG.inc'.
Back to file 'fft256/fft16.v'.
Parsing design file 'fft256/fft256.v'
Parsing included file './fft256/FFT256_CONFIG.inc'.
Back to file 'fft256/fft256.v'.
Parsing design file 'fft256/mpuc1307.v'
Parsing included file './fft256/FFT256_CONFIG.inc'.
Back to file 'fft256/mpuc1307.v'.

Parsing design file 'fft256/mpuc541.v'
Parsing included file './fft256/FFT256_CONFIG.inc'.
Back to file 'fft256/mpuc541.v'.

Parsing design file 'fft256/mpuc707.v'
Parsing included file './fft256/FFT256_CONFIG.inc'.
Back to file 'fft256/mpuc707.v'.

Parsing design file 'fft256/mpuc924_383.v'
Parsing included file './fft256/FFT256_CONFIG.inc'.
Back to file 'fft256/mpuc924_383.v'.

Parsing design file 'fft256/ram256.v'
Parsing included file './fft256/FFT256_CONFIG.inc'.
Back to file 'fft256/ram256.v'.
Parsing design file 'fft256/ram2x256.v'
Parsing included file './fft256/FFT256_CONFIG.inc'.
Back to file 'fft256/ram2x256.v'.
Parsing design file 'fft256/rotator256_v.v'
Parsing included file './fft256/FFT256_CONFIG.inc'.
Back to file 'fft256/rotator256_v.v'.
Parsing design file 'fft256/WROM256.v'
Parsing included file './fft256/FFT256_CONFIG.inc'.
Back to file 'fft256/WROM256.v'.
Parsing design file 'waj1/waj1.sv'
Parsing design file 'bubble_sort/bubble_sort.v'
CPU time: .642 seconds to compile
elaborate top
[Warning] COM_OPT009: 'search_path' has not been set.
[Warning] COM_OPT010: 'link_library' has not been set.
Doing common elaboration 
Final timescale is '1ps/1ps'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_tx.v, 129
"mux1_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_tx.v, 139
"mux2_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_tx.v, 149
"mux3_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_tx.v, 159
"mux4_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_tx.v, 208
"count_lut_0.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_tx.v, 239
"count_lut_1.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_tx.v, 270
"count_lut_2.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_tx.v, 298
"ready_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_tx.v, 310
"start_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_tx.v, 328
"run_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_tx.v, 345
"hot_state_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_tx.v, 364
"delay14_srl.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_tx.v, 381
"stop_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_tx.v, 397
"complete_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/bbfifo_16x8.v, 122
"data_srl_0.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.buf_0'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/bbfifo_16x8.v, 135
"data_srl_1.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.buf_0'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/bbfifo_16x8.v, 148
"data_srl_2.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.buf_0'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/bbfifo_16x8.v, 161
"data_srl_3.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.buf_0'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/bbfifo_16x8.v, 174
"data_srl_4.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.buf_0'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/bbfifo_16x8.v, 187
"data_srl_5.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.buf_0'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/bbfifo_16x8.v, 200
"data_srl_6.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.buf_0'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/bbfifo_16x8.v, 213
"data_srl_7.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.buf_0'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/bbfifo_16x8.v, 235
"count_lut_0.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.buf_0'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/bbfifo_16x8.v, 252
"count_lut_1.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.buf_0'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/bbfifo_16x8.v, 269
"count_lut_2.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.buf_0'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/bbfifo_16x8.v, 286
"count_lut_3.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.buf_0'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/bbfifo_16x8.v, 336
"zero_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.buf_0'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/bbfifo_16x8.v, 346
"full_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.buf_0'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/bbfifo_16x8.v, 358
"dp_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.buf_0'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/bbfifo_16x8.v, 375
"valid_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.transmit.buf_0'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 133
"delay15_srl_0.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 146
"delay15_srl_1.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 159
"delay15_srl_2.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 172
"delay15_srl_3.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 185
"delay15_srl_4.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 198
"delay15_srl_5.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 211
"delay15_srl_6.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 224
"delay15_srl_7.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 290
"start_srl.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 312
"edge_srl.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 330
"valid_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 347
"purge_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 372
"valid_delay15_srl_0.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 385
"valid_delay16_srl_1.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 398
"valid_delay16_srl_2.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 411
"valid_delay16_srl_3.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 424
"valid_delay16_srl_4.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 437
"valid_delay16_srl_5.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 450
"valid_delay16_srl_6.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 463
"valid_delay16_srl_7.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 476
"valid_delay16_srl_8.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/kcuart_rx.v, 540
"strobe_lut.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.receive.kcuart'

Lint-[XMRE-L] Cross-module reference resolution error
openfire/prom_reader_clock_mgmt.v, 39
"Divider0.INIT"
  The cross-module reference in following instance path cannot be resolved.
  'ROOT.top.Uopenfire_soc.IOSPACE.prom_file.Clock_Manager'

Notice: Ports were coerced to input/inout/output, please use '-vcs -notice' for details
Info: Invoking Simon...
Info: Simon VCS Start

=======================================================
VCS CPU Time(s)     :0.82
SIMON CPU Time(s)   :2.81
SIMON Total Time(s) :0.59
Peak Memory(MB)     :470
=======================================================
Info: Simon VCS Finished
Info: Simon call complete 
Info: Exiting after Simon Analysis 
Verdi KDB elaboration done and the database successfully generated: 0 error(s), 0 warning(s)
# Gate Counts 
Number of Flat Instances = 185795
Number of Operator = 185411
Number of Libcells = 0
Number of Black-Box Instances = 384
Number of FlipFlop BitWise = 57956
Number of Latch Bitwise = 33
Number of Nand BitWise = 101
Number of Comb logic = 12370

check_lint
[Info] Running goal lint_rtl
Inferring all potential clocks
Inferring all potential resets
[Info] Scc Detection stage... Success
eval {;}
report_lint -gen_empty -file report_lint.txt -verbose -limit 0
The command report_lint is deprecated. Please use report_violations command.
save_session -session vc_run
[Info] SAVED_SESSION: Saved session (vcst_rtdb (as vc_run_rtdb)).
exit
=======================================================
Total Time(S)  :31.53
CPU Time(S)    :36.20
Peak Memory(MB):2252
=======================================================

report_lint.txt:Lint检查的报告文件(包括违规类型、数量、统计等),由report_lint命令生成。

复制代码
  -----------------------------------------------------------------------------
  Report Summary
  -----------------------------------------------------------------------------
  Product Info
    Name    : VC Static Master Shell
    Version : W-2024.09 -- Aug 30, 2024

  Report Info
    Created : Jun 19, 2025  14:48:02
    Options
      -limit 0

    TopLevelModule: top

  -----------------------------------------------------------------------------
  Management Summary
  -----------------------------------------------------------------------------
  Stage             Family                Fatals    Errors  Warnings     Infos
  -----             ------------------  --------  --------  --------  --------
  DESIGN_READ       DESIGN                     0         0       338        53
  DESIGN_READ       ErrorAnalyzeBBox           0        21         0         0
  LANGUAGE_CHECK    CODING                     0        12       238         2
  STRUCTURAL_CHECK  CODING                     0        11        11        85
  -----             ------------------  --------  --------  --------  --------
  Total                                        0        44       587       140


  -----------------------------------------------------------------------------
  Tree Summary
  -----------------------------------------------------------------------------
  Severity  Stage             Tag                         Count
  --------  -----             --------------------------  -----
  error     DESIGN_READ       ErrorAnalyzeBBox               21
  error     LANGUAGE_CHECK    W110                            5
  error     LANGUAGE_CHECK    W336                            6
  error     LANGUAGE_CHECK    W71                             1
  error     STRUCTURAL_CHECK  InferLatch                      2
  error     STRUCTURAL_CHECK  STARC05-2.5.1.2                 2
  error     STRUCTURAL_CHECK  UndrivenInTerm-ML               7
  warning   DESIGN_READ       EPIMD                           4
  warning   DESIGN_READ       IRIID-W                        15
  warning   DESIGN_READ       IWNF                            1
  warning   DESIGN_READ       PCWM-W                          5
  warning   DESIGN_READ       SM_IGN_IAD                      5
  warning   DESIGN_READ       SM_IGN_INITIAL                  3
  warning   DESIGN_READ       SM_URMI                       285
  warning   DESIGN_READ       SM_UST                         11
  warning   DESIGN_READ       TFIPC                           4
  warning   DESIGN_READ       VC_SYNTH_INITIAL_IGNORED        5
  warning   LANGUAGE_CHECK    NoAssignX-ML                    7
  warning   LANGUAGE_CHECK    STARC05-2.1.4.5                 1
  warning   LANGUAGE_CHECK    STARC05-2.11.3.1                9
  warning   LANGUAGE_CHECK    STARC05-2.2.3.3                90
  warning   LANGUAGE_CHECK    W116                            6
  warning   LANGUAGE_CHECK    W240                            7
  warning   LANGUAGE_CHECK    W287a                           1
  warning   LANGUAGE_CHECK    W287b                           2
  warning   LANGUAGE_CHECK    W362                            1
  warning   LANGUAGE_CHECK    W415a                          94
  warning   LANGUAGE_CHECK    W486                           10
  warning   LANGUAGE_CHECK    W528                           10
  warning   STRUCTURAL_CHECK  FlopEConst                     10
  warning   STRUCTURAL_CHECK  STARC05-1.3.1.3                 1
  info      DESIGN_READ       XMRE-L                         53
  info      LANGUAGE_CHECK    ReportPortInfo-ML               1
  info      LANGUAGE_CHECK    W528                            1
  info      STRUCTURAL_CHECK  RegInputOutput-ML              85
  --------  -----             --------------------------  -----
  Total                                                     771

7、由于在前面的步骤中保存了会话,现在可以使用以下命令可以在终端恢复该会话:

复制代码
% vc_static_shell -restore -session <session_name>

使用如下所示的TCL命令可以在vc_static_shell中恢复会话,本实验提供了一个名为restore.tcl的TCL文件,该文件中包含了恢复会话的命令。

复制代码
vc_static_shell> restore_session -session <session_name>

直接在终端中使用vc_static_shell运行TCL文件即可。

复制代码
% vc_static_shell -mode64 -f restore.tcl

使用make命令也是可以的。

复制代码
% make run_restore

下面是恢复信息。

复制代码
[Info] Loading Lint Structural Checker Plugin... Success
[Info] RESTORED_SESSION: Restored session (vc_run).

8、接着在vc_static_shell中启动GUI,细心的读者可能会发现界面与实验一的界面不同,这是因为此时是以VCST First Mode打开的,而实验一是以Verdi First Mode打开的。

复制代码
vc_static_shell> start_gui

9、选择W71违规,鼠标停留在Statement 栏,点击出现的Source Code即可查看源代码,如图1所示。

图1 查看源代码

10、 可以看出case语句没有default分支,信号也没有在always块开头提前赋值,如图2所示。

图2 W71违规的源代码

11、使用文本编辑器打开源文件(可通过右键单击并选择Copy File Path复制文件路径),在414行添加以下语句并保存,如图3所示。

复制代码
default: alu_a_input <= 0;

图3 修复W71违规

12、重新运行检查以验证违规是否消失。

复制代码
​% vc_static_shell -f vclint.tcl

更改标签严重等级和自定义严重等级

1、可以使用以下TCL命令更新某个标签的严重等级:

复制代码
vc_static_shell> configure_tag -app Lint -tag <tag-name> -severity <severity-name>

例如,标签W110默认的严重等级是Error,如图4所示。若要将其改为Warning,使用以下命令,结果如图5所示。

复制代码
vc_static_shell> configure_tag -app Lint -tag W110 -severity Warning

图4 W110错误

图5 W110警告

2、定义一个自定义严重等级,名字为custom_sev1,并将标签W336与FlopEConst映射到该等级,可使用以下命令,结果如图6所示。

复制代码
vc_static_shell> Define_severity -display {custom_sev1}
vc_static_shell> Configure_tag -app Lint -severity custom_sev1 -tag { W336 FlopEConst }

图6 自定义严重性等级

相关推荐
XINVRY-FPGA4 天前
XCKU15P-2FFVA1760I AMD 赛灵思 Xilinx Kintex UltraScale+ FPGA
arm开发·嵌入式硬件·阿里云·fpga开发·云计算·硬件工程·fpga
江流月照6 天前
IP验证学习之agent编写
学习·硬件架构·硬件工程
逼子格7 天前
Altium Designer(AD)原理图更新PCB后所有器件变绿解决方案
单片机·嵌入式硬件·硬件工程·问题解决·ad·pcb·altium designer
蒋星熠7 天前
中间件架构设计与实践:构建高性能分布式系统的核心基石
开发语言·数据库·分布式·python·中间件·性能优化·硬件工程
蒋星熠8 天前
Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物
开发语言·python·算法·flutter·设计模式·性能优化·硬件工程
猫头虎9 天前
2025最新超详细FreeRTOS入门教程:第八章 FreeRTOS任务通知
stm32·单片机·嵌入式硬件·物联网·硬件架构·51单片机·硬件工程
智者知已应修善业12 天前
【multisim汽车尾灯设计】2022-12-1
驱动开发·经验分享·笔记·汽车·硬件架构·硬件工程
来生硬件工程师12 天前
【硬件笔记】负载是如何烧MOS的?
笔记·嵌入式硬件·硬件架构·硬件工程·硬件设计
码界奇点13 天前
豆包新模型矩阵与PromptPilot构建企业级AI开发的体系化解决方案
人工智能·线性代数·ai·语言模型·矩阵·硬件工程
陌夏微秋15 天前
FPGA硬件设计4 ZYNQ外围-以太网-PL/PS
stm32·单片机·嵌入式硬件·fpga开发·硬件架构·硬件工程·信息与通信