Skip to main content

Templates generator: make Verilog/SystemVerilog module template by parameters and ports list

Usage

Verilog-style generation:

vloginit index_file.dat

SystemVerilog-style generation:

vloginit -sv index_file.dat

Mnemonics list

module name     : %file_name
include file    : `<name>
parameter       : $<name> # <value> # <param_type> # <width> # <array width>
localparam      : ?<name> # <value> # <param_type> # <width> # <array width>
port            : @<direction> # <name> # <width> # <port_type> # <array width>
comment list    : "/", "//"
comment RTL     : "*"

Ports description mnemonics

<width>         default `1`. Number's or parameter name - both is possible. If there is no previously defined parameter - this parameter will defined.
<port type>     default `logic`. Define required mnemonic, in case it necesary
<array width>   Number or parameter's name - both is possible. Only 1-D arrays. TODO: N-D arrays support
<direction>     = [ i   : input             ,
                    o   : output            ,
                    io  : inout
                  ]

<port_type>     = [ w/W       : wire        ,
                    l/L       : logic       ,
                    b/B       : bit         ,
                    r/R       : reg         ,
                    ws/Ws     : wire signed ,
                    ls/Ls     : logic signed,
                    bs/Bs     : bit signed  ,
                    rs/Rs     : reg signed  ,
                    i/I       : int         ,
                    user_type
                  ]

<param_type>    = [ l/L       : logic       ,
                    b/B       : bit         ,
                    r/R       : reg         ,
                    i/I       : int         ,
                    u/U       : untyped     ,
                    user_type
                  ]

Parameters/local parameters mnemonics

    <value>         default "1". Number's or parameter name - both is possible. If there is no previously defined parameter - this parameter will defined.
    <param type>    default "int". Define required mnemonic, in case it necesary
    <width>         default "1". Number's or parameter name - both is possible. If there is no previously defined parameter - this parameter will defined.
    <array width>   Number or parameter's name - both is possible. Only 1-D arrays. TODO: N-D arrays support

Comments mnemonics

comment list:
    String started with '/' or '//'. This string will be excluded from vloginit parsing

comment RTL:
    String started with '*'. This string will be translated into RTL comment line.

In case using only default values for all fields possible to leave it blank. But separation symbol '#' must be inserted

Examples

Input and results files are accessible ./examples

Metadata

Release files for vloginit 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vloginit 0.0.3
File Size Uploaded
vloginit-0.0.3.tar.gz 9.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vloginit 0.0.3
File Interpreter ABI Platform
vloginit-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 18.0 kB

Release files / vloginit-0.0.3.tar.gz

Download URL vloginit-0.0.3.tar.gz
Size 9.0 kB
Tags Source
SHA-256 checksum
How to use checksums
cb101568288ba8e42667bb4abfcb41323fb4b32c5dd826d8e1c7b2b837144cbe
BLAKE2b-256 checksum
How to use checksums
1bf75c2e7aaa89497666f3f43139b22d25841dee36365177f597a635fd4f12e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.13

Release files / vloginit-0.0.3-py3-none-any.whl

Download URL vloginit-0.0.3-py3-none-any.whl
Size 9.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e21ce5e85ff8afebb09475431038735a9dc977d7f83fd6832195009aa4355cc8
BLAKE2b-256 checksum
How to use checksums
c8a17d1f650232acafcd6ab73f2f1236815555a72cfe7b07264bf5813ef82605
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.13

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

1 release file

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page