Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Nic30/sphinx-hwt
Sphinx extension for visual documentation of hardware written in HWT
https://github.com/Nic30/sphinx-hwt
Last synced: 3 months ago
JSON representation
Sphinx extension for visual documentation of hardware written in HWT
- Host: GitHub
- URL: https://github.com/Nic30/sphinx-hwt
- Owner: Nic30
- License: mit
- Created: 2018-07-11T21:29:10.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-09-06T12:55:57.000Z (almost 2 years ago)
- Last Synced: 2024-03-25T01:21:47.290Z (3 months ago)
- Language: Python
- Size: 287 KB
- Stars: 11
- Watchers: 2
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-hdl - sphinx-hwt - Plugin for sphinx documentation generator which adds schematic into html documentation. (Visualization and Documentation generators)
- awesome-hdl - sphinx-hwt - Plugin for sphinx documentation generator which adds schematic into html documentation. (Visualization and Documentation generators)
README
# sphinx-hwt
[![CircleCI](https://circleci.com/gh/Nic30/sphinx-hwt.svg?style=svg)](https://circleci.com/gh/Nic30/sphinx-hwt)
[![PyPI version](https://badge.fury.io/py/sphinx-hwt.svg)](http://badge.fury.io/py/sphinx-hwt)
[![Coverage Status](https://coveralls.io/repos/github/Nic30/sphinx-hwt/badge.svg?branch=master)](https://coveralls.io/github/Nic30/sphinx-hwt?branch=master)
[![Documentation Status](https://readthedocs.org/projects/sphinx-hwt/badge/?version=latest)](http://sphinx-hwt.readthedocs.io/en/latest/?badge=latest)
[![Python version](https://img.shields.io/pypi/pyversions/sphinx-hwt.svg)](https://img.shields.io/pypi/pyversions/sphinx-hwt.svg)Extension for Sphinx document generator. Add automatically generated schemes and other visual documentation of hardware.
Currently mainly for [HWT library](https://github.com/Nic30/hwt.git) (but VHDL,Verilog -> HWT is possible).Live demo is documentation of [hwtLib library](https://github.com/Nic30/hwtLib), this library contains many components. The schematic is in documentation of compoents for example there in documentation of [CRC generator](http://hwtlib.readthedocs.io/en/latest/_static/schematic_viewer/schematic_viewer.html?schematic=../../_static/hwt_schematics/hwtLib.logic.crc.Crc.json).
## 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.
``` python
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).
```python
from hwt.synthesizer.unit import Unitdef 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).
* zoom, pan, dynamic colapsing, net-select, searching and filtering
* schematic rendered by [d3-hwschematic library](https://github.com/Nic30/d3-hwschematic)
* Unit instances to graph conversion by [hwtGraph library](https://github.com/Nic30/hwtGraph)
* hwt-autodoc: hwt-params, hwt-interface, hwt-components and hwt-schematic at once## Similar software
* [symbolator](https://github.com/kevinpt/symbolator) - Python, hdl component symbol generator also for sphinx