www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2016/01/02/12:53:36

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
Date: Sat, 2 Jan 2016 12:53:17 -0500
Message-Id: <201601021753.u02HrHCw020242@envy.delorie.com>
From: DJ Delorie <dj AT delorie DOT com>
To: geda-user AT delorie DOT com
In-reply-to: <56880595.8000505@ecosensory.com> (message from John Griessen on
Sat, 2 Jan 2016 11:15:01 -0600)
Subject: Re: [geda-user] ideas on slotting and mechanisms for grouping/associating
heterogenous symbols.
References: <CAM2RGhS4L-ch6FEcLtdSt0vA0BdQZvq+AuFDP+9ea7Ftd=AALg AT mail DOT gmail DOT com>
<8444F816-17CE-4A56-A982-4A60DEDA72B8 AT noqsi DOT com>
<alpine DOT DEB DOT 2 DOT 00 DOT 1512300544550 DOT 9035 AT igor2priv>
<87FC7D4C-157A-499E-8B93-97653D6A7C68 AT noqsi DOT com>
<alpine DOT DEB DOT 2 DOT 11 DOT 1601012231450 DOT 1728 AT newt>
<AE52C1DB-01A3-43FA-AE8E-68AD33F37180 AT noqsi DOT com>
<624E6A69-62CE-4FCB-9D44-9FDF036254A3 AT sbcglobal DOT net> <56880595 DOT 8000505 AT ecosensory DOT com>
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

> I am not sure where that database would be in your plan, but to me, external
> to gschem or pcb would be best, and it could be a gnetlist backend.

In my plan, it's the third big "thing" in the flow - schematic
capture, heavifying, layout.  I have a bluesky that goes into more
details, but basically it's an API to "something else" which can be
used by gschem, gnetlist, pcb, or whatever.  Most of the heavy lifting
would be added to gnetlist but other tools need access to the data
also.

> The "as built" of your post is to me, just the "standard" symbol
> version, which is the default assignment in a datasheet of a part.
> I would not want to reuse schematics by adding some external delta
> patch to it, but rather by adding more attribs to the "standard"
> symbol.

Right, you'd supply enough attributes in your schematic to identify
what you want downstream, and the componentdb fills in the details.
So if you want a 100R 0.5W resistor, the simulation database knows
what model to supply and the layout database knows which vendor you
prefer.  You can be as specific or as general as you like in the
schematics.

> A change to a pinswap version would mean changing added pinswap
> attribs not just adding them.

There's two parts to pin/gate swapping:

1. What permutations are *permitted*
2. What permutations are *chosen*

The first can be an attribute, so the database fills it in based on
which part you chose.  For example, if you have a NAND gate in your
schematic, the pin/gate swap attribute varies depending on whether you
pick a 14-pin DIP, a 15-pad CSP, or a 6-pin SOT.  *If* you decide on a
package at schematic capture time, you can import the swapping info at
capture time.  If you defer package selection until layout (or change
the package at layout), the schematic is not an as-built.

> I'd rather that essential info of version be in the schematic
> project dir than perhaps in the layout project dir.

My thought is that pin/gate swapping is easier to do in layout, where
you can see the physics affecting the choice.  It makes sense to give
the user the choice there, but it means that the data doesn't
originate in the schematic.

> Heavifying symbols could use a database.  SQLite comes to mind as a
> match to these projects.

The type of database is irrelevent - define the API, let people put
whatever database they want behind it.  I think a form of HTTP makes
sense, you can put anything behind it from text files to monkeys.

> Swapifying could easily be dealt with as attribs in schematics,
> pinswap files, and netlists with no database engine needed.

The database is there to provide a swapping attribute once the package
is selected, so it's more of a side-effect of the database rather than
something that requires a database.  Example: I often use single- and
dual-gate chips in my designs, but the stock NAND gate has pin info
for a quad-gate 7400 14-pin DIP.  The process of heavifying the symbol
would include adding a simple swapping attribute.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019