Skip to main content

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

Metadata

Release files for asg 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for asg 1.1.0
File Size Uploaded
asg-1.1.0.linux-x86_64.tar.gz 48.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for asg 1.1.0
File Interpreter ABI Platform
asg-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 74.7 kB

Release files / asg-1.1.0.linux-x86_64.tar.gz

Download URL asg-1.1.0.linux-x86_64.tar.gz
Size 48.0 kB
Tags Source
SHA-256 checksum
How to use checksums
f9a99002410f130a9588e9bd52de28a89dbb0df9b161539b3613f76efba1a2a2
BLAKE2b-256 checksum
How to use checksums
ca9b534b803f2412ffe69b6320eb5e1d70abc02c2b645393ca8b8f80df38190f
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / asg-1.1.0-py3-none-any.whl

Download URL asg-1.1.0-py3-none-any.whl
Size 26.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d374e6a081b25dcdb2148b6abee6f51721974e0a437b9967080ea3c90200d1ab
BLAKE2b-256 checksum
How to use checksums
7a59eae371cb1a8b11f16468fd45c9ac8322ada1e73b522282c0ab93c3a8bac7
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page