VPPREPROC(1)
π VPPREPROC(1) π
okay bestie, welcome to the manual page for vppreproc β the User Contributed Perl Documentation section 1 girlie π
. It's pronounced "vee-pee-pre-proc" and it's about to preprocess your Verilog so good it'll give you main character energy. sit down, grab a strawberry drink π, let's go.
β¨ NAME β¨
vppreproc β Preprocess Verilog code using verilog-perl π¦
β¨ SYNOPSIS β¨
like, here's the vibe, the whole vibe:
vppreproc --help
vppreproc [verilog_options] [-o filename] [verilog_files.v...]
β¨ DESCRIPTION β¨
so vppreproc reads the Verilog files you hand it on the command line and outputs preprocessed output to standard out β OR to the filename you passed with -o. that's it, that's the whole job. iconic. β¨
π not me needing to tell you this but:vppreprocwas literally namedvpppuntil release 3.100, so if you're out here looking forvppp, bestie, this is the right replacement. thevpppname was beefing with another non-Verilog-related tool so it had to change. no cap.
π VERILOG ARGUMENTS π
the following arguments are compatible with GCC, VCS and most Verilog programs. they ate, fr fr.
+define+var+value=item-Dvar=valueβ Defines the given preprocessor symbol.-f fileβ Read the specified file, and act as if all text inside it was specified as command line parameters.-f fileβ Read the specified file, and act as if all text inside it was specified as command line parameters. Any relative paths are relative to the current directory.+incdir+dir=item-Idirβ Add the directory to the list of directories that should be searched for include directories or libraries.+libext+ext+ext...β Specify the extensions that should be used for finding modules. If for example modulexis referenced, look inx.ext.-y dirβ Add the directory to the list of directories that should be searched for include directories or libraries.
π VPPREPROC ARGUMENTS π
these ones are the girlies only section, the vppreproc exclusives π
--helpβ Displays this message and program version and exits.--o fileβ Use the given filename for output instead of stdout.--dump-definesβ Suppress normal output, and instead print a list of all defines existing at the end of processing the input file.--noblankβ Removes empty lines from the output. Should be used with--noline, as if correct line numbers are needed, blank lines must be preserved for proper accounting by the program reading the output ofvppreproc. (the way these two are a package dealβ¦ π«Ά)--nocommentβ Remove comments.--nolineβ Remove`linedirectives.-Pβ Same as--noline --noblank, similar to "GCC -P" behavior.--pedanticβ Rigorously obey the Verilog spec. This disables the`errorfeature, and may disable other features that are not specified in the approved language reference manual. Defaultsfalse.--simpleβ Requests simple output, an alias for--noline,--nocommentand--noblank.--synthesisβ DefineSYNTHESIS, and ignore text between "ambit", "pragma", "synopsys" or "synthesis"translate_offandtranslate_onmeta comments.
β οΈ Note using metacomments is discouraged as they have led to silicon bugs (versus ifdef SYNTHESIS); see <https://www.veripool.org/papers/TenIPEdits_SNUGBos07_paper.pdf>. like, actual silicon bugs?? that's not a vibe, that's a horror movie π
--versionβ Displays program version and exits.
πΈ LANGUAGE EXTENSIONS πΈ
vppreproc supports the preprocessing constructs defined in the Verilog 2001 and SystemVerilog 2005 standards. fancy, right? π§
the following additional constructs may be added to your Verilog code:
`__FILE__β The__FILE__define expands to the current filename as a string, like C++'s__FILE__. This was incorporated into to the 1800-2009 standard (but supported by Verilog-Perl since 2004!)`__LINE__β The__LINE__define expands to the current filename as a string, like C++'s__LINE__. This was incorporated into to the 1800-2009 standard (but supported by Verilog-Perl since 2004!)`error stringβ This will report an error when encountered, like C++'s#error.
π 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::Getopt, Verilog::Preproc
and that's the whole page bestie, slay π
β¨ β this was perl v5.42.0, dated 2025-07-25, from the VPPREPROC(1) girlies. go preprocess something gorgeous ππ
π¦ 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