mirror of
https://github.com/YosysHQ/yosys
synced 2025-06-20 21:03:40 +00:00
SigSpec refactoring: change RTLIL::SigSpec::chunks() to be read-only, created interim RTLIL::SigSpec::chunks_rw()
This commit is contained in:
parent
7bffde6abd
commit
28b3fd05fa
20 changed files with 29 additions and 34 deletions
|
@ -756,7 +756,7 @@ struct ExtractPass : public Pass {
|
|||
newCell->parameters = cell->parameters;
|
||||
for (auto &conn : cell->connections) {
|
||||
RTLIL::SigSpec sig = sigmap(conn.second);
|
||||
for (auto &chunk : sig.chunks())
|
||||
for (auto &chunk : sig.chunks_rw())
|
||||
if (chunk.wire != NULL)
|
||||
chunk.wire = newMod->wires.at(chunk.wire->name);
|
||||
newCell->connections[conn.first] = sig;
|
||||
|
|
|
@ -31,7 +31,7 @@ static RTLIL::SigChunk last_hi, last_lo;
|
|||
void hilomap_worker(RTLIL::SigSpec &sig)
|
||||
{
|
||||
sig.expand();
|
||||
for (auto &c : sig.chunks()) {
|
||||
for (auto &c : sig.chunks_rw()) {
|
||||
if (c.wire == NULL && (c.data.bits.at(0) == RTLIL::State::S1) && !hicell_celltype.empty()) {
|
||||
if (!singleton_mode || last_hi.width == 0) {
|
||||
last_hi = RTLIL::SigChunk(module->addWire(NEW_ID));
|
||||
|
|
|
@ -47,7 +47,7 @@ static void apply_prefix(std::string prefix, RTLIL::SigSpec &sig, RTLIL::Module
|
|||
std::string wire_name = sig.chunks()[i].wire->name;
|
||||
apply_prefix(prefix, wire_name);
|
||||
assert(module->wires.count(wire_name) > 0);
|
||||
sig.chunks()[i].wire = module->wires[wire_name];
|
||||
sig.chunks_rw()[i].wire = module->wires[wire_name];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue