diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/celltypes.h | 4 | ||||
-rw-r--r-- | kernel/rtlil.cc | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/kernel/celltypes.h b/kernel/celltypes.h index 3d9e4cf93..f58ae14c4 100644 --- a/kernel/celltypes.h +++ b/kernel/celltypes.h @@ -158,6 +158,10 @@ struct CellTypes for (auto c1 : list_np) for (auto c2 : list_np) + setup_type(stringf("$_DFFE_%c%c_", c1, c2), {"\\C", "\\D", "\\E"}, {"\\Q"}); + + for (auto c1 : list_np) + for (auto c2 : list_np) for (auto c3 : list_01) setup_type(stringf("$_DFF_%c%c%c_", c1, c2, c3), {"\\C", "\\R", "\\D"}, {"\\Q"}); diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc index 803d783af..321c39e10 100644 --- a/kernel/rtlil.cc +++ b/kernel/rtlil.cc @@ -892,6 +892,11 @@ namespace { if (cell->type == "$_DFF_N_") { check_gate("DQC"); return; } if (cell->type == "$_DFF_P_") { check_gate("DQC"); return; } + if (cell->type == "$_DFFE_NN_") { check_gate("DQCE"); return; } + if (cell->type == "$_DFFE_NP_") { check_gate("DQCE"); return; } + if (cell->type == "$_DFFE_PN_") { check_gate("DQCE"); return; } + if (cell->type == "$_DFFE_PP_") { check_gate("DQCE"); return; } + if (cell->type == "$_DFF_NN0_") { check_gate("DQCR"); return; } if (cell->type == "$_DFF_NN1_") { check_gate("DQCR"); return; } if (cell->type == "$_DFF_NP0_") { check_gate("DQCR"); return; } |