Hello, Stromtium!

Thank you for your heads-up!
I fully agree here and can't resist to "think big" and motivate when we are 
planning to support some future design entry methodologies in the long term.

Today, we already have:
  400++ configurable Pins of a FPGA
+ 300++ muxable Pins of a CPU
+ 300+ Pins I/O Connector
+ RAM
+ lots of other stuff
----------
= Ridiculous to draw and manage single pins in schematic symbols spread over 30 
pages.

Solution: 
- Table based entry with import/export functionality. I mean SQL here and _not_ 
(only) spreadsheets. There will be demand for a *Synchronize*-button at some 
point in time.

- "Schematic symbols" are generated dynamically. (Similar to these Pin Mux 
Tools which are generating C-code for CPU initialization / device trees). These 
symbols might look completely different than rectangular boxes with feathers on 
the sides, placed on a page.

- Grouping +folding/unfolding and zooming/scaling of symbols could come in 
handy.

The I/Os and their properties of a component might get grouped by i.e. POWER, 
USB, ETH, DDR2, SPI, ...
Then they can be dynamically arranged / ordered by group,pinno or 
group,pinname, ...
Putting this table/view in a frame to place it on a schematic sheet is then a 
nice goodie, but not even necessary.
Search & replace capability and the import/export functionality is a must.

This might affect the file formats of library components as well as the 
schematics.

Regards,

Clemens

On 2017-02-14 10:54, Strontium wrote:
> Can I make the suggestion, for CPU/MCU/FPGA type parts that have lots of 
> configurable pins, drawing an actual component is tedious and somewhat 
> pointless as its just a box (or multiple boxes, one for each subunit) with 
> pins. 
> 
> 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/22
>>
>> On Thu, Jan 5, 2017 at 12:10 AM, Chris Pavlina <[email protected] 
>> <mailto:[email protected]>> 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     : [email protected]
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
> 
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : [email protected]
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 

_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to