( ESNUG 385 Item 5 ) --------------------------------------------- [12/19/01]

From: Michael Krause <mkrause@synopsys.com>
Subject: PhysOpt set_ideal_net & "set_auto_ideal_net -scan true" Has Changed

Hi, John,

The PhysOpt behavior of "set_ideal_net" command has changed in the 2001.08
release (which affects flows using "insert_dft -physical".)  An AC in Korea
ran into this issue, and I thought your readers  might be interested in what
he found out.

Typically customers coming into PhysOpt with already scan-stitched netlists
use either "set_ideal_net" on the scan enable net or "set_auto_ideal_net
-scan true" prior to reordering their scan path.  Customers who did this in
the 2000.11 base release (or its succeeding service packs) need to be aware
that in 2001.08, these commands result in the addition of a dont_touch
attribute that interferes with reordering.

For example, in 2000.11-SP2, "report_net" on the TEST_SE net would show 
the following Attributes:
         
  i - ideal

  Net           Fanout     Fanin      Load   Resistance    Pins   Attributes
  --------------------------------------------------------------------------
  TEST_SE          380         1      6.49         0.00     381   i
  --------------------------------------------------------------------------

Here is the same report run in the 2001.08 version.  Notice the addition of
the dont_touch attribute:

  Information: set_ideal_net disables DRC, sets dont_touch on the net and 
  makes its timing ideal. (UID-406)

  Attributes:
     d - dont_touch
     i - ideal_net

  Net           Fanout     Fanin      Load   Resistance    Pins   Attributes
  --------------------------------------------------------------------------
  TEST_SE          380         1      0.00         0.00     381   d, i
  --------------------------------------------------------------------------

The dont_touch attribute interferes with reordering.  When you attempt to run
"insert_dft -physical", you will see the following message:
     
       Warning: Cannot use port 'TEST_SE' as a 'test_scan_enable'. 
                It's net has a dont_touch attribute. (TEST-358)

This causes DFT Compiler ("under the hood" of Physical Compiler) to add a new
scan enable port, test_se, but since this port has no placement information,
it causes further problems:

  Error: Cannot inherit location from pad pin 'I_ALU/Zro_Flag_reg/SE' to
         port 'test_se' because this cell I_ALU/Zro_Flag_reg is not a
         real pad cell. 
  Please check the library.. (PSYN-117)
  Error: Port test_se has no location. (PSYN-007)
  Error: Command 'physopt' had an error while executing.
  Discontinuing. (PSYN-003)
  Error: physopt has abnormally terminated.  (OPT-100)

The solution is to use "set_auto_disable_drc_nets -scan true" in 2001.08.
This command is new in 2001.08 and is used to disable DRC checking on nets
like clocks, scan signals, and constants.  It replaces "set_auto_ideal_net".

With the new command, you will see the following "report_net" output:

  Attributes:
    dr - drc disabled

  Net           Fanout     Fanin      Load   Resistance    Pins   Attributes
  --------------------------------------------------------------------------
  TEST_SE          380         1      6.49         0.00     381   dr
  --------------------------------------------------------------------------
        
Now, you can apply "insert_dft -physical" and complete scan reordering.

    - Mike Krause
      Synopsys, Inc.                             Schaumburg, IL


 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)