.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "VPPREPROC 1p" .TH VPPREPROC 1p "2020-11-09" "perl v5.32.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" vppreproc \- Preprocess Verilog code using verilog\-perl .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& vppreproc \-\-help \& vppreproc [verilog_options] [\-o filename] [verilog_files.v...] .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Vppreproc reads the Verilog files passed on the command line and outputs preprocessed output to standard out or the filename passed with \fB\-o\fR. .PP Note vppreproc was named vppp until release 3.100, so if you're looking for vppp, this is the right replacement. The vppp name conflicted with another non-Verilog related tool. .SH "VERILOG ARGUMENTS" .IX Header "VERILOG ARGUMENTS" The following arguments are compatible with \s-1GCC, VCS\s0 and most Verilog programs. .IP "+define+\fIvar\fR+\fIvalue\fR =item \-D\fIvar\fR=\fIvalue\fR" 4 .IX Item "+define+var+value =item -Dvar=value" Defines the given preprocessor symbol. .IP "\-f \fIfile\fR" 4 .IX Item "-f file" Read the specified file, and act as if all text inside it was specified as command line parameters. .IP "\-f \fIfile\fR" 4 .IX Item "-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. .IP "+incdir+\fIdir\fR =item \-I\fIdir\fR" 4 .IX Item "+incdir+dir =item -Idir" Add the directory to the list of directories that should be searched for include directories or libraries. .IP "+libext+\fIext\fR+\fIext\fR..." 4 .IX Item "+libext+ext+ext..." Specify the extensions that should be used for finding modules. If for example module \fIx\fR is referenced, look in \fIx\fR.\fIext\fR. .IP "\-y \fIdir\fR" 4 .IX Item "-y dir" Add the directory to the list of directories that should be searched for include directories or libraries. .SH "VPPREPROC ARGUMENTS" .IX Header "VPPREPROC ARGUMENTS" .IP "\-\-help" 4 .IX Item "--help" Displays this message and program version and exits. .IP "\-\-o \fIfile\fR" 4 .IX Item "--o file" Use the given filename for output instead of stdout. .IP "\-\-dump\-defines" 4 .IX Item "--dump-defines" Suppress normal output, and instead print a list of all defines existing at the end of processing the input file. .IP "\-\-noblank" 4 .IX Item "--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 of vppreproc. .IP "\-\-nocomment" 4 .IX Item "--nocomment" Remove comments. .IP "\-\-noline" 4 .IX Item "--noline" Remove `line directives. .IP "\-P" 4 .IX Item "-P" Same as \-\-noline \-\-noblank, similar to \*(L"\s-1GCC\s0 \-P\*(R" behavior. .IP "\-\-pedantic" 4 .IX Item "--pedantic" Rigorously obey the Verilog spec. This disables the `error feature, and may disable other features that are not specified in the approved language reference manual. Defaults false. .IP "\-\-simple" 4 .IX Item "--simple" Requests simple output, an alias for \-\-noline, \-\-nocomment and \-\-noblank. .IP "\-\-synthesis" 4 .IX Item "--synthesis" Define \s-1SYNTHESIS,\s0 and ignore text between \*(L"ambit\*(R", \*(L"pragma\*(R", \*(L"synopsys\*(R" or \&\*(L"synthesis\*(R" translate_off and translate_on meta comments. Note using metacomments is discouraged as they have led to silicon bugs (versus ifdef \&\s-1SYNTHESIS\s0); see . .IP "\-\-version" 4 .IX Item "--version" Displays program version and exits. .SH "LANGUAGE EXTENSIONS" .IX Header "LANGUAGE EXTENSIONS" Vppreproc supports the preprocessing constructs defined in the Verilog 2001 and SystemVerilog 2005 standards. .PP The following additional constructs may be added to your Verilog code. .IP "`_\|_FILE_\|_" 4 .IX Item "`__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!) .IP "`_\|_LINE_\|_" 4 .IX Item "`__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!) .IP "`error \fIstring\fR" 4 .IX Item "`error string" This will report an error when encountered, like \*(C+'s #error. .SH "DISTRIBUTION" .IX Header "DISTRIBUTION" Verilog-Perl is part of the free Verilog \s-1EDA\s0 software tool suite. The latest version is available from \s-1CPAN\s0 and from . .PP Copyright 2000\-2020 by Wilson Snyder. This package is free software; you can redistribute it and/or modify it under the terms of either the \s-1GNU\s0 Lesser General Public License Version 3 or the Perl Artistic License Version 2.0. .SH "AUTHORS" .IX Header "AUTHORS" Wilson Snyder .SH "SEE ALSO" .IX Header "SEE ALSO" Verilog-Perl, Verilog::Getopt, Verilog::Preproc