Skip to main content

Electronic circuit design tools.

Project description

buildstatus coverage

About

Electronic circuit design in Python 3.

  • IBIS parsing. Currently only a subset of the IBIS 6.1 specification is supported.

Project homepage: https://github.com/eerimoq/ecdtools

Documentation: http://ecdtools.readthedocs.org/en/latest

Installation

pip install ecdtools

Example usage

In this example we load an IBS-file and access some of its content.

>>> from pprint import pprint
>>> import ecdtools
>>> ibs_file = ecdtools.ibis.load_file('tests/files/ibis/pybis/bushold.ibs')
>>> model = ibs_file.get_model_by_name('TOP_MODEL_BUS_HOLD')
>>> model.model_type
'Input'
>>> pprint(model.gnd_clamp)
[('-2.0000e+00', '-6.158e+17', 'NA', 'NA'),
 ('-1.9000e+00', '-1.697e+16', 'NA', 'NA'),
 ('-1.8000e+00', '-4.679e+14', 'NA', 'NA'),
 ('-1.7000e+00', '-1.290e+13', 'NA', 'NA'),
 ('-1.6000e+00', '-3.556e+11', 'NA', 'NA'),
 ('-1.5000e+00', '-9.802e+09', 'NA', 'NA'),
 ('-1.4000e+00', '-2.702e+08', 'NA', 'NA'),
 ('-1.3000e+00', '-7.449e+06', 'NA', 'NA'),
 ('-1.2000e+00', '-2.053e+05', 'NA', 'NA'),
 ('-1.1000e+00', '-5.660e+03', 'NA', 'NA'),
 ('-1.0000e+00', '-1.560e+02', 'NA', 'NA'),
 ('-9.0000e-01', '-4.308e+00', 'NA', 'NA'),
 ('-8.0000e-01', '-1.221e-01', 'NA', 'NA'),
 ('-7.0000e-01', '-4.315e-03', 'NA', 'NA'),
 ('-6.0000e-01', '-1.715e-04', 'NA', 'NA'),
 ('-5.0000e-01', '-4.959e-06', 'NA', 'NA'),
 ('-4.0000e-01', '-1.373e-07', 'NA', 'NA'),
 ('-3.0000e-01', '-4.075e-09', 'NA', 'NA'),
 ('-2.0000e-01', '-3.044e-10', 'NA', 'NA'),
 ('-1.0000e-01', '-1.030e-10', 'NA', 'NA'),
 ('0.', '0', 'NA', 'NA'),
 ('5', '0', 'NA', 'NA')]

Alternatively, with transform=True, the same input as above gives:

>>> from pprint import pprint
>>> import ecdtools
>>> ibs_file = ecdtools.ibis.load_file('tests/files/ibis/pybis/bushold.ibs',
                                       transform=True)
>>> model = ibs_file.get_model_by_name('TOP_MODEL_BUS_HOLD')
>>> model.model_type
'Input'
>>> pprint(model.gnd_clamp)
[(Decimal('-2.0000'), Decimal('-6.158E+17'), None, None),
 (Decimal('-1.9000'), Decimal('-1.697E+16'), None, None),
 (Decimal('-1.8000'), Decimal('-4.679E+14'), None, None),
 (Decimal('-1.7000'), Decimal('-1.290E+13'), None, None),
 (Decimal('-1.6000'), Decimal('-3.556E+11'), None, None),
 (Decimal('-1.5000'), Decimal('-9.802E+9'), None, None),
 (Decimal('-1.4000'), Decimal('-2.702E+8'), None, None),
 (Decimal('-1.3000'), Decimal('-7.449E+6'), None, None),
 (Decimal('-1.2000'), Decimal('-2.053E+5'), None, None),
 (Decimal('-1.1000'), Decimal('-5660'), None, None),
 (Decimal('-1.0000'), Decimal('-156.0'), None, None),
 (Decimal('-0.90000'), Decimal('-4.308'), None, None),
 (Decimal('-0.80000'), Decimal('-0.1221'), None, None),
 (Decimal('-0.70000'), Decimal('-0.004315'), None, None),
 (Decimal('-0.60000'), Decimal('-0.0001715'), None, None),
 (Decimal('-0.50000'), Decimal('-0.000004959'), None, None),
 (Decimal('-0.40000'), Decimal('-1.373E-7'), None, None),
 (Decimal('-0.30000'), Decimal('-4.075E-9'), None, None),
 (Decimal('-0.20000'), Decimal('-3.044E-10'), None, None),
 (Decimal('-0.10000'), Decimal('-1.030E-10'), None, None),
 (Decimal('0'), Decimal('0'), None, None),
 (Decimal('5'), Decimal('0'), None, None)]

Contributing

  1. Fork the repository.

  2. Install prerequisites.

    pip install -r requirements.txt
  3. Implement the new feature or bug fix.

  4. Implement test case(s) to ensure that future changes do not break legacy.

  5. Run the tests.

    make test
  6. Create a pull request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ecdtools-0.6.0.tar.gz (274.8 kB view details)

Uploaded Source

File details

Details for the file ecdtools-0.6.0.tar.gz.

File metadata

  • Download URL: ecdtools-0.6.0.tar.gz
  • Upload date:
  • Size: 274.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for ecdtools-0.6.0.tar.gz
Algorithm Hash digest
SHA256 8e896033965e06ed04ddfbd6267b61f600b200584a9ab4b3c469e59545759a60
MD5 854f94bc8d62f2633b4706ddcb76cf8b
BLAKE2b-256 a0b83ca86bf18bbc1a80c7e22df5f4cca2dd0fd0640644b95282c4486ff19ed3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page