Mail Archives: geda-user/2012/02/14/15:37:56
I've released a Python based IBIS parser I've created as part of a
project that I'm working on in the hope that others will find it
useful, improve on it, and create new projects based on it. The parser
manages everything in the 5.0 specification except for AMI files.
http://github.com/russdill/pybis
http://github.com/russdill/pybis/wiki
The IBIS format, partially due to its long history, is somewhat
difficult to parse. Due to the licensing terms of the only publically
available parser, there is a barrier to entry for projects (especially
open) based on the IBIS format. Either write a new parser from
scratch, or pay for (and abide by the licensing terms) of the golden
parser. With PyBIS, parsing IBIS should be as easy as:
import pybis
parse_results = pybis.IBSParser().parse('test.ibs')
A script that creates a component based on the component information
can simply iterate through the components:
for component_name, component in parse_results.component.iteritems():
And through the pins of the component:
for pin_name, pin in component.pin.iteritems():
And do something with each pin:
my_add_pin(component_name, pin_name, pin.signal_name)
Information could easily be supplemented by checking the information
in the model for the pin as well.
The library is licensed under the GNU LGPL v2.1. Its up on github, so
feel free to fork, send pull requests, enter issues, or edit the wiki.
- Raw text -