pcb

Comment 7 for bug 698771

Revision history for this message
Evan Foss (evanfoss) wrote :

Ok thanks. I posted the following in email a minute ago but it should be here so I am going to repost it.

*****

I have the following proposal. Before I start I just want to say : Yes
I know this is not possible yet because we are flattening nets.

We add a route attribute that has a few options for things such as
star - make a star connection (ex star ground)
bus - route as bus keeping all the traces grouped as you move them.
diffpair - route as a differential pair
matchedl - matched length
(we will probably want more later for things like matched impedance,
strip lines, and etc)

It should also let you pass options to those options with [ ] and it
should have scope.

local - this route option applies to the stuff visually connected
page - this route option applies to just the stuff on this page
global - this route option applies to everything in the design
(default because only star )

Scope should not be over ridding you should be able to combined them
so local scope works in that area but the connection to the greater
hole is done via the global definition.

Finally you can stack them with a ;

Some examples

route=star:local
- All the stuff drawn in this area of the schematic (where the nets
are visually connected) are in a star configuration with a center to
be defined in the PCB layout stage or via a more involved mechanism I
will describe later.
route=star[U2:2]:local
- All the stuff drawn in this area of the schematic (where the nets
are visually connected) are in a star configuration with U2 pin 2 at
the center.
route=star[CONN1:1]:page
- This on a trace just before a ground symbol and all the pins
connected to ground on that page get their own trace to a central
grounding point at CONN1 pin 1.
route=star[SCREW1]:global
- Every pin on that net irrespective of the layout on the schematic or
page gets it's own trace to the designated center of the star a plated
through screw hole.
route=diffpair[SR0H,SR0L]
- Since no scope is stated this would be global and it would cause the
two nets SR0H and SR0L to be routed as a differential pair
route=matchedl[D0,D1,D2,D3,D4,D5,D6,D7, RW, RESET]
- Since no scope is stated this would be global and all of the nets
named between the [ ] marks should be routed with matched length
traces