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

相关推荐
码小文5 小时前
Altium Designer 22使用笔记(4)---添加封装、ERC检查、PDF文档与BOM生成
笔记·嵌入式硬件·硬件工程·学习方法·硬件经验
粟米茶6 小时前
三极管三种基本放大电路:共射、共集、共基放大电路
硬件工程·硬件电路·三极管·三极管放大电路
日晨难再3 天前
Design Compiler:Milkyway库的创建与使用
硬件工程·数字ic
nuoxin1143 天前
CY7C68013A-56LTXC -USB2.0控制器芯片-富利威,国产CBM9002A-56ILG可替代
网络·人工智能·单片机·嵌入式硬件·硬件工程
xiaotianyun885 天前
LLC电源原边MOS管DS增加RC吸收对ZVS的影响分析
硬件工程·逆变器
Warren987 天前
Java Stream流的使用
java·开发语言·windows·spring boot·后端·python·硬件工程
Warren988 天前
Java Collections工具类
java·开发语言·笔记·python·学习·oracle·硬件工程
XINVRY-FPGA9 天前
XCZU4EV-1FBVB900E Xilinx FPGA AMD Zynq UltraScale+ MPSoC EV(Embedded Vision)
arm开发·嵌入式硬件·计算机视觉·fpga开发·硬件架构·硬件工程·fpga
弄曲幽篁10 天前
精密全波整流电路(四)
嵌入式硬件·硬件工程
日晨难再11 天前
Power Compiler:漏电功耗、内部功耗、切换功耗及其计算方式(NLPM)
硬件工程·数字ic