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
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
vloginit-0.0.3.tar.gz
(9.0 kB
view details)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb101568288ba8e42667bb4abfcb41323fb4b32c5dd826d8e1c7b2b837144cbe |
|
MD5 | 53c10895a1c2c804d78191dffb7fa775 |
|
BLAKE2b-256 | 1bf75c2e7aaa89497666f3f43139b22d25841dee36365177f597a635fd4f12e5 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | e21ce5e85ff8afebb09475431038735a9dc977d7f83fd6832195009aa4355cc8 |
|
MD5 | e3fd247e9ae9e2a8cf08a0ec892d4b92 |
|
BLAKE2b-256 | c8a17d1f650232acafcd6ab73f2f1236815555a72cfe7b07264bf5813ef82605 |