相关阅读
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 自定义严重性等级