X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=cyWD20pBZ4LVNIIDi2ABarGBOUcCXuSGykKfYv40tGg=; b=ylvqR+F1gVP7pFO+D4ckHQB4O4VxvepbOMKy26OF03S6Kd5V1TluewRps9NU7AKCQp M4HLKpa3isipbAjmsNP+JjfUU31kgcCikX4PAroDLUHdasVtHv3AIfbdCHoRoHuvcPMU PuzFY7/eyQmwkyUgpfviKn6xF6x+rVY4QINGVsuZBXFDbWduonZVjHeKti1UriTouEj/ UdsXbYCS+GLvyD78OPXSmpsuovIwJcBv+PSLTZBb1gTHkhyuOEBRNbGmeotzELFx6h4l peWGeJ2+9NhXUFaMgpmMjmmipPBNL732GNuNw/jeDwxLOYX6oUEG2tup25GUyKN+f2F+ WtCQ== MIME-Version: 1.0 X-Received: by 10.25.157.85 with SMTP id g82mr737614lfe.104.1445666528595; Fri, 23 Oct 2015 23:02:08 -0700 (PDT) In-Reply-To: <201510240528.t9O5S5qc019927@envy.delorie.com> References: <201510220136 DOT t9M1a5Uw015222 AT envy DOT delorie DOT com> <201510220149 DOT t9M1nrIe016145 AT envy DOT delorie DOT com> <20151022023002 DOT GA25952 AT recycle DOT lbl DOT gov> <201510221643 DOT t9MGhFfg003310 AT envy DOT delorie DOT com> <20151022170259 DOT GA28154 AT recycle DOT lbl DOT gov> <20151024050756 DOT GA5741 AT recycle DOT lbl DOT gov> <201510240528 DOT t9O5S5qc019927 AT envy DOT delorie DOT com> Date: Sat, 24 Oct 2015 06:02:08 +0000 Message-ID: Subject: Re: [geda-user] Star shorts From: "Evan Foss (evanfoss AT gmail DOT com) [via geda-user AT delorie DOT com]" To: gEDA users mailing list Content-Type: text/plain; charset=UTF-8 Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Sat, Oct 24, 2015 at 5:28 AM, DJ Delorie wrote: > >> There are multiple angles to this problem. >> - the gschem end >> - the rendition of this semantics in (one of many) netlist formats >> - the treatment of that netlist information in board layout (or other hardware) >> >> At the gschem end, and the netlist representation, I don't see any >> sensible approach besides having a symbol and a component. > > Perhaps gschem needs a separate "star point" construct. For example, > a large dot you can place, and any nets that connect at that dot are > considered "connected but separate". No need for custom symbols or > pre-guessing pin counts. 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 This is an expansion on the hierarchical netlisting and some stuff described here https://bugs.launchpad.net/geda/+bug/698771/comments/2 I will add this to that thread later. (Need sleep) > As for the netlisters, they'd each have to do what their downstreams > expect. Internally, we could have netlisters that know about star > points to call a guile function that enables them and disables > warnings about multi-named nets. > >> On to PCB (or any other layout too; John Doty can close his ears for >> this part). AFAICT, there is no established technique to implement >> such a star short in a way that will pass DRC. There needs to be >> copper half-inside the DRC process, that definitely shows up on the >> Gerber output. This copper can't exist during the netlist check >> (optimize rats). > > <[Blue skying> We've talked about being able to "label" copper with > net names, for example labelling a polygon with "net=GND" to override > what DRC and rats guess at. We could allow labelling copper with > "net=GND,AGND" or something, to say that it may be connected to > multiple nets. That would allow us to use a line, arc, polygon, via, > pin, etc as the "star point". Such labels might also help with short > detection, by limiting where DRC might guess a short would be. > > Of course, anything like this would predicate a new DRC :-( > > A label of "net=" could be used for antennas etc, although if > we had true copper-in-footprint we might need to rethink how to tell > "copper that's a net" (like tying two gnd pins together) from "copper > that's not a net" (like an antenna). > -- Home http://evanfoss.googlepages.com/ Work http://forge.abcd.harvard.edu/gf/project/epl_engineering/wiki/