Skip to main content

Generate diagrams from Verilog in Sphinx.

Project description

sphinxcontrib-verilog-diagrams

PyPI PyPI version Documentation Build Status codecov


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.

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
   :linenos:
   :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
   :linenos:
   :caption: verilog/dff.v
// Single flip-flip test.
module top(input clk, input di, output do);
  always @( posedge clk )
    do <= di;
endmodule // top

Licence

Apache 2.0

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

Built Distribution

File details

Details for the file sphinxcontrib-verilog-diagrams-0.0.post75.tar.gz.

File metadata

  • Download URL: sphinxcontrib-verilog-diagrams-0.0.post75.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for sphinxcontrib-verilog-diagrams-0.0.post75.tar.gz
Algorithm Hash digest
SHA256 d09e7d599613994e9ab724af697ca7b1d947c0b6e3b4c7e39d05b68719c4fc22
MD5 fe777c42cbccddc730f7155c10771bf8
BLAKE2b-256 97c701999f2f5b7dd1b85cd13e800289fb48c556bcf8dd9080dfcbb3f6b2ed37

See more details on using hashes here.

File details

Details for the file sphinxcontrib_verilog_diagrams-0.0.post75-py3-none-any.whl.

File metadata

File hashes

Hashes for sphinxcontrib_verilog_diagrams-0.0.post75-py3-none-any.whl
Algorithm Hash digest
SHA256 1a4000bf76ee67ae94da82c25e5bf23e1d4e410fa7730a6804dd01823b5ee3ee
MD5 7a90fc70878e57fe5f23eb7506cf93db
BLAKE2b-256 ec2e4925132d57e1f971470254ce69572926f4460a465d67ac83b78caef0d36a

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