Skip to main content

Simple script for verilog/systemverilog module templates generation

Project description

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

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

vloginit-0.0.3.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

vloginit-0.0.3-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file vloginit-0.0.3.tar.gz.

File metadata

  • Download URL: vloginit-0.0.3.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for vloginit-0.0.3.tar.gz
Algorithm Hash digest
SHA256 cb101568288ba8e42667bb4abfcb41323fb4b32c5dd826d8e1c7b2b837144cbe
MD5 53c10895a1c2c804d78191dffb7fa775
BLAKE2b-256 1bf75c2e7aaa89497666f3f43139b22d25841dee36365177f597a635fd4f12e5

See more details on using hashes here.

File details

Details for the file vloginit-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: vloginit-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for vloginit-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e21ce5e85ff8afebb09475431038735a9dc977d7f83fd6832195009aa4355cc8
MD5 e3fd247e9ae9e2a8cf08a0ec892d4b92
BLAKE2b-256 c8a17d1f650232acafcd6ab73f2f1236815555a72cfe7b07264bf5813ef82605

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