Mail Archives: geda-user/2019/01/30/18:22:56
--Apple-Mail=_731D5C8D-1345-449D-B234-0CFD00B0E660
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=utf-8
> On Jan 30, 2019, at 3:30 PM, Roland Lutz <rlutz AT hedmen DOT org> wrote:
>=20
> On Wed, 30 Jan 2019, John Doty wrote:
>> Can you test netlist topology for equivalence?
>=20
> Graph isomorphy is not a trivial problem, but if you leave the case of =
mass-renaming packages and nets out, it should be implementable without =
too much of a problem.
As I=E2=80=99m moving my infrastructure over to Lepton, one of the =
things on my list is a plugin to implement stable naming for unnamed =
nets. The idea is that (refdes pinnumber) pairs define a unique =
connection, so choose an ordering, sort them, and use the first one as =
the net name. So, unnamed_net27 might become J1_17. That=E2=80=99s handy =
for a number of things like SPICE simulations, and it would make =
comparing topologies easier.
>=20
> Do you have a specific use case in mind?
>=20
>=20
One thing I=E2=80=99ve done is extract the netlist from an Osmond layout =
and compared it to an Osmond netlist created by gnetlist to verify that =
nothing got changed in layout. That one=E2=80=99s not hard: the layout =
file contains a netlist with the names of things unchanged, only with =
vias added. It=E2=80=99s easy enough to remove the vias, sort the =
remaining connections, sort the nets, and compare to a similarly =
processed netlist from gnetlist, thus verifying that the layout reflects =
the schematics. I=E2=80=99ve even used this approach to recover a =
schematic from a layout that was fairly drastically revised (replacement =
of a microcontroller with an FPGA!) without much trouble.
John Doty Noqsi Aerospace, Ltd.
jpd AT noqsi DOT com
--Apple-Mail=_731D5C8D-1345-449D-B234-0CFD00B0E660
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=utf-8
<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" =
class=3D""><br class=3D""><div><blockquote type=3D"cite" class=3D""><div =
class=3D"">On Jan 30, 2019, at 3:30 PM, Roland Lutz <<a =
href=3D"mailto:rlutz AT hedmen DOT org" class=3D"">rlutz AT hedmen DOT org</a>> =
wrote:</div><br class=3D"Apple-interchange-newline"><div class=3D""><div =
class=3D"">On Wed, 30 Jan 2019, John Doty wrote:<br class=3D""><blockquote=
type=3D"cite" class=3D"">Can you test netlist topology for =
equivalence?<br class=3D""></blockquote><br class=3D"">Graph isomorphy =
is not a trivial problem, but if you leave the case of mass-renaming =
packages and nets out, it should be implementable without too much of a =
problem.<br class=3D""></div></div></blockquote><div><br =
class=3D""></div>As I=E2=80=99m moving my infrastructure over to Lepton, =
one of the things on my list is a plugin to implement stable naming for =
unnamed nets. The idea is that (refdes pinnumber) pairs define a unique =
connection, so choose an ordering, sort them, and use the first one as =
the net name. So, unnamed_net27 might become J1_17. That=E2=80=99s handy =
for a number of things like SPICE simulations, and it would make =
comparing topologies easier.</div><div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D""><div class=3D""><br class=3D"">Do=
you have a specific use case in mind?<br class=3D""><br class=3D""><br =
class=3D""></div></div></blockquote><br class=3D""></div><div>One thing =
I=E2=80=99ve done is extract the netlist from an Osmond layout and =
compared it to an Osmond netlist created by gnetlist to verify that =
nothing got changed in layout. That one=E2=80=99s not hard: the layout =
file contains a netlist with the names of things unchanged, only with =
vias added. It=E2=80=99s easy enough to remove the vias, sort the =
remaining connections, sort the nets, and compare to a similarly =
processed netlist from gnetlist, thus verifying that the layout reflects =
the schematics. I=E2=80=99ve even used this approach to recover a =
schematic from a layout that was fairly drastically revised (replacement =
of a microcontroller with an FPGA!) without much trouble.</div><br =
class=3D""><div class=3D"">
<span class=3D"Apple-style-span" style=3D"border-collapse: separate; =
border-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant-ligatures: normal; =
font-variant-caps: normal; font-variant-east-asian: normal; =
font-variant-position: normal; font-weight: normal; letter-spacing: =
normal; line-height: normal; text-indent: 0px; text-transform: none; =
orphans: 2; white-space: normal; widows: 2; word-spacing: 0px;"><div =
style=3D"word-wrap: break-word;" class=3D""><span =
class=3D"Apple-style-span" style=3D"border-collapse: separate; =
border-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant-ligatures: normal; =
font-variant-caps: normal; font-variant-east-asian: normal; =
font-variant-position: normal; font-weight: normal; letter-spacing: =
normal; line-height: normal; text-indent: 0px; text-transform: none; =
orphans: 2; white-space: normal; widows: 2; word-spacing: 0px;"><p =
style=3D"margin: 0px;" class=3D""><font face=3D"Helvetica" size=3D"3" =
style=3D"font-style: normal; font-variant-caps: normal; font-weight: =
normal; font-size: 12px; line-height: normal; font-family: Helvetica;" =
class=3D"">John Doty<span class=3D"Apple-converted-space"> =
<span =
class=3D"Apple-converted-space"> </span><span =
class=3D"Apple-converted-tab"> <span =
class=3D"Apple-converted-space"> </span></span></span>Noqsi =
Aerospace, Ltd.</font></p><p style=3D"margin: 0px;" class=3D""><a =
href=3D"mailto:jpd AT noqsi DOT com" class=3D"">jpd AT noqsi DOT com</a></p><br =
class=3D"Apple-interchange-newline"></span></div></span><br =
class=3D"Apple-interchange-newline">
</div>
<br class=3D""></body></html>=
--Apple-Mail=_731D5C8D-1345-449D-B234-0CFD00B0E660--
- Raw text -