( Post 96 Item 1 ) ------------------------------------------------------

Subject: ESNUG Post 95 Item 2 "Problems With Timing Arcs & Timing Reports"

> I have a hierarchical design in which I'd like to disable a timing
> arc contained in one of the lower-level modules and generate a new
> top-level timing report.  
> 
> I tried to do this, but when I generate the new timing report, the
> timing arc I disabled still shows up.  What's the right way to do
> this?
>
> Also, while I'm on the subject of timing arcs, is there an easy 
> way to disable timing arcs based on the name of a bussed module port
> rather than manually find all the cells that the individual bits of
> the port connect to?

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

From: sgolson@trilobyte.com (Steve Golson)

Concerning your first question: this can happen if you are down in the 
hierarchy when you disable the timing arc, but are at the top when you 
run the timing report.  You need to have current_design the same for 
the disable_timing *and* the timing report.

report_design will show you all the disabled timing arcs.  Run it
just before you run report_timing, and see what it says.

Concerning your last question: maybe try disable_timing on the net,
rather than the pin?

What would be nice is to find out all the pin names on a given net.
Then you can disable_timing, etc. Unfortunately I think this is
impossible.  I'd *love* to be proven wrong...

Steve Golson -- Trilobyte Systems -- Carlisle MA -- sgolson@trilobyte.com

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

From: David Tornheim

I had a similar problem with timing loops and am equally curious about
what the proper solution is.  Specifically, I tried the disable_timing
command, but got the following mysterious error:

  Error: Can not disable timing arcs on pins on cell MYCELLNAME. (OPT-409)

Because of the methodology our group uses, all of the timing arcs which must
be disabled come from latch blocks (which we separate from logic blocks).
As a work-around to the above problem, I used the group command so that
all latch blocks were put in one group and all logic blocks in another.
By restarting Synopsys, and loading in just the logic block group, and
setting all arrival times, I could get the timing without concerns about
timing loops through latches.  This would allow a critical path
crossing several logic blocks (from different modules) to be measured and
optimized.

-David Tornheim


( Post 96 Item 2 ) ------------------------------------------------------

From: vaseem@berlioz.nsc.com (Vaseem Anjum)
Subject: Simulation and Synthesis Differing plus Vague Cryptic Warning

Hi!

Can anyone decipher this message for me. My simulation is just fine.
Synthesized netlist creates an X in one of the bits of my counter
and propogates all throughtout.  This is the message I get during 
my synthesis run.

Warning: Variable 'late_cycle' is driven in more than one process
         or block in file counter.v.  This may cause mismatch
         between simulation and synthesis.  (HDL -220)

Any pointers appreciated.

Regards,
Vaseem...


( Post 96 Item 3 ) ------------------------------------------------------

Subject: Post 95 Item 1 "How To Use A User-Defined Library"

>How to use a user-defined library like "use WORK.components.all"?
>
>How to set the "WORK" directory?  Do I place all the library files
>in the "WORK" directory? (All the library files are *.sim or *.mra,
>which are used in doing the gate-level simulation)
>
>In a word, how can I use the gate-level simulation library by using
>the code like that "use WORK.components.all" ?

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

From: perrys@ichips.intel.com (Perry Stultz)

Q-- How to set the "WORK" directory?

A-- To set the work directory for any standard directory
    on your system, add the following two lines to your
    vhdl.uof file which should be in your current working
    directory.

	work > default
	default : ./working

    The entry ./working can be any valid unix path/directory.
    By having this in your vhdl.uof file, the program vhdlan
    will place all your *.mra and *.sim files in the 
    ./working directory.  Your simulator will then look
    in the directory for all needed file.

    The only time you should need to reference this directory
    work is in a configuration directory.

    Hope this helps.

Perry S. Stultz
Intel Corporation, Microprocessor Division 6



 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)