( ESNUG 279 Item 4 ) ------------------------------------------------ [2/5/98]

From: Srikant-reddy.MODUGULA@st.com (Srikant R Modugula)
Subject: Identifying Clock Trees As "Clock" Startpoints In Prime/DesignTime

Hi John,

Here is something which I have asked Synopsys for and want to share with
other users. I wish Synopsys provides the feature soon.  Design:
           _________
          |         |
          |  _____  |
          | | DFF |_|__ NET_A
      ----|>|_____| | |
  CLK_A   |         | |
          |_________| |
          Block "A"   |                            _______
                      |                    NET_C  |       |
                      |                        ->-|       |
                      |                       |   |       |
                      |                       |   |       |
                      |                       |   |_______|
                      |    _______________    |   Block "C"
                      |   |  _______      |   |
                      |->-|-| Comb. |_    |   |
                          | | Logic | |   |   |
                          | |_______| |->-|->-|
                          |  _____    |   |
                  CLK_B   | | DFF |___|   |
                      ----|>|_____|       |
                          |_______________|
                              Block "B"

Premises:

  1/ CLK_A and CLK_B are derived from SAME clock "phi" thru a clock-tree
     network.
  2/ Between CLK_B and "DFF" there is another clock-tree.
  3/ The path "CLK_A - NET_A - NET_C" is longer than "CLK_B - NET_C"
  4/ I dont (want to) know the instance names of "DFF" in Blocks A/B

Problem: Now I want to report_timing, from "CLK_B - NET_C" ?
	
I try :
	
    report_timing -del max -from CLK_B -thr NET_C 
      --> no paths since the path starts at "clock pin" of "DFF";
          not from CLK_B

    report_timing -del max -from phi -thr NET_C
      --> gives path from "CLK_A - NET_A - NET_C" since it is longer.

How can i pin point this path, using a report_timing command?
	
    Now, the only (brutal!) way I found to get the path from "CLK_B to
    NET_C" is to use report_timing -del max -max 100 -from phi -thr NET_C
      --> hoping that "CLK_B - NET_C" is in those 100 paths I do text
          processing to get that path.
	
Note that the "clock tree" from "phi" to "CLK_B's DFF" is understood
by DC/PTime with set_clock_skew -propagated command and this insertion
delay is considered while reporting paths from "CLK_B's DFF"!  DC/PTime has
the information; it now needs to use it for understanding the command:
report_timing -del max -from CLK_B -thr NET_C

    Is there any other/better way anyone can think of?
    Did anybody else face this kind of problem?
    Does anybody else want a solution for this, from Synopsys?

  - Srikant R Modugula
    SGS-Thomson Microelectronics,       New Delhi, India



 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)