Formality Basic Lab Instruction
Formality Basic Lab Instruction
Purpose: These labs are designed for you to become familiar with using
Formality.
Content: There are four labs using Synopsys training and public-domain
RTL source. The netlists were generated using DesignCompiler 2006.06-
SP5 software. Be aware that there are additional SVF enhancements
created by later versions of DC. (Using newer SVF files with the Auto
Setup Mode in Formality will reduce or eliminate the issues in these
labs.)
Procedure:
Follow the instructions for each lab.
There is a “.solution” sub-directory with the correct result.
Please compare your result with the correct result as you finish
each lab.
Lab flow:
All of the necessary reference and implemention files, and libraries
are included in sub-directories.
Use the Formality GUI to verify the golden Verilog RTL against the
gate-level Verilog netlist produced by DC. Be sure to include the SVF
file. Afterward, modify the resulting “fm_shell_command.log” file
to become a Formality TCL script.
b.) The DC produced SVF file "default.svf" is located under the sub-
directory "netlist_w_svf". This file is necessary for correct
setup.
c.) The Verilog RTL files are located under the directory "rtl". The
top-level design name is "mR4000".
help report*
report_passing_points
man set_top
man verify
report_status
(Note: If you have these types of mismatch issues using your design
at work, you need to make sure that these conditions are investigated
before taping-out your design.)
This lab requires the use of “hdlin_dwroot”. Please edit the runme.fms
under the …fm_basic/labs/lab2/scripts directory to correctly set the
variable “hdlin_dwroot” to the top-level location of the DC software.
Lab flow:
a. Read and link the reference VHDL files from the directory
src.
4.) Include the error message ID in the Formality script using the
variable hdlin_warn_on_mismatch_message to turn it into a warning
message instead.
Lab flow:
finish the verification, there are some additional clues to see if you
skipped the warning message.
Notice that several logic cone inputs seem to be missing in the pattern
window:
6
3.) Include the missing variable for specifying the DC tree in the FM
TCL script and re-run verification. If you do not get a successful
verification, view the .solution directory.
7
Lab flow:
a. Run Formality script fm.tcl.
formality –f fm.tcl |tee fm.log
c. Right mouse click on the first failing compare point and select
Show Patterns.
j. Select first failing compare point and click OK. The schematic
will highlight the error candidate (implementation) and the
matching region (reference).
p. Note that there is still 1 error detected but now there are 6
error candidates.
r. Select Show Logic Cones. Note that the Select Failing Compare
Point window shows the 7 failing points but only 2 have been
diagnosed.