( ESNUG 398 Item 8 ) --------------------------------------------- [07/31/02]
Subject: ( ESNUG 397 #5 ) PhysOpt DEF Output Missing SHAPE Properties, Too!
> PhysOpt doesn't write out the PROPERTYDEFINITIONS section in a DEF file
> correctly. It does not add a space before the semicolon at the end of
> each of the following lines. Silicon Ensemble can not parse this DEF
> without a space between each token. It flags an error.
>
> NET ROOT_ORIGINAL_NAME STRING;
> COMPONENTPIN CLOCKROOT STRING;
> NET CLOCKROOT STRING;
>
> which should be:
>
> NET ROOT_ORIGINAL_NAME STRING ;
> COMPONENTPIN CLOCKROOT STRING ;
> NET CLOCKROOT STRING ;
>
> This was seen while reading DEF from PhysOpt into Silicon Ensemble.
>
> - John Cooley
> the ESNUG guy
From: Noa Safra <rm10192@email.sps.mot.com>
Hi John,
You mentioned in the ESNUG 397 #5 that DEF from PhysOpt cannot be read into
Silicon Ensemble because of the PROPERTYDEFINITIONS. I'd like to add one
more reason -- PhysOpt writes SHAPE properties in the wrong place. When we
dump DEF out of PhysOpt we get statements like this, which are not valid in
Cadence DEF (and PKS falls on this when we load the DEF, unless we edit it
manually.)
- vdd ( * vdd )
+ ROUTED + SHAPE STRIPE m3 9400 ( 3504500 900 ) ( * 2385000 )
NEW + SHAPE STRIPE m3 9400 ( 3693050 900 ) ( * 2385000 )
NEW + SHAPE STRIPE m3 9400 ( 3854500 900 ) ( * 2385000 )
...
NEW + SHAPE STRIPE m4 9200 ( 900 1769000 ) ( 3859200 * )
NEW + SHAPE RING m4 7000 ( 0 2388500 ) ( 4375000 * )
NEW + SHAPE STRIPE m4 9200 ( 900 1944200 ) ( 3859200 * )
NEW + SHAPE RING m4 7000 ( 0 3500 ) ( 4375000 * )
NEW + SHAPE STRIPE m3 9400 ( 3154500 900 ) ( * 2385000 )
This is the DEF format, taken from Cadence openbook:
{ROUTED | FIXED | COVER | SHIELD shieldNetName}
layerName width
[+ SHAPE {RING | PADRING | BLOCKRING | STRIPE | FOLLOWPIN | IOWIRE
| BLOCKWIRE | BLOCKAGEWIRE | FILLWIRE}]
( x y) [ ( x * ) | ( * y ) | viaName]...
[ NEW layerName width
[+ SHAPE {RING | PADRING | BLOCKRING | STRIPE | FOLLOWPIN | IOWIRE
| BLOCKWIRE | BLOCKAGEWIRE | FILLWIRE}]
( x y ) [ ( x * ) | ( * y ) | viaName ]...]...
The metal width should be before the "+ SHAPE " statement.
This happends either when I use the new PhysOpt 2002.05 "write_def" and also
when I save db and use db2def. This is a bug, and Synopsys reported they
will fix it in 2002.05-SP1 release of PhysOpt.
- Noa Safra
Motorola
|
|