( ESNUG 337 Item 7 ) -------------------------------------------- [11/18/99]

From: Gzim Derti <gderti@intrinsix.com>
Subject: Help!  Gzim's Being Burned By The "is_hierarchical" Attribute!

John, 

If possible could you squeeze this into this week's ESNUG????  When I read
in a hierarchial design top level and link up the design, I need to
perform a:

       get_attribute find(design, <design_name>) is_hierarchical

to see if the design that I am looking at is either a structural or a leaf
module.

According to Synopsys documentation, if I perform get_attribute on a design
that consists of ONLY technology library components, the return of the
get_attribute command should be "false"...  BUT I ALWAYS get "true"!  I have
tried "get_attribute" on designs, cells, references and come up with the
same results.  Here's a transcript of what I did and what was returned:

  dc_shell> find(design, "*")

  {"ref_rx_chan_fltr", "ref_fir_len95", "ref_out_if",
   "ref_out_if_DW01_add_19_0", "ref_out_if_DW01_sub_19_0",
   "ref_out_if_DW01_add_19_1", "ref_in_if", "ref_small_mux2",
   ...
   "ref_multiply_193", "ref_multiply_193_DW02_mult_18_18_0"}

  dc_shell> get_attribute find(design, ref_in_if) is_hierarchical

  Performing get_attribute on design 'ref_in_if'. 
  {"true"}


I would expect "false" since when I do a current_design ref_in_if and a
report_reference I get the following:

  ****************************************
  Report : reference
  Design : ref_in_if
  Version: 1999.05-4
  Date   : Mon Nov 15 12:19:12 1999
  ****************************************

  Attributes:
      b - black box (unknown)
     bo - allows boundary optimization
      d - dont_touch
     mo - map_only
      h - hierarchical
      n - noncombinational
      r - removable
      s - synthetic operator
      u - contains unmapped logic

  Reference     Library       Unit Area   Count    Total Area   Attributes
  ------------------------------------------------------------------------
  AN210    GS30_W_125_1.65_CORE.db     1.250000       9    11.250000
  AN221    GS30_W_125_1.65_CORE.db     1.750000       1     1.750000
  BU130    GS30_W_125_1.65_CORE.db     1.750000      63   110.250000
    ...
  TDP10    GS30_W_125_1.65_CORE.db     6.750000      11    74.250000 n
  TDP20P   GS30_W_125_1.65_CORE.db     7.000000       3    21.000000 n
  TO010    GS30_W_125_1.65_CORE.db     1.750000       6    10.500000
  ------------------------------------------------------------------------
    Total 30 references                                   951.750000


All of the cells are from the tech library GS30 !!!  I'm stumped and REALLY
need to get past this ASAP.  Thanks for any/all help.

    - Gzim Derti
      Intrinsix Corp.                              Rochester, NY

P.S. Have a Happy, Healthy, and Safe Holiday next week!!!!!

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

From: [ The Synopsys Support Center ]
To: Gzim Derti <gderti@intrinsix.com>

Hi Gzim,

You are right, the man pages for design attributes says that a design is
hierarchical only if it contains cells which are not leaf cells.

I found STAR 69694 filed to report the same problem.  I doubt if there is
a solution to this problem but I'll let you know what the DC folks say about
this one as soon as I hear from them.

    - [ The Synopsys Support Center ]

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

From: Gzim Derti <gderti@intrinsix.com>
To: [ The Synopsys Support Center ]

Thanks for your response, I hope the test-case stuff I sent you worked
easily.  Just so you know, I REALLY need this to work for my current
synthesis flow to have ANY chance of running.  Trying to work with
multiply instantiated structural blocks is IMPOSSIBLE without being able
to figure out the difference between hierarchical and non-hierarchical
designs "on the fly".......

This is how I ran into this problem.  I can parse through the original
code to find the structurals, but if I need to perform a uniquify on a
structural block that will modify my structural list, I then need to be
able to decide what type of block I'm dealing with BEFORE I try and
compile multiple structural hierarchies needlessly.

ANY help would be GREATLY appreciated.

    - Gzim Derti
      Intrinsix Corp.                              Rochester, NY



 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)