Home The Dirt Page Demos ESNUGs
Subscribe Feedback Photos Trip Reports
ESNUG
( ESNUG 344 Item 7 ) --------------------------------------------- [2/23/00]

Subject: ( ESNUG 342 #2 343 #1 )  More On The "set_dont_touch_network" Bug

> I want to thank Kayla for her observation on this issue.... I thought I
> was going crazy!!!  I've been compiling some blocks for a customer for a
> few months now and just recently I've noticed that since 99.10 that every
> once in a while it would NOT correctly listen to my set_dont_touch_network
> on a clock in a structural design....  The structural had 2 clocks, named
> CLK and CLK32FC.  The CLK32FC clock was correct while the CLK clock
> (redundant, I know...) was BUFFERED!  BUT, when I compiled this
> structural manually, the issue went away....  huh?
>
>     - Gzim Derti
>       Intrinsix Corp.                          Rochester, NY


From: Kayla R Klingman <kayla.r.klingman@tek.com>

Hi, John,

The following is directly from the Synopsys Support Center on logid 100418:

   The problem with set_dont_touch_network not working correctly in 99.10
   has been recently reported.  The STAR number for your reference is
   95299.  Here are the 2 possible Workarounds for the problem.

   Workaround #1

   Do NOT specify set_dont_touch_network at all.  Starting with DC 99.05,
   DC will infer the clock net as ideal.  By default, Design Compiler
   treats all clock networks as ideal nets.  Ideal nets are networks of
   nets that are free from max_capacitance and max_fanout design rule 
   constraints.  (For more info see command set_ideal_net)

   No buffers are added on the clock network. 

As a Side Note: ideal_net attribute by default does not propagate through
gating logic.  So if you had a gated clock, you would have to explicitly
set the ideal_net attribute at the output of the gate.

   Workaround #2

   There is another workaround provided by the R&D team.  You can keep the
   set_dont_touch_network in your script and set:

                     compile_map_for_delay = true

   This is a hidden variable, so use it with caution.  

I chose Workaround #1, since I am phobic of hidden variables that have no
documentation in SOLD.  I noticed a new Solvit aritcle that says to use
Workaround #1, but doesn't mention the hidden variable.

I'm told they have fixed this bug in 1999.10-5 plus Star 95299 and 93201.
I have not been able to confirm this since our DesignWare libraries go toes
up with this release.

    - Kayla Klingman
      Tektronix, Inc.                           Somewhere, Oregon







Top Home  

"This here ain't no one's opinion 'cept my own."
This Web Site Is Modified Every 2 to 3 Days
Copyright 1999-2007 John Cooley.  All Rights Reserved.
| Contact John Cooley | Webmaster | Legal | Feedback Form |