Thread Previous • Date Previous • Date Next • Thread Next |
Some CPU's have so many functional units and pins that fitting it all on one giant box is also pointless as it may not even fit on a a3 page, so you end up with multiple parts in a component for various functional divisions and then multiple versions of the same component to account for different GPIO multiplexing arrangements, which change and evolve as the design evolves. It quickly becomes a maintenance problem.
For example, you decide GPIO 7 is good for a LED, but later, oh no GPIO 7 is the last SPI chip select, oh ok, swap it with GPIO 184, but no, its not that easy now you have to edit the component to reflect it, and now every design you have that uses the same CPU ends up with a unique version of the component to match its GPIO muxing.
I believe it would be far preferable for these types of components simply to define the functions of each pin in a table, and then when placing the part, its just an empty box (like a nested sheet). You then right click on the part select "Add pin" and then select from the list of unplaced pins the one you want, and its function. You then drop the pin on one of the 4 sides of the box.
Basically like the nested sheet/sheet pin in concept, except you can select which pin to import from the list of pins not yet utilised.
This way one only need to define a single component, and editing it is just a matter of editing a table of pins, which is very easy compared to drawing a component with 100's of pins. You then "draw" the part uniquely for your design on your schematic, as you use each pin, but you only ever have one part defined in your library.
Schematic DRC would then have an Error/Warning for pins not used. This would make it much easier with complex parts, for example, you have a USB page, you only need the pins from the cpu chip for USB sub unit, and if you decide to change the OTG ID pin to a different GPIO, you don't need to redraw your part, or have multiple "versions" of your part, you just delete the old ID GPIO pin, and add the new one.
This would be in addition to the current graphical parts, which are preferable for basic components and standard building blocks.
Steven On 13/02/17 18:32, Oliver Walters wrote:
Here is a good example of where such a feature would be very well received: https://forum.kicad.info/t/component-occupies-entire-page-newbie/5272/22On Thu, Jan 5, 2017 at 12:10 AM, Chris Pavlina <pavlina.chris@xxxxxxxxx <mailto:pavlina.chris@xxxxxxxxx>> wrote:I second this suggestion. Numerous people have been proposing this for quite a long time in IRC, it's a popular idea. A large number of parts are configurable, and forcing the pins to be non-configurable makes ERC pretty weak. On Wed, Jan 04, 2017 at 07:22:37PM +1100, Oliver Walters wrote: > As far as I am aware, this ( > https://lists.launchpad.net/kicad-developers/msg23302.html <https://lists.launchpad.net/kicad-developers/msg23302.html>) is the latest > proposal for the new symbol format. > > Is this the case? > > Reading through this I have an idea that I think will be very useful. > > Currently each PIN can only have one TYPE (INPUT, OUTPUT, OPEN-COLLECTOR, > etc) which means that for parts with multiple alternate-functions on a pin, > ERC is essentially useless if the pin can be used as an INPUT or an OUTPUT > (or something else). > > Further, labelling all the possible alternate functions on a pin means that > either the symbol grows exceedingly wide, or many functions are missed. > > I suggest that the pin type should have facility for alternate functions to > be specified which would solve both of these problems. Once a symbol is > placed in the schematic, any multi-function pins are set to "default" > values (e.g. GPIO for a micro) but the other functions can be selected. > > See proposed "addition" to format here: > > http://i.imgur.com/5m38eTT.png > > Cheers, > Oliver _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Thread Previous • Date Previous • Date Next • Thread Next |