3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-08-05 10:50:25 +00:00

Added generic RTLIL::SigSpec::parse_sel() with support for selection variables

This commit is contained in:
Clifford Wolf 2014-02-06 19:22:46 +01:00
parent d4b0f28881
commit fa295a4528
5 changed files with 39 additions and 37 deletions

View file

@ -137,7 +137,7 @@ struct ConnectPass : public Pass {
log_cmd_error("Cant use -set together with -unset and/or -port.\n");
RTLIL::SigSpec sig_lhs, sig_rhs;
if (!RTLIL::SigSpec::parse(sig_lhs, module, set_lhs))
if (!RTLIL::SigSpec::parse_sel(sig_lhs, design, module, set_lhs))
log_cmd_error("Failed to parse set lhs expression `%s'.\n", set_lhs.c_str());
if (!RTLIL::SigSpec::parse_rhs(sig_lhs, sig_rhs, module, set_rhs))
log_cmd_error("Failed to parse set rhs expression `%s'.\n", set_rhs.c_str());
@ -157,7 +157,7 @@ struct ConnectPass : public Pass {
log_cmd_error("Cant use -unset together with -port and/or -nounset.\n");
RTLIL::SigSpec sig;
if (!RTLIL::SigSpec::parse(sig, module, unset_expr))
if (!RTLIL::SigSpec::parse_sel(sig, design, module, unset_expr))
log_cmd_error("Failed to parse unset expression `%s'.\n", unset_expr.c_str());
sigmap.apply(sig);
@ -173,7 +173,7 @@ struct ConnectPass : public Pass {
log_cmd_error("Can't find cell %s.\n", port_cell.c_str());
RTLIL::SigSpec sig;
if (!RTLIL::SigSpec::parse(sig, module, port_expr))
if (!RTLIL::SigSpec::parse_sel(sig, design, module, port_expr))
log_cmd_error("Failed to parse port expression `%s'.\n", port_expr.c_str());
module->cells.at(RTLIL::escape_id(port_cell))->connections[RTLIL::escape_id(port_port)] = sigmap(sig);