( ESNUG 386 Item 14 ) -------------------------------------------- [01/16/02]

Subject: ( ESNUG 383 #14 ) PhysOpt 'Fixed Placement' Routing Obstructions

> Every now & then, I see a number of user questions regarding obstructions
> in PhysOpt.  With PhysOpt, we classify obstruction objects as:
>
>  (a) Power nets
>  (b) Fixed placement
>  (c) General 
>  (d) External
>
> In this letter I'd like to focus on "Power Net Objects".


From: "Cyrus Malek" <cyrusm@synopsys.com>

Hi John,

This is a follow-up to my earlier note (ESNUG 383 #14) on 'Power Net
Obstructions' in PhysOpt.  This note covers 'Fixed Placement Objects'.

Again: *Please* read ESNUG 383 #14 before reading this!!!


Fixed Placement Instances
-------------------------

Your design may contain instances that are fixed in place, either with the
'set_dont_touch_placement' command or the "RESTRICTION FIXED_PLACEMENT"
attribute in your PDEF.  These instances are always treated as placement
obstructions, and the layer obstructions and pin geometries that are part
of the physical cell description are used during congestion estimation and
delay calculation.  Any placement site that is occupied (even partially) 
by the fixed cell is removed from the list of available locations for cell
placement.

Note: Currently physical-only cells (filler cells, end caps, wellcaps, etc.)
MUST be fixed in place.  As usual, these cells are treated as placement
obstructions.

To determine what your cell obstructions look like in the psyn_gui (when the
Physical View is opened) a cell's internal obstructions can be made visible
by checking the check box next to 'Obstruction'.  Likewise, the cell's port
shapes can be made visible by checking the check box for 'Port Shape'.  In
the standard display mode for cells, all cells that are fixed in place will
show up in a different color.  The color setting can be modified in the Cell
Preferences menu.
 
Any cell that is fixed in place may have an additional constraint
attached to it called a 'keepout_margin'.  


Fixed Placement Keepout Margins
-------------------------------

Typically, keepout margins are specified around hard macros such as RAMs and
ROMs to avoid routing congestion around the corners of these objects.  The
keepout margin defines an extended 'no-placement-zone' around the specified
cell.  PhysOpt goes one step farther and allows the user to define keepout
margins around any cell that has been fixed in place.

Prior to version 2001.08, a variable was used to define global keepout
margins.  As of version 2001.08, commands relating to keepout margins have
been added to enhance the usability of keepout regions.  Now users can
specify margins on a per-instance basis, as well as define keepouts on a
per-edge basis (each edge can have a different keepout margin). 

      set_keepout_margin     -type hard | soft \
                             -outer {lx by rx ty} object_list
 
      report_keepout_margin [-type hard | soft ] object_list

      remove_keepout_margin [-type hard | soft ] object_list

Keepout areas can be of two types: 
     
      Hard: An area you can automatically create, within which the
            rough placer AND the legalization engine avoid placing cells.

      Soft: An area you can automatically create, within which the
            rough placer avoids placing cells. During the legalizing
            process, cells can slide into the area, but the distance they
            travel is minimal.

Part of the hidden beauty of these commands is that the user can 
experiment with 'soft modifications' to their floorplan without having
to re-floorplan their design.

    - Cyrus Malek
      Synopsys, Inc.                             Austin, Texas


 Sign up for the DeepChip newsletter.
Email
 Read what EDA tool users really think.


Feedback About Wiretaps ESNUGs SIGN UP! Downloads Trip Reports Advertise

"Relax. This is a discussion. Anything said here is just one engineer's opinion. Email in your dissenting letter and it'll be published, too."
This Web Site Is Modified Every 2-3 Days
Copyright 1991-2024 John Cooley.  All Rights Reserved.
| Contact John Cooley | Webmaster | Legal | Feedback Form |

   !!!     "It's not a BUG,
  /o o\  /  it's a FEATURE!"
 (  >  )
  \ - / 
  _] [_     (jcooley 1991)