From: Clifford Wolf Date: Wed, 27 Feb 2013 17:00:01 +0000 (+0100) Subject: Added support for simple gates with one constant input to opt_const X-Git-Tag: yosys-0.2.0~785 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1bbc2b34c8c23f0da2d72f08c5cfb9dffa7fa673;p=yosys.git Added support for simple gates with one constant input to opt_const --- diff --git a/passes/opt/opt_const.cc b/passes/opt/opt_const.cc index 9edea6709..84b525449 100644 --- a/passes/opt/opt_const.cc +++ b/passes/opt/opt_const.cc @@ -76,6 +76,8 @@ void replace_const_cells(RTLIL::Module *module) if (input.match("11")) ACTION_DO_Y(1); if (input.match(" *")) ACTION_DO_Y(x); if (input.match("* ")) ACTION_DO_Y(x); + if (input.match(" 1")) ACTION_DO("\\Y", input.extract(1, 1)); + if (input.match("1 ")) ACTION_DO("\\Y", input.extract(0, 1)); } if (cell->type == "$_OR_") { @@ -88,6 +90,8 @@ void replace_const_cells(RTLIL::Module *module) if (input.match("00")) ACTION_DO_Y(0); if (input.match(" *")) ACTION_DO_Y(x); if (input.match("* ")) ACTION_DO_Y(x); + if (input.match(" 0")) ACTION_DO("\\Y", input.extract(1, 1)); + if (input.match("0 ")) ACTION_DO("\\Y", input.extract(0, 1)); } if (cell->type == "$_XOR_") { @@ -101,6 +105,8 @@ void replace_const_cells(RTLIL::Module *module) if (input.match("11")) ACTION_DO_Y(0); if (input.match(" *")) ACTION_DO_Y(x); if (input.match("* ")) ACTION_DO_Y(x); + if (input.match(" 0")) ACTION_DO("\\Y", input.extract(1, 1)); + if (input.match("0 ")) ACTION_DO("\\Y", input.extract(0, 1)); } if (cell->type == "$_MUX_") {