I'm using Electric 8.09 on Mac OS X 10.5.8 running Java:
java version "1.5.0_20"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_20-
b02-315)
Java HotSpot(TM) Client VM (build 1.5.0_20-141, mixed mode, sharing)

I tried running the Pad Frame Generator on a top-level schematic/icon.
I supplied the I/O pad library and the pad arrangement file. The
contents are pasted below. I click on Tools -> Generation -> Pad Frame
Generator. After selecting the .arr file, I click OK. I end up getting
a Java Null Pointer Exception and am unable to generate the pad frame
schematic . The log is shown below.



=================================9=================================
Checking schematic cell 'and2_4x{sch}'
   No errors found
Checking schematic cell 'inv4x{sch}'
   No errors found
Checking schematic cell 'buf_4x{sch}'
   No errors found
Checking schematic cell 'colmux{sch}'
   No errors found
Checking schematic cell 'colmux6{sch}'
   No errors found
Checking schematic cell 'ctl{sch}'
   No errors found
Checking schematic cell 'dec3_8{sch}'
   No errors found
Checking schematic cell 'dec4_16{sch}'
   No errors found
Checking schematic cell 'dff_r_n{sch}'
   No errors found
Checking schematic cell 'dff_r_p{sch}'
   No errors found
Checking schematic cell 'inv{sch}'
   No errors found
Checking schematic cell 'precharge{sch}'
   No errors found
Checking schematic cell 'precharge12{sch}'
   No errors found
Checking schematic cell 'sram{sch}'
   No errors found
Checking schematic cell 'sram16x6{sch}'
   No errors found
Checking schematic cell 'writedriver{sch}'
   No errors found
Checking schematic cell 'writedriver6{sch}'
   No errors found
Checking schematic cell 'regfile{sch}'
   No errors found
0 errors and 0 warnings found (took 0.09 secs)
=================================10=================================
Library /Users/pgupta/tmp/iopads-ami05.jelib read, took 0.094 seconds
AUTO ROUTING added: 86 wire arcs
java.lang.NullPointerException
        at com.sun.electric.database.topology.ArcInst.newInstanceBase
(ArcInst.java:305)
        at com.sun.electric.database.topology.ArcInst.newInstanceBase
(ArcInst.java:242)
        at com.sun.electric.tool.generator.PadGenerator.createPadFrame
(PadGenerator.java:1016)
        at com.sun.electric.tool.generator.PadGenerator.createPadFrames
(PadGenerator.java:672)
        at com.sun.electric.tool.generator.PadGenerator.makePadFrame
(PadGenerator.java:297)
        at com.sun.electric.tool.generator.PadGenerator.makePadFrameUseJob
(PadGenerator.java:105)
        at com.sun.electric.tool.generator.PadGenerator$MakePadFrame.doIt
(PadGenerator.java:126)
        at com.sun.electric.tool.EThread.run(EThread.java:94)



My pad arrangement file:

; specify the cell library with the pads
celllibrary iopads-ami05.jelib

; create a top-level cell containing the padframe and core
cell chip

; create the schematic view
views sch

; place this cell as the "core"
core regfile

; set the alignment of the pads (specifying input and output port
names)
align pad_corner      dvdd-1 dvdd
align pad_in          dvdd-1 dvdd
align pad_out         dvdd-1 dvdd
align pad_analog      dvdd-1 dvdd
align pad_dvdd        dvdd-1 dvdd
align pad_dgnd        dvdd-1 dvdd

;; replace the pad_in (inputs) and pad_out (outputs) statements with
the pad
;; frame arrangement you want. keep at least two pad_dvdd and pad_dgnd
pads
;; somewhere on the chip to supply power and ground to the pads and
core

; place the top edge of pads
place pad_corner
place pad_in din=wen export pad=wen
place pad_in din=resetb export pad=resetb
place pad_in din=clk export pad=clk
place pad_in din=dC[0] export pad=dC0
place pad_in din=dC[1] export pad=dC1
place pad_in din=dC[2] export pad=dC2
place pad_in din=dC[3] export pad=dC3
place pad_in din=dC[4] export pad=dC4
place pad_in din=dC[5] export pad=dC5
place pad_dvdd

; place the left edge of pads
rotate cc
place pad_corner
place pad_in din=A[0] export pad=addrA0
place pad_in din=A[1] export pad=addrA1
place pad_in din=A[2] export pad=addrA2
place pad_in din=A[3] export pad=addrA3
place pad_in din=B[0] export pad=addrB0
place pad_in din=B[1] export pad=addrB1
place pad_in din=B[2] export pad=addrB2
place pad_in din=B[3] export pad=addrB3
place pad_dgnd
place pad_dvdd

; place the bottom edge of pads
rotate cc
place pad_corner
place pad_in din=C[0] export pad=addrC0
place pad_in din=C[1] export pad=addrC1
place pad_in din=C[2] export pad=addrC2
place pad_in din=C[3] export pad=addrC3
place pad_out din=dA[0] export pad=dA0
place pad_out din=dA[1] export pad=dA1
place pad_out din=dA[2] export pad=dA2
place pad_out din=dA[3] export pad=dA3
place pad_out din=dA[4] export pad=dA4
place pad_out din=dA[5] export pad=dA5

; place the right edge of pads
rotate cc
place pad_corner
place pad_out din=dB[0] export pad=dB0
place pad_out din=dB[1] export pad=dB1
place pad_out din=dB[2] export pad=dB2
place pad_out din=dB[3] export pad=dB3
place pad_out din=dB[4] export pad=dB4
place pad_out din=dB[5] export pad=dB5
place pad_dgnd export pad=GND
place pad_dvdd export pad=VDD
place pad_dgnd
place pad_dvdd

--

You received this message because you are subscribed to the Google Groups 
"Electric VLSI Editor" group.
To post to this group, send email to electricv...@googlegroups.com.
To unsubscribe from this group, send email to 
electricvlsi+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/electricvlsi?hl=.


Reply via email to