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

相关推荐
GineLee1 天前
吉林大学操作系统期末复习整理
linux·服务器·经验分享·架构·硬件工程·安全架构
技术流浪者1 天前
PCB设计实践(三十六)PCB设计新手系统性注意事项总结
单片机·嵌入式硬件·硬件工程·pcb设计
合方圆~小文2 天前
20倍光学镜头怎么实现20+20倍数实现
数据库·人工智能·硬件工程
LICHARD98785 天前
AD工程面板拖动以及固定位置
硬件工程
情意绵绵6748 天前
VAS1085Q奇力科技LED驱动芯片车规级线性芯片
单片机·嵌入式硬件·硬件架构·硬件工程·pcb工艺
一只豌豆象9 天前
【知识分享】DDR4 硬件架构基础知识
硬件工程·信号完整性·ddr4
合方圆~小文9 天前
架空线路图像视频监测装置
c语言·c++·人工智能·嵌入式硬件·硬件工程·模拟退火算法
日晨难再9 天前
SDC命令详解:使用uniquify命令进行唯一化
数字ic·sdc命令
技术流浪者9 天前
PCB设计实践(三十五)STM32与ESP32的核心应用场景及选型
嵌入式硬件·硬件工程·pcb设计