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

gEDA-user: Defining parts with REALLY complicated pin labels



First of all:

Thanks for creating gEDA - you guys saved me from following the path of sin and running a commercial EDA package!

I am working on a couple of parts for a project I am designing, and will contribute them back as soon as I have "put them to the test" and gone from schematic to board with them.

The first, the TI SN754410 quad half-H bridge, was pretty straightforward.

But the second, a Microchip PIC16F688 - well, every pin (other than Vss and Vdd) has at least 2, and in some cases 5 functions, multiplexed by software. This leads to a couple of issues:

1) What do I use as the "pintype" attribute when a pin might be an input, an output, tristate, a clock, an analog input, or programming voltage, depending upon the mode?

2) The "pinlabel" fields get pretty damn long when you have a pin like "RA0/AN0/C1IN+/ICSPDAT/ULPWU" - either this 14 pin part is going to be a mile wide in the schematic, or I have to come up with a way to break that attribute into a couple of lines. I tried making multiple "pinlabel" attributes, but that didn't pass muster for gsymcheck.

Also, how do I add an inversion bar to a label? I tried using a leading "*", but that did not seem to work.

Lastly - and this is truly blue-sky dreaming - I have an infrastructural question: Given a part like a PIC, would it be possible to create some form of scripted part (in Scheme) that would allow the user to select what the functions of the pins were, and then create the appropriate labels for them, and possibly even emit the register setups for the part? It seems to me that this would really help make a multifunction part like a PIC pass DRC, as then the device could be tailored to the exact setup - inputs could be really marked as inputs, output as outputs, etc.