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());
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);
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);
for (auto &it : sets) {
RTLIL::SigSpec lhs, rhs;
- if (!RTLIL::SigSpec::parse(lhs, module, it.first))
+ if (!RTLIL::SigSpec::parse_sel(lhs, design, module, it.first))
log_cmd_error("Failed to parse lhs set expression `%s'.\n", it.first.c_str());
if (!RTLIL::SigSpec::parse_rhs(lhs, rhs, module, it.second))
log_cmd_error("Failed to parse rhs set expression `%s'.\n", it.second.c_str());
{
for (auto &it : shows) {
RTLIL::SigSpec signal, value, undef;
- if (!RTLIL::SigSpec::parse(signal, module, it))
+ if (!RTLIL::SigSpec::parse_sel(signal, design, module, it))
log_cmd_error("Failed to parse show expression `%s'.\n", it.c_str());
signal.optimize();
value = signal;
for (auto &it : shows) {
RTLIL::SigSpec sig;
- if (!RTLIL::SigSpec::parse(sig, module, it))
+ if (!RTLIL::SigSpec::parse_sel(sig, design, module, it))
log_cmd_error("Failed to parse show expression `%s'.\n", it.c_str());
signal.append(sig);
}
for (auto &it : tables) {
RTLIL::SigSpec sig;
- if (!RTLIL::SigSpec::parse(sig, module, it))
+ if (!RTLIL::SigSpec::parse_sel(sig, design, module, it))
log_cmd_error("Failed to parse table expression `%s'.\n", it.c_str());
tabsigs.append(sig);
}
{
RTLIL::SigSpec lhs, rhs;
- if (!RTLIL::SigSpec::parse(lhs, module, s.first))
+ if (!RTLIL::SigSpec::parse_sel(lhs, design, module, s.first))
log_cmd_error("Failed to parse lhs set expression `%s'.\n", s.first.c_str());
if (!RTLIL::SigSpec::parse_rhs(lhs, rhs, module, s.second))
log_cmd_error("Failed to parse rhs set expression `%s'.\n", s.second.c_str());
{
RTLIL::SigSpec lhs, rhs;
- if (!RTLIL::SigSpec::parse(lhs, module, s.first))
+ if (!RTLIL::SigSpec::parse_sel(lhs, design, module, s.first))
log_cmd_error("Failed to parse lhs set expression `%s'.\n", s.first.c_str());
if (!RTLIL::SigSpec::parse_rhs(lhs, rhs, module, s.second))
log_cmd_error("Failed to parse rhs set expression `%s'.\n", s.second.c_str());
{
RTLIL::SigSpec lhs, rhs;
- if (!RTLIL::SigSpec::parse(lhs, module, s.first))
+ if (!RTLIL::SigSpec::parse_sel(lhs, design, module, s.first))
log_cmd_error("Failed to parse lhs set expression `%s'.\n", s.first.c_str());
if (!RTLIL::SigSpec::parse_rhs(lhs, rhs, module, s.second))
log_cmd_error("Failed to parse rhs set expression `%s'.\n", s.second.c_str());
{
RTLIL::SigSpec lhs;
- if (!RTLIL::SigSpec::parse(lhs, module, s))
+ if (!RTLIL::SigSpec::parse_sel(lhs, design, module, s))
log_cmd_error("Failed to parse lhs set expression `%s'.\n", s.c_str());
show_signal_pool.add(sigmap(lhs));
for (auto &s : sets_def) {
RTLIL::SigSpec sig;
- if (!RTLIL::SigSpec::parse(sig, module, s))
+ if (!RTLIL::SigSpec::parse_sel(sig, design, module, s))
log_cmd_error("Failed to parse set-def expression `%s'.\n", s.c_str());
sets_def_undef[0].insert(sig);
}
for (auto &s : sets_any_undef) {
RTLIL::SigSpec sig;
- if (!RTLIL::SigSpec::parse(sig, module, s))
+ if (!RTLIL::SigSpec::parse_sel(sig, design, module, s))
log_cmd_error("Failed to parse set-def expression `%s'.\n", s.c_str());
sets_def_undef[1].insert(sig);
}
for (auto &s : sets_all_undef) {
RTLIL::SigSpec sig;
- if (!RTLIL::SigSpec::parse(sig, module, s))
+ if (!RTLIL::SigSpec::parse_sel(sig, design, module, s))
log_cmd_error("Failed to parse set-def expression `%s'.\n", s.c_str());
sets_def_undef[2].insert(sig);
}
for (auto &s : sets_def_at[timestep]) {
RTLIL::SigSpec sig;
- if (!RTLIL::SigSpec::parse(sig, module, s))
+ if (!RTLIL::SigSpec::parse_sel(sig, design, module, s))
log_cmd_error("Failed to parse set-def expression `%s'.\n", s.c_str());
sets_def_undef[0].insert(sig);
sets_def_undef[1].erase(sig);
for (auto &s : sets_any_undef_at[timestep]) {
RTLIL::SigSpec sig;
- if (!RTLIL::SigSpec::parse(sig, module, s))
+ if (!RTLIL::SigSpec::parse_sel(sig, design, module, s))
log_cmd_error("Failed to parse set-def expression `%s'.\n", s.c_str());
sets_def_undef[0].erase(sig);
sets_def_undef[1].insert(sig);
for (auto &s : sets_all_undef_at[timestep]) {
RTLIL::SigSpec sig;
- if (!RTLIL::SigSpec::parse(sig, module, s))
+ if (!RTLIL::SigSpec::parse_sel(sig, design, module, s))
log_cmd_error("Failed to parse set-def expression `%s'.\n", s.c_str());
sets_def_undef[0].erase(sig);
sets_def_undef[1].erase(sig);
{
RTLIL::SigSpec lhs, rhs;
- if (!RTLIL::SigSpec::parse(lhs, module, s.first))
+ if (!RTLIL::SigSpec::parse_sel(lhs, design, module, s.first))
log_cmd_error("Failed to parse lhs proof expression `%s'.\n", s.first.c_str());
if (!RTLIL::SigSpec::parse_rhs(lhs, rhs, module, s.second))
log_cmd_error("Failed to parse rhs proof expression `%s'.\n", s.second.c_str());
{
RTLIL::SigSpec lhs, rhs;
- if (!RTLIL::SigSpec::parse(lhs, module, s.first))
+ if (!RTLIL::SigSpec::parse_sel(lhs, design, module, s.first))
log_cmd_error("Failed to parse lhs proof-x expression `%s'.\n", s.first.c_str());
if (!RTLIL::SigSpec::parse_rhs(lhs, rhs, module, s.second))
log_cmd_error("Failed to parse rhs proof-x expression `%s'.\n", s.second.c_str());
{
for (auto &s : shows) {
RTLIL::SigSpec sig;
- if (!RTLIL::SigSpec::parse(sig, module, s))
+ if (!RTLIL::SigSpec::parse_sel(sig, design, module, s))
log_cmd_error("Failed to parse show expression `%s'.\n", s.c_str());
log("Import show expression: %s\n", log_signal(sig));
modelSig.append(sig);
log(" show the model for the specified signal. if no -show option is\n");
log(" passed then a set of signals to be shown is automatically selected.\n");
log("\n");
- log(" -show @<sel_name>\n");
- log(" add all wires from the specified selection (see help select) to\n");
- log(" the list of signals to be shown.\n");
- log("\n");
log(" -show-inputs, -show-outputs\n");
log(" add all module input (output) ports to the list of shown signals\n");
log("\n");
sets_def.push_back(it.second->name);
}
- for (auto &str : shows) {
- if (str.empty() || str[0] != '@')
- continue;
- str = RTLIL::escape_id(str.substr(1));
- if (design->selection_vars.count(str) == 0)
- log_cmd_error("Selection %s is not defined!\n", RTLIL::id2cstr(str));
- RTLIL::Selection &sel = design->selection_vars.at(str);
- str.clear();
- for (auto &it : module->wires)
- if (sel.selected_member(module->name, it.first))
- str += (str.empty() ? "" : ",") + it.first;
- }
-
if (show_inputs) {
for (auto &it : module->wires)
if (it.second->port_input)