( ESNUG 382 Item 9 ) -------------------------------------------- [11/15/01]

Subject: ( ESNUG 381 #3 ) PhysOpt, Scan Chain Order, And Using DFT Compiler

> For us, the end of a scan chain is a flop that is also a primary Output,
> so we don't need a MUX.  Why would one want a lockup latch at the end of
> a scan chain?  Well, we know what those things are used for, shifting
> reliably across different clock domains.  But I associated the "end of
> the chain" as the primary scan out, and where's the other domain after
> that?
>
>     - Paul Schnizlein
>       Agere Systems                              Austin, TX


From: Lars Bo Graversen <larsg@mips.com>

Hi John,

One use of having a lockup latch at the end of your scan chain(s) is if the
design you are inserting the scan chain in is not a full chip, but a piece
of IP (soft- or hardcore) which other users will integrate in a SoC and then
connect the scan chains in the IP with the outside scan chains.  In this
case, the flop connected to the IPs primary scan out could be in another
clock domain.  In this case, having a lockup latch at the end of the scan
chain inside the IP is very useful.

    - Lars Bo Graversen
      MIPS Denmark

         ----    ----    ----    ----    ----    ----   ----

> If you are starting with a scan stitched design and you set the scan state
> to scan_existing, will PhysOpt know to ignore the scan chain connections in
> it's placement?  This seems a very important issue; if PhysOpt does not
> ignore these connections then the placement will be non-optimal.  PhysOpt
> should be able to do this because it has all the information it needs.  It
> knows the scan chains are stitched and it knows what nets are involved.
> However if PhysOpt does not use this information when it does the placement
> it is not doing as good of a job as it could.
>
> I would be interested in knowing what PhysOpt does in this case.
>
>     - Paul Fletcher
>       Motorola                                   Chandler, AZ


From: Vandana Kaul <vkaul@synopsys.com>

Hi John,

PhysOpt will not do anything special for scan nets when you bring a scan
stitched netlist into PhysOpt/DFT Compiler.  It will consider them for
placement, as well as design rule fixing.  You can disable design rule
fixing on these nets by specifying them as ideal (via the "set_ideal_net"
command), but PhysOpt will not ignore these nets for placement during
the "physopt" command.  Therefore, as Paul suggests, the placement will
not be optimal in this case.

There are additional items to keep in mind when bringing a scan stitched
Verilog netlist into PhysOpt/DFTC:

  1. You need to tell PhysOpt about any non-scan flip-flops in the
     design using the command "set_scan_element false."

  2. You need to identify the scan ports using the "set_signal_type"
     command.

  3. When you run "insert_dft -physical" after running the "physopt"
     command, PhysOpt/DFTC will not repartition the scan chains.  In
     other words, scan reordering will occur within a chain, not
     across chains.

I hope this helps Paul!

    - Vandana Kaul
      Synopsys, Inc.                             Mountain View, CA


 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)