write_verilog - write design to Verilog file#
- yosys> help write_verilog#
write_verilog [options] [filename]
Write the current design to a Verilog file.
-svwith this option, SystemVerilog constructs like always_comb are used
-norenamewithout this option all internal object names (the ones with a dollar instead of a backslash prefix) are changed to short names in the format '_<number>_'.
-renameprefix <prefix>
insert this prefix in front of auto-generated instance names
-noattrwith this option no attributes are included in the output
-attr2commentwith this option attributes are included as comments in the output
-noexprwithout this option all internal cells are converted to Verilog expressions.
-noparallelcaseWith this option no parallel_case attributes are used. Instead, a case statement that assigns don't-care values for priority dependent inputs is generated.
-siminitadd initial statements with hierarchical refs to initialize FFs when in -noexpr mode.
-nodec32-bit constant values are by default dumped as decimal numbers, not bit pattern. This option deactivates this feature and instead will write out all constants in binary.
-decimaldump 32-bit constants in decimal and without size and radix
-nohexconstant values that are compatible with hex output are usually dumped as hex values. This option deactivates this feature and instead will write out all constants in binary.
-nostrParameters and attributes that are specified as strings in the original input will be output as strings by this back-end. This deactivates this feature and instead will write string constants as binary numbers.
-simple-lhsConnection assignments with simple left hand side without concatenations.
-extmeminstead of initializing memories using assignments to individual elements, use the '$readmemh' function to read initialization data from a file. This data is written to a file named by appending a sequential index to the Verilog filename and replacing the extension with '.mem', e.g. 'write_verilog -extmem foo.v' writes 'foo-1.mem', 'foo-2.mem' and so on.
-defparamuse 'defparam' statements instead of the Verilog-2001 syntax for cell parameters.
-blackboxesusually modules with the 'blackbox' attribute are ignored. with this option set only the modules with the 'blackbox' attribute are written to the output file.
-selectedonly write selected modules. modules must be selected entirely or not at all.
-vverbose output (print new names of all renamed wires and cells)
Note that RTLIL processes can't always be mapped directly to Verilog always blocks. This frontend should only be used to export an RTLIL netlist, i.e. after the "proc" pass has been used to convert all processes to logic networks and registers. A warning is generated when this command is called on a design with RTLIL processes.