From f16c967077f439cf010376b28169019ec971304c Mon Sep 17 00:00:00 2001 From: Sylvain Munaut Date: Tue, 1 Aug 2023 15:56:15 +0000 Subject: [PATCH] ol2/tt_top: Specify out own Synth/DRC exclude list Among other thing the PDK provided one exclude the buf_16 variant which we will need to reference during static timing analysis ... Signed-off-by: Sylvain Munaut --- ol2/tt_top/build.py | 6 ++++ ol2/tt_top/config.json | 1 - ol2/tt_top/no_drc_cells.txt | 52 +++++++++++++++++++++++++++++++++++ ol2/tt_top/no_synth_cells.txt | 0 4 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 ol2/tt_top/no_drc_cells.txt create mode 100644 ol2/tt_top/no_synth_cells.txt diff --git a/ol2/tt_top/build.py b/ol2/tt_top/build.py index f3c598a..49c6176 100755 --- a/ol2/tt_top/build.py +++ b/ol2/tt_top/build.py @@ -151,6 +151,12 @@ class TopFlow(SequentialFlow): "EXTRA_VERILOG_MODELS": macros_models, "MACROS": macros, + # Synthesis + "SYNTH_ELABORATE_ONLY" : True, + "SYNTH_EXCLUSION_CELL_LIST" : "no_synth_cells.txt", + "PNR_EXCLUSION_CELL_LIST" : "no_drc_cells.txt", + "DRC_EXCLUDE_CELL_LIST" : "no_drc_cells.txt", + # PDN "PDN_CFG": "pdn.tcl", diff --git a/ol2/tt_top/config.json b/ol2/tt_top/config.json index 7619a2c..ff2660a 100644 --- a/ol2/tt_top/config.json +++ b/ol2/tt_top/config.json @@ -38,7 +38,6 @@ "FP_PDN_HOFFSET": "expr::$FP_PDN_VOFFSET", "RT_MAX_LAYER": "met4", "FP_PDN_CHECK_NODES": false, - "SYNTH_ELABORATE_ONLY": true, "FP_PDN_ENABLE_RAILS": false, "DIODE_INSERTION_STRATEGY": false, "MAGIC_DEF_LABELS": false, diff --git a/ol2/tt_top/no_drc_cells.txt b/ol2/tt_top/no_drc_cells.txt new file mode 100644 index 0000000..2058347 --- /dev/null +++ b/ol2/tt_top/no_drc_cells.txt @@ -0,0 +1,52 @@ +sky130_fd_sc_hd__a2111oi_0 +sky130_fd_sc_hd__a21boi_0 +sky130_fd_sc_hd__and2_0 +sky130_fd_sc_hd__clkdlybuf4s15_1 +sky130_fd_sc_hd__clkdlybuf4s18_1 +sky130_fd_sc_hd__fa_4 +sky130_fd_sc_hd__lpflow_bleeder_1 +sky130_fd_sc_hd__lpflow_clkbufkapwr_1 +sky130_fd_sc_hd__lpflow_clkbufkapwr_16 +sky130_fd_sc_hd__lpflow_clkbufkapwr_2 +sky130_fd_sc_hd__lpflow_clkbufkapwr_4 +sky130_fd_sc_hd__lpflow_clkbufkapwr_8 +sky130_fd_sc_hd__lpflow_clkinvkapwr_1 +sky130_fd_sc_hd__lpflow_clkinvkapwr_16 +sky130_fd_sc_hd__lpflow_clkinvkapwr_2 +sky130_fd_sc_hd__lpflow_clkinvkapwr_4 +sky130_fd_sc_hd__lpflow_clkinvkapwr_8 +sky130_fd_sc_hd__lpflow_decapkapwr_12 +sky130_fd_sc_hd__lpflow_decapkapwr_3 +sky130_fd_sc_hd__lpflow_decapkapwr_4 +sky130_fd_sc_hd__lpflow_decapkapwr_6 +sky130_fd_sc_hd__lpflow_decapkapwr_8 +sky130_fd_sc_hd__lpflow_inputiso0n_1 +sky130_fd_sc_hd__lpflow_inputiso0p_1 +sky130_fd_sc_hd__lpflow_inputiso1n_1 +sky130_fd_sc_hd__lpflow_inputiso1p_1 +sky130_fd_sc_hd__lpflow_inputisolatch_1 +sky130_fd_sc_hd__lpflow_isobufsrc_1 +sky130_fd_sc_hd__lpflow_isobufsrc_16 +sky130_fd_sc_hd__lpflow_isobufsrc_2 +sky130_fd_sc_hd__lpflow_isobufsrc_4 +sky130_fd_sc_hd__lpflow_isobufsrc_8 +sky130_fd_sc_hd__lpflow_isobufsrckapwr_16 +sky130_fd_sc_hd__lpflow_lsbuf_lh_hl_isowell_tap_1 +sky130_fd_sc_hd__lpflow_lsbuf_lh_hl_isowell_tap_2 +sky130_fd_sc_hd__lpflow_lsbuf_lh_hl_isowell_tap_4 +sky130_fd_sc_hd__lpflow_lsbuf_lh_isowell_4 +sky130_fd_sc_hd__lpflow_lsbuf_lh_isowell_tap_1 +sky130_fd_sc_hd__lpflow_lsbuf_lh_isowell_tap_2 +sky130_fd_sc_hd__lpflow_lsbuf_lh_isowell_tap_4 +sky130_fd_sc_hd__mux4_4 +sky130_fd_sc_hd__o21ai_0 +sky130_fd_sc_hd__o311ai_0 +sky130_fd_sc_hd__or2_0 +sky130_fd_sc_hd__probe_p_8 +sky130_fd_sc_hd__probec_p_8 +sky130_fd_sc_hd__xor3_1 +sky130_fd_sc_hd__xor3_2 +sky130_fd_sc_hd__xor3_4 +sky130_fd_sc_hd__xnor3_1 +sky130_fd_sc_hd__xnor3_2 +sky130_fd_sc_hd__xnor3_4 diff --git a/ol2/tt_top/no_synth_cells.txt b/ol2/tt_top/no_synth_cells.txt new file mode 100644 index 0000000..e69de29