Skip to main content

A tool to automatically generate schematics from SPICE netlists

Project description

An Automatic Schematic Generation Tool

This tool generates schematics from a SPICE netlist, usually of output from qflow. It was initially developed during Summer 2020 under the mentorship of Tim Edwards. The schematic entry tools currently supported are Xschem and EESchema.

Usage

asg can be installed using PIP by running pip install asg.

Once installed, it can be run with asg [netlist] [library]

Full usage:

usage: asg [-h] [-f FORMAT] [-d DEPTH] [--vcc VCC] [--vss VSS] [-l] [-e] [-D] input library

positional arguments:
  input
  library

optional arguments:
  -h, --help            show this help message and exit
  -f FORMAT, --format FORMAT
                        output format - one of xschem, eeschema
  -d DEPTH, --depth DEPTH
                        depth to unpack subcircuits
  --vcc VCC             vcc net name
  --vss VSS             vss net name
  -l, --include-library-name
                        include the library name in xschem output. should be used if xschem library env var is a directory instead of a list
  -e, --no-embed-symbols
                        don't embed symbols in xschem schematic output
  -D, --debug           output intermediate steps of the ASG to ./out/

Contributing

To run in a development environment, run python -m asg.main, with appropriate arguments as seen above

The program is organized into a few different submodules under asg/:

  • generation: Constraint classes and the algorithm which optimizes them
  • grammar: Generic classes for parsing and writing files (currently only used for s-expressions for EESchema)
  • input: Reading a netlist from qflow or other synthesis tool
  • library_source: Reads symbols and parses out metadata and pin locations
  • output: Writes a schematic from an internal representation to a schematic file
  • entities.py: A collection of geometry classes and representations of schematic components
  • intermediate_lang.py: Representations of schematics and netlists as collections of components and connections

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

asg-1.1.0.linux-x86_64.tar.gz (48.0 kB view details)

Uploaded Source

Built Distribution

asg-1.1.0-py3-none-any.whl (26.6 kB view details)

Uploaded Python 3

File details

Details for the file asg-1.1.0.linux-x86_64.tar.gz.

File metadata

  • Download URL: asg-1.1.0.linux-x86_64.tar.gz
  • Upload date:
  • Size: 48.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.6

File hashes

Hashes for asg-1.1.0.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 f9a99002410f130a9588e9bd52de28a89dbb0df9b161539b3613f76efba1a2a2
MD5 7790b4cfceb03316e78951fb35374245
BLAKE2b-256 ca9b534b803f2412ffe69b6320eb5e1d70abc02c2b645393ca8b8f80df38190f

See more details on using hashes here.

File details

Details for the file asg-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: asg-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 26.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.6

File hashes

Hashes for asg-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d374e6a081b25dcdb2148b6abee6f51721974e0a437b9967080ea3c90200d1ab
MD5 6e35f4b011e67b5519afbf2e497afd3a
BLAKE2b-256 7a59eae371cb1a8b11f16468fd45c9ac8322ada1e73b522282c0ab93c3a8bac7

See more details on using hashes here.

Supported by

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