From c904f5e197470b14ae7951010444edc8309b7807 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Thu, 19 Dec 2013 13:21:57 +0100 Subject: Prefer non-inverted clocks in dfflibmap --- passes/techmap/dfflibmap.cc | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'passes/techmap') diff --git a/passes/techmap/dfflibmap.cc b/passes/techmap/dfflibmap.cc index 0324afa8..49b98059 100644 --- a/passes/techmap/dfflibmap.cc +++ b/passes/techmap/dfflibmap.cc @@ -473,17 +473,19 @@ struct DfflibmapPass : public Pass { find_cell_sr(libparser.ast, "$_DFFSR_PPN_", true, true, false); find_cell_sr(libparser.ast, "$_DFFSR_PPP_", true, true, true); - bool keep_running = true; - while (keep_running) { + bool keep_running; + do { keep_running = false; - keep_running |= expand_cellmap("$_DFF_*_", "C"); - keep_running |= expand_cellmap("$_DFF_*??_", "C"); keep_running |= expand_cellmap("$_DFF_?*?_", "R"); keep_running |= expand_cellmap("$_DFF_??*_", "DQ"); - keep_running |= expand_cellmap("$_DFFSR_*??_", "C"); keep_running |= expand_cellmap("$_DFFSR_?*?_", "S"); keep_running |= expand_cellmap("$_DFFSR_??*_", "R"); - } + } while (keep_running); + do { + keep_running |= expand_cellmap("$_DFF_*_", "C"); + keep_running |= expand_cellmap("$_DFF_*??_", "C"); + keep_running |= expand_cellmap("$_DFFSR_*??_", "C"); + } while (keep_running); map_sr_to_arst("$_DFFSR_NNN_", "$_DFF_NN0_"); map_sr_to_arst("$_DFFSR_NNN_", "$_DFF_NN1_"); -- cgit v1.2.3