From 1bbc2b34c8c23f0da2d72f08c5cfb9dffa7fa673 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Wed, 27 Feb 2013 18:00:01 +0100 Subject: [PATCH] Added support for simple gates with one constant input to opt_const --- passes/opt/opt_const.cc | 6 ++++++ 1 file changed, 6 insertions(+) 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_") { -- 2.30.2