Prefer non-inverted clocks in dfflibmap

This commit is contained in:
Clifford Wolf 2013-12-19 13:21:57 +01:00
parent 994c83db01
commit c904f5e197
1 changed files with 8 additions and 6 deletions

View File

@ -473,17 +473,19 @@ struct DfflibmapPass : public Pass {
find_cell_sr(libparser.ast, "$_DFFSR_PPN_", true, true, false); find_cell_sr(libparser.ast, "$_DFFSR_PPN_", true, true, false);
find_cell_sr(libparser.ast, "$_DFFSR_PPP_", true, true, true); find_cell_sr(libparser.ast, "$_DFFSR_PPP_", true, true, true);
bool keep_running = true; bool keep_running;
while (keep_running) { do {
keep_running = false; 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_?*?_", "R");
keep_running |= expand_cellmap("$_DFF_??*_", "DQ"); keep_running |= expand_cellmap("$_DFF_??*_", "DQ");
keep_running |= expand_cellmap("$_DFFSR_*??_", "C");
keep_running |= expand_cellmap("$_DFFSR_?*?_", "S"); keep_running |= expand_cellmap("$_DFFSR_?*?_", "S");
keep_running |= expand_cellmap("$_DFFSR_??*_", "R"); 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_NN0_");
map_sr_to_arst("$_DFFSR_NNN_", "$_DFF_NN1_"); map_sr_to_arst("$_DFFSR_NNN_", "$_DFF_NN1_");