Skip to main content

Sphinx extension to produce interactive schematic for hardware written in HWT

Project description

sphinx-hwt

CircleCI PyPI version Coverage Status Documentation Status Python version

Extension for Sphinx document generator. Add automatically generated schemes and other visual documentation of hardware. Currently mainly for HWT library (but VHDL,Verilog -> HWT is possible).

Live demo is documentation of hwtLib library, this library contains many components. The schematic is in documentation of compoents for example there in documentation of CRC generator.

Installation

Install as standard python package, using pip. If you have NPM installed javascript in package will be updated.

pip3 install sphinx-hwt

sphinx-hwt package provides sphinx_hwt extension for sphinx doc. gen. In order to use this extension you have to register in in your conf.py sphinx doc. configuration.

extensions = ['sphinx_hwt']

From now Sphinx will be able to use directives from sphinx-hwt to render schematics and others.

Usage

Add hwt-schematic directive in docstring of Unit class like this (will add scheme to a html doc).

from hwt.synthesizer.unit import Unit

def explicit_constructor():
    return ExampleCls0()

class ExampleCls0(Unit):
    """
    .. hwt-schematic::

    or

    .. hwt-schematic:: explicit_constructor

    There are also other directives, read the feature list below.
    """

Feature list

  • hwt-params - generates a list of hwt Params for Interface/Unit classes with a information about value and type
  • hwt-interface - generates a list of IO interfaces of the Interface/Unit class
  • hwt-components - generates a list of components for the Unit class
  • hwt-schematic:
    • generate interactive schematic for Unit instances (= module in verilog, entity + architecutere in VHDL).
  • hwt-autodoc: hwt-params, hwt-interface, hwt-components and hwt-schematic at once

Similar software

  • symbolator - Python, hdl component symbol generator also for sphinx

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

sphinx-hwt-2.7.tar.gz (588.3 kB view hashes)

Uploaded Source

Built Distributions

sphinx_hwt-2.7-py3.9.egg (608.4 kB view hashes)

Uploaded Source

sphinx_hwt-2.7-py3-none-any.whl (595.1 kB view hashes)

Uploaded Python 3

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