Guest
All,
At a previous company I worked for I had available a script that
traced the path of a net from child or leaf cell to the parent. The
script was run and it used .sch files(we use Calibre, so AIF files are
similar) and it traced every net from the child pin up as far as it
went up the tree and placed it in a file. From there you could grep
for a child name in unix and see, for instance, if the signal at the
child was connected to a pad or was a signal with a wire spec at a
higher level, etc.
It looked like this
SignalName.TopLevelName.SignalName.LeafOne.SignalName.LeafTwo.....
Why the script traced up is because some signals have fan outs. IE, A
signal at a high level of heirarchy could go to many leafcells.
Therefore, the script used a heirarchial tree and traced from the
lowest leafcells on the tree up.
Does anyone have anything like this? I did find the post below by
Andrew, but I don't think I got it to work as described. I was
expecting to run the function wrapped in the form and upon selecting a
signal get:
en.instname.in, ect..... something of this nature
Instead I got:
/en
Anyways any help would be appreciated,
Eric
I found this post by Andrew, I had the Analog environment up.
"My guess is that you want to use asiSelectNet() or asiSelectTerm().
For
example, this code snippet shows you how to do this:
hiCreateAppForm(
?name 'MYform
?fields list(
hiCreateStringField(
?name 'net
?prompt "Net"
)
hiCreateButton(
?name 'select
?buttonText "Select"
?callback "asiSelectNet('net ?prompt \"Select Net\")"
)
)
)
; need to have the session id attached to the form
MYform->asiSession=asiGetCurrentSession()
hiDisplayForm(MYform)
This just creates a simple form, with two fields (I didn't bother
about
formatting them nicely), one which is a button. When you click on
the Select button, it prompts you to select something in the
schematic, and will return the My guess is that you want to use
asiSelectNet() or asiSelectTerm(). For
example, this code snippet shows you how to do this:
hiCreateAppForm(
?name 'MYform
?fields list(
hiCreateStringField(
?name 'net
?prompt "Net"
)
hiCreateButton(
?name 'select
?buttonText "Select"
?callback "asiSelectNet('net ?prompt \"Select Net\")"
)
)
)
; need to have the session id attached to the form
MYform->asiSession=asiGetCurrentSession()
hiDisplayForm(MYform)
This just creates a simple form, with two fields (I didn't bother
about
formatting them nicely), one which is a button. When you click on
the Select button, it prompts you to select something in the
schematic, and will return the hierarchical path to the net into
the form.
You need the Analog Design Environment open for this, but
apart from that it's pretty easy to use. These functions are
documented
in the Analog Design Environment SKILL Language Reference in the
chapter on Selection Functions (chapter 15 in IC50).
Regards,
Andrew."
At a previous company I worked for I had available a script that
traced the path of a net from child or leaf cell to the parent. The
script was run and it used .sch files(we use Calibre, so AIF files are
similar) and it traced every net from the child pin up as far as it
went up the tree and placed it in a file. From there you could grep
for a child name in unix and see, for instance, if the signal at the
child was connected to a pad or was a signal with a wire spec at a
higher level, etc.
It looked like this
SignalName.TopLevelName.SignalName.LeafOne.SignalName.LeafTwo.....
Why the script traced up is because some signals have fan outs. IE, A
signal at a high level of heirarchy could go to many leafcells.
Therefore, the script used a heirarchial tree and traced from the
lowest leafcells on the tree up.
Does anyone have anything like this? I did find the post below by
Andrew, but I don't think I got it to work as described. I was
expecting to run the function wrapped in the form and upon selecting a
signal get:
en.instname.in, ect..... something of this nature
Instead I got:
/en
Anyways any help would be appreciated,
Eric
I found this post by Andrew, I had the Analog environment up.
"My guess is that you want to use asiSelectNet() or asiSelectTerm().
For
example, this code snippet shows you how to do this:
hiCreateAppForm(
?name 'MYform
?fields list(
hiCreateStringField(
?name 'net
?prompt "Net"
)
hiCreateButton(
?name 'select
?buttonText "Select"
?callback "asiSelectNet('net ?prompt \"Select Net\")"
)
)
)
; need to have the session id attached to the form
MYform->asiSession=asiGetCurrentSession()
hiDisplayForm(MYform)
This just creates a simple form, with two fields (I didn't bother
about
formatting them nicely), one which is a button. When you click on
the Select button, it prompts you to select something in the
schematic, and will return the My guess is that you want to use
asiSelectNet() or asiSelectTerm(). For
example, this code snippet shows you how to do this:
hiCreateAppForm(
?name 'MYform
?fields list(
hiCreateStringField(
?name 'net
?prompt "Net"
)
hiCreateButton(
?name 'select
?buttonText "Select"
?callback "asiSelectNet('net ?prompt \"Select Net\")"
)
)
)
; need to have the session id attached to the form
MYform->asiSession=asiGetCurrentSession()
hiDisplayForm(MYform)
This just creates a simple form, with two fields (I didn't bother
about
formatting them nicely), one which is a button. When you click on
the Select button, it prompts you to select something in the
schematic, and will return the hierarchical path to the net into
the form.
You need the Analog Design Environment open for this, but
apart from that it's pretty easy to use. These functions are
documented
in the Analog Design Environment SKILL Language Reference in the
chapter on Selection Functions (chapter 15 in IC50).
Regards,
Andrew."