mirror of https://github.com/YosysHQ/yosys.git
Use State::S{0,1}
This commit is contained in:
parent
3486235338
commit
046e1a5214
|
@ -616,8 +616,8 @@ struct BtorWorker
|
||||||
if (initstate_nid < 0)
|
if (initstate_nid < 0)
|
||||||
{
|
{
|
||||||
int sid = get_bv_sid(1);
|
int sid = get_bv_sid(1);
|
||||||
int one_nid = get_sig_nid(Const(1, 1));
|
int one_nid = get_sig_nid(State::S1);
|
||||||
int zero_nid = get_sig_nid(Const(0, 1));
|
int zero_nid = get_sig_nid(State::S0);
|
||||||
initstate_nid = next_nid++;
|
initstate_nid = next_nid++;
|
||||||
btorf("%d state %d\n", initstate_nid, sid);
|
btorf("%d state %d\n", initstate_nid, sid);
|
||||||
btorf("%d init %d %d %d\n", next_nid++, sid, initstate_nid, one_nid);
|
btorf("%d init %d %d %d\n", next_nid++, sid, initstate_nid, one_nid);
|
||||||
|
|
|
@ -122,9 +122,9 @@ struct FirrtlWorker
|
||||||
// Current (3/13/2019) conventions:
|
// Current (3/13/2019) conventions:
|
||||||
// generate a constant 0 for clock and a constant 1 for enable if they are undefined.
|
// generate a constant 0 for clock and a constant 1 for enable if they are undefined.
|
||||||
if (!clk.is_fully_def())
|
if (!clk.is_fully_def())
|
||||||
this->clk = SigSpec(RTLIL::Const(0, 1));
|
this->clk = SigSpec(State::S0);
|
||||||
if (!ena.is_fully_def())
|
if (!ena.is_fully_def())
|
||||||
this->ena = SigSpec(RTLIL::Const(1, 1));
|
this->ena = SigSpec(State::S1);
|
||||||
}
|
}
|
||||||
string gen_read(const char * indent) {
|
string gen_read(const char * indent) {
|
||||||
string addr_expr = make_expr(addr);
|
string addr_expr = make_expr(addr);
|
||||||
|
|
|
@ -380,9 +380,9 @@ void dump_attributes(std::ostream &f, std::string indent, dict<RTLIL::IdString,
|
||||||
for (auto it = attributes.begin(); it != attributes.end(); ++it) {
|
for (auto it = attributes.begin(); it != attributes.end(); ++it) {
|
||||||
f << stringf("%s" "%s %s", indent.c_str(), as_comment ? "/*" : "(*", id(it->first).c_str());
|
f << stringf("%s" "%s %s", indent.c_str(), as_comment ? "/*" : "(*", id(it->first).c_str());
|
||||||
f << stringf(" = ");
|
f << stringf(" = ");
|
||||||
if (modattr && (it->second == Const(0, 1) || it->second == Const(0)))
|
if (modattr && (it->second == State::S0 || it->second == Const(0)))
|
||||||
f << stringf(" 0 ");
|
f << stringf(" 0 ");
|
||||||
else if (modattr && (it->second == Const(1, 1) || it->second == Const(1)))
|
else if (modattr && (it->second == State::S1 || it->second == Const(1)))
|
||||||
f << stringf(" 1 ");
|
f << stringf(" 1 ");
|
||||||
else
|
else
|
||||||
dump_const(f, it->second, -1, 0, false, as_comment);
|
dump_const(f, it->second, -1, 0, false, as_comment);
|
||||||
|
|
|
@ -357,7 +357,7 @@ struct SvaFsm
|
||||||
for (int i = 0; i < GetSize(nodes); i++)
|
for (int i = 0; i < GetSize(nodes); i++)
|
||||||
{
|
{
|
||||||
if (next_state_sig[i] != State::S0) {
|
if (next_state_sig[i] != State::S0) {
|
||||||
clocking.addDff(NEW_ID, next_state_sig[i], state_wire[i], Const(0, 1));
|
clocking.addDff(NEW_ID, next_state_sig[i], state_wire[i], State::S0);
|
||||||
} else {
|
} else {
|
||||||
module->connect(state_wire[i], State::S0);
|
module->connect(state_wire[i], State::S0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -133,7 +133,7 @@ static void implement_pattern_cache(RTLIL::Module *module, std::map<RTLIL::Const
|
||||||
cases_vector.append(and_sig);
|
cases_vector.append(and_sig);
|
||||||
break;
|
break;
|
||||||
case 0:
|
case 0:
|
||||||
cases_vector.append(RTLIL::SigSpec(1, 1));
|
cases_vector.append(State::S1);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
log_abort();
|
log_abort();
|
||||||
|
@ -150,7 +150,7 @@ static void implement_pattern_cache(RTLIL::Module *module, std::map<RTLIL::Const
|
||||||
} else if (cases_vector.size() == 1) {
|
} else if (cases_vector.size() == 1) {
|
||||||
module->connect(RTLIL::SigSig(output, cases_vector));
|
module->connect(RTLIL::SigSig(output, cases_vector));
|
||||||
} else {
|
} else {
|
||||||
module->connect(RTLIL::SigSig(output, RTLIL::SigSpec(0, 1)));
|
module->connect(RTLIL::SigSig(output, State::S0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -194,8 +194,8 @@ Cell *handle_memory(Module *module, RTLIL::Memory *memory)
|
||||||
log_assert(sig_wr_en.size() == wr_ports * memory->width);
|
log_assert(sig_wr_en.size() == wr_ports * memory->width);
|
||||||
|
|
||||||
mem->parameters["\\WR_PORTS"] = Const(wr_ports);
|
mem->parameters["\\WR_PORTS"] = Const(wr_ports);
|
||||||
mem->parameters["\\WR_CLK_ENABLE"] = wr_ports ? sig_wr_clk_enable.as_const() : Const(0, 1);
|
mem->parameters["\\WR_CLK_ENABLE"] = wr_ports ? sig_wr_clk_enable.as_const() : State::S0;
|
||||||
mem->parameters["\\WR_CLK_POLARITY"] = wr_ports ? sig_wr_clk_polarity.as_const() : Const(0, 1);
|
mem->parameters["\\WR_CLK_POLARITY"] = wr_ports ? sig_wr_clk_polarity.as_const() : State::S0;
|
||||||
|
|
||||||
mem->setPort("\\WR_CLK", sig_wr_clk);
|
mem->setPort("\\WR_CLK", sig_wr_clk);
|
||||||
mem->setPort("\\WR_ADDR", sig_wr_addr);
|
mem->setPort("\\WR_ADDR", sig_wr_addr);
|
||||||
|
@ -209,9 +209,9 @@ Cell *handle_memory(Module *module, RTLIL::Memory *memory)
|
||||||
log_assert(sig_rd_data.size() == rd_ports * memory->width);
|
log_assert(sig_rd_data.size() == rd_ports * memory->width);
|
||||||
|
|
||||||
mem->parameters["\\RD_PORTS"] = Const(rd_ports);
|
mem->parameters["\\RD_PORTS"] = Const(rd_ports);
|
||||||
mem->parameters["\\RD_CLK_ENABLE"] = rd_ports ? sig_rd_clk_enable.as_const() : Const(0, 1);
|
mem->parameters["\\RD_CLK_ENABLE"] = rd_ports ? sig_rd_clk_enable.as_const() : State::S0;
|
||||||
mem->parameters["\\RD_CLK_POLARITY"] = rd_ports ? sig_rd_clk_polarity.as_const() : Const(0, 1);
|
mem->parameters["\\RD_CLK_POLARITY"] = rd_ports ? sig_rd_clk_polarity.as_const() : State::S0;
|
||||||
mem->parameters["\\RD_TRANSPARENT"] = rd_ports ? sig_rd_transparent.as_const() : Const(0, 1);
|
mem->parameters["\\RD_TRANSPARENT"] = rd_ports ? sig_rd_transparent.as_const() : State::S0;
|
||||||
|
|
||||||
mem->setPort("\\RD_CLK", sig_rd_clk);
|
mem->setPort("\\RD_CLK", sig_rd_clk);
|
||||||
mem->setPort("\\RD_ADDR", sig_rd_addr);
|
mem->setPort("\\RD_ADDR", sig_rd_addr);
|
||||||
|
|
|
@ -301,7 +301,7 @@ struct MemoryMapWorker
|
||||||
|
|
||||||
RTLIL::Wire *w = w_seladdr;
|
RTLIL::Wire *w = w_seladdr;
|
||||||
|
|
||||||
if (wr_bit != RTLIL::SigSpec(1, 1))
|
if (wr_bit != State::S1)
|
||||||
{
|
{
|
||||||
RTLIL::Cell *c = module->addCell(genid(cell->name, "$wren", i, "", j, "", wr_offset), "$and");
|
RTLIL::Cell *c = module->addCell(genid(cell->name, "$wren", i, "", j, "", wr_offset), "$and");
|
||||||
c->parameters["\\A_SIGNED"] = RTLIL::Const(0);
|
c->parameters["\\A_SIGNED"] = RTLIL::Const(0);
|
||||||
|
|
|
@ -47,8 +47,8 @@ struct BruteForceEquivChecker
|
||||||
{
|
{
|
||||||
if (inputs.size() < mod1_inputs.size()) {
|
if (inputs.size() < mod1_inputs.size()) {
|
||||||
RTLIL::SigSpec inputs0 = inputs, inputs1 = inputs;
|
RTLIL::SigSpec inputs0 = inputs, inputs1 = inputs;
|
||||||
inputs0.append(RTLIL::Const(0, 1));
|
inputs0.append(State::S0);
|
||||||
inputs1.append(RTLIL::Const(1, 1));
|
inputs1.append(State::S1);
|
||||||
run_checker(inputs0);
|
run_checker(inputs0);
|
||||||
run_checker(inputs1);
|
run_checker(inputs1);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -236,7 +236,7 @@ void create_miter_equiv(struct Pass *that, std::vector<std::string> args, RTLIL:
|
||||||
if (flag_make_assert) {
|
if (flag_make_assert) {
|
||||||
RTLIL::Cell *assert_cell = miter_module->addCell(NEW_ID, "$assert");
|
RTLIL::Cell *assert_cell = miter_module->addCell(NEW_ID, "$assert");
|
||||||
assert_cell->setPort("\\A", all_conditions);
|
assert_cell->setPort("\\A", all_conditions);
|
||||||
assert_cell->setPort("\\EN", RTLIL::SigSpec(1, 1));
|
assert_cell->setPort("\\EN", State::S1);
|
||||||
}
|
}
|
||||||
|
|
||||||
RTLIL::Wire *w_trigger = miter_module->addWire("\\trigger");
|
RTLIL::Wire *w_trigger = miter_module->addWire("\\trigger");
|
||||||
|
|
|
@ -185,7 +185,7 @@ static void logic_reduce(RTLIL::Module *module, RTLIL::SigSpec &sig, RTLIL::Cell
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sig.size() == 0)
|
if (sig.size() == 0)
|
||||||
sig = RTLIL::SigSpec(0, 1);
|
sig = State::S0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void simplemap_lognot(RTLIL::Module *module, RTLIL::Cell *cell)
|
void simplemap_lognot(RTLIL::Module *module, RTLIL::Cell *cell)
|
||||||
|
|
Loading…
Reference in New Issue