← Back to team overview

kicad-developers team mailing list archive

Re: Intermediate netlist format

 

On 02/06/2011 03:35 PM, Nicolas Pinault wrote:
> Hi,
>
> I am writing a tool needing Kicad netlist file. I first used native 
> netlist file. Jean-Pierre Charras suggested me to use intermediate 
> netlist file. It's better for me since it is easy to parse and 
> potentially contains more information.
> In this kind of file, I am interested in components section and nets 
> section. But I am also interested in libraries section and maybe 
> libparts section (still not sure).
> I have two questions :
> - In the files I have generated, libparts and libraries sections are 
> empty. Is this a work in progress or do I have a problem on my system 
> (Win XP) ?
> - Why naming the intermediate file .tmp and not .xml ?
>
> Best regards,
> Nicolas


I had it working nicely in version 2447 and attached is an export that was
made with revision 2447, just tonight.  Since then, the code in netform.cpp
has had the snot kicked out of it in the name of who knows what.


1) Please do not become dependent on the kludge that Jean-Pierre added to
the code in revision 2467, diff attached.  This is not part of the design of
this file, and I say that as the original author.  I raised a complaint with
Jean-Pierre the moment the commit was made saying whatever needed these
hacks should be fixed, rather than munging what was a good file design, with
redundant information.  Nobody has had the time to actually fix some of the
down stream processing tools which became dependent on this hack.

I don't want to see your code fall victim to the same dependencies, which I
will likely eventually go away.


2) God knows what happened to the libpart and libraries listings.  Again,
they were working in 2447, and I suggest you build that version if you want
a good working netlist export, until we can get this straightened out
again.  Oops, I meant they.

Doing a

$ bzr qlog 

-> right click | show tree | pick eeschema | pick netform.cpp | show log

will show a precise history of netform.cpp since version 2447.

The guys are pretty good about fixing things they broke, so I am hopeful it
will get fixed without my time having to jump in.

Dick



<?xml version="1.0" encoding="utf-8"?>
<export version="D">
    <design>
        <source>/i/home/dick/ethernetswitch/schematic/backplan.sch</source>
        <date>Sun 06 Feb 2011 11:03:07 PM CST</date>
        <tool>eeschema (2010-08-11 BZR 2447)-unstable</tool>
    </design>
    <components>
        <comp ref="U?">
            <value>MAX809TTRG0SCT</value>
            <fields>
                <field name="Purpose">RESET SUPERVISOR</field>
            </fields>
            <libsource lib="ks8695" part="HEADER_3_0"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>4BB3493C</tstamp>
        </comp>
        <comp ref="P7">
            <value>MOUNTHOLE</value>
            <libsource lib="conn" part="CONN_1"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>481B787F</tstamp>
        </comp>
        <comp ref="P6">
            <value>MOUNTHOLE</value>
            <libsource lib="conn" part="CONN_1"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>481B787A</tstamp>
        </comp>
        <comp ref="P5">
            <value>MOUNTHOLE</value>
            <libsource lib="conn" part="CONN_1"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>481B7873</tstamp>
        </comp>
        <comp ref="P4">
            <value>MOUNTHOLE</value>
            <libsource lib="conn" part="CONN_1"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>481B7856</tstamp>
        </comp>
        <comp ref="TP4">
            <value>TESTPOINT</value>
            <libsource lib="ks8695" part="TESTPOINT"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>481B77A5</tstamp>
        </comp>
        <comp ref="TP2">
            <value>TESTPOINT</value>
            <libsource lib="ks8695" part="TESTPOINT"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>481B77A0</tstamp>
        </comp>
        <comp ref="TP5">
            <value>TESTPOINT</value>
            <libsource lib="ks8695" part="TESTPOINT"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>481B7797</tstamp>
        </comp>
        <comp ref="C14">
            <value>0.1uF</value>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>481B55EA</tstamp>
        </comp>
        <comp ref="C17">
            <value>10uF</value>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>481B55DE</tstamp>
        </comp>
        <comp ref="C13">
            <value>0.1uF</value>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>481B55CD</tstamp>
        </comp>
        <comp ref="C16">
            <value>10uF</value>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>481B55C2</tstamp>
        </comp>
        <comp ref="C12">
            <value>0.1uF</value>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>481B55B0</tstamp>
        </comp>
        <comp ref="C15">
            <value>10uF</value>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>481B5591</tstamp>
        </comp>
        <comp ref="C10">
            <value>10uF</value>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>481B5374</tstamp>
        </comp>
        <comp ref="C11">
            <value>10uF</value>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>481B52AB</tstamp>
        </comp>
        <comp ref="C9">
            <value>10uF</value>
            <footprint>SM0805</footprint>
            <fields>
                <field name="Manufacturer">Taiyo Yuden JMK212BJ106KD-T</field>
                <field name="Vendor">Newark 18J2700</field>
            </fields>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>481B5288</tstamp>
        </comp>
        <comp ref="C5">
            <value>0.1uF</value>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>45EC8BDC</tstamp>
        </comp>
        <comp ref="C1">
            <value>0.1uF</value>
            <footprint>SM0402</footprint>
            <fields>
                <field name="Manufacturer">Taiyo Yuden TMK105BJ104KV-F</field>
                <field name="Vendor">Newark 93K5517</field>
            </fields>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>45EC8BDB</tstamp>
        </comp>
        <comp ref="C6">
            <value>0.1uF</value>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>45EC8BDA</tstamp>
        </comp>
        <comp ref="C2">
            <value>0.1uF</value>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>45EC8BD9</tstamp>
        </comp>
        <comp ref="C7">
            <value>0.1uF</value>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>45EC8B14</tstamp>
        </comp>
        <comp ref="C3">
            <value>0.1uF</value>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>45EC8B0D</tstamp>
        </comp>
        <comp ref="C8">
            <value>0.1uF</value>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>45EC8AF0</tstamp>
        </comp>
        <comp ref="C4">
            <value>0.1uF</value>
            <libsource lib="ks8695" part="CAP_NP"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>45EC8AD8</tstamp>
        </comp>
        <comp ref="P3">
            <value>HIROSE52</value>
            <footprint>HIROSE_52</footprint>
            <libsource lib="ks8695" part="HIROSE52"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>45EC7A74</tstamp>
        </comp>
        <comp ref="P2">
            <value>HIROSE52</value>
            <footprint>HIROSE_52</footprint>
            <libsource lib="ks8695" part="HIROSE52"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>45EC7A04</tstamp>
        </comp>
        <comp ref="P1">
            <value>HIROSE52</value>
            <footprint>HIROSE_52</footprint>
            <datasheet>hirose_backplane_e57220088.pdf</datasheet>
            <fields>
                <field name="Manufacturer">Hirose FX2C-52S-1.27DSA(71) </field>
                <field name="Vendor">Force Electronics</field>
            </fields>
            <libsource lib="ks8695" part="HIROSE52"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>45EC7603</tstamp>
        </comp>
        <comp ref="U2">
            <value>SN74ALVC164245DGGR</value>
            <libsource lib="ks8695" part="SN74LVC16T245"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>45EC539C</tstamp>
        </comp>
        <comp ref="U1">
            <value>SN74ALVC164245DGGR</value>
            <footprint>TSSOP48</footprint>
            <datasheet>sn74alvc164245.pdf</datasheet>
            <fields>
                <field name="Vendor">Newark 35C2035</field>
                <field name="Manufacturer">Texas Instruments SN74ALVC164245DGGR</field>
            </fields>
            <libsource lib="ks8695" part="SN74LVC16T245"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>45EC52B9</tstamp>
        </comp>
        <comp ref="JP1">
            <value>HEADER_20X2</value>
            <footprint>PIN_ARRAY_20X2</footprint>
            <datasheet>TLW_TH.pdf</datasheet>
            <fields>
                <field name="Vendor">Force Electronics</field>
                <field name="Manufacturer">Samtec MTLW-120-08-G-D-410</field>
            </fields>
            <libsource lib="ks8695" part="HEADER_20X2"/>
            <sheetpath names="/" tstamps="/"/>
            <tstamp>45E89D03</tstamp>
        </comp>
    </components>
    <libparts>
        <libpart lib="ks8695" part="HEADER_3_0">
            <fields>
                <field name="Reference">JP</field>
                <field name="Value">HEADER_3_0</field>
            </fields>
            <pins>
                <pin num="1"/>
                <pin num="2"/>
                <pin num="3"/>
            </pins>
        </libpart>
        <libpart lib="ks8695" part="HEADER_20X2">
            <fields>
                <field name="Reference">JP</field>
                <field name="Value">HEADER_20X2</field>
            </fields>
            <pins>
                <pin num="1"/>
                <pin num="2"/>
                <pin num="3"/>
                <pin num="4"/>
                <pin num="5"/>
                <pin num="6"/>
                <pin num="7"/>
                <pin num="8"/>
                <pin num="9"/>
                <pin num="10"/>
                <pin num="11"/>
                <pin num="12"/>
                <pin num="13"/>
                <pin num="14"/>
                <pin num="15"/>
                <pin num="16"/>
                <pin num="17"/>
                <pin num="18"/>
                <pin num="19"/>
                <pin num="20"/>
                <pin num="21"/>
                <pin num="22"/>
                <pin num="23"/>
                <pin num="24"/>
                <pin num="25"/>
                <pin num="26"/>
                <pin num="27"/>
                <pin num="28"/>
                <pin num="29"/>
                <pin num="30"/>
                <pin num="31"/>
                <pin num="32"/>
                <pin num="33"/>
                <pin num="34"/>
                <pin num="35"/>
                <pin num="36"/>
                <pin num="37"/>
                <pin num="38"/>
                <pin num="39"/>
                <pin num="40"/>
            </pins>
        </libpart>
        <libpart lib="conn" part="CONN_1">
            <description>1 pin</description>
            <fields>
                <field name="Reference">P</field>
                <field name="Value">CONN_1</field>
            </fields>
            <pins>
                <pin num="1"/>
            </pins>
        </libpart>
        <libpart lib="ks8695" part="HIROSE52">
            <fields>
                <field name="Reference">P</field>
                <field name="Value">HIROSE52</field>
            </fields>
            <pins>
                <pin num="A1"/>
                <pin num="A2"/>
                <pin num="A3"/>
                <pin num="A4"/>
                <pin num="A5"/>
                <pin num="A6"/>
                <pin num="A7"/>
                <pin num="A8"/>
                <pin num="A9"/>
                <pin num="A10"/>
                <pin num="A11"/>
                <pin num="A12"/>
                <pin num="A13"/>
                <pin num="A14"/>
                <pin num="A15"/>
                <pin num="A16"/>
                <pin num="A17"/>
                <pin num="A18"/>
                <pin num="A19"/>
                <pin num="A20"/>
                <pin num="A21"/>
                <pin num="A22"/>
                <pin num="A23"/>
                <pin num="A24"/>
                <pin num="A25"/>
                <pin num="A26"/>
                <pin num="B1"/>
                <pin num="B2"/>
                <pin num="B3"/>
                <pin num="B4"/>
                <pin num="B5"/>
                <pin num="B6"/>
                <pin num="B7"/>
                <pin num="B8"/>
                <pin num="B9"/>
                <pin num="B10"/>
                <pin num="B11"/>
                <pin num="B12"/>
                <pin num="B13"/>
                <pin num="B14"/>
                <pin num="B15"/>
                <pin num="B16"/>
                <pin num="B17"/>
                <pin num="B18"/>
                <pin num="B19"/>
                <pin num="B20"/>
                <pin num="B21"/>
                <pin num="B22"/>
                <pin num="B23"/>
                <pin num="B24"/>
                <pin num="B25"/>
                <pin num="B26"/>
            </pins>
        </libpart>
        <libpart lib="ks8695" part="CAP_NP">
            <footprints>
                <fp>SM0603</fp>
            </footprints>
            <fields>
                <field name="Reference">C</field>
                <field name="Value">CAP_NP</field>
            </fields>
            <pins>
                <pin num="1"/>
                <pin num="2"/>
            </pins>
        </libpart>
        <libpart lib="ks8695" part="SN74LVC16T245">
            <fields>
                <field name="Reference">U</field>
                <field name="Value">SN74LVC16T245</field>
            </fields>
            <pins>
                <pin num="1"/>
                <pin num="2"/>
                <pin num="3"/>
                <pin num="4"/>
                <pin num="5"/>
                <pin num="6"/>
                <pin num="7"/>
                <pin num="8"/>
                <pin num="9"/>
                <pin num="10"/>
                <pin num="11"/>
                <pin num="12"/>
                <pin num="13"/>
                <pin num="14"/>
                <pin num="15"/>
                <pin num="16"/>
                <pin num="17"/>
                <pin num="18"/>
                <pin num="19"/>
                <pin num="20"/>
                <pin num="21"/>
                <pin num="22"/>
                <pin num="23"/>
                <pin num="24"/>
                <pin num="25"/>
                <pin num="26"/>
                <pin num="27"/>
                <pin num="28"/>
                <pin num="29"/>
                <pin num="30"/>
                <pin num="31"/>
                <pin num="32"/>
                <pin num="33"/>
                <pin num="34"/>
                <pin num="35"/>
                <pin num="36"/>
                <pin num="37"/>
                <pin num="38"/>
                <pin num="39"/>
                <pin num="40"/>
                <pin num="41"/>
                <pin num="42"/>
                <pin num="43"/>
                <pin num="44"/>
                <pin num="45"/>
                <pin num="46"/>
                <pin num="47"/>
                <pin num="48"/>
            </pins>
        </libpart>
        <libpart lib="ks8695" part="TESTPOINT">
            <fields>
                <field name="Reference">TP</field>
                <field name="Value">TESTPOINT</field>
            </fields>
            <pins>
                <pin num="1"/>
            </pins>
        </libpart>
    </libparts>
    <libraries>
        <library logical="conn">
            <uri>/usr/local/share/kicad/library/conn.lib</uri>
        </library>
        <library logical="ks8695">
            <uri>./ks8695.lib</uri>
        </library>
    </libraries>
    <nets>
        <net code="1" name="/ADDR2">
            <node ref="P1" pin="A11"/>
            <node ref="P2" pin="A11"/>
            <node ref="P3" pin="A11"/>
            <node ref="U1" pin="16"/>
        </net>
        <net code="2" name="/ADDR3">
            <node ref="U1" pin="17"/>
            <node ref="P1" pin="B11"/>
            <node ref="P3" pin="B11"/>
            <node ref="P2" pin="B11"/>
        </net>
        <net code="3" name="/SLOT0">
            <node ref="U2" pin="9"/>
            <node ref="P3" pin="A21"/>
            <node ref="P2" pin="A21"/>
            <node ref="P1" pin="A21"/>
        </net>
        <net code="4" name="/RESET#">
            <node ref="P2" pin="B21"/>
            <node ref="P1" pin="B21"/>
            <node ref="P3" pin="B21"/>
            <node ref="U2" pin="23"/>
        </net>
        <net code="5" name="/ADDR4">
            <node ref="P1" pin="A12"/>
            <node ref="P3" pin="A12"/>
            <node ref="P2" pin="A12"/>
            <node ref="U1" pin="19"/>
        </net>
        <net code="6" name="/ADDR5">
            <node ref="P2" pin="B12"/>
            <node ref="U1" pin="20"/>
            <node ref="P1" pin="B12"/>
            <node ref="P3" pin="B12"/>
        </net>
        <net code="7" name="/SLOT1">
            <node ref="U2" pin="11"/>
            <node ref="P2" pin="A22"/>
            <node ref="P1" pin="A22"/>
            <node ref="P3" pin="A22"/>
        </net>
        <net code="8" name="/SLOT2">
            <node ref="U2" pin="12"/>
            <node ref="P3" pin="B22"/>
            <node ref="P2" pin="B22"/>
            <node ref="P1" pin="B22"/>
        </net>
        <net code="9" name="/ADDR6">
            <node ref="P3" pin="A13"/>
            <node ref="U1" pin="22"/>
            <node ref="P2" pin="A13"/>
            <node ref="P1" pin="A13"/>
        </net>
        <net code="10" name="/ADDR7">
            <node ref="P3" pin="B13"/>
            <node ref="P2" pin="B13"/>
            <node ref="P1" pin="B13"/>
            <node ref="U1" pin="23"/>
        </net>
        <net code="11" name="GND">
            <node ref="U1" pin="15"/>
            <node ref="U1" pin="34"/>
            <node ref="U1" pin="39"/>
            <node ref="U1" pin="45"/>
            <node ref="U1" pin="21"/>
            <node ref="C15" pin="2"/>
            <node ref="C12" pin="2"/>
            <node ref="C16" pin="2"/>
            <node ref="U2" pin="4"/>
            <node ref="U2" pin="25"/>
            <node ref="U2" pin="15"/>
            <node ref="U2" pin="34"/>
            <node ref="U1" pin="4"/>
            <node ref="U2" pin="39"/>
            <node ref="U2" pin="29"/>
            <node ref="U1" pin="10"/>
            <node ref="U2" pin="48"/>
            <node ref="U2" pin="28"/>
            <node ref="U2" pin="21"/>
            <node ref="C14" pin="2"/>
            <node ref="U2" pin="27"/>
            <node ref="C17" pin="2"/>
            <node ref="U2" pin="30"/>
            <node ref="C13" pin="2"/>
            <node ref="U2" pin="45"/>
            <node ref="U2" pin="35"/>
            <node ref="U2" pin="10"/>
            <node ref="C4" pin="2"/>
            <node ref="C8" pin="2"/>
            <node ref="C3" pin="2"/>
            <node ref="JP1" pin="34"/>
            <node ref="JP1" pin="36"/>
            <node ref="C5" pin="2"/>
            <node ref="U2" pin="33"/>
            <node ref="C1" pin="2"/>
            <node ref="U2" pin="32"/>
            <node ref="C6" pin="2"/>
            <node ref="C2" pin="2"/>
            <node ref="C7" pin="2"/>
            <node ref="C9" pin="2"/>
            <node ref="C11" pin="2"/>
            <node ref="C10" pin="2"/>
            <node ref="P1" pin="A2"/>
            <node ref="P1" pin="B2"/>
            <node ref="P3" pin="B26"/>
            <node ref="P3" pin="B25"/>
            <node ref="P3" pin="A24"/>
            <node ref="P3" pin="A23"/>
            <node ref="P1" pin="B3"/>
            <node ref="P1" pin="A4"/>
            <node ref="P1" pin="B4"/>
            <node ref="P1" pin="A5"/>
            <node ref="P1" pin="B5"/>
            <node ref="P2" pin="B25"/>
            <node ref="P2" pin="A24"/>
            <node ref="P2" pin="B23"/>
            <node ref="P1" pin="A3"/>
            <node ref="P1" pin="B25"/>
            <node ref="P1" pin="B26"/>
            <node ref="P1" pin="A24"/>
            <node ref="P1" pin="B23"/>
            <node ref="P1" pin="A23"/>
            <node ref="P2" pin="B26"/>
            <node ref="P3" pin="A5"/>
            <node ref="P3" pin="B5"/>
            <node ref="U?" pin="1"/>
            <node ref="P2" pin="A5"/>
            <node ref="P2" pin="A2"/>
            <node ref="P2" pin="B4"/>
            <node ref="P2" pin="B2"/>
            <node ref="P2" pin="A3"/>
            <node ref="P2" pin="B3"/>
            <node ref="P2" pin="A4"/>
            <node ref="P2" pin="B5"/>
            <node ref="P3" pin="B4"/>
            <node ref="P3" pin="A4"/>
            <node ref="P3" pin="B3"/>
            <node ref="P3" pin="A3"/>
            <node ref="P3" pin="B2"/>
            <node ref="P3" pin="A2"/>
            <node ref="U1" pin="28"/>
        </net>
        <net code="12" name="/DATA0">
            <node ref="P2" pin="A14"/>
            <node ref="P1" pin="A14"/>
            <node ref="U1" pin="2"/>
            <node ref="P3" pin="A14"/>
        </net>
        <net code="13" name="/DATA1">
            <node ref="U1" pin="3"/>
            <node ref="P2" pin="B14"/>
            <node ref="P1" pin="B14"/>
            <node ref="P3" pin="B14"/>
        </net>
        <net code="14" name="/RACK0#">
            <node ref="U2" pin="13"/>
            <node ref="P2" pin="B24"/>
            <node ref="P3" pin="B24"/>
            <node ref="P1" pin="B24"/>
        </net>
        <net code="15" name="">
            <node ref="U2" pin="22"/>
        </net>
        <net code="16" name="/WRITE#">
            <node ref="P3" pin="B19"/>
            <node ref="P2" pin="B19"/>
            <node ref="P1" pin="B19"/>
            <node ref="U2" pin="5"/>
        </net>
        <net code="17" name="/DATA#">
            <node ref="U2" pin="8"/>
            <node ref="P3" pin="A19"/>
            <node ref="P1" pin="A19"/>
            <node ref="P2" pin="A19"/>
        </net>
        <net code="18" name="/PAGE#">
            <node ref="P3" pin="B18"/>
            <node ref="P2" pin="B18"/>
            <node ref="P1" pin="B18"/>
            <node ref="U2" pin="6"/>
        </net>
        <net code="19" name="/TICKLER">
            <node ref="P3" pin="A18"/>
            <node ref="U2" pin="3"/>
            <node ref="P1" pin="A18"/>
            <node ref="P2" pin="A18"/>
        </net>
        <net code="20" name="/DATA7">
            <node ref="P2" pin="B17"/>
            <node ref="U1" pin="12"/>
            <node ref="P1" pin="B17"/>
            <node ref="P3" pin="B17"/>
        </net>
        <net code="21" name="/DATA6">
            <node ref="P3" pin="A17"/>
            <node ref="P1" pin="A17"/>
            <node ref="P2" pin="A17"/>
            <node ref="U1" pin="11"/>
        </net>
        <net code="22" name="/SLOTSEL#">
            <node ref="P3" pin="A26"/>
            <node ref="P1" pin="A26"/>
            <node ref="U2" pin="2"/>
            <node ref="P2" pin="A26"/>
        </net>
        <net code="23" name="/DATA5">
            <node ref="P3" pin="B16"/>
            <node ref="U1" pin="9"/>
            <node ref="P2" pin="B16"/>
            <node ref="P1" pin="B16"/>
        </net>
        <net code="24" name="/DATA4">
            <node ref="U1" pin="8"/>
            <node ref="P2" pin="A16"/>
            <node ref="P3" pin="A16"/>
            <node ref="P1" pin="A16"/>
        </net>
        <net code="25" name="">
            <node ref="P1" pin="A25"/>
        </net>
        <net code="26" name="/DATA3">
            <node ref="U1" pin="6"/>
            <node ref="P3" pin="B15"/>
            <node ref="P1" pin="B15"/>
            <node ref="P2" pin="B15"/>
        </net>
        <net code="27" name="/DATA2">
            <node ref="U1" pin="5"/>
            <node ref="P2" pin="A15"/>
            <node ref="P1" pin="A15"/>
            <node ref="P3" pin="A15"/>
        </net>
        <net code="28" name="EGND">
            <node ref="P3" pin="A1"/>
            <node ref="P3" pin="B1"/>
            <node ref="P1" pin="B1"/>
            <node ref="P1" pin="A1"/>
            <node ref="P2" pin="B1"/>
            <node ref="P2" pin="A1"/>
            <node ref="P5" pin="1"/>
            <node ref="P4" pin="1"/>
            <node ref="P6" pin="1"/>
            <node ref="P7" pin="1"/>
            <node ref="JP1" pin="38"/>
            <node ref="JP1" pin="40"/>
        </net>
        <net code="29" name="/ADDR1">
            <node ref="P1" pin="B10"/>
            <node ref="P3" pin="B10"/>
            <node ref="P2" pin="B10"/>
            <node ref="U1" pin="14"/>
        </net>
        <net code="30" name="/ADDR0">
            <node ref="P1" pin="A10"/>
            <node ref="U1" pin="13"/>
            <node ref="P2" pin="A10"/>
            <node ref="P3" pin="A10"/>
        </net>
        <net code="31" name="V5.0">
            <node ref="C15" pin="1"/>
            <node ref="C12" pin="1"/>
            <node ref="C16" pin="1"/>
            <node ref="C5" pin="1"/>
            <node ref="C1" pin="1"/>
            <node ref="TP4" pin="1"/>
            <node ref="TP2" pin="1"/>
            <node ref="C14" pin="1"/>
            <node ref="C17" pin="1"/>
            <node ref="C13" pin="1"/>
            <node ref="C3" pin="1"/>
            <node ref="C7" pin="1"/>
            <node ref="C9" pin="1"/>
            <node ref="C11" pin="1"/>
            <node ref="U1" pin="18"/>
            <node ref="P2" pin="A6"/>
            <node ref="P2" pin="B6"/>
            <node ref="P2" pin="A7"/>
            <node ref="P2" pin="B7"/>
            <node ref="P2" pin="A8"/>
            <node ref="P2" pin="B8"/>
            <node ref="U2" pin="7"/>
            <node ref="U1" pin="7"/>
            <node ref="U2" pin="18"/>
            <node ref="JP1" pin="26"/>
            <node ref="JP1" pin="28"/>
            <node ref="P1" pin="B7"/>
            <node ref="P1" pin="A8"/>
            <node ref="P1" pin="B8"/>
            <node ref="P1" pin="A9"/>
            <node ref="P1" pin="B9"/>
            <node ref="P1" pin="A20"/>
            <node ref="P1" pin="B20"/>
            <node ref="P2" pin="A23"/>
            <node ref="P2" pin="A9"/>
            <node ref="P2" pin="B9"/>
            <node ref="P2" pin="A20"/>
            <node ref="P2" pin="B20"/>
            <node ref="P3" pin="B7"/>
            <node ref="P3" pin="A8"/>
            <node ref="P3" pin="B8"/>
            <node ref="P3" pin="A9"/>
            <node ref="P3" pin="B9"/>
            <node ref="P3" pin="A20"/>
            <node ref="P3" pin="B20"/>
            <node ref="P3" pin="A7"/>
            <node ref="P3" pin="B6"/>
            <node ref="P3" pin="A6"/>
            <node ref="P3" pin="B23"/>
            <node ref="P1" pin="A6"/>
            <node ref="P1" pin="B6"/>
            <node ref="P1" pin="A7"/>
        </net>
        <net code="32" name="">
            <node ref="P2" pin="A25"/>
        </net>
        <net code="33" name="/MMBUSSEL1#">
            <node ref="JP1" pin="20"/>
        </net>
        <net code="34" name="/MBBUSSEL3#">
            <node ref="JP1" pin="22"/>
        </net>
        <net code="35" name="/MBBUSSEL0#">
            <node ref="U1" pin="25"/>
            <node ref="JP1" pin="18"/>
            <node ref="U1" pin="48"/>
        </net>
        <net code="36" name="/MBDATA7">
            <node ref="JP1" pin="16"/>
            <node ref="U1" pin="37"/>
        </net>
        <net code="37" name="/MBWRITE">
            <node ref="JP1" pin="24"/>
            <node ref="U1" pin="1"/>
        </net>
        <net code="38" name="/MBADDR5">
            <node ref="JP1" pin="21"/>
            <node ref="U1" pin="29"/>
        </net>
        <net code="39" name="/MBADDR6">
            <node ref="U1" pin="27"/>
            <node ref="JP1" pin="23"/>
        </net>
        <net code="40" name="/MBADDR7">
            <node ref="JP1" pin="25"/>
            <node ref="U1" pin="26"/>
        </net>
        <net code="41" name="/MBSLOT0">
            <node ref="U2" pin="40"/>
            <node ref="JP1" pin="27"/>
        </net>
        <net code="42" name="/MBSLOT1">
            <node ref="JP1" pin="29"/>
            <node ref="U2" pin="38"/>
        </net>
        <net code="43" name="/MBSLOT2">
            <node ref="JP1" pin="31"/>
            <node ref="U2" pin="37"/>
        </net>
        <net code="44" name="/MBRACK0#">
            <node ref="U2" pin="36"/>
            <node ref="JP1" pin="33"/>
        </net>
        <net code="45" name="/MBRACK1#">
            <node ref="JP1" pin="35"/>
        </net>
        <net code="46" name="/MBRACK2#">
            <node ref="JP1" pin="37"/>
        </net>
        <net code="47" name="/MBBUSSEL2#">
            <node ref="JP1" pin="39"/>
        </net>
        <net code="48" name="/MBDATA3">
            <node ref="JP1" pin="8"/>
            <node ref="U1" pin="43"/>
        </net>
        <net code="49" name="/MBDATA4">
            <node ref="JP1" pin="10"/>
            <node ref="U1" pin="41"/>
        </net>
        <net code="50" name="/MBDATA5">
            <node ref="U1" pin="40"/>
            <node ref="JP1" pin="12"/>
        </net>
        <net code="51" name="/MBDATA6">
            <node ref="JP1" pin="14"/>
            <node ref="U1" pin="38"/>
        </net>
        <net code="52" name="/MBDATA2">
            <node ref="JP1" pin="6"/>
            <node ref="U1" pin="44"/>
        </net>
        <net code="53" name="/MBDATA1">
            <node ref="U1" pin="46"/>
            <node ref="JP1" pin="4"/>
        </net>
        <net code="54" name="/MBDATA0">
            <node ref="U1" pin="47"/>
            <node ref="JP1" pin="2"/>
        </net>
        <net code="55" name="/MBSLOTSEL#">
            <node ref="U2" pin="47"/>
            <node ref="JP1" pin="1"/>
        </net>
        <net code="56" name="/MBTICKLER">
            <node ref="JP1" pin="3"/>
            <node ref="U2" pin="46"/>
        </net>
        <net code="57" name="/MBWRITE#">
            <node ref="JP1" pin="5"/>
            <node ref="U2" pin="44"/>
        </net>
        <net code="58" name="/MBPAGE#">
            <node ref="U2" pin="43"/>
            <node ref="JP1" pin="7"/>
        </net>
        <net code="59" name="/MBDATA#">
            <node ref="U2" pin="41"/>
            <node ref="JP1" pin="9"/>
        </net>
        <net code="60" name="/MBADDR0">
            <node ref="JP1" pin="11"/>
            <node ref="U1" pin="36"/>
        </net>
        <net code="61" name="/MBADDR1">
            <node ref="JP1" pin="13"/>
            <node ref="U1" pin="35"/>
        </net>
        <net code="62" name="/MBADDR2">
            <node ref="JP1" pin="15"/>
            <node ref="U1" pin="33"/>
        </net>
        <net code="63" name="/MBADDR3">
            <node ref="U1" pin="32"/>
            <node ref="JP1" pin="17"/>
        </net>
        <net code="64" name="/MBADDR4">
            <node ref="JP1" pin="19"/>
            <node ref="U1" pin="30"/>
        </net>
        <net code="65" name="">
            <node ref="U2" pin="20"/>
        </net>
        <net code="66" name="">
            <node ref="U2" pin="19"/>
        </net>
        <net code="67" name="">
            <node ref="U2" pin="16"/>
        </net>
        <net code="68" name="/RESET_V3.3#">
            <node ref="U2" pin="26"/>
            <node ref="U?" pin="2"/>
        </net>
        <net code="69" name="">
            <node ref="U2" pin="17"/>
        </net>
        <net code="70" name="">
            <node ref="U2" pin="14"/>
        </net>
        <net code="71" name="V3.3">
            <node ref="C8" pin="1"/>
            <node ref="C10" pin="1"/>
            <node ref="C4" pin="1"/>
            <node ref="U2" pin="24"/>
            <node ref="U2" pin="31"/>
            <node ref="JP1" pin="30"/>
            <node ref="U1" pin="31"/>
            <node ref="U1" pin="42"/>
            <node ref="U1" pin="24"/>
            <node ref="TP5" pin="1"/>
            <node ref="U?" pin="3"/>
            <node ref="C2" pin="1"/>
            <node ref="C6" pin="1"/>
            <node ref="U2" pin="42"/>
            <node ref="U2" pin="1"/>
            <node ref="JP1" pin="32"/>
        </net>
        <net code="72" name="">
            <node ref="P3" pin="A25"/>
        </net>
    </nets>
</export>
=== modified file 'eeschema/netform.cpp'
--- eeschema/netform.cpp	2010-08-11 19:54:22 +0000
+++ eeschema/netform.cpp	2010-08-29 19:33:29 +0000
@@ -923,6 +923,9 @@
     wxString    sLib        = wxT( "lib" );
     wxString    sPart       = wxT( "part" );
     wxString    sNames      = wxT( "names" );
+    wxString    sPinNum     = wxT( "num" );
+    wxString    sPinNetname = wxT( "netname" );
+    wxString    sPinNetcode = wxT( "netcode" );
 
 
     m_ReferencesAlreadyFound.Clear();
@@ -936,7 +939,7 @@
     {
         for( EDA_BaseStruct* schItem = path->LastDrawList();  schItem;  schItem = schItem->Next() )
         {
-            SCH_COMPONENT*  comp = findNextComponent( schItem, path );
+            SCH_COMPONENT*  comp = findNextComponentAndCreatPinList( schItem, path );
             if( !comp )
                 break;  // No component left
 
@@ -1000,6 +1003,26 @@
 
             timeStamp.Printf( sTSFmt, comp->m_TimeStamp );
             xcomp->AddChild( node( sTStamp, timeStamp ) );
+
+            // Add pins list for this cmponent.
+            // Usedful to build netlist which have pads connection inside the footprint description
+            // (Spice, OrcadPCB2 ...)
+            XNODE* xpinslist;
+            xcomp->AddChild( xpinslist = node( sPins ) );
+            for( unsigned ii = 0; ii < m_SortedComponentPinList.size(); ii++ )
+            {
+                NETLIST_OBJECT* Pin = m_SortedComponentPinList[ii];
+                if( !Pin )
+                    continue;
+                XNODE* xpin;
+                xpinslist->AddChild( xpin = node( sPin ) );
+                wxString text;
+                xpin->AddAttribute( sPinNum, Pin->GetPinNumText() );
+                sprintPinNetName( &text, wxT( "N-%.6d" ), Pin );
+                xpin->AddAttribute( sPinNetname, text );
+                text.Printf( wxT( "%d" ), Pin->GetNet() );
+                xpin->AddAttribute( sPinNetcode, text );
+            }
         }
     }
 


References