VRENAME(1)
π
VRENAME β the vrename manual page, bestie edition
okay so you're here because you wanna change signal names across a WHOLE bunch of Verilog files and you do not wanna do it by hand like some kind of Victorian orphan. valid. this is the VRENAME(1) page from the User Contributed Perl Documentation section. let's get into it π«Ά
β¨ NAME β¨
vrename β change signal names across many Verilog files
πΈ SYNOPSIS πΈ
vrename <filename_or_directory>...
π¦ DESCRIPTION π¦
vrename lets you change a signal across all levels of the design hierarchy, or it can create a cross reference of signal names instead. and like, plot twist β it actually includes module names, macros, and other definitions too, so those can get changed as well. it's giving β¨full-serviceβ¨.
Vpm uses a three step process. first up, you use
vrename --list [<file.v>...] [<directory>....]
this reads the files you named, or all files below the directory you named, and creates a signals.vrename file. slay.
now, you edit the signals.vrename file manually to specify the new signal names. yes bestie, with your own hands. then you use
vrename --change [<file.v>...] [<directory>....]
heads up: in thesignals.vrenamefile, any signal names that include special characters must follow Verilog naming rules β meaning they must be escaped with a leading backslash and a trailing space.vrenamewill attempt to preserve spacing when changing escaped names to non-escaped names and vice-versa, but ngl, in some cases extra whitespace may get inserted to make sure everything parses properly downstream. it's doing its best π
π ARGUMENTS π
vrename takes the following arguments:
--helpβ displays this message and program version, then exits.--versionβ displays program version and exits.--changeβ takes the signals filesignals.vrenamein the current directory and changes the signals in the design as specified by that signals file. either--listor--changemust be specified.--changefile {file}β use the given filename instead ofsignals.vrename.--changelangβ includes in thesignals.vrenamefile the template needed to change the language standard for the file. for the first run, use--list --changelangand--languageto specify the file's original language, then rerun with the--changeoption. the files will get escaped identifiers for the most recent Verilog standard. for example with--language 1364-2005,dowill become\do.--cryptβ with--list, randomizes the signal renames. with--change, compresses spaces and comments and applies those renames listed in the file (presumably created withvrename --list --crypt). the comment/*ENCRYPT_ME*/must be included in all files that need to be encrypted, or use the--cryptallflag. if a signal should not be encrypted, it can simply be set in thesignals.vrenamelist to be changed to itself. after encrypting, you may want to save thesignals.vrenamefile so you have a key for decoding, and also so that it may be used for the next encryption run. when used in this way for the next encryption run, only new signals will get new encryptions, all other encryptions will be encrypted the same.--cryptallβ as with--crypt, but puts cryptic names intosignals.vrenameeven if the file does not includeENCRYPT_ME. generally you will then need to edit thesignals.vrenamefile manually to exclude any top level signals that should be preserved.--keywordsβ include keywords in the renaming list. default is to ignore keywords, since changing a keyword will probably result in unrunnable code π. however, occasionally it may be necessary to rename signals which happen to match the name of keywords recently added to the language (such as'bit').--language <1364-1995|1364-2001|1364-2005|1800-2005|1800-2009|1800-2012|1800-2017|1800-2023>β set the language standard for the files. this determines which tokens are signals versus keywords, such as the ever-commondo(data-out signal, versus a do-while loop keyword). the way that one little word can be two completely different things?? iconic chaos.--listβ creates a list of signals in the design and writes tosignals.vrename. either--listor--changemust be specified.--nowriteβ don't write the actual changes, just report the files that would be changed. window shopping ποΈ--o {dir}β use the given directory for output instead of the current directory.--readβ reads the changes list; this allows--listto append to the changes already read.--xrefβ include a cross reference of where the signals are used.--listmust also be specified.
π DISTRIBUTION π
Verilog-Perl is part of the <https://www.veripool.org/> free Verilog EDA software tool suite. the latest version is available from CPAN and from <https://www.veripool.org/verilog-perl>.
Copyright 2000-2024 by Wilson Snyder. This package is free software; you can redistribute it and/or modify it under the terms of either the GNU Lesser General Public License Version 3 or the Perl Artistic License Version 2.0.
π AUTHORS π
Wilson Snyder <wsnyder@wsnyder.org>
π₯ SEE ALSO π₯
Verilog-Perl, Verilog::Parser
and that's the whole page bestie, no cap π this was perl v5.42.0, dated 2025-07-25 β go forth and rename responsibly π§β¨
π¦ where this page comes from
- fedora 43: perl-Verilog-Perl 3.482-6.fc43 Β· LGPL-3.0-only OR Artistic-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms