mirror of
https://github.com/YosysHQ/yosys
synced 2025-06-18 03:46:18 +00:00
Undo blif frontend stuff
This commit is contained in:
parent
950379ecdc
commit
86d321a306
1 changed files with 12 additions and 12 deletions
|
@ -362,19 +362,19 @@ void parse_blif(RTLIL::Design *design, std::istream &f, IdString dff_name, bool
|
||||||
goto no_latch_clock;
|
goto no_latch_clock;
|
||||||
|
|
||||||
if (!strcmp(edge, "re"))
|
if (!strcmp(edge, "re"))
|
||||||
cell = module->addDff(NEW_ABC_ID, blif_wire(clock), blif_wire(d), blif_wire(q)); // SILIMATE: Improve the naming
|
cell = module->addDff(NEW_ABC_ID, blif_wire(clock), blif_wire(d), blif_wire(q));
|
||||||
else if (!strcmp(edge, "fe"))
|
else if (!strcmp(edge, "fe"))
|
||||||
cell = module->addDff(NEW_ABC_ID, blif_wire(clock), blif_wire(d), blif_wire(q), false); // SILIMATE: Improve the naming
|
cell = module->addDff(NEW_ABC_ID, blif_wire(clock), blif_wire(d), blif_wire(q), false);
|
||||||
else if (!strcmp(edge, "ah"))
|
else if (!strcmp(edge, "ah"))
|
||||||
cell = module->addDlatch(NEW_ABC_ID, blif_wire(clock), blif_wire(d), blif_wire(q)); // SILIMATE: Improve the naming
|
cell = module->addDlatch(NEW_ABC_ID, blif_wire(clock), blif_wire(d), blif_wire(q));
|
||||||
else if (!strcmp(edge, "al"))
|
else if (!strcmp(edge, "al"))
|
||||||
cell = module->addDlatch(NEW_ABC_ID, blif_wire(clock), blif_wire(d), blif_wire(q), false); // SILIMATE: Improve the naming
|
cell = module->addDlatch(NEW_ABC_ID, blif_wire(clock), blif_wire(d), blif_wire(q), false);
|
||||||
else {
|
else {
|
||||||
no_latch_clock:
|
no_latch_clock:
|
||||||
if (dff_name.empty()) {
|
if (dff_name.empty()) {
|
||||||
cell = module->addFf(NEW_ABC_ID, blif_wire(d), blif_wire(q)); // SILIMATE: Improve the naming
|
cell = module->addFf(NEW_ABC_ID, blif_wire(d), blif_wire(q));
|
||||||
} else {
|
} else {
|
||||||
cell = module->addCell(NEW_ABC_ID, dff_name); // SILIMATE: Improve the naming
|
cell = module->addCell(NEW_ABC_ID, dff_name);
|
||||||
cell->setPort(ID::D, blif_wire(d));
|
cell->setPort(ID::D, blif_wire(d));
|
||||||
cell->setPort(ID::Q, blif_wire(q));
|
cell->setPort(ID::Q, blif_wire(q));
|
||||||
}
|
}
|
||||||
|
@ -393,7 +393,7 @@ void parse_blif(RTLIL::Design *design, std::istream &f, IdString dff_name, bool
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
IdString celltype = RTLIL::escape_id(p);
|
IdString celltype = RTLIL::escape_id(p);
|
||||||
RTLIL::Cell *cell = module->addCell(NEW_ABC_ID, celltype); // SILIMATE: Improve the naming
|
RTLIL::Cell *cell = module->addCell(NEW_ABC_ID, celltype);
|
||||||
RTLIL::Module *cell_mod = design->module(celltype);
|
RTLIL::Module *cell_mod = design->module(celltype);
|
||||||
|
|
||||||
dict<RTLIL::IdString, dict<int, SigBit>> cell_wideports_cache;
|
dict<RTLIL::IdString, dict<int, SigBit>> cell_wideports_cache;
|
||||||
|
@ -440,7 +440,7 @@ void parse_blif(RTLIL::Design *design, std::istream &f, IdString dff_name, bool
|
||||||
if (it.second.count(idx))
|
if (it.second.count(idx))
|
||||||
sig.append(it.second.at(idx));
|
sig.append(it.second.at(idx));
|
||||||
else
|
else
|
||||||
sig.append(module->addWire(NEW_ABC_ID)); // SILIMATE: Improve the naming
|
sig.append(module->addWire(NEW_ABC_ID));
|
||||||
}
|
}
|
||||||
|
|
||||||
cell->setPort(it.first, sig);
|
cell->setPort(it.first, sig);
|
||||||
|
@ -516,7 +516,7 @@ void parse_blif(RTLIL::Design *design, std::istream &f, IdString dff_name, bool
|
||||||
|
|
||||||
if (sop_mode)
|
if (sop_mode)
|
||||||
{
|
{
|
||||||
sopcell = module->addCell(NEW_ABC_ID, ID($sop)); // SILIMATE: Improve the naming
|
sopcell = module->addCell(NEW_ABC_ID, ID($sop));
|
||||||
sopcell->parameters[ID::WIDTH] = RTLIL::Const(input_sig.size());
|
sopcell->parameters[ID::WIDTH] = RTLIL::Const(input_sig.size());
|
||||||
sopcell->parameters[ID::DEPTH] = 0;
|
sopcell->parameters[ID::DEPTH] = 0;
|
||||||
sopcell->parameters[ID::TABLE] = RTLIL::Const();
|
sopcell->parameters[ID::TABLE] = RTLIL::Const();
|
||||||
|
@ -532,7 +532,7 @@ void parse_blif(RTLIL::Design *design, std::istream &f, IdString dff_name, bool
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
RTLIL::Cell *cell = module->addCell(NEW_ABC_ID, ID($lut)); // SILIMATE: Improve the naming
|
RTLIL::Cell *cell = module->addCell(NEW_ABC_ID, ID($lut));
|
||||||
cell->parameters[ID::WIDTH] = RTLIL::Const(input_sig.size());
|
cell->parameters[ID::WIDTH] = RTLIL::Const(input_sig.size());
|
||||||
cell->parameters[ID::LUT] = RTLIL::Const(RTLIL::State::Sx, 1 << input_sig.size());
|
cell->parameters[ID::LUT] = RTLIL::Const(RTLIL::State::Sx, 1 << input_sig.size());
|
||||||
cell->setPort(ID::A, input_sig);
|
cell->setPort(ID::A, input_sig);
|
||||||
|
@ -583,8 +583,8 @@ void parse_blif(RTLIL::Design *design, std::istream &f, IdString dff_name, bool
|
||||||
sopmode = (*output == '1');
|
sopmode = (*output == '1');
|
||||||
if (!sopmode) {
|
if (!sopmode) {
|
||||||
SigSpec outnet = sopcell->getPort(ID::Y);
|
SigSpec outnet = sopcell->getPort(ID::Y);
|
||||||
SigSpec tempnet = module->addWire(NEW_ABC_ID); // SILIMATE: Improve the naming
|
SigSpec tempnet = module->addWire(NEW_ABC_ID);
|
||||||
module->addNotGate(NEW_ABC_ID, tempnet, outnet); // SILIMATE: Improve the naming
|
module->addNotGate(NEW_ABC_ID, tempnet, outnet);
|
||||||
sopcell->setPort(ID::Y, tempnet);
|
sopcell->setPort(ID::Y, tempnet);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue