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=WEBo7VRpDInWvIYFEicte58XOn9zIuqVmCab4s43IBQ=; b=yz2/kCN0Vev8Hjza/SqdOaOcQTvAwZbypRVLs8GpWd2MY9FBYerzAhZBTPmKY71jCy 0x9q3gDFz7id1xCXSz6RPmtRZS83cngS8MQfIQHZUyta+0rBP8D+ymiwKzmQxEJk5xaa ozzG6/nuXwH7NG71qDDYFhPbhSb1k5JvEuJ3uCvQlSEFAiPW4kgU0FAREa0q045e7i9R FhGZEgffvPzIXzLRi5KzrWuafjyWejp/Ii7vprlz4tyAZ78/TFSmQAadE0Sjc5w4rkVH UzUJImUAX6m0UyLMtcJ3ijz3cIAwxnPYf44zPwP8/HqXBv9AWywIe0MW7YjBSnccYA6m jOJw== MIME-Version: 1.0 X-Received: by 10.194.6.98 with SMTP id z2mr121382578wjz.101.1452308031166; Fri, 08 Jan 2016 18:53:51 -0800 (PST) In-Reply-To: References: <201601080714 DOT u087Ejj5032766 AT envy DOT delorie DOT com> Date: Fri, 8 Jan 2016 17:53:51 -0900 Message-ID: Subject: Re: [geda-user] first attempt at bus support in gnetlist for pcb From: "Britton Kerin (britton DOT kerin AT gmail DOT com) [via geda-user AT delorie DOT com]" To: geda-user AT delorie DOT com Content-Type: multipart/alternative; boundary=047d7b5d3e644d5f9e0528ddd006 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 --047d7b5d3e644d5f9e0528ddd006 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Fri, Jan 8, 2016 at 3:38 AM, John Doty wrote: > > On Jan 8, 2016, at 6:41 AM, Peter Clifton (petercjclifton AT googlemail DOT com) > [via geda-user AT delorie DOT com] wrote: > > On 8 Jan 2016 07:17, "DJ Delorie" wrote: > > > > > The net result of this is that you can assign a net named "nBL,A[8-2]" = to > > a pin labelled "A[0-7]" and numbered "1-4,10-7" and they'll all get > > hooked up as appropriate. > > Presumably this operates with "normal" nets and pins, not gschem buses - > which still (as far as I recall) don't netlist. > > > You can also have a pin named "GND" and numbered "1,15,18" connected > > to net "GND" and it will connect all three pins to the one net. > > > Constructive feedback welcome! > > I think the solution you proposed looks useful and pragmatic. > > One potential disadvantage of using this, (user choice of course), is tha= t > until more work on applying new semantic rules is done in geda, schematic= s > using this new attribute semantics will be less easily reused for other > work like simulation. > > You can do this kind of thing with a plug-in that wraps the appropriate > gnetlist primitives. It=E2=80=99s somewhat harder, but could apply to mos= t back > ends, not just pcb. > > Regarding bus pins & buses vs. Net pins and nets.... I start to wonder if > we should aim to reduce that distinction in the future, and make all nets= / > pins / buses more equally handled in gEDA. (Up to the netlist backend / > resolver). > > Yes. And then, erase the distinction between nets, busses, pins, and > lines. Move that into attributes: a line with netname=3D is a net, a line > with pinnumber=3D is a pin =E2=80=A6 > Using attributes like this is effectively a form of duck typing, which is fine in principle but often leads to a lot of confusion since the type hierarchy is implicit and doesn't end up getting written down anywhere. I'm not saying its always bad and gschem already has this philosophy anyway, but it does tend to make the whole setup challenging for newcomers as they struggle to figure out which sets of attributes they need. I don't have a concrete idea what could be done about it. It's been an issue for every attribute-based system I've worked on and I've never encountered a great solution. Britton --047d7b5d3e644d5f9e0528ddd006 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Fri, Jan 8, 2016 at 3:38 AM, John Doty <jpd AT noqsi DOT com> wr= ote:
=
On Jan 8, 2016, at 6:41 AM, Peter Clifton (<= a href=3D"mailto:petercjclifton AT googlemail DOT com" target=3D"_blank">petercjcl= ifton AT googlemail DOT com) [via geda-user AT delorie DOT com] <geda-user AT delorie DOT com> wrote:

On 8 Jan 2016 07:17, "DJ Delorie" <dj AT delorie DOT com> wrote:
>

> The net result of this is that you can assi= gn a net named "nBL,A[8-2]" to
> a pin labelled "A[0-7]" and numbered "1-4,10-7" an= d they'll all get
> hooked up as appropriate.

Presumably this operates w= ith "normal" nets and pins, not gschem buses - which still (as fa= r as I recall) don't netlist.

> You can also have = a pin named "GND" and numbered "1,15,18" connected
> to net "GND" and it will connect all three pins to the one n= et.

> Constructive feedback welcome!

I think the solution you proposed looks useful and pragmatic.

One potential disadvantage of using this, (user choice of course), is= that until more work on applying new semantic rules is done in geda, schem= atics using this new attribute semantics will be less easily reused for oth= er work like simulation.

You can do this kind of thi= ng with a plug-in that wraps the appropriate gnetlist primitives. It=E2=80= =99s somewhat harder, but could apply to most back ends, not just pcb.

Regarding bus pins= & buses vs. Net pins and nets.... I start to wonder if we should aim t= o reduce that distinction in the future, and make all nets / pins / buses m= ore equally handled in gEDA. (Up to the netlist backend / resolver).

Yes. And then, erase the distinction between nets, busses,= pins, and lines. Move that into attributes: a line with netname=3D is a ne= t, a line with pinnumber=3D is a pin =E2=80=A6

Using attributes like this is effectively a form= of duck typing, which is fine in principle but often leads to a lot of con= fusion since the type hierarchy is implicit and doesn't end up getting = written down anywhere.=C2=A0 I'm not saying its always bad and gschem a= lready has this philosophy anyway, but it does tend to make the whole setup= challenging for newcomers as they struggle to figure out which sets of att= ributes they need.

I don'= ;t have a concrete idea what could be done about it.=C2=A0 It's been an= issue for every attribute-based system I've worked on and I've nev= er encountered a great solution. =C2=A0
=C2=A0
Britton

--047d7b5d3e644d5f9e0528ddd006--