Need pins from schematic.

Guest
Hello,

I want to have some skill that gets the pins(interface terminals) and
eventually write them out to a file. I think I can figure out the
latter with some effort, the former I have so far:

cv = hiGetCurrentWindow();this seems to "pick" the schematic rather
than the layout, seems ok.
PinList = cv~>pin~>name

The first line seems to "pick" the schematic rather than the layout,
seems ok.
The second line was my best guess, and doesn't work and returns
nil. This is what I see
when I place this code in the CIW.

Thank you for any help,
Eric
 
Hello Eric,

Open a schematic view and run the following:

procedure(SchPins()
let((cv)
cv = geGetWindowCellView()

foreach(instance cv~>instances
if(instance~>cellName == "ipin" || instance~>cellName == "opin"
|| instance~>cellName == "iopin"
then println(instance~>pin~>term~>name)
) ;;if

) ;; foreach
) ;; let
) ;; procedure

Maybe the code is a little bit heavy, but it works.

I hope it helps

Best,

bubu
 
On Feb 25, 1:37 pm, bu-bu <bedo...@gmail.com> wrote:
Hello Eric,

Open a schematic view and run the following:

procedure(SchPins()
let((cv)
cv = geGetWindowCellView()

foreach(instance cv~>instances
       if(instance~>cellName == "ipin" || instance~>cellName == "opin"
|| instance~>cellName  == "iopin"
          then println(instance~>pin~>term~>name)
       ) ;;if

) ;; foreach
) ;; let
) ;; procedure

Maybe the code is a little bit heavy, but it works.

I hope it helps

Best,

bubu
It works great!
Thanks bubu!
Eric
 
eric.d.fitzsimmons@gmail.com wrote, on 02/25/09 21:45:
On Feb 25, 1:37 pm, bu-bu <bedo...@gmail.com> wrote:
Hello Eric,

Open a schematic view and run the following:

procedure(SchPins()
let((cv)
cv = geGetWindowCellView()

foreach(instance cv~>instances
if(instance~>cellName == "ipin" || instance~>cellName == "opin"
|| instance~>cellName == "iopin"
then println(instance~>pin~>term~>name)
) ;;if

) ;; foreach
) ;; let
) ;; procedure

Maybe the code is a little bit heavy, but it works.

I hope it helps

Best,

bubu

It works great!
Thanks bubu!
Eric
Better would be to directly look at the terminals rather than pins. Pins are
primarily there to give a physical representation of the connection; terminals
are the logical connection:

procedure(ABwriteTerminals(fileName @optional (cv geGetEditCellView()) "td")
let((prt)
unless(prt=outfile(fileName)
error("Could not open %s for writing" fileName)
) ; unless
foreach(term cv~>terminals
fprintf(prt "%s\n" term~>name)
) ; foreach
close(prt)
) ; let
) ; procedure

Then make sure the window you want to process is the current window (hit a key
in the window, or use a pulldown to make it the "current" window), and then in
the CIW type:

ABwriteTerminals("./termReport.txt")

Regards,

Andrew.
 
On Feb 26, 7:49 am, Andrew Beckett <andr...@DcEaLdEeTnEcTe.HcIoSm>
wrote:
eric.d.fitzsimm...@gmail.com wrote, on 02/25/09 21:45:





On Feb 25, 1:37 pm, bu-bu <bedo...@gmail.com> wrote:
Hello Eric,

Open a schematic view and run the following:

procedure(SchPins()
let((cv)
cv = geGetWindowCellView()

foreach(instance cv~>instances
       if(instance~>cellName == "ipin" || instance~>cellName == "opin"
|| instance~>cellName  == "iopin"
          then println(instance~>pin~>term~>name)
       ) ;;if

) ;; foreach
) ;; let
) ;; procedure

Maybe the code is a little bit heavy, but it works.

I hope it helps

Best,

bubu

It works great!
Thanks bubu!
Eric

Better would be to directly look at the terminals rather than pins. Pins are
primarily there to give a physical representation of the connection; terminals
are the logical connection:

procedure(ABwriteTerminals(fileName @optional (cv geGetEditCellView()) "td")
   let((prt)
     unless(prt=outfile(fileName)
       error("Could not open %s for writing" fileName)
     ) ; unless
     foreach(term cv~>terminals
       fprintf(prt "%s\n" term~>name)
     ) ; foreach
     close(prt)
   ) ; let
) ; procedure

Then make sure the window you want to process is the current window (hit a key
in the window, or use a pulldown to make it the "current" window), and then in
the CIW type:

ABwriteTerminals("./termReport.txt")

Regards,

Andrew.- Hide quoted text -

- Show quoted text -
Oh man! That is sweet!

Thank you,
Eric
 

Welcome to EDABoard.com

Sponsor

Back
Top