mirror of https://github.com/YosysHQ/yosys.git
Use ID::keep more liberally too
This commit is contained in:
parent
52355f5185
commit
eae5a6b12c
|
@ -135,7 +135,7 @@ struct MuxpackWorker
|
|||
{
|
||||
for (auto wire : module->wires())
|
||||
{
|
||||
if (wire->port_output || wire->get_bool_attribute(ID(keep))) {
|
||||
if (wire->port_output || wire->get_bool_attribute(ID::keep)) {
|
||||
for (auto bit : sigmap(wire))
|
||||
sigbit_with_non_chain_users.insert(bit);
|
||||
}
|
||||
|
@ -143,7 +143,7 @@ struct MuxpackWorker
|
|||
|
||||
for (auto cell : module->cells())
|
||||
{
|
||||
if (cell->type.in(ID($mux), ID($pmux)) && !cell->get_bool_attribute(ID(keep)))
|
||||
if (cell->type.in(ID($mux), ID($pmux)) && !cell->get_bool_attribute(ID::keep))
|
||||
{
|
||||
SigSpec a_sig = sigmap(cell->getPort(ID::A));
|
||||
SigSpec b_sig;
|
||||
|
|
|
@ -52,7 +52,7 @@ struct keep_cache_t
|
|||
return cache.at(module);
|
||||
|
||||
cache[module] = true;
|
||||
if (!module->get_bool_attribute(ID(keep))) {
|
||||
if (!module->get_bool_attribute(ID::keep)) {
|
||||
bool found_keep = false;
|
||||
for (auto cell : module->cells())
|
||||
if (query(cell)) found_keep = true;
|
||||
|
@ -122,7 +122,7 @@ void rmunused_module_cells(Module *module, bool verbose)
|
|||
|
||||
for (auto &it : module->wires_) {
|
||||
Wire *wire = it.second;
|
||||
if (wire->port_output || wire->get_bool_attribute(ID(keep))) {
|
||||
if (wire->port_output || wire->get_bool_attribute(ID::keep)) {
|
||||
for (auto bit : sigmap(wire))
|
||||
for (auto c : wire2driver[bit])
|
||||
queue.insert(c), unused.erase(c);
|
||||
|
@ -297,7 +297,7 @@ bool rmunused_module_signals(RTLIL::Module *module, bool purge_mode, bool verbos
|
|||
if (!wire->port_input)
|
||||
used_signals_nodrivers.add(sig);
|
||||
}
|
||||
if (wire->get_bool_attribute(ID(keep))) {
|
||||
if (wire->get_bool_attribute(ID::keep)) {
|
||||
RTLIL::SigSpec sig = RTLIL::SigSpec(wire);
|
||||
assign_map.apply(sig);
|
||||
used_signals.add(sig);
|
||||
|
@ -323,7 +323,7 @@ bool rmunused_module_signals(RTLIL::Module *module, bool purge_mode, bool verbos
|
|||
if (wire->port_id == 0)
|
||||
goto delete_this_wire;
|
||||
} else
|
||||
if (wire->port_id != 0 || wire->get_bool_attribute(ID(keep)) || !initval.is_fully_undef()) {
|
||||
if (wire->port_id != 0 || wire->get_bool_attribute(ID::keep) || !initval.is_fully_undef()) {
|
||||
// do not delete anything with "keep" or module ports or initialized wires
|
||||
} else
|
||||
if (!purge_mode && check_public_name(wire->name) && (raw_used_signals.check_any(s1) || used_signals.check_any(s2) || s1 != s2)) {
|
||||
|
|
|
@ -61,7 +61,7 @@ void replace_undriven(RTLIL::Design *design, RTLIL::Module *module)
|
|||
}
|
||||
if (wire->port_input)
|
||||
driven_signals.add(sigmap(wire));
|
||||
if (wire->port_output || wire->get_bool_attribute(ID(keep)))
|
||||
if (wire->port_output || wire->get_bool_attribute(ID::keep))
|
||||
used_signals.add(sigmap(wire));
|
||||
all_signals.add(sigmap(wire));
|
||||
}
|
||||
|
|
|
@ -104,7 +104,7 @@ struct OptLutWorker
|
|||
if (cell->has_keep_attr())
|
||||
continue;
|
||||
SigBit lut_output = cell->getPort(ID::Y);
|
||||
if (lut_output.wire->get_bool_attribute(ID(keep)))
|
||||
if (lut_output.wire->get_bool_attribute(ID::keep))
|
||||
continue;
|
||||
|
||||
int lut_width = cell->getParam(ID(WIDTH)).as_int();
|
||||
|
|
|
@ -137,7 +137,7 @@ struct OptMuxtreeWorker
|
|||
}
|
||||
}
|
||||
for (auto wire : module->wires()) {
|
||||
if (wire->port_output || wire->get_bool_attribute(ID(keep)))
|
||||
if (wire->port_output || wire->get_bool_attribute(ID::keep))
|
||||
for (int idx : sig2bits(RTLIL::SigSpec(wire)))
|
||||
bit2info[idx].seen_non_mux = true;
|
||||
}
|
||||
|
|
|
@ -398,7 +398,7 @@ struct WreduceWorker
|
|||
SigMap init_attr_sigmap = mi.sigmap;
|
||||
|
||||
for (auto w : module->wires()) {
|
||||
if (w->get_bool_attribute(ID(keep)))
|
||||
if (w->get_bool_attribute(ID::keep))
|
||||
for (auto bit : mi.sigmap(w))
|
||||
keep_bits.insert(bit);
|
||||
if (w->attributes.count(ID(init))) {
|
||||
|
|
|
@ -198,7 +198,7 @@ void extract_cell(RTLIL::Cell *cell, bool keepff)
|
|||
if (keepff)
|
||||
for (auto &c : sig_q.chunks())
|
||||
if (c.wire != NULL)
|
||||
c.wire->attributes[ID(keep)] = 1;
|
||||
c.wire->attributes[ID::keep] = 1;
|
||||
|
||||
assign_map.apply(sig_d);
|
||||
assign_map.apply(sig_q);
|
||||
|
@ -787,7 +787,7 @@ void abc_module(RTLIL::Design *design, RTLIL::Module *current_module, std::strin
|
|||
extract_cell(c, keepff);
|
||||
|
||||
for (auto &wire_it : module->wires_) {
|
||||
if (wire_it.second->port_id > 0 || wire_it.second->get_bool_attribute(ID(keep)))
|
||||
if (wire_it.second->port_id > 0 || wire_it.second->get_bool_attribute(ID::keep))
|
||||
mark_port(RTLIL::SigSpec(wire_it.second));
|
||||
}
|
||||
|
||||
|
|
|
@ -226,7 +226,7 @@ struct IopadmapPass : public Pass {
|
|||
cell->setPort(RTLIL::escape_id(tinoutpad_portname2), owire);
|
||||
cell->setPort(RTLIL::escape_id(tinoutpad_portname3), data_sig);
|
||||
cell->setPort(RTLIL::escape_id(tinoutpad_portname4), wire_bit);
|
||||
cell->attributes[ID(keep)] = RTLIL::Const(1);
|
||||
cell->attributes[ID::keep] = RTLIL::Const(1);
|
||||
|
||||
for (auto cn : tbuf_cache.second) {
|
||||
auto c = module->cell(cn);
|
||||
|
@ -263,7 +263,7 @@ struct IopadmapPass : public Pass {
|
|||
cell->setPort(RTLIL::escape_id(toutpad_portname), en_sig);
|
||||
cell->setPort(RTLIL::escape_id(toutpad_portname2), data_sig);
|
||||
cell->setPort(RTLIL::escape_id(toutpad_portname3), wire_bit);
|
||||
cell->attributes[ID(keep)] = RTLIL::Const(1);
|
||||
cell->attributes[ID::keep] = RTLIL::Const(1);
|
||||
|
||||
for (auto cn : tbuf_cache.second) {
|
||||
auto c = module->cell(cn);
|
||||
|
@ -390,7 +390,7 @@ struct IopadmapPass : public Pass {
|
|||
cell->parameters[RTLIL::escape_id(widthparam)] = RTLIL::Const(1);
|
||||
if (!nameparam.empty())
|
||||
cell->parameters[RTLIL::escape_id(nameparam)] = RTLIL::Const(stringf("%s[%d]", RTLIL::id2cstr(wire->name), i));
|
||||
cell->attributes[ID(keep)] = RTLIL::Const(1);
|
||||
cell->attributes[ID::keep] = RTLIL::Const(1);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -403,7 +403,7 @@ struct IopadmapPass : public Pass {
|
|||
cell->parameters[RTLIL::escape_id(widthparam)] = RTLIL::Const(wire->width);
|
||||
if (!nameparam.empty())
|
||||
cell->parameters[RTLIL::escape_id(nameparam)] = RTLIL::Const(RTLIL::id2cstr(wire->name));
|
||||
cell->attributes[ID(keep)] = RTLIL::Const(1);
|
||||
cell->attributes[ID::keep] = RTLIL::Const(1);
|
||||
}
|
||||
|
||||
wire->port_id = 0;
|
||||
|
|
|
@ -263,7 +263,7 @@ struct ShregmapWorker
|
|||
{
|
||||
for (auto wire : module->wires())
|
||||
{
|
||||
if (wire->port_output || wire->get_bool_attribute(ID(keep))) {
|
||||
if (wire->port_output || wire->get_bool_attribute(ID::keep)) {
|
||||
for (auto bit : sigmap(wire)) {
|
||||
sigbit_with_non_chain_users.insert(bit);
|
||||
if (opts.tech) opts.tech->non_chain_user(bit, nullptr, {});
|
||||
|
@ -283,7 +283,7 @@ struct ShregmapWorker
|
|||
|
||||
for (auto cell : module->cells())
|
||||
{
|
||||
if (opts.ffcells.count(cell->type) && !cell->get_bool_attribute(ID(keep)))
|
||||
if (opts.ffcells.count(cell->type) && !cell->get_bool_attribute(ID::keep))
|
||||
{
|
||||
IdString d_port = opts.ffcells.at(cell->type).first;
|
||||
IdString q_port = opts.ffcells.at(cell->type).second;
|
||||
|
|
|
@ -145,7 +145,7 @@ struct TechmapWorker
|
|||
record.wire = it.second;
|
||||
record.value = it.second;
|
||||
result[p].push_back(record);
|
||||
it.second->attributes[ID(keep)] = RTLIL::Const(1);
|
||||
it.second->attributes[ID::keep] = RTLIL::Const(1);
|
||||
it.second->attributes[ID(_techmap_special_)] = RTLIL::Const(1);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue