( ESNUG 385 Item 11 ) -------------------------------------------- [12/19/01]
Subject: ( ESNUG 382 #9 ) PhysOpt/DFT Spends A *Long* Time Fixing DRC's
> I want to alert your readers to the recent changes in the DFT Compiler /
> PhysOpt flow in the new 2001.08 release.
>
> - Vandana Kaul
> Synopsys, Inc. Mountain View, CA
From: "Neel Das" <neel.das@corrent.com>
Hi John,
Some time back we saw this update from Synopsys on the new insert_dft flow.
We're seeing some interesting things in our flow, and I wanted to check if
some other readers have seen similar stuff, and could (of course!) suggest
some workarounds...
1) insert_dft seems to spend a *long* time, fixing DRC violations. We
are getting better runtimes and lower gatecounts with insert_scan
followed by a 'physopt -incremental -eco'.
2) One of our clusters (floorplan units) needs to have
a) a set of pre-placed registers, which get placed in Apollo,
then show up in the PDEF's as FIXED cells
b) also a set of registers that we place with 'set_bounds', and
are hard bounded.
In both (a) and (b), the registers inherit the dont_touch attribute.
insert_scan then skips these cells during scan stitching: which is
not good!
To work around (a), I removed the FIXED attributes from the PDEF file, then
applied 'set_cell_location' for each register I wanted in a specific
location. Then I ran insert_scan followed by 'physopt -inc -eco'. The cells
did not remain at *exactly* the original spots, but they're close enough.
I don't have a workaround for (b) yet... any pointers, anyone??
Here's an interesting aside:
If I do a 'report_cell -verbose -physical' on one of the cells from (a)
or (b), I can see that dont_touch is set to TRUE.
****************************************
Report : cell
-physical
-verbose
Design : ddr_oeddr
Version: 2001.08-1
Date : Tue Dec 11 00:39:45 2001
****************************************
cell 'ddrc/io/address_0/ffr':
Loc: (5095.20, 183.36) ORIENT: 180-mirror
Area: 48.384
dont_touch: TRUE
blah blah blah ...
1
However, if I do a report_attribute or a remove_attribute, PhysOpt reports
that a dont_touch attribute DOES NOT exist on the cell!
psyn_shell-t> get_attribute ddrc/io/address_0/ffr dont_touch
Warning: Attribute 'dont_touch' does not exist on cell
'ddrc/io/address_0/ffr'. (UID-101)
I'm waiting to get Synopsys support respond on this one...
- Neel Das
Corrent Corp. Tempe, AZ
|
|