1VRENAME(1) User Contributed Perl Documentation VRENAME(1)
2
3
4
6 vrename - change signal names across many Verilog files
7
9 vrename <filename_or_directory>...
10
12 Vrename will allow a signal to be changed across all levels of the
13 design hierarchy, or to create a cross reference of signal names. (It
14 actually includes module names, macros, and other definitions, so those
15 can be changed too.)
16
17 Vpm uses a three step process. First, use
18
19 vrename --list [<file.v>...] [<directory>....]
20
21 This reads the specified files, or all files below the specified
22 directory, and creates a signals.vrename file.
23
24 Now, edit the signals.vrename file manually to specify the new signal
25 names. Then, use
26
27 vrename --change [<file.v>...] [<directory>....]
28
29 Note that in the signals.vrename file any signal names including
30 special characters must follow Verilog naming rules in that they must
31 be escaped with a leading backslash and trailing space. Vrename will
32 attempt to preserve spacing when changing escaped to non-escaped names
33 and vice-versa, however in some cases extra whitespace may be inserted
34 to ensure proper downstream parsing.
35
37 vrename takes the following arguments:
38
39 --help
40 Displays this message and program version and exits.
41
42 --version
43 Displays program version and exits.
44
45 --change
46 Take the signals file signals.vrename in the current directory and
47 change the signals in the design as specified by the signals file.
48 Either --list or --change must be specified.
49
50 --changefile {file}
51 Use the given filename instead of "signals.vrename".
52
53 --changelang
54 Include in the signals.vrename file the template needed to change
55 the language standard for the file. For the first run, use "--list
56 --changelang" and --language to specify the file's original
57 language, then rerun with the "--change" option. The files will
58 get escaped identifiers for the most recent Verilog standard. For
59 example with --language 1364-2005, "do" will become "\do ".
60
61 --crypt
62 With --list, randomize the signal renames. With --change, compress
63 spaces and comments and apply those renames listed in the file
64 (presumably created with vrename --list --crypt).
65
66 The comment /*ENCRYPT_ME*/ must be included in all files that need
67 to be encrypted, or use the --cryptall flag. If a signal should
68 not be encrypted, it can simply be set in the signals.vrename list
69 to be changed to itself. After encrypting, you may want to save
70 the signals.vrename file so you have a key for decoding, and also
71 so that it may be used for the next encryption run. When used in
72 this way for the next encryption run, only new signals will get new
73 encryptions, all other encryptions will be encrypted the same.
74
75 --cryptall
76 As with --crypt, but put cryptic names into signals.vrename even if
77 the file does not include ENCRYPT_ME. Generally you will then need
78 to edit the signals.vrename file manually to exclude any top level
79 signals that should be preserved.
80
81 --keywords
82 Include keywords in the renaming list. Default is to ignore
83 keywords, as changing a keyword will probably result in unrunnable
84 code, however, occasionally it may be necessary to rename signals
85 which happen to match the name of keywords recently added to the
86 language (such as 'bit').
87
88 --language
89 <1364-1995|1364-2001|1364-2005|1800-2005|1800-2009|1800-2012|1800-2017>
90 Set the language standard for the files. This determines which
91 tokens are signals versus keywords, such as the ever-common "do"
92 (data-out signal, versus a do-while loop keyword).
93
94 --list
95 Create a list of signals in the design and write to
96 signals.vrename. Either --list or --change must be specified.
97
98 --nowrite
99 Don't write the actual changes, just report the files that would be
100 changed.
101
102 --o {dir}
103 Use the given directory for output instead of the current
104 directory.
105
106 --read
107 Read the changes list, allows --list to append to the changes
108 already read.
109
110 --xref
111 Include a cross reference of where the signals are used. --list
112 must also be specified.
113
115 Verilog-Perl is part of the <https://www.veripool.org/> free Verilog
116 EDA software tool suite. The latest version is available from CPAN and
117 from <https://www.veripool.org/verilog-perl>.
118
119 Copyright 2000-2022 by Wilson Snyder. This package is free software;
120 you can redistribute it and/or modify it under the terms of either the
121 GNU Lesser General Public License Version 3 or the Perl Artistic
122 License Version 2.0.
123
125 Wilson Snyder <wsnyder@wsnyder.org>
126
128 Verilog-Perl, Verilog::Parser
129
130
131
132perl v5.36.0 2022-09-05 VRENAME(1)