diff options
Diffstat (limited to 'backends/verilog')
| -rw-r--r-- | backends/verilog/verilog_backend.cc | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/backends/verilog/verilog_backend.cc b/backends/verilog/verilog_backend.cc index e0b3a6f80..776f4eacb 100644 --- a/backends/verilog/verilog_backend.cc +++ b/backends/verilog/verilog_backend.cc @@ -558,6 +558,20 @@ bool dump_cell_expr(std::ostream &f, std::string indent, RTLIL::Cell *cell)  		return true;  	} +	if (cell->type == "$_NMUX_") { +		f << stringf("%s" "assign ", indent.c_str()); +		dump_sigspec(f, cell->getPort("\\Y")); +		f << stringf(" = !("); +		dump_cell_expr_port(f, cell, "S", false); +		f << stringf(" ? "); +		dump_attributes(f, "", cell->attributes, ' '); +		dump_cell_expr_port(f, cell, "B", false); +		f << stringf(" : "); +		dump_cell_expr_port(f, cell, "A", false); +		f << stringf(");\n"); +		return true; +	} +  	if (cell->type.in("$_AOI3_", "$_OAI3_")) {  		f << stringf("%s" "assign ", indent.c_str());  		dump_sigspec(f, cell->getPort("\\Y"));  | 
