mirror of
https://github.com/YosysHQ/yosys
synced 2025-07-24 05:08:56 +00:00
ID(\\.*) -> ID(.*)
This commit is contained in:
parent
467c34eff0
commit
02dead2e60
25 changed files with 766 additions and 766 deletions
|
@ -64,37 +64,37 @@ struct TribufWorker {
|
|||
for (auto cell : module->selected_cells())
|
||||
{
|
||||
if (cell->type == ID($tribuf))
|
||||
tribuf_cells[sigmap(cell->getPort(ID(\\Y)))].push_back(cell);
|
||||
tribuf_cells[sigmap(cell->getPort(ID(Y)))].push_back(cell);
|
||||
|
||||
if (cell->type == ID($_TBUF_))
|
||||
tribuf_cells[sigmap(cell->getPort(ID(\\Y)))].push_back(cell);
|
||||
tribuf_cells[sigmap(cell->getPort(ID(Y)))].push_back(cell);
|
||||
|
||||
if (cell->type.in(ID($mux), ID($_MUX_)))
|
||||
{
|
||||
IdString en_port = cell->type == ID($mux) ? ID(\\EN) : ID(\\E);
|
||||
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(ID(\\A))) && is_all_z(cell->getPort(ID(\\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(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));
|
||||
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(ID(\\Y)))].push_back(cell);
|
||||
tribuf_cells[sigmap(cell->getPort(ID(Y)))].push_back(cell);
|
||||
continue;
|
||||
}
|
||||
|
||||
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));
|
||||
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(ID(\\Y)))].push_back(cell);
|
||||
tribuf_cells[sigmap(cell->getPort(ID(Y)))].push_back(cell);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
@ -119,10 +119,10 @@ struct TribufWorker {
|
|||
SigSpec pmux_b, pmux_s;
|
||||
for (auto cell : it.second) {
|
||||
if (cell->type == ID($tribuf))
|
||||
pmux_s.append(cell->getPort(ID(\\EN)));
|
||||
pmux_s.append(cell->getPort(ID(EN)));
|
||||
else
|
||||
pmux_s.append(cell->getPort(ID(\\E)));
|
||||
pmux_b.append(cell->getPort(ID(\\A)));
|
||||
pmux_s.append(cell->getPort(ID(E)));
|
||||
pmux_b.append(cell->getPort(ID(A)));
|
||||
module->remove(cell);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue