[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-user: Added instance array support



Hi.

I added support for arrays of instances. I've attached a simple register as an example. The new gdatabase code is on the www.viasic.com/download site.

I also added symbol names to the generated symbols. There doesn't seem to be a good attribute type for this, so I used "comment".

Bill

v 20030901
P 1300 800 1500 800 1 0 1
{
T 1200 800 5 8 0 0 0 0
pinnumber=Q
T 1100 800 5 8 1 1 0 0
pinlabel=Q
T 1200 800 5 8 0 0 0 0
pinseq=1
T 1200 800 5 8 0 0 0 0
pintype=out
}
P 300 800 0 800 1 0 1
{
T 300 800 5 8 0 0 0 0
pinnumber=D
T 400 800 5 8 1 1 0 0
pinlabel=D
T 300 800 5 8 0 0 0 0
pinseq=2
T 300 800 5 8 0 0 0 0
pintype=in
}
P 800 300 800 0 1 0 1
{
T 800 300 5 8 0 0 0 0
pinnumber=CLK
T 800 300 5 8 0 0 0 0
pinlabel=CLK
T 800 300 5 8 0 0 0 0
pinseq=3
T 800 300 5 8 0 0 0 0
pintype=clk
}
T 800 600 5 10 1 1 0 3
refdes=U?
T 0 -235 8 10 0 1 0 0
source=safeflop.sch
B 300 300 1000 1000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
L 700 300 800 500 3 0 0 0 -1 -1
L 900 300 800 500 3 0 0 0 -1 -1
P 800 1600 800 1300 1 0 0
{
T 800 1100 5 10 1 1 0 0
pinlabel=R
T 800 1600 5 10 0 1 0 0
pinnumber=R
T 800 1600 5 10 0 1 0 0
pinseq=4
T 800 1600 5 10 0 1 0 0
pintype=in
}
v 20030901
P 600 100 800 100 1 0 1
{
T 650 150 5 6 0 1 0 0
pinnumber=Z
T 650 150 5 6 0 1 0 0
pinlabel=Z
T 650 150 5 6 0 0 0 0
pintype=in
T 650 150 5 6 0 0 0 0
pinseq=1
}
L 600 100 500 200 6 0 0 0 -1 -1
L 600 100 500 0 6 0 0 0 -1 -1
T 0 100 8 10 1 1 0 7
value=pinlabel
T 0 0 8 10 0 1 0 0
device=FLAG
L 500 200 100 200 3 0 0 0 -1 -1
L 100 200 100 0 3 0 0 0 -1 -1
L 100 0 500 0 3 0 0 0 -1 -1
v 20030901
P 0 100 200 100 1 0 0
{
T 150 150 5 6 0 1 0 0
pinnumber=D
T 150 150 5 6 0 1 0 0
pinlabel=D
T 150 150 5 6 0 0 0 0
pinseq=1
T 0 100 5 10 0 1 0 0
pintype=out
}
L 700 100 600 200 6 0 0 0 -1 -1
L 700 100 600 0 6 0 0 0 -1 -1
T 800 100 8 10 1 1 0 1
value=pinlabel
T 0 0 8 10 0 1 0 0
device=FLAG
L 600 200 200 200 3 0 0 0 -1 -1
L 200 0 200 200 3 0 0 0 -1 -1
L 200 0 600 0 3 0 0 0 -1 -1
v 20030901
C 81200 53700 1 0 0 dffr.sym
{
T 82000 54300 5 10 1 1 0 3
refdes=Q[31:0]
}
U 81200 54500 81000 54500 10 0
U 82700 54500 82900 54500 10 0
N 82000 55300 81000 55300 4
N 82000 53700 81000 53700 4
C 80200 55200 1 0 0 in.sym
{
T 80200 55300 5 10 1 1 0 7
value=R
}
C 80200 54400 1 0 0 in.sym
{
T 80200 54500 5 10 1 1 0 7
value=D[31:0]
}
C 80200 53600 1 0 0 in.sym
{
T 80200 53700 5 10 1 1 0 7
value=CLK
}
C 82900 54400 1 0 0 out.sym
{
T 83700 54500 5 10 1 1 0 1
value=Q[31:0]
}
(create-default-symbol "reg32.sch")
(read-schematic "reg32.sch")
(write-spice-netlist "reg32" "reg32.cir")
v 20030901
P 2500 1100 2800 1100 1 0 1
{
T 2400 1100 5 8 1 1 0 7
pinlabel=Q[31:0]
T 2400 1100 5 8 0 0 0 7
pinnumber=Q[31:0]
T 2400 1100 5 8 0 0 0 7
pinseq=1
T 2400 1100 5 8 0 0 0 7
pintype=out
}
P 300 700 0 700 1 0 1
{
T 400 700 5 8 1 1 0 1
pinlabel=CLK
T 400 700 5 8 0 0 0 1
pinnumber=CLK
T 400 700 5 8 0 0 0 1
pinseq=2
T 400 700 5 8 0 0 0 1
pintype=in
}
P 300 1100 0 1100 1 0 1
{
T 400 1100 5 8 1 1 0 1
pinlabel=D[31:0]
T 400 1100 5 8 0 0 0 1
pinnumber=D[31:0]
T 400 1100 5 8 0 0 0 1
pinseq=3
T 400 1100 5 8 0 0 0 1
pintype=in
}
P 300 1500 0 1500 1 0 1
{
T 400 1500 5 8 1 1 0 1
pinlabel=R
T 400 1500 5 8 0 0 0 1
pinnumber=R
T 400 1500 5 8 0 0 0 1
pinseq=4
T 400 1500 5 8 0 0 0 1
pintype=in
}
B 300 300 2200 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
T 1400 400 8 10 1 1 0 3
comment=reg32
T 1400 0 8 10 1 1 0 3
refdes=U?
T 0 0 8 8 0 0 0 0
source=reg32.sch