3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-24 01:25:33 +00:00

kernel/rtlil: Extract some helpers for checking memory cell types.

There will soon be more (versioned) memory cells, so handle passes that
only care if a cell is memory-related by a simple helper call instead of
a hardcoded list.
This commit is contained in:
Marcelina Kościelnicka 2021-05-22 19:14:13 +02:00
parent c7076495f1
commit c4cc888b2c
10 changed files with 24 additions and 28 deletions

View file

@ -708,7 +708,7 @@ struct BtorWorker
goto okay;
}
if (cell->type.in(ID($mem), ID($memrd), ID($memwr), ID($meminit)))
if (cell->is_mem_cell())
{
Mem *mem = mem_cells[cell];

View file

@ -182,7 +182,7 @@ struct Smt2Worker
continue;
// Handled above.
if (cell->type.in(ID($mem), ID($memrd), ID($memwr), ID($meminit))) {
if (cell->is_mem_cell()) {
mem_cells[cell] = mem_dict[cell->parameters.at(ID::MEMID).decode_string()];
continue;
}
@ -694,7 +694,7 @@ struct Smt2Worker
// FIXME: $slice $concat
}
if (memmode && cell->type.in(ID($mem), ID($memrd), ID($memwr), ID($meminit)))
if (memmode && cell->is_mem_cell())
{
Mem *mem = mem_cells[cell];

View file

@ -1464,7 +1464,7 @@ bool dump_cell_expr(std::ostream &f, std::string indent, RTLIL::Cell *cell)
void dump_cell(std::ostream &f, std::string indent, RTLIL::Cell *cell)
{
// Handled by dump_memory
if (cell->type.in(ID($mem), ID($memwr), ID($memrd), ID($meminit)))
if (cell->is_mem_cell())
return;
if (cell->type[0] == '$' && !noexpr) {