diff options
| author | Clifford Wolf <clifford@clifford.at> | 2019-02-28 15:03:55 -0800 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-02-28 15:03:55 -0800 | 
| commit | f505a41b7606c89289348d4c90a8ff85b3ede19a (patch) | |
| tree | 125c3b702ca30880f6639395ed024d5eac77b2b3 /backends/verilog | |
| parent | e2fc18f27b5e9f506724a486787c2106b9f7fb4f (diff) | |
| parent | 241901461ae02c6a41837e254088f277b8167476 (diff) | |
| download | yosys-f505a41b7606c89289348d4c90a8ff85b3ede19a.tar.gz yosys-f505a41b7606c89289348d4c90a8ff85b3ede19a.tar.bz2 yosys-f505a41b7606c89289348d4c90a8ff85b3ede19a.zip | |
Merge pull request #834 from YosysHQ/clifford/siminit
Add "write_verilog -siminit"
Diffstat (limited to 'backends/verilog')
| -rw-r--r-- | backends/verilog/verilog_backend.cc | 13 | 
1 files changed, 11 insertions, 2 deletions
| diff --git a/backends/verilog/verilog_backend.cc b/backends/verilog/verilog_backend.cc index d351a6266..6818edb7a 100644 --- a/backends/verilog/verilog_backend.cc +++ b/backends/verilog/verilog_backend.cc @@ -33,7 +33,7 @@  USING_YOSYS_NAMESPACE  PRIVATE_NAMESPACE_BEGIN -bool verbose, norename, noattr, attr2comment, noexpr, nodec, nohex, nostr, defparam, decimal; +bool verbose, norename, noattr, attr2comment, noexpr, nodec, nohex, nostr, defparam, decimal, siminit;  int auto_name_counter, auto_name_offset, auto_name_digits;  std::map<RTLIL::IdString, int> auto_name_map;  std::set<RTLIL::IdString> reg_wires, reg_ct; @@ -1310,7 +1310,7 @@ void dump_cell(std::ostream &f, std::string indent, RTLIL::Cell *cell)  		}  	} -	if (reg_ct.count(cell->type) && cell->hasPort("\\Q")) { +	if (siminit && reg_ct.count(cell->type) && cell->hasPort("\\Q")) {  		std::stringstream ss;  		dump_reg_init(ss, cell->getPort("\\Q"));  		if (!ss.str().empty()) { @@ -1607,6 +1607,10 @@ struct VerilogBackend : public Backend {  		log("        without this option all internal cells are converted to Verilog\n");  		log("        expressions.\n");  		log("\n"); +		log("    -siminit\n"); +		log("        add initial statements with hierarchical refs to initialize FFs when\n"); +		log("        in -noexpr mode.\n"); +		log("\n");  		log("    -nodec\n");  		log("        32-bit constant values are by default dumped as decimal numbers,\n");  		log("        not bit pattern. This option deactivates this feature and instead\n"); @@ -1663,6 +1667,7 @@ struct VerilogBackend : public Backend {  		nostr = false;  		defparam = false;  		decimal = false; +		siminit = false;  		auto_prefix = "";  		bool blackboxes = false; @@ -1739,6 +1744,10 @@ struct VerilogBackend : public Backend {  				decimal = true;  				continue;  			} +			if (arg == "-siminit") { +				siminit = true; +				continue; +			}  			if (arg == "-blackboxes") {  				blackboxes = true;  				continue; | 
