VRQ(1)
π VRQ(1) β the manual page for Vrq π
User Commands β¨ so you're in the right place bestie
πΈ NAME πΈ
Vrq β manual page for Vrq 1.0.134, periodt π
β¨ SYNOPSIS β¨
vrq [options] <file1> [<file2>...]
π¦ DESCRIPTION π¦
okay so listen. 'Vrq' is a framework for creating verilog based tools. that's the whole vibe. you bring the verilog, vrq brings the tool-making energy. slay π
π OPTIONS π
one bullet per option, no skips, no shortcuts, we're doing this properly π«Ά
--versionβ Print version--helpβ This message--bindirβ Binary install path--libdirβ Library install path--pkglibdirβ Plugin install path--includedirβ Include install path--cflagsβ Compiler flags used--ldflagsβ Linker flags used--libsβ Libraries used--randomizeheapβ Randomize heap-Vβ Verbose-y <directory>β Search directory for module definitions-f <filename>β Read options from <filename>-v <lib_filename>β Search file for module definitions-l <filename>β Set log file to <filename>-w <message>=<policy>β Set policy for warning <message> to <policy>; ignore, warning, error, info-w all=<policy>β Set policy for all warnings to <policy>; ignore, warning, error, info-wlβ List all warning messages+libext+<extension>β Specify library suffix to <extension>-svβ Enable System Verilog support-dumpβ Dump internal tree-debugβ Print debug/statistics info-quietβ Print minimal runtime info-lexbuffersize <bufferSize>β Set lexer buffer size (default=1048576)-infervectorsβ Infer reg and wire vectors-keeptickdefinesβ Best effort attempt to keep tick defines and`includestatements in code (EXPERIMENTAL)-macrocheckβ Do not allow undefined macros-o <filename>β Specify output file-dir <directory>β Specify output directory-pragma <regexp>β Extended regular expression template for pragma comments-passthru <name>β Pass through ifdef blocks with label+incdir+<directory>β Specify include search path+define+<name>=<value>β Define`define+<name>+<value>β Define plusargs-tool builderβ Auto route hierarchy-tool coverageβ Add line coverage instrumentation-tool dumpβ Print verilog output-tool filterβ Extract elements of hierarchy-tool flattenβ Reduce to single level hiearchy-tool rectifyβ Replace all X constants with 0 or 1-tool simβ Verilog simulator-tool statsβ Print summary of hiearchy-tool xpropβ Add X propagation instrumentation
ngl bestie, -keeptickdefines literally says EXPERIMENTAL in the source, so likeβ¦ be aware. π
π οΈ * 'builder' Options π οΈ
the builder tool's lil squad of plusargs, and yes they all start with a + π
+tree_ext=<ext>β File extension for files to be expanded+depend=<filename>β Generate dependency info+builder-verboseβ Dump vebose log of actions
π * 'coverage' Options π
+coverage_output_file=<filename>β Filename for coverage line mapping info
ποΈ * 'dump' Options ποΈ
this is the "print the verilog back out, but make it fashion" crew β¨
+dump-alt-rxnorβ Use alternate rxnor op^~+dump-fpsβ Force part selects on all vectors+dump-fvlβ Convert all logical ops to vector ops+dump-fccβ Convert all comments to c++ style+dump-swdaβ Split wire declaration assignments+dump-fbaeβ Force begin/end block after event statement+dump-nnsβ Replace null statements with begin/end pairs+dump-saboβ Add spaces around binary operators+dump-cedβ Create explicit declarations for implicitly declared variables+dump-strip-attrβ strip out all attributes+dump-timescale=<timescale>β emit`timescale <timescale>statements for all modules missing`timescaledeclarations+dump-simplifyβ Simplify constant expressions (EXPERIMENTAL)
ok so +dump-simplify is giving EXPERIMENTAL energy too, bestie. noted. π
π§ * 'filter' Options π§
this is the BIG one. every element of your hierarchy gets a keep-or-delete moment, main character energy for each π. two defaults up top decide the fate of everything you don't explicitly mention.
+filter-default-policy-keepβ keep all element by default+filter-default-policy-deleteβ delete all element by default (tool default behavior)+filter-comment-keepβ keep comment+filter-comment-deleteβ delete comment+filter-vrq-keepβ keep vrq comment+filter-vrq-deleteβ delete vrq comment+filter-pragma-keepβ keep program pragma+filter-pragma-deleteβ delete program pragma+filter-instance-ref-keepβ keep instance reference+filter-instance-ref-deleteβ delete instance reference+filter-gate-ref-keepβ keep gate instance+filter-gate-ref-deleteβ delete gate instance+filter-task-enable-keepβ keep call to a task+filter-task-enable-deleteβ delete call to a task+filter-systask-call-keepβ keep call to enable a systask+filter-systask-call-deleteβ delete call to enable a systask+filter-timing-call-keepβ keep call to a timing task+filter-timing-call-deleteβ delete call to a timing task+filter-function-call-keepβ keep call to a function+filter-function-call-deleteβ delete call to a function+filter-enum-ref-keepβ keep reference to a enum+filter-enum-ref-deleteβ delete reference to a enum+filter-type-ref-keepβ keep reference to a type+filter-type-ref-deleteβ delete reference to a type+filter-net-decl-keepβ keep net declaration+filter-net-decl-deleteβ delete net declaration+filter-var-decl-keepβ keep variable declaration+filter-var-decl-deleteβ delete variable declaration+filter-param-decl-keepβ keep parameter declaration+filter-param-decl-deleteβ delete parameter declaration+filter-specparam-decl-keepβ keep specify parameter declaration+filter-specparam-decl-deleteβ delete specify parameter declaration+filter-port-decl-keepβ keep port declaration+filter-port-decl-deleteβ delete port declaration+filter-genvar-decl-keepβ keep genvar declaration+filter-genvar-decl-deleteβ delete genvar declaration+filter-typedef-decl-keepβ keep type declaration+filter-typedef-decl-deleteβ delete type declaration+filter-init-keepβ keep initial block+filter-init-deleteβ delete initial block+filter-always-keepβ keep always block+filter-always-deleteβ delete always block+filter-always-latch-keepβ keep always latch block+filter-always-latch-deleteβ delete always latch block+filter-always-ff-keepβ keep always flip-flop block+filter-always-ff-deleteβ delete always flip-flop block+filter-always-comb-keepβ keep always combinational logic block+filter-always-comb-deleteβ delete always combinational logic block+filter-specify-ref-keepβ keep specify block+filter-specify-ref-deleteβ delete specify block+filter-assign-keepβ keep procedural assignment+filter-assign-deleteβ delete procedural assignment+filter-gassign-keepβ keep generate intialize assignment+filter-gassign-deleteβ delete generate intialize assignment+filter-add-assign-keepβ keep procedural assignment with add+filter-add-assign-deleteβ delete procedural assignment with add+filter-sub-assign-keepβ keep procedural assignment with subtract+filter-sub-assign-deleteβ delete procedural assignment with subtract+filter-mul-assign-keepβ keep procedural assignment with mul+filter-mul-assign-deleteβ delete procedural assignment with mul+filter-div-assign-keepβ keep procedural assignment with div+filter-div-assign-deleteβ delete procedural assignment with div+filter-mod-assign-keepβ keep procedural assignment with mod+filter-mod-assign-deleteβ delete procedural assignment with mod+filter-and-assign-keepβ keep procedural assignment with bitwise and+filter-and-assign-deleteβ delete procedural assignment with bitwise and+filter-or-assign-keepβ keep procedural assignment with bitwise or+filter-or-assign-deleteβ delete procedural assignment with bitwise or+filter-xor-assign-keepβ keep procedural assignment with bitwise xor+filter-xor-assign-deleteβ delete procedural assignment with bitwise xor+filter-lsh-assign-keepβ keep procedural assignment with left shift+filter-lsh-assign-deleteβ delete procedural assignment with left shift+filter-rsh-assign-keepβ keep procedural assignment with right shift+filter-rsh-assign-deleteβ delete procedural assignment with right shift+filter-lsha-assign-keepβ keep procedural assignment with left arithmetic shift+filter-lsha-assign-deleteβ delete procedural assignment with left arithmetic shift+filter-rsha-assign-keepβ keep procedural assignment with right arithmetic shift+filter-rsha-assign-deleteβ delete procedural assignment with right arithmetic shift+filter-force-keepβ keep force statement+filter-force-deleteβ delete force statement+filter-release-keepβ keep release statement+filter-release-deleteβ delete release statement+filter-nbassign-keepβ keep nonblocking assignment+filter-nbassign-deleteβ delete nonblocking assignment+filter-if-keepβ keep if statement+filter-if-deleteβ delete if statement+filter-forever-keepβ keep forever statement+filter-forever-deleteβ delete forever statement+filter-repeat-keepβ keep repeat statement+filter-repeat-deleteβ delete repeat statement+filter-while-keepβ keep while statement+filter-while-deleteβ delete while statement+filter-wait-keepβ keep wait statement+filter-wait-deleteβ delete wait statement+filter-for-keepβ keep for statement+filter-for-deleteβ delete for statement+filter-case-keepβ keep case statement+filter-case-deleteβ delete case statement+filter-casex-keepβ keep casex statement+filter-casex-deleteβ delete casex statement+filter-casez-keepβ keep casez statement+filter-casez-deleteβ delete casez statement+filter-cassign-keepβ keep continious assignment+filter-cassign-deleteβ delete continious assignment+filter-import-keepβ keep import item+filter-import-deleteβ delete import item
and that's the end of part 1, bestie β there's more coming, don't go anywhere π
okay so picking up right where we left off in the OPTIONS section β here are all the filter options, and bestie, there are a LOT. but we love that for us. π
+filter-function-def-keepβ keep function definition β¨+filter-function-def-deleteβ delete function definition ποΈ+filter-module-def-keepβ keep module definition π+filter-module-def-deleteβ delete module definition π+filter-package-def-keepβ keep package definition π¦+filter-package-def-deleteβ delete package definition ποΈ+filter-port-def-keepβ keep port definition π+filter-port-def-deleteβ delete port definition ποΈ+filter-defparam-keepβ keep defparam statement β¨+filter-defparam-deleteβ delete defparam statement ποΈ+filter-path-keepβ keep path statement π€οΈ+filter-path-deleteβ delete path statement ποΈ+filter-trigger-keepβ keep event trigger β‘+filter-trigger-deleteβ delete event trigger ποΈ+filter-passign-keepβ keep procedural assignment π+filter-passign-deleteβ delete procedural assignment ποΈ+filter-deassign-keepβ keep deassign statement β¨+filter-deassign-deleteβ delete deassign statement ποΈ+filter-disable-keepβ keep disable statement π«+filter-disable-deleteβ delete disable statement ποΈ+filter-attribute-keepβ keep attribute specification π·οΈ+filter-attribute-deleteβ delete attribute specification ποΈ+filter-gif-keepβ keep structural if statement β+filter-gif-deleteβ delete structural if statement ποΈ+filter-gfor-keepβ keep structural for statement π+filter-gfor-deleteβ delete structural for statement ποΈ+filter-gcase-keepβ keep structural case statement π+filter-gcase-deleteβ delete structural case statement ποΈ+filter-table-keepβ keep udp table π+filter-table-deleteβ delete udp table ποΈ+filter-enum-spec-keepβ keep enum specification π’+filter-enum-spec-deleteβ delete enum specification ποΈ+filter-member-keepβ keep member reference (structure, class or external π+filter-member-deleteβ delete member reference (structure, class or external ποΈ+filter-return-keepβ keep return β©οΈ+filter-return-deleteβ delete return ποΈ+filter-preinc-keepβ keep preincrement β«+filter-preinc-deleteβ delete preincrement ποΈ+filter-postinc-keepβ keep postincrement β«+filter-postinc-deleteβ delete postincrement ποΈ+filter-predec-keepβ keep predecrement β¬+filter-predec-deleteβ delete predecrement ποΈ+filter-postdec-keepβ keep postdecrement β¬+filter-postdec-deleteβ delete postdecrement ποΈ+filter-cast-keepβ keep data type change π+filter-cast-deleteβ delete data type change ποΈ+filter-assignment-pattern-keepβ keep assignment_pattern β¨+filter-assignment-pattern-deleteβ delete assignment_pattern ποΈ+filter-dollar-keepβ keep queue dimension π+filter-dollar-deleteβ delete queue dimension ποΈ
β¨ 'rectify' Options β¨
+rectify-default-value={0|1}β change default replacement value π+rectify-attribute-name=<attrName>β attribute name used to override default replacement value π·οΈ+rectify-delete-decl-pragmasβ delete pragmas attached to declarations π
β¨ 'sim' Options β¨
+sim-interactiveβ start simulation in interactive mode only πΉοΈ+sim-compile-onlyβ do not simulate, compile only π οΈ+sim-traceβ enable execution tracing π+sim-mindelaysβ use minimum delays β³+sim-typdelaysβ use typical delays β±οΈ+sim-maxdelaysβ use maximum delays π’+sim-pli=pliLib1+pliLib2+...β load pli librarys π+sim-log=fileβ use file for logging π+sim-key=fileβ use file for key stroke log π
β¨ 'xprop' Options β¨
+xprop-begin=<pragma>β insertion begin pragma π¬+xprop-end=<pragma>β insertion end pragma ποΈ+xprop-clk-begin=<pragma>β insertion clock begin pragma β°+xprop-clk-end=<pragma>β insertion clock end pragma π°οΈ+xprop-disable-taskβ disable task output instrumentation π«+xprop-disable-ifβ disable if instrumentation π«+xprop-disable-caseβ disable case instrumentation π«+xprop-disable-indexβ disable reference instrumentation π«+xprop-disable-ternaryβ disable '?' instrumentation π«+xprop-nox-attr=<name>β attribute specifing variable will never be x π·+xprop-int-noxβ declare integers will never be x π’+xprop-enable-clockβ instrument register clocks β±οΈ+xprop-clk-edge-control=[!]<tickdefine>β Supply a preprocessor tick define to enable instrumentation on both edges of the clock. ! indicates tickdefine disables both edges. If switch isn't supplied the behavior is single edge unless XPROP_BOTH_EDGES is defined π
β¨ AUTHOR β¨
Written by Mark Hummel π
β¨ REPORTING BUGS β¨
Report bugs at <http://sourceforge.net/projects/vrq> π
β¨ COPYRIGHT β¨
Copyright Β© 1997-2009 Mark Hummel
Vrq comes with ABSOLUTELY NO WARRANTY; This is free software, and you are welcome to redistribute it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
and that's the whole entire vibe, bestie. this page is from Vrq 1.0.134, September 2019. slay. π β¨
π¦ where this page comes from
- fedora 43: vrq 1.0.134-14.fc43 Β· GPL-2.0-or-later
- fedora 44: vrq 1.0.134-15.fc44 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms