跳转到主要内容

Sphinx的Verilog域

项目描述

依赖项

  • lark-parser

启用

conf.py 中添加扩展

extensions = [ 'sphinx_verilog_domain' ]

使用方法

模块头(目前仅限非ANSI风格的)

.. verilog::module:: module Top(a, b);

端口声明

.. verilog:port:: input wire [31:0] a, b;

参数声明

.. verilog:parameter:: parameter logic param_name_05 = 1, param_name_05_b = 2;

用于引用的自定义名称

.. verilog:module:: module \35(4p3|) (z);
    :refname: module_escaped

引用

Reference to :verilog:ref:`Top`
Reference to :verilog:ref:`module_escaped` - links to ``\\35(4p3|)``

嵌套

.. 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`.

命名空间

有三个指令用于更改当前Verilog作用域

  • .. verilog:namespace:: A::B - 将当前作用域设置为 A::B。使用 $root 作为参数或完全不带参数使用该指令将全局命名空间。

  • .. verilog:namespace-push:: C::D - 相对于当前作用域将当前作用域设置为 C::D

  • .. verilog:namespace-pop:: - 恢复在之前调用 namespace-push 之前活动的范围。如果没有匹配的 namespace-push,则范围设置为全局范围。

示例

.. 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;

开发

要创建并打开包含所有系统和Python包的开发环境,请使用

make env
source env/conda/bin/activate sphinx-verilog-domain

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

sphinx-verilog-domain-0.2.post21.tar.gz (10.8 kB 查看哈希值)

上传时间

构建分布

sphinx_verilog_domain-0.2.post21-py3-none-any.whl (12.7 kB 查看哈希值)

上传时间 Python 3

由以下支持