Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

IC5: Skill and inherited Connection

Status
Not open for further replies.

hqqh

Full Member level 4
Joined
Feb 7, 2002
Messages
194
Helped
8
Reputation
16
Reaction score
2
Trophy points
1,298
Activity points
1,602
inherited connection

Hi,
i have an hierarchical schematic in ic5033 and try to get the connectivity (using skill) of nets that are connected by inherited connections.
is it possible to get all terminals of instances in deeper hierarchies, which are connected to a net at top-level?
thanks in advance,
hqqh
 

inherited net evaluate skill cadence

Suppose inst is the dbId of the instance, then
inst~>instTerms
is the list of instance terminals.
Using
inst~>instTerms~>net~>name
can get the netname list connected to the instances.
 

Hi hughes,

thanks for your reply. but i have the problem, that i want to know all terminal, that are connected to a net. i know that i can get this information by the command:
netid~>net~>instTerms~>inst~>name, where netid is the database id of a net. but the big problem is, if you have inherited connections, the '~>' operator doesn't work.
so i'm looking for a skill-function, that tells me if a net has such inherited connections and to which net or terminal the net is connected.

greetings,
hqqh
 

Hi hqqh,

I hope this time I'm not misunderstanding you.

Given a net name 'netName' in cellview cv (dbId), the following skill program will print out all the connection by instances' netSet property.
Code:
( foreach inst cv~>instances
  ( unless inst~>nlAction && inst~>inst~>nlAction == "ignore"
    ( foreach prop inst~>prop
      ( when prop~>valueType == "netSet" && prop~>value == netName
        ( printf "%s is connected to %s/%s\n" netName inst~>name prop~>name)
      ) ; end-when
    ) ; end-foreach
  ) ; end-unless
) ; end-foreach
The default inherited connections ( those without a netSet property assigned to a inst) will not be printed however. To find the default inherited connections, we have to search through the whole hierarchy.
 

hi hughes,

you are a genius! this is exactly what i want.
but you mentioned default inherited connections, that will not be printed by this script. i thought that all inherited connections are defined by the net expressions ???
i think i have to read the "Inherited connection flow guide" of the cadence documentation, to understand the therory behind these kind of connections.
thanks again.

greetings,hqqh
 

Hi hqqh,

You flattened me. I'm very glad to discuss Skill programming with you.

Let me explain what I mean by default inherited connections.
Suppose I have constructed a INV cell. In the schematic view, the source of the PMOS is connected to a net with a net expression -- the 'Property Name' is 'vdd', and the 'Default Net' is 'vdd!'. In the top cellview, some of INV instances do not have a netSet property named vdd. Then the pmosfet's sources in these INV instances should be connected to 'vdd!' by default. However, the program posted above will not find these connections. Fortunately, the default value of a net expression can only be set to a global net name. Therefore, we don't need to search the complete hierarchy for each default connections. After the complete hierarchy is netlisted, all default connections formed.

I'm trying to make things clear. But please forgive me for my poor english...

Best regards,
Hughes
 

    hqqh

    Points: 2
    Helpful Answer Positive Rating
Hi,
I am trying to capture the bulk connections of all nmos transistors in a hierarchy. The only issue is that the names I capture after descending down a hierarchy with a self referenced procedure the only name I am able to capture are the names in the particular level of hierarchy. I am using
bulkName = car(cadr(inst~>conns~>net~>sigNames)); (D, B, G, S)

how can I get the net name as referred to at the top level schematic?
Thanks for the help.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top