“Bus Group” sounds like a group of busses, rather than a bus composed of groups. People doing a layout might also be thinking in graphical terms when they see “Vector” (ie: the direction the bus goes in or something), rather than in mathematical notation terms.
Can we just call everything a Bus, and simplify the syntax to a single notation (so the existing vector would be “{A[7..0]}”? Then we can just refer to “group notation” and “vector notation” when speaking about busses. Cheers, Jeff. > On 14 Dec 2017, at 04:15, Jon Evans <j...@craftyjon.com> wrote: > > Hi all, > > As some of you know, I've been working on some new features for Eeschema that > expand the capabilities of buses. > These features are not yet complete, but I wanted to share my progress to get > early feedback. > > Since there are a number of things, I have made a ~4 minute demo video, in > which I walk through them and discuss: > > https://youtu.be/z6x0xiKgDIc <https://youtu.be/z6x0xiKgDIc> > > In case you don't want to watch the video, here are the new features: > The existing style of bus is now referred to as a Bus Vector (for example: > "A[7..0]") > New concept: Bus Groups, for adding arbitrary nets to a bus > Defined in a list, separated by spaces, enclosed in curly braces. For > example: "{DP DM}" > Can contain bus vectors as well as plain nets, for example "{A[7..0] D[7..0] > OE WE}" > Can have an optional name in front, like "MEMORY{A[7..0] D[7..0]}" > If you add a name, the resulting nets will have the name prefixed on the > front, like "MEMORY.A7" > New concept: Bus Aliases > You can use aliases to define shortcuts for bus groups. > For example, you could create an alias called "USB" that refers to the nets > "DP" and "DM" > Then, you can define a bus group as "{USB}" which will contain both of those > nets. > You can also add a label, like "USB1{USB}" which will result in nets > "USB1.DP" and "USB1.DM <http://usb1.dm/>" > Bus Aliases are editable through a new dialog, and saved with the schematic > file. > New tool: Bus Unfolding > Right click on a bus, and you can easily break out any of its members into a > bus entry, label, and wire. > You place the label (and set the bus entry orientation) with the first click, > and then can continue wiring. > In order to support this work, I am also working on a new connectivity > algorithm for Eeschema. > This algorithm stores the resulting connectivity information with the > graphical objects on the schematic, meaning that it's quite easy to look up > what net any particular object is part of. The new algorithm is also > significantly (i.e. an order of magnitude) faster at generating connectivity > than the current netlisting algorithm in my testing so far. It will support > partial updates of the connectivity when editing the schematic, so the net > information will always be in sync when adding/removing/editing items in the > schematic. > > The combination of a faster algorithm and caching of the connectivity results > in dramatic speedups when working with large designs. > For example, Chris' motherboard project (which is a great benchmark, by the > way!) takes several seconds to highlight nets in the current master branch, > and with my changes, you can highlight any net instantaneously. > > Although it is not yet far enough along to demonstrate this, I plan to use > this new connectivity algorithm to generate netlists for export, and replace > the existing algorithm entirely. > > You can check out the code in my branch here, but be warned that it is not > yet complete, so I am not yet proposing that anyone do exhaustive testing of > it and report bugs (because I already know about many of the bugs you will > find :-) > > https://github.com/craftyjon/kicad/tree/bus_upgrades > <https://github.com/craftyjon/kicad/tree/bus_upgrades> > > Thanks, > Jon > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp