mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-23 09:05:32 +00:00
Added $bu0 cell (for easy correct $eq/$ne mapping)
This commit is contained in:
parent
7f71787599
commit
c69c416d28
6 changed files with 35 additions and 5 deletions
|
@ -60,6 +60,18 @@ static void simplemap_pos(RTLIL::Module *module, RTLIL::Cell *cell)
|
|||
module->connections.push_back(RTLIL::SigSig(sig_y, sig_a));
|
||||
}
|
||||
|
||||
static void simplemap_bu0(RTLIL::Module *module, RTLIL::Cell *cell)
|
||||
{
|
||||
int width = cell->parameters.at("\\Y_WIDTH").as_int();
|
||||
|
||||
RTLIL::SigSpec sig_a = cell->connections.at("\\A");
|
||||
sig_a.extend_u0(width, cell->parameters.at("\\A_SIGNED").as_bool());
|
||||
|
||||
RTLIL::SigSpec sig_y = cell->connections.at("\\Y");
|
||||
|
||||
module->connections.push_back(RTLIL::SigSig(sig_y, sig_a));
|
||||
}
|
||||
|
||||
static void simplemap_bitop(RTLIL::Module *module, RTLIL::Cell *cell)
|
||||
{
|
||||
int width = cell->parameters.at("\\Y_WIDTH").as_int();
|
||||
|
@ -454,6 +466,7 @@ void simplemap_get_mappers(std::map<std::string, void(*)(RTLIL::Module*, RTLIL::
|
|||
{
|
||||
mappers["$not"] = simplemap_not;
|
||||
mappers["$pos"] = simplemap_pos;
|
||||
mappers["$bu0"] = simplemap_bu0;
|
||||
mappers["$and"] = simplemap_bitop;
|
||||
mappers["$or"] = simplemap_bitop;
|
||||
mappers["$xor"] = simplemap_bitop;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue