( ESNUG 380 Item 9 ) -------------------------------------------- [10/25/01]
From: Vandana Kaul <vkaul@synopsys.com>
Subject: New Methodology Changes In The 2001.08 PhysOpt / DFT Compiler Flow
Hi John,
I want to alert your readers to the recent changes in the DFT Compiler /
PhysOpt flow in the 2001.08 release.
The Old PhysOpt Scan Flow
-------------------------
In previous releases of PhysOpt, once a scan replaced, physically optimized
design was created, additional steps were required to 1.) legalize any new
cells added (e.g. lockup latch) during scan chain stitching and; 2.) to fix
any timing violations introduced during scan chain stitching. This is no
longer necessary in 2001.08. Here are the old RTL-to-placed-gates (RTL2PG)
and the old gates-to-placed-gates (G2PG) flows, respectively:
Old (Pre-2001.08) RTL2PG Flow:
#Generate placed, optimized, scan replaced netlist
compile_physical -scan
check_dft
#Stitch scan chain
set_scan_configuration ...
set_scan_signal ...
insert_scan -physical
check_dft
#Verify all cells are placed on legal locations
check_legality
#Legalize the placement of any new cells
legalize_placement -eco
#Fix timing violations
physopt -incremental
Old (Pre-2001.08) G2PG Flow:
#Generate scan replaced netlist
compile -scan
#Place & optimize scan replaced netlist
physopt
check_dft
#Stitch scan chain
set_scan_configuration...
set_scan_signal...
insert_scan -physical
check_dft
#Verify all cells are placed on legal locations
check_legality
#Legalize the placement of any new cells
legalize_placement -eco
#Fix timing violations
physopt -incremental
Notice the placement legalization step required after scan chain stitching
and the incremental "physopt" run required to fix any timing violations.
The New PhysOpt Scan Flow
-------------------------
In v2001.08 of PhysOpt, the command "insert_dft" automatically performs any
necessary placement legalization and timing optimization, thereby removing
the need for the additional commands mentioned above. Following are the
RTL-to-placed gates and gates-to-placed gates flows in 2001.08:
New 2001.08 RTL2PG Flow:
#Generate placed, optimized, scan replaced netlist
compile_physical -scan
check_dft
#Stitch scan chain
set_scan_configuration...
set_scan_signal...
insert_dft -physical
check_dft
New 2001.08 G2PG Flow:
#Generate scan replaced netlist
compile -scan
#Place & optimize scan replaced netlist
physopt
check_dft
#Stitch scan chain
set_scan_configuration...
set_scan_signal...
insert_dft -physical
check_dft
The benefits of using the new 2001.08 flow are: 1) new cells added after
scan insertion are automatically placed during "insert_dft -physical";
2) timing violations are automatically fixed during "insert_dft -physical."
The New "set_scan_state" Command
--------------------------------
When starting with an existing Verilog netlist that has already been scan
replaced, the new command, "set_scan_state" should be used to tell PhysOpt
and DFT Compiler the netlist is test ready. Following is an example flow:
#Read scan replaced netlist & floorplan
read_verilog scan.v
read_pdef floorplan.pdef
#Place & optimize scan replaced netlist
physopt
#Indicate design is scan replaced
set_scan_state test_ready
#Report/confirm scan state of design
report_test -state
#Stitch scan chain
set_scan_configuration...
check_dft
insert_dft -physical
check_dft
When starting with a design that has the scan chains stitched, use the
command "set_scan_state scan_existing" instead of "set_scan_state
test_ready" to indicate the design is scan chain stitched, not just scan
replaced.
The command "report_test -state" can also be used when starting with an
existing scan replaced .db file to verify the scan state of the design.
All Scan Is Now Placement Driven
--------------------------------
In previous releases of PhysOpt, ordering of scan flip-flops within a chain
was placement driven, but partitioning of scan chains was alphanumeric, not
placement driven. In 2001.08, PhysOpt / DFT Compiler will partition scan
cells into scan chains based upon placement information for the scan chains.
The benefit is additional reduction in wire length, and therefore improved
congestion and routability.
Adding A Lockup Latch To The End Of Scan Chains
-----------------------------------------------
The "set_scan_configuration" command has a new option in 2001.08 which
allows customers to add a lockup latch to the end of the scan chain. The
command syntax to enable this capability is:
"set_scan_configuration -insert_end_of_chain_lockup_latch true"
The default value for this option is false.
I hope your readers find this information useful!
- Vandana Kaul
Synopsys, Inc. Mountain View, CA
|
|