[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Heavy Symbols and such
i see grouping of pins, not written in any syntax, but in conceptual data
ignoring the concept of slots, as to include slots into pin grouping.
example of 7430
group 1
inputs A, B, C, D, E, F, G, H
input-swappale = yes
output Y
separate data structure to map pins to footprint
pingroups
package = DIP
example of 7401
group 1 .. 4
inputs A, B
inputs-swappable = yes
output Y
groups-swappable = yes
pingroups
group 1
Package = DIP, SO
pins A:2,B:3,Y:1
Package = CS // chipscale BGA i faked the
pins on this one just for example
pins A:a1, B:a2, Y:b1
group 2
Package = DIP, SO
pins A:5,B:6,Y:4
Package = CS
pins A:b2, B:c1, Y:c2
example of some FPGA with 2 8 bit ports
group 0 .. 7
bus= A[0:7]
bus_re-order = A:yes
bus-IO-Vcc = B
bus-IO-GND = C
group_swappable = yes
FPGA_PIN_output_script = xilinx_FPGA_pindef_gen.script //
script that gets run to auto generate a pin map for this part.
group 8
diff-bus=A[0:7]
bus_re-order = A:yes
diff-bus_pair-re-order = A:yes
diff-bus_pair-P-N-swap = B:no
diff-bus-clock = D
bus-IO-Vcc = B
bus-IO-GND = C
group_swappable = yes
FPGA_PIN_output_script = xilinx_FPGA_pindef_gen.script //
script that gets run to auto generate a pin map for this part.
imagine a fanout plugin that connects to a bus in PCB to a BGA and
would choose a route that fit to the bus, thus allowing the layout
decide the pin mapping :-)
pingroups
group 0
package = BGAfoo
pins = A[0]:D1, A[1]:D2, A[2]:D3, A[4]:E2, ..., B:C2&F2, C:F3&F4&F5
group1
continued......
group 8
package = BGAfoo
pins = AP[0]:Z1,AN[0]:Z2, AN[1]:........, B:.........
P and N signify the diff-bus positive and negative sides of the pins
This can get really hairy to implement in full but I think that it
would be good. by keeping pins simple in gschem the hairiness can be
kept in the external scripts used to handle these situations.
the pin would have an attribute that would map it to a group
say group = A
or group = AP[0]
just some thoughts
Steve
On Dec 13, 2007 2:22 PM, Dave N6NZ <n6nz@xxxxxxxx> wrote:
>
>
> DJ Delorie wrote:
> > Not directly. I've built parts with "slots" for various input pin
> > permutations.
>
> I just realized a few days ago how that trick could be used for pin
> swapping something like a two-input NAND. And then just last night I
> was doing pin swapping to get better routability.... on a 32kx8 SRAM.
> Let's see... 8 data lines, 15 address lines... 2^23 slots.... ummmm...
>
> The phrase "doesn't scale" comes to mind.
>
> There is a level of abstraction missing. Something like a "permutable"
> attribute. So a 74as30 might have:
>
> permute=a:1,b:2,c:3,d:4,e:5,f:6,g:11,h:12
>
> as a default, mapping pin names to pin numbers. The "net list tool"
> could munge the attribute to a new mapping and then back-annotation is
> simply replacing the attribute with the new mapping. gschem needs some
> smarts similar to slotting to put the right pins on the schematics.
>
> -dave
>
>
>
>
> _______________________________________________
> geda-user mailing list
> geda-user@xxxxxxxxxxxxxx
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
>
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user