RTL Lint Checking Lec
RTL Lint Checking Lec
RTL Lint Checking Lec
Setup Instructions:
1. cd <scripts directory of your design block>
2. get_fpv overwrite
3. Customize fpv/do_fpv.cfg as needed.
4. For HAL: blackbox lower level TSBs, LWCs, and external IPs that are not in your control or not of interest to you
with respect to linting.
All dependent IP components and CAD IP are now automatically blackboxed in HAL by default.
Specify additional blocks to blackbox in fpv/my_hal_design_info.txt.
5. For RC & Conformal: customize fpv/user_info.rctcl as needed. See comments embedded in the file for instruction.
Usage:
Run lint in batch. Return exit code of 0 if there is no NEW violations to indicate a clean run.
fpv/run_lint.cmd
Bring up GUI to analyze after a prior lint run.
fpv/do_fpv.cmd analyze
Run lint and then launch gui with a single command
fpv/run_lint.cmd gui
Typical Use Model:
In GUI, review NEW violations and move all of them to FIX/DEFER/WAIVE.
Fix RTL for the violations in FIX, and make other incremental RTL change.
Run lint again, and make sure the violations in FIX disappear. Review any violations in NEW, introduced by the
incremental RTL change, and move all of them to FIX/DEFER/WAIVE.
Use run_lint.cmd as RTL release QA script:
To make a RTL release with run_lint.cmd as QA script:
pmc_ws tag --all_files --perm --notefile note.txt --qa_script fpv/run_lint.cmd (Do not bsub this command)
LEVEL0
Individual checks
subtracted from
analysis space
DESIGN
Then sort
by tool
Then sort
by category
Then sort
by tag
2_FIX.log &
GLOBAL_ADD not
displayed because
they have no violation
< indicate
violation belong to
multiple categories.
Each RC violation
can be expanded by
clicking the +
sign.
Hit FIX
Button
Select
Specific
Violations
Violations
moved to
2_FIX.log
QA completed successfully.
p_a_release_448 created.
GLOBAL_SUB
as defined
LOCAL_SUB as
defined
Outer_space
minus
(LOCAL_SUB
and
GLOBAL_SUB)
PMC-Sierra, Inc. Proprietary and Confidential 38
DCP Audit Procedure
Create workspace
Review setups:
SCRIPT_VERSION should be at least v4.0 in fpv/do_fpv.cmd
TOP and CATEGORIES_TO_ANALYZE in fpv/do_fpv.cfg
LOCAL_SUB in fpv/local_lint_rule
GLOBAL_SUB in file environment variable $GLOBAL_LINT_RULE points to
User defined blackboxes in fpv/my_hal_design_info.txt
User defined synthesis and DFT setup in fpv/user_info.rctcl
fpv/rc.elist: any difference from template
/tools/lib/configs/start_common/fpv/rc.elist
fpv/dft_view.elist: any difference from template
/tools/lib/configs/start_common/fpv/dft_view.elist
Run fpv/run_lint.cmd to ensure the lint result is up-to-date.
Run fpv/do_fpv.cmd analyze. Check that all buckets other
than WAIVE are empty. Review all WAIVE violations.
-history 2012.07.26.10.34.49
History taken from run 2012.07.26.10.34.49 with the same TOP
Get history from an older run, if the last run was a bad run resulting in
loss of classification history (e.g. you accidentally blackboxed too many
sub-blocks)
-history TOP_2/2012.07.25.18.54.24
History taken from run 2012.07.25.18.54.24 with TOP_2 as TOP
Maybe useful if TOP changed