Mail Archives: geda-user/2015/08/20/12:30:04
Hi,
I finally finished my work on refactoring gnetlist. The result is a new,
improved netlister which behaves almost identical to gnetlist and passes
the original gnetlist test suite, but is much easier to extend.
In contrast to the first development version I posted on the list, the
final refactored version's output is slightly different from that of
gnetlist. The exact differences are documented in tests/netlist/README.
You can clone the repository from
git://github.com/rlutz/xorn.git
or download the latest tarball from:
http://hedmen.org/xorn/xorn-netlist-20150820.tar.gz
There are two noteworthy differences in the way the netlister behaves:
* Attribute conflicts are now considered an error. This will usually
cause the netlister to fail on larger schematic since there are often
unnoticed inconsistencies, but it will succeed once the inconsistencies
are fixed.
* Ports can now appear multiple times in a subschematic, or not at all.
This will still cause a warning but produces the expected result.
Since the new code doesn't run any Scheme code or read any configuration
file, it is not a drop-in replacement for gnetlist. You will usually have
to add your configuration as command-line options to the Xorn invocation.
If, for example, you are using the standard library, no special symbols or
hierarchy, and are using your distribution's gEDA package, this would be:
xorn netlist --symbol-library-search=/usr/share/gEDA/sym -g BACKEND schematic.sch
You can run the Xorn command without installing it first. To do so, just
run the `xorn' executable from `src/command' directory in the build tree
or add that directory to your PATH.
If you are interested in writing a netlist backend, the obvious starting
point would be looking at the existing backends:
https://github.com/rlutz/xorn/tree/master/src/backend
The API documentation is available at:
http://hedmen.org/xorn/doc/api/html/namespacexorn_1_1geda_1_1netlist.html
If you want to use the netlister in your own application, see the
documentation for xorn.geda.netlist.netlist.
Roland
- Raw text -