aboutsummaryrefslogtreecommitdiffstats
path: root/passes/techmap/maccmap.cc
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2019-08-19 13:04:06 +0200
committerClifford Wolf <clifford@clifford.at>2019-08-19 13:04:06 +0200
commit1e3dd0a2da1c8a6a34d2a664f938a90fc83e81a9 (patch)
tree7b7830c5da434964fd40792c393c45a31b8ad080 /passes/techmap/maccmap.cc
parentf20be90436b32e853d68c7e102a65d43f3843d91 (diff)
parent3edb0abed88565447d5193f78261400655aa843a (diff)
downloadyosys-1e3dd0a2da1c8a6a34d2a664f938a90fc83e81a9.tar.gz
yosys-1e3dd0a2da1c8a6a34d2a664f938a90fc83e81a9.tar.bz2
yosys-1e3dd0a2da1c8a6a34d2a664f938a90fc83e81a9.zip
Merge branch 'master' of github.com:YosysHQ/yosys into clifford/pmgen
Diffstat (limited to 'passes/techmap/maccmap.cc')
-rw-r--r--passes/techmap/maccmap.cc50
1 files changed, 25 insertions, 25 deletions
diff --git a/passes/techmap/maccmap.cc b/passes/techmap/maccmap.cc
index 59e58e4db..09f61927c 100644
--- a/passes/techmap/maccmap.cc
+++ b/passes/techmap/maccmap.cc
@@ -111,13 +111,13 @@ struct MaccmapWorker
RTLIL::Wire *w1 = module->addWire(NEW_ID, width);
RTLIL::Wire *w2 = module->addWire(NEW_ID, width);
- RTLIL::Cell *cell = module->addCell(NEW_ID, "$fa");
- cell->setParam("\\WIDTH", width);
- cell->setPort("\\A", in1);
- cell->setPort("\\B", in2);
- cell->setPort("\\C", in3);
- cell->setPort("\\Y", w1);
- cell->setPort("\\X", w2);
+ RTLIL::Cell *cell = module->addCell(NEW_ID, ID($fa));
+ cell->setParam(ID(WIDTH), width);
+ cell->setPort(ID::A, in1);
+ cell->setPort(ID::B, in2);
+ cell->setPort(ID(C), in3);
+ cell->setPort(ID::Y, w1);
+ cell->setPort(ID(X), w2);
out1 = {out_zeros_msb, w1, out_zeros_lsb};
out2 = {out_zeros_msb, w2, out_zeros_lsb};
@@ -237,23 +237,23 @@ struct MaccmapWorker
}
- RTLIL::Cell *c = module->addCell(NEW_ID, "$alu");
- c->setPort("\\A", summands.front());
- c->setPort("\\B", summands.back());
- c->setPort("\\CI", State::S0);
- c->setPort("\\BI", State::S0);
- c->setPort("\\Y", module->addWire(NEW_ID, width));
- c->setPort("\\X", module->addWire(NEW_ID, width));
- c->setPort("\\CO", module->addWire(NEW_ID, width));
+ RTLIL::Cell *c = module->addCell(NEW_ID, ID($alu));
+ c->setPort(ID::A, summands.front());
+ c->setPort(ID::B, summands.back());
+ c->setPort(ID(CI), State::S0);
+ c->setPort(ID(BI), State::S0);
+ c->setPort(ID::Y, module->addWire(NEW_ID, width));
+ c->setPort(ID(X), module->addWire(NEW_ID, width));
+ c->setPort(ID(CO), module->addWire(NEW_ID, width));
c->fixup_parameters();
if (!tree_sum_bits.empty()) {
- c->setPort("\\CI", tree_sum_bits.back());
+ c->setPort(ID(CI), tree_sum_bits.back());
tree_sum_bits.pop_back();
}
log_assert(tree_sum_bits.empty());
- return c->getPort("\\Y");
+ return c->getPort(ID::Y);
}
};
@@ -264,17 +264,17 @@ extern void maccmap(RTLIL::Module *module, RTLIL::Cell *cell, bool unmap = false
void maccmap(RTLIL::Module *module, RTLIL::Cell *cell, bool unmap)
{
- int width = GetSize(cell->getPort("\\Y"));
+ int width = GetSize(cell->getPort(ID::Y));
Macc macc;
macc.from_cell(cell);
RTLIL::SigSpec all_input_bits;
- all_input_bits.append(cell->getPort("\\A"));
- all_input_bits.append(cell->getPort("\\B"));
+ all_input_bits.append(cell->getPort(ID::A));
+ all_input_bits.append(cell->getPort(ID::B));
if (all_input_bits.to_sigbit_set().count(RTLIL::Sx)) {
- module->connect(cell->getPort("\\Y"), RTLIL::SigSpec(RTLIL::Sx, width));
+ module->connect(cell->getPort(ID::Y), RTLIL::SigSpec(RTLIL::Sx, width));
return;
}
@@ -339,9 +339,9 @@ void maccmap(RTLIL::Module *module, RTLIL::Cell *cell, bool unmap)
}
if (summands.front().second)
- module->addNeg(NEW_ID, summands.front().first, cell->getPort("\\Y"));
+ module->addNeg(NEW_ID, summands.front().first, cell->getPort(ID::Y));
else
- module->connect(cell->getPort("\\Y"), summands.front().first);
+ module->connect(cell->getPort(ID::Y), summands.front().first);
}
else
{
@@ -356,7 +356,7 @@ void maccmap(RTLIL::Module *module, RTLIL::Cell *cell, bool unmap)
for (auto &bit : macc.bit_ports)
worker.add(bit, 0);
- module->connect(cell->getPort("\\Y"), worker.synth());
+ module->connect(cell->getPort(ID::Y), worker.synth());
}
}
@@ -393,7 +393,7 @@ struct MaccmapPass : public Pass {
for (auto mod : design->selected_modules())
for (auto cell : mod->selected_cells())
- if (cell->type == "$macc") {
+ if (cell->type == ID($macc)) {
log("Mapping %s.%s (%s).\n", log_id(mod), log_id(cell), log_id(cell->type));
maccmap(mod, cell, unmap_mode);
mod->remove(cell);