- Notifications
You must be signed in to change notification settings - Fork5
A SystemVerilog source file pickler.
License
pulp-platform/morty
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Come on, flip the pickle, Morty, you're not gonna regret it. The payoff is huge. I turned myself into a pickle, Morty!
Morty reads SystemVerilog files and pickles them into a single file for easier handling. Optionally it allows to re-name modules with a common prefix or suffix. This allows for easier management of larger projects (they just become a single file). By making them unique they can also depend on different versions of the same dependency without namespace clashes.
We provide pre-builds for popular operating systems on ourreleases page.
Morty is written in Rust. Get the latest stable Rust version:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Then installmorty
usingcargo
:
cargo install --git https://github.com/pulp-platform/morty.git
To prefix all modules and packages intest/package.sv
andtest/package_import_2.sv
and files withmy_little_prefix_
do:
morty test/package.sv test/package_import_2.sv -p my_little_prefix_
Alternatively, if you want to pass more files,morty
will also parse manifest files (as generated bybender sources -f
). SeeBender. For example:
[ { "include_dirs": [ "/path/to/include/dir/common_cells/include/", "/path/to/include/dir/axi/include/" ], "defines": { "DEFINE_TO_BE_SET": "1" }, "files": [ "/path/to/file_0.sv", "/path/to/file_1.sv", "/path/to/file_2.sv" ] }, { "include_dirs": [ "/path/to/include/dir/deps/include/" ], "defines": { "ANOTHER_DEFINE_TO_BE_SET": "1" }, "files": [ "/path/to/file_3.sv", "/path/to/file_4.sv", "/path/to/file_5.sv" ] }]
Optionally,morty
can strip comments (--strip-comments
) of the pickled sources.
About
A SystemVerilog source file pickler.