blob: 168b74b4daf4e1e4d1555e9e960e52bbae6e3cbc [file] [log] [blame]
set search_path ". $search_path"
# Setting the vcstatic platform to run vc spyglass lint
set_app_var enable_lint true
# Running the rtl_handoff lint_rtl template (All the rules all picked from this file)
source $::env(VC_STATIC_HOME)/auxx/monet/tcl/GuideWare/block/rtl_handoff/lint/lint_rtl.tcl
## GuideWare rules for formal-aware lint
source $::env(VC_STATIC_HOME)/auxx/monet/tcl/GuideWare/block/rtl_handoff/lint/lint_functional_rtl.tcl
configure_lint_tag -enable -tag {{LINT_TAGS}} -goal {GOAL}
configure_lint_setup -goal {GOAL}
set analyze_skip_translate_body false
define_design_lib WORK -path ./WORK/VCS
## Reading the filelist and elaborating the design
analyze -format verilog { -f ./{F_FILE} } -vcs { -work WORK -sv=2009 -assert svaext -Xspyglass_pragma=synopsys -Xspyglass_pragma=pragma -p1800_macro_expansion }
# Configure blackboxed designs and files
set blackbox_designs {{BLACKBOX_DESIGNS}}
set blackbox_files {{BLACKBOX_FILES}}
set_blackbox -designs $blackbox_designs
set_blackbox_file -files $blackbox_files
# Elaborate the desired module
elaborate {MODULE_TO_LINT}
check_lint
set waive_tags {{WAIVE_TAGS}}
for {set i 0} {$i < [llength $waive_tags]} {incr i} {
set tag [lindex $waive_tags $i]
if {$i == 0} {
waive_violation -app Lint -add waiver1 -tag $tag
} else {
waive_violation -app Lint -append waiver1 -tag $tag
}
}
set errors [get_violation_info -severity {fatal error}]
if {($errors) > 0} {
puts "Lint failed"
report_violations -list -report {all}
exit 1
}
# Report the Lint violations
report_violations -verbose -report {all} -no_summary -include_waived -file {REPORT_VIOLATIONS_FILE}
exit 0