Sphinx Extension which generates various types of diagrams from Verilog code.
sphinxcontrib-verilog-diagrams is a Sphinx extension to make it easier to write nice documentation from Verilog files. It primarily uses Yosys to do the Verilog reading.
Check out the documentation for examples.
Installation
Python 3.5+ is required.
pip install sphinxcontrib-verilog-diagrams
Or,
python3 -m pip install sphinxcontrib-verilog-diagrams
Sphinx Integration
In your conf.py, add the following lines.
extensions = [
...,
'sphinxcontrib_verilog_diagrams',
]
Non-Python Dependencies
These dependencies can be either installed on your system or install using the conda environment.yml file with;
conda XXXX
Required
Optional
Usage
verilog-diagram
The verilog-diagram RST directive can be used to generate a diagram from Verilog code and include it in your documentation. Check out the examples to see how to use it.
.. verilog-diagram:: file.v
:type: XXXXX
:module: XXXX
:flatten:
Options
:type: - Verilog Diagram Types;
yosys-blackbox - Netlist rendered by Yosys.
yosys-aig - Verilog file run through aigmap before image is generated directly in Yosys.
netlistsvg - Render output with netlistsvg
:module: - Which module to diagram.
:flatten: - Use the Yosys flatten command before generating the image.
Example
Here is a diagram of a 4-bit carry chain.
no-license
This extension also provides the no-license directive which can be used to include code blocks from a file, but omitting the license header at the top of the file. It behaves like the literalinclude directive, but the lines option is overridden to only show the lines after the license header.
.. no-license:: verilog/dff.v
:language: verilog
:linenos:
:caption: verilog/dff.v
Example
Here is a comparison between the literalinclude and no-license directives.
.. literalinclude:: verilog/dff.v
:language: verilog
:caption: verilog/dff.v
/*
* Copyright (C) 2020 The SymbiFlow Authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* SPDX-License-Identifier: Apache-2.0
*/
// Single flip-flip test.
module top(input clk, input di, output do);
always @( posedge clk )
do <= di;
endmodule // top
.. no-license:: verilog/dff.v
:language: verilog
:caption: verilog/dff.v
// Single flip-flip test.
module top(input clk, input di, output do);
always @( posedge clk )
do <= di;
endmodule // top
Licence
Release files for sphinxcontrib-verilog-diagrams 0.0.post84
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sphinxcontrib-verilog-diagrams-0.0.post84.tar.gz | 11.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sphinxcontrib_verilog_diagrams-0.0.post84-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.7 kB
Release files / sphinxcontrib-verilog-diagrams-0.0.post84.tar.gz
| Download URL | sphinxcontrib-verilog-diagrams-0.0.post84.tar.gz |
|---|---|
| Size | 11.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3e658bc18db5335f009d1c41d13b471e5cda8dae06def79bc829afd585fc26b7
|
|
BLAKE2b-256 checksum How to use checksums |
513c300227887621850072fb622e13ee9bc2e5447c9958fc6be17a1920bc09ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.5.2
|
Release files / sphinxcontrib_verilog_diagrams-0.0.post84-py3-none-any.whl
| Download URL | sphinxcontrib_verilog_diagrams-0.0.post84-py3-none-any.whl |
|---|---|
| Size | 12.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7db1145051e0d9ab7300f9c935e118f8d0ec5a69fbe92c5c2015f44544ab5306
|
|
BLAKE2b-256 checksum How to use checksums |
60c89d65337992cfd3290533cf49489a63f69549f58052f648361ecf55c330b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.5.2
|