3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-08-26 21:16:03 +00:00

kernel: big fat patch to use more ID::*, otherwise ID(*)

This commit is contained in:
Eddie Hung 2020-04-02 09:51:32 -07:00
parent 2d86563bb2
commit 956ecd48f7
152 changed files with 4503 additions and 4391 deletions

View file

@ -33,37 +33,37 @@ void invert_gp_dff(Cell *cell, bool invert_input)
if (!invert_input)
{
Const initval = cell->getParam("\\INIT");
Const initval = cell->getParam(ID::INIT);
if (GetSize(initval) >= 1) {
if (initval.bits[0] == State::S0)
initval.bits[0] = State::S1;
else if (initval.bits[0] == State::S1)
initval.bits[0] = State::S0;
cell->setParam("\\INIT", initval);
cell->setParam(ID::INIT, initval);
}
if (cell_type_r && cell_type_s)
{
Const srmode = cell->getParam("\\SRMODE");
Const srmode = cell->getParam(ID(SRMODE));
if (GetSize(srmode) >= 1) {
if (srmode.bits[0] == State::S0)
srmode.bits[0] = State::S1;
else if (srmode.bits[0] == State::S1)
srmode.bits[0] = State::S0;
cell->setParam("\\SRMODE", srmode);
cell->setParam(ID(SRMODE), srmode);
}
}
else
{
if (cell_type_r) {
cell->setPort("\\nSET", cell->getPort("\\nRST"));
cell->unsetPort("\\nRST");
cell->setPort(ID(nSET), cell->getPort(ID(nRST)));
cell->unsetPort(ID(nRST));
cell_type_r = false;
cell_type_s = true;
} else
if (cell_type_s) {
cell->setPort("\\nRST", cell->getPort("\\nSET"));
cell->unsetPort("\\nSET");
cell->setPort(ID(nRST), cell->getPort(ID(nSET)));
cell->unsetPort(ID(nSET));
cell_type_r = true;
cell_type_s = false;
}
@ -71,12 +71,12 @@ void invert_gp_dff(Cell *cell, bool invert_input)
}
if (cell_type_i) {
cell->setPort("\\Q", cell->getPort("\\nQ"));
cell->unsetPort("\\nQ");
cell->setPort(ID::Q, cell->getPort(ID(nQ)));
cell->unsetPort(ID(nQ));
cell_type_i = false;
} else {
cell->setPort("\\nQ", cell->getPort("\\Q"));
cell->unsetPort("\\Q");
cell->setPort(ID(nQ), cell->getPort(ID::Q));
cell->unsetPort(ID::Q);
cell_type_i = true;
}
@ -115,23 +115,23 @@ struct Greenpak4DffInvPass : public Pass {
extra_args(args, argidx, design);
pool<IdString> gp_dff_types;
gp_dff_types.insert("\\GP_DFF");
gp_dff_types.insert("\\GP_DFFI");
gp_dff_types.insert("\\GP_DFFR");
gp_dff_types.insert("\\GP_DFFRI");
gp_dff_types.insert("\\GP_DFFS");
gp_dff_types.insert("\\GP_DFFSI");
gp_dff_types.insert("\\GP_DFFSR");
gp_dff_types.insert("\\GP_DFFSRI");
gp_dff_types.insert(ID(GP_DFF));
gp_dff_types.insert(ID(GP_DFFI));
gp_dff_types.insert(ID(GP_DFFR));
gp_dff_types.insert(ID(GP_DFFRI));
gp_dff_types.insert(ID(GP_DFFS));
gp_dff_types.insert(ID(GP_DFFSI));
gp_dff_types.insert(ID(GP_DFFSR));
gp_dff_types.insert(ID(GP_DFFSRI));
gp_dff_types.insert("\\GP_DLATCH");
gp_dff_types.insert("\\GP_DLATCHI");
gp_dff_types.insert("\\GP_DLATCHR");
gp_dff_types.insert("\\GP_DLATCHRI");
gp_dff_types.insert("\\GP_DLATCHS");
gp_dff_types.insert("\\GP_DLATCHSI");
gp_dff_types.insert("\\GP_DLATCHSR");
gp_dff_types.insert("\\GP_DLATCHSRI");
gp_dff_types.insert(ID(GP_DLATCH));
gp_dff_types.insert(ID(GP_DLATCHI));
gp_dff_types.insert(ID(GP_DLATCHR));
gp_dff_types.insert(ID(GP_DLATCHRI));
gp_dff_types.insert(ID(GP_DLATCHS));
gp_dff_types.insert(ID(GP_DLATCHSI));
gp_dff_types.insert(ID(GP_DLATCHSR));
gp_dff_types.insert(ID(GP_DLATCHSRI));
for (auto module : design->selected_modules())
{
@ -163,9 +163,9 @@ struct Greenpak4DffInvPass : public Pass {
continue;
}
if (cell->type == "\\GP_INV") {
SigBit in_bit = sigmap(cell->getPort("\\IN"));
SigBit out_bit = sigmap(cell->getPort("\\OUT"));
if (cell->type == ID(GP_INV)) {
SigBit in_bit = sigmap(cell->getPort(ID(IN)));
SigBit out_bit = sigmap(cell->getPort(ID(OUT)));
inv_in2out[in_bit] = out_bit;
inv_out2in[out_bit] = in_bit;
inv_in2cell[in_bit] = cell;
@ -175,15 +175,15 @@ struct Greenpak4DffInvPass : public Pass {
for (auto cell : dff_cells)
{
SigBit d_bit = sigmap(cell->getPort("\\D"));
SigBit q_bit = sigmap(cell->hasPort("\\Q") ? cell->getPort("\\Q") : cell->getPort("\\nQ"));
SigBit d_bit = sigmap(cell->getPort(ID::D));
SigBit q_bit = sigmap(cell->hasPort(ID::Q) ? cell->getPort(ID::Q) : cell->getPort(ID(nQ)));
while (inv_out2in.count(d_bit))
{
sig_use_cnt[d_bit]--;
invert_gp_dff(cell, true);
d_bit = inv_out2in.at(d_bit);
cell->setPort("\\D", d_bit);
cell->setPort(ID::D, d_bit);
sig_use_cnt[d_bit]++;
}
@ -197,10 +197,10 @@ struct Greenpak4DffInvPass : public Pass {
inv_in2cell.erase(q_bit);
invert_gp_dff(cell, false);
if (cell->hasPort("\\Q"))
cell->setPort("\\Q", new_q_bit);
if (cell->hasPort(ID::Q))
cell->setPort(ID::Q, new_q_bit);
else
cell->setPort("\\nQ", new_q_bit);
cell->setPort(ID(nQ), new_q_bit);
}
}
}