delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/07/09/19:07:12

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
Message-ID: <559EFE69.1040601@zoot.drehmel.com>
Date: Fri, 10 Jul 2015 01:06:17 +0200
From: Robert Drehmel <robert AT zoot DOT drehmel DOT com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
MIME-Version: 1.0
To: geda-user AT delorie DOT com
Subject: Re: [geda-user] Back annotation
References: <CAM2RGhTpfbqM7zNn72TBOjeL7B7LPT1PxSEU3+9aDdChFrPFTg AT mail DOT gmail DOT com> <alpine DOT DEB DOT 2 DOT 00 DOT 1507090507530 DOT 6924 AT igor2priv> <alpine DOT DEB DOT 2 DOT 11 DOT 1507091329350 DOT 3444 AT nimbus> <559E86A4 DOT 3040109 AT ecosensory DOT com> <DC183265-AD4B-4707-970F-1EE5D3578126 AT noqsi DOT com> <201507091843 DOT t69IhGF6028321 AT envy DOT delorie DOT com> <6392CE1A-AFA0-4D62-979C-3F35786422BD AT noqsi DOT com> <201507092127 DOT t69LRHRC001744 AT envy DOT delorie DOT com>
In-Reply-To: <201507092127.t69LRHRC001744@envy.delorie.com>
X-Provags-ID: V03:K0:LT/gD9eAwit8ZIuRx/RCXdcJRv/atNGxMfGLivGAO6q6ByuXZaf
Q82Oj8063Z7Kdj5aGbRZ+pJMfyJZ/EobP2HOae6u5FqOaZF3V5uhh9gWZi6Byo/QYrSK8kg
5S/ZTAtpHKOlyzku7CL8bTMJzjP/vR0LTszWOPQSgYlHHps/LZ/lHV4ulaucjFYHKLJLl40
wNg5UWzIUu0AqcVrLg/0Q==
X-UI-Out-Filterresults: notjunk:1;V01:K0:+OQBRJHOGlE=:3RNL3uNOaMks3dUzbkKbKd
KyJHsmQAx8N8NvvgshRAbtpwNttuZMBuXr1s501HYiXU6mNAQp3/yzG40znAMZwd6aPYQQpWn
se8/SCMKlApZUqajR9WAWYcp00HxTc1ScVlTw4a5Lt67F/nvcvNklD22c0qirJ9yG8faSftvr
HzPAbbjgWfM5mN3ansue2cLzUM25QTFVCrkNqZ0bwSG53iOxoORZPy8lpvpCN7y6okRXoUe1p
cj9386VEaAW9viYDjnYcxmLsDDRySKT3BrneVHkABGILr8woAxxBnl/ClaVCxOJoV1IgajB+3
DR5IPQR5rZmbDhuTF1V5vORF3yiro3kahB+ImpeM56n0At5iV6idjFO0na+gP5fdmY/mtwiND
ftNzuyM8W3wJJDJvXmGLaXWPYwI/HC+rxAASqZEVrCVPExCaMH19V9gkViPnpKM29fikw4Qds
uxv7dazdR00T5f/QqgBEaIMIRrFqRx9r+9SQWkJHvEfKnE8sBp8Ufjf1Ez/tbrlj5oCWWS9jI
AQbNyYuLE7POolXbOaBFzV9F4u6UjWf+KDIP/CMXXI2Mv/qwbxPcOPmUGYVwri0jSffgvblzu
hhMbvh3lo6UjFYplSAirPGce2+fRyQ1bvmn9N44Q0iBsPwJxyUAUc13kq88v66uaLbyk3HQNF
Y+jRJ4PDi1683cDIKAgapPdKDVQksMeeqAMd7acu4f8j5Sg==
Reply-To: geda-user AT delorie DOT com

On 07/09/2015 11:27 PM, DJ Delorie wrote:
>> #3 is certainly growing on me. I find myself dealing with multiple
>> layout contractors, and one of them wants footprint names like
>> "BGA484C100P22X22_2300X2300X260". I don't think those belong in the
>> schematics, and the others are happy with "BGA484". So, it's a
>> flow-dependent mapping.
>
> That idea was a side-effect of my "component database" blue-sky.  We really
> want *three* main tools:
>
> * schematic capture (gschem)
> * mapping to a backend (netlister + component_db + project_ruleset)
> * backend (pcb/sim/etc)
>
> The mapping would map symbolic information (pins A,B,Y, value, etc) to
> physical information (package-specific pinouts, simulation models,
> etc) based on whatever relevent local rules apply.  Most of this info
> is what's back-annotated anyway, but the backend can provide its
> as-built data to the netlister on the fly, to merge with new schematic
> info.

A couple of years ago I wrote a parser for the pin mapping syntax you
propose (http://www.delorie.com/pcb/pin-mapping.html) for my component
database layer (handled in pcb).  I used a gschem-compatible file format
and one file each for a family of components, e.g.

file omron-g6k.com:
"""
name=g6k
manufacturer=Omron
comment=DPDT relay series
C G6K-2P { # THT
   # The PCB footprint file (.fp) used
   footprint=g6k-tht
   # A mapping from gschem generic relay symbol pins to the footprint's pins
   pinmap=P:1,N:8,11:3,12:2,14:4,21:6,22:7,24:5
}
...
C G6K-2G { # SMT
   footprint=g6k-smt-il
   pinmap=P:1,N:8,11:3,12:2,14:4,21:6,22:7,24:5
}
...
"""

file panasonic-tq2-l2.com:
"""
name=TQ2-L2
manufacturer=Panasonic
comment=2PDT, 2 coil latching
C TQ2-L2 { # THT
   footprint=panasonic-tq2-tht
   pinmap=P:1,N:5,PR:10,NR:6,11:3,12:2,14:4,21:8,22:9,24:7
}
...
"""

This was used in combination with generic relay symbols which have symbolic
names instead of pin numbers. In gschem, each symbol had either a footprint
attribute or a component attribute attached, the latter caused pcb to search
for the correct component and map the symbolic name to pin numbers.
The parser could possibly serve as a starting point from a source code
perspective for a freestanding "third tool".
How do you think this mapping tool should get the data from the schematic -
via a special scheme netlist script or by reading the schematic file itself?

Best regards,
Robert

- Raw text -


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