Verilog Domain for Sphinx
Project description
Dependencies
lark-parser
Enabling
Add extension in conf.py:
extensions = [ 'sphinx_verilog_domain' ]
Usage
Module headers (non-ANSI-style only for now):
.. verilog::module:: module Top(a, b);
Port declarations:
.. verilog:port:: input wire [31:0] a, b;
Parameter declarations:
.. verilog:parameter:: parameter logic param_name_05 = 1, param_name_05_b = 2;
Custom name for use in references:
.. verilog:module:: module \35(4p3|) (z); :refname: module_escaped
References:
Reference to :verilog:ref:`Top` Reference to :verilog:ref:`module_escaped` - links to ``\\35(4p3|)``
Nesting:
.. verilog:module:: module Top1(a, b, c); .. verilog:port:: input a; Description of port ``a`` .. verilog:port:: input b; Description of port ``b`` .. verilog:module:: module Nested(a); .. verilog:port:: output a; Description of port ``a`` in ``Nested`` Reference to module ``Top1``'s port ``a``: :verilog:ref:`Top1.a`.
Namespaces
There are three directives for changing current Verilog scope:
.. verilog:namespace:: A::B - sets current scope to A::B. Using $root as an argument or using the directive without argument at all sets global namespace.
.. verilog:namespace-push:: C::D - sets current scope to C::D relatively to current scope
.. verilog:namespace-pop:: - restores scope which was active before previous namespace-push was called. If there is no matching namespace-push, scope is set to global scope.
Example:
.. verilog:namespace:: A::B .. verilog:port:: input inside_a_b; .. verilog:namespace-push:: C::D .. verilog:port:: input inside_a_b_c_d; .. verilog:namespace-pop:: .. verilog:port:: input inside_a_b_again; .. verilog:namespace:: .. verilog:port:: input in_global_namespace;
Development
To create and open the development environment with all system and python packages use:
make env source env/conda/bin/activate sphinx-verilog-domain
Project details
Release history Release notifications | RSS feed
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 sphinx-verilog-domain-0.2.post21.tar.gz
.
File metadata
- Download URL: sphinx-verilog-domain-0.2.post21.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.5.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d96be81de6e5c1523c5161daf2eec5618c271c80682de0418558d9f650977d9 |
|
MD5 | acd9cb7c93dc6db785a681bbd228c6cb |
|
BLAKE2b-256 | 6ff067eac66d37e202e2fdcdfbf6e73514379e4f1e6187c56ab1d0b3e38ff12f |
File details
Details for the file sphinx_verilog_domain-0.2.post21-py3-none-any.whl
.
File metadata
- Download URL: sphinx_verilog_domain-0.2.post21-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.5.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfb6b63d55bc8e217e60cb4e9c2cf8b1ccd88c18ab98a4b09a84640c06d4e703 |
|
MD5 | 63c56ef9278f810d23597bbbfa7e51f1 |
|
BLAKE2b-256 | 92abfa7ea5e87a98e0eb07f3037da01d5f89643753402bbcae8e0b94d1d7e2c3 |