diff options
author | Jannis Harder <me@jix.one> | 2023-01-11 16:26:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-11 16:26:04 +0100 |
commit | 5abaa5908082f13f6b574d66f6f8a9ebb476fd54 (patch) | |
tree | 4438609065528688666e63ffa2e737bced73d35c /kernel/celltypes.h | |
parent | d742d063d4e887f3e4dba8bab1a37d160596977d (diff) | |
parent | eb0039848b42afa196f440301492a5afc09b4cf4 (diff) | |
download | yosys-5abaa5908082f13f6b574d66f6f8a9ebb476fd54.tar.gz yosys-5abaa5908082f13f6b574d66f6f8a9ebb476fd54.tar.bz2 yosys-5abaa5908082f13f6b574d66f6f8a9ebb476fd54.zip |
Merge pull request #3537 from jix/xprop
New xprop pass
Diffstat (limited to 'kernel/celltypes.h')
-rw-r--r-- | kernel/celltypes.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/kernel/celltypes.h b/kernel/celltypes.h index e617b4603..63e7408c1 100644 --- a/kernel/celltypes.h +++ b/kernel/celltypes.h @@ -116,7 +116,8 @@ struct CellTypes ID($shl), ID($shr), ID($sshl), ID($sshr), ID($shift), ID($shiftx), ID($lt), ID($le), ID($eq), ID($ne), ID($eqx), ID($nex), ID($ge), ID($gt), ID($add), ID($sub), ID($mul), ID($div), ID($mod), ID($divfloor), ID($modfloor), ID($pow), - ID($logic_and), ID($logic_or), ID($concat), ID($macc) + ID($logic_and), ID($logic_or), ID($concat), ID($macc), + ID($bweqx) }; for (auto type : unary_ops) @@ -125,7 +126,7 @@ struct CellTypes for (auto type : binary_ops) setup_type(type, {ID::A, ID::B}, {ID::Y}, true); - for (auto type : std::vector<RTLIL::IdString>({ID($mux), ID($pmux)})) + for (auto type : std::vector<RTLIL::IdString>({ID($mux), ID($pmux), ID($bwmux)})) setup_type(type, {ID::A, ID::B, ID::S}, {ID::Y}, true); for (auto type : std::vector<RTLIL::IdString>({ID($bmux), ID($demux)})) @@ -430,6 +431,11 @@ struct CellTypes return const_demux(arg1, arg2); } + if (cell->type == ID($bweqx)) + { + return const_bweqx(arg1, arg2); + } + if (cell->type == ID($lut)) { int width = cell->parameters.at(ID::WIDTH).as_int(); @@ -490,6 +496,8 @@ struct CellTypes { if (cell->type.in(ID($mux), ID($_MUX_))) return const_mux(arg1, arg2, arg3); + if (cell->type == ID($bwmux)) + return const_bwmux(arg1, arg2, arg3); if (cell->type == ID($pmux)) return const_pmux(arg1, arg2, arg3); if (cell->type == ID($_AOI3_)) |