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

相关推荐
MARIN_shen11 小时前
Marin说PCB之Allegro高亮BOM器件技巧详解
单片机·嵌入式硬件·硬件工程·pcb工艺
日晨难再16 小时前
Genus:设计信息结构以及导航方式(路径种类)
硬件工程·数字ic
狄加山6751 天前
Cadence模块复用
服务器·硬件架构·硬件工程·信号处理·智能硬件
逼子格2 天前
开关电源和线性电源Multisim电路仿真实验汇总——硬件工程师笔记
嵌入式硬件·硬件工程·硬件工程师·开关电源·multisim电路仿真·稳压电源·线性电源
逼子格2 天前
振荡电路Multisim电路仿真实验汇总——硬件工程师笔记
笔记·嵌入式硬件·硬件工程·硬件工程师·硬件工程师真题·multisim电路仿真·震荡电流
国科安芯7 天前
【AS32系列MCU调试教程】SPI调试的常见问题解析
单片机·嵌入式硬件·性能优化·硬件架构·硬件工程
水龙吟啸8 天前
计算机组成原理与体系结构-实验四 微程序控制器 (Proteus 8.15)
硬件架构·proteus·硬件工程
S,D8 天前
MCU引脚的漏电流、灌电流、拉电流区别是什么
驱动开发·stm32·单片机·嵌入式硬件·mcu·物联网·硬件工程
国科安芯18 天前
基于ASP4644多通道降压技术在电力监测系统中集成应用与发展前景
嵌入式硬件·硬件架构·硬件工程
逼子格19 天前
硬件工程师笔试面试高频考点汇总——(2025版)
单片机·嵌入式硬件·面试·硬件工程·硬件工程师·硬件工程师真题·硬件工程师面试