aboutsummaryrefslogtreecommitdiffstats
path: root/passes/techmap/tribuf.cc
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-08-16 13:38:47 -0700
committerEddie Hung <eddie@fpgeh.com>2019-08-16 13:38:47 -0700
commit6b51c154c6812f58676402ebbbdbb18d053ca4be (patch)
treeabc83b857152cd237fd3b64155bdcee2180b5855 /passes/techmap/tribuf.cc
parent2d5d82e2b6f7d369c0d41b499646a8719ff0bc20 (diff)
parent958be89c47ae4f11b5de07bc026bc2202e2ebc97 (diff)
downloadyosys-6b51c154c6812f58676402ebbbdbb18d053ca4be.tar.gz
yosys-6b51c154c6812f58676402ebbbdbb18d053ca4be.tar.bz2
yosys-6b51c154c6812f58676402ebbbdbb18d053ca4be.zip
Merge remote-tracking branch 'origin/master' into mwk/xilinx_bufgmap
Diffstat (limited to 'passes/techmap/tribuf.cc')
-rw-r--r--passes/techmap/tribuf.cc46
1 files changed, 23 insertions, 23 deletions
diff --git a/passes/techmap/tribuf.cc b/passes/techmap/tribuf.cc
index 587cb9038..509a9198b 100644
--- a/passes/techmap/tribuf.cc
+++ b/passes/techmap/tribuf.cc
@@ -63,38 +63,38 @@ struct TribufWorker {
for (auto cell : module->selected_cells())
{
- if (cell->type == "$tribuf")
- tribuf_cells[sigmap(cell->getPort("\\Y"))].push_back(cell);
+ if (cell->type == ID($tribuf))
+ tribuf_cells[sigmap(cell->getPort(ID(Y)))].push_back(cell);
- if (cell->type == "$_TBUF_")
- tribuf_cells[sigmap(cell->getPort("\\Y"))].push_back(cell);
+ if (cell->type == ID($_TBUF_))
+ tribuf_cells[sigmap(cell->getPort(ID(Y)))].push_back(cell);
- if (cell->type.in("$mux", "$_MUX_"))
+ if (cell->type.in(ID($mux), ID($_MUX_)))
{
- IdString en_port = cell->type == "$mux" ? "\\EN" : "\\E";
- IdString tri_type = cell->type == "$mux" ? "$tribuf" : "$_TBUF_";
+ IdString en_port = cell->type == ID($mux) ? ID(EN) : ID(E);
+ IdString tri_type = cell->type == ID($mux) ? ID($tribuf) : ID($_TBUF_);
- if (is_all_z(cell->getPort("\\A")) && is_all_z(cell->getPort("\\B"))) {
+ if (is_all_z(cell->getPort(ID(A))) && is_all_z(cell->getPort(ID(B)))) {
module->remove(cell);
continue;
}
- if (is_all_z(cell->getPort("\\A"))) {
- cell->setPort("\\A", cell->getPort("\\B"));
- cell->setPort(en_port, cell->getPort("\\S"));
- cell->unsetPort("\\B");
- cell->unsetPort("\\S");
+ if (is_all_z(cell->getPort(ID(A)))) {
+ cell->setPort(ID(A), cell->getPort(ID(B)));
+ cell->setPort(en_port, cell->getPort(ID(S)));
+ cell->unsetPort(ID(B));
+ cell->unsetPort(ID(S));
cell->type = tri_type;
- tribuf_cells[sigmap(cell->getPort("\\Y"))].push_back(cell);
+ tribuf_cells[sigmap(cell->getPort(ID(Y)))].push_back(cell);
continue;
}
- if (is_all_z(cell->getPort("\\B"))) {
- cell->setPort(en_port, module->Not(NEW_ID, cell->getPort("\\S")));
- cell->unsetPort("\\B");
- cell->unsetPort("\\S");
+ if (is_all_z(cell->getPort(ID(B)))) {
+ cell->setPort(en_port, module->Not(NEW_ID, cell->getPort(ID(S))));
+ cell->unsetPort(ID(B));
+ cell->unsetPort(ID(S));
cell->type = tri_type;
- tribuf_cells[sigmap(cell->getPort("\\Y"))].push_back(cell);
+ tribuf_cells[sigmap(cell->getPort(ID(Y)))].push_back(cell);
continue;
}
}
@@ -118,11 +118,11 @@ struct TribufWorker {
SigSpec pmux_b, pmux_s;
for (auto cell : it.second) {
- if (cell->type == "$tribuf")
- pmux_s.append(cell->getPort("\\EN"));
+ if (cell->type == ID($tribuf))
+ pmux_s.append(cell->getPort(ID(EN)));
else
- pmux_s.append(cell->getPort("\\E"));
- pmux_b.append(cell->getPort("\\A"));
+ pmux_s.append(cell->getPort(ID(E)));
+ pmux_b.append(cell->getPort(ID(A)));
module->remove(cell);
}