mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-23 17:15:33 +00:00
Add $live and $fair cell types, add support for s_eventually keyword
This commit is contained in:
parent
7af9727f78
commit
5f1d0b1024
14 changed files with 80 additions and 10 deletions
|
@ -116,6 +116,8 @@ struct CellTypes
|
|||
|
||||
setup_type("$assert", {A, EN}, pool<RTLIL::IdString>(), true);
|
||||
setup_type("$assume", {A, EN}, pool<RTLIL::IdString>(), true);
|
||||
setup_type("$live", {A, EN}, pool<RTLIL::IdString>(), true);
|
||||
setup_type("$fair", {A, EN}, pool<RTLIL::IdString>(), true);
|
||||
setup_type("$cover", {A, EN}, pool<RTLIL::IdString>(), true);
|
||||
setup_type("$initstate", pool<RTLIL::IdString>(), {Y}, true);
|
||||
setup_type("$anyconst", pool<RTLIL::IdString>(), {Y}, true);
|
||||
|
|
|
@ -1026,7 +1026,7 @@ namespace {
|
|||
return;
|
||||
}
|
||||
|
||||
if (cell->type.in("$assert", "$assume", "$cover")) {
|
||||
if (cell->type.in("$assert", "$assume", "$live", "$fair", "$cover")) {
|
||||
port("\\A", 1);
|
||||
port("\\EN", 1);
|
||||
check_expected();
|
||||
|
@ -1819,6 +1819,22 @@ RTLIL::Cell* RTLIL::Module::addAssume(RTLIL::IdString name, RTLIL::SigSpec sig_a
|
|||
return cell;
|
||||
}
|
||||
|
||||
RTLIL::Cell* RTLIL::Module::addLive(RTLIL::IdString name, RTLIL::SigSpec sig_a, RTLIL::SigSpec sig_en)
|
||||
{
|
||||
RTLIL::Cell *cell = addCell(name, "$live");
|
||||
cell->setPort("\\A", sig_a);
|
||||
cell->setPort("\\EN", sig_en);
|
||||
return cell;
|
||||
}
|
||||
|
||||
RTLIL::Cell* RTLIL::Module::addFair(RTLIL::IdString name, RTLIL::SigSpec sig_a, RTLIL::SigSpec sig_en)
|
||||
{
|
||||
RTLIL::Cell *cell = addCell(name, "$fair");
|
||||
cell->setPort("\\A", sig_a);
|
||||
cell->setPort("\\EN", sig_en);
|
||||
return cell;
|
||||
}
|
||||
|
||||
RTLIL::Cell* RTLIL::Module::addCover(RTLIL::IdString name, RTLIL::SigSpec sig_a, RTLIL::SigSpec sig_en)
|
||||
{
|
||||
RTLIL::Cell *cell = addCell(name, "$cover");
|
||||
|
|
|
@ -1007,6 +1007,8 @@ public:
|
|||
RTLIL::Cell* addTribuf (RTLIL::IdString name, RTLIL::SigSpec sig_a, RTLIL::SigSpec sig_en, RTLIL::SigSpec sig_y);
|
||||
RTLIL::Cell* addAssert (RTLIL::IdString name, RTLIL::SigSpec sig_a, RTLIL::SigSpec sig_en);
|
||||
RTLIL::Cell* addAssume (RTLIL::IdString name, RTLIL::SigSpec sig_a, RTLIL::SigSpec sig_en);
|
||||
RTLIL::Cell* addLive (RTLIL::IdString name, RTLIL::SigSpec sig_a, RTLIL::SigSpec sig_en);
|
||||
RTLIL::Cell* addFair (RTLIL::IdString name, RTLIL::SigSpec sig_a, RTLIL::SigSpec sig_en);
|
||||
RTLIL::Cell* addCover (RTLIL::IdString name, RTLIL::SigSpec sig_a, RTLIL::SigSpec sig_en);
|
||||
RTLIL::Cell* addEquiv (RTLIL::IdString name, RTLIL::SigSpec sig_a, RTLIL::SigSpec sig_b, RTLIL::SigSpec sig_y);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue