( 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
|
|