diff --git a/deps/timing-scripts/Dockerfile b/deps/timing-scripts/Dockerfile
deleted file mode 100644
index 4696aff..0000000
--- a/deps/timing-scripts/Dockerfile
+++ /dev/null
@@ -1,6 +0,0 @@
-from fedora:36
-
-RUN yum install -y yosys python3-pip && \
-    pip3 install click pyverilog && \
-    yum clean all && \
-    rm -rf /var/cache/yum
diff --git a/deps/timing-scripts/README.md b/deps/timing-scripts/README.md
deleted file mode 100644
index 2b39888..0000000
--- a/deps/timing-scripts/README.md
+++ /dev/null
@@ -1,85 +0,0 @@
-# Timing scripts
-
-A set of scripts for rcx and sta for caravel top level 
-
-## Dependencies
-- Docker
-
-In case of not using the docker image:
-- `yosys`
-- Python modules:
-    - `click`
-
-
-## Prerequisites
-
-A set of exports are needed:
-```bash
-export CARAVEL_ROOT=${HOME}/caravel/
-export MCW_ROOT=${HOME}/caravel_mgmt_soc_litex/
-export CUP_ROOT=${HOME}/caravel_user_project/
-export TIMING_ROOT=${HOME}/timing-scripts/
-export PDK_ROOT=${HOME}/pdk/
-export PDK=sky130A
-export OPENLANE_IMAGE_NAME=efabless/openlane:4476a58407d670d251aa0be6a55e5391bb181c4e-amd64
-```
-
-## Usage
-
-### caravel_user_project
-
-1. After exporting the prerequisites, run:
-
-    ```
-    make -f timing.mk list-rcx
-    ```
-    You should get `rcx-user_project_wrapper` amongst others such as: 
-
-    ```
-    rcx-buff_flash_clkrst
-    rcx-caravel
-    rcx-caravel_clocking
-    rcx-constant_block
-    rcx-digital_pll
-    rcx-gpio_control_block
-    rcx-gpio_defaults_block
-    rcx-gpio_logic_high
-    rcx-gpio_signal_buffering
-    rcx-gpio_signal_buffering_alt
-    rcx-housekeeping
-    rcx-mgmt_protect
-    rcx-mprj2_logic_high
-    rcx-mprj_logic_high
-    rcx-spare_logic_block
-    rcx-RAM256
-    rcx-mgmt_core_wrapper
-    rcx-user_proj_example
-    rcx-user_project_wrapper
-    ```
-
-2. extract multicorner spefs for `user_project_wrapper` and any other blocks inside:
-
-    ```
-    make -f timing.mk rcx-user_project_wrapper
-    make -f timing.mk rcx-user_proj_example
-    ```
-3. generate spef mapping file for caravel_user_project:
-
-    ```
-    python3 ./scripts/generate_spef_mapping -i ${CUP_ROOT}/verilog/gl/user_project_wrapper.v -o ${CUP_ROOT}/env/spef-mapping.tcl --project-root '$::env(CUP_ROOT)' --pdk-root ${PDK_ROOT} --pdk ${PDK}
-    ```
-
-4. run sta:
-
-    ```
-    make -f timing.mk caravel-timing-typ
-    make -f timing.mk caravel-timing-slow
-    make -f timing.mk caravel-timing-fast
-    ```
-
-## Limitations
-
-- Makefile
-- Makefile
-- Assumes a fixed folder structure for the exported directories
-- Probably a lot of corner cases that weren't considered
diff --git a/deps/timing-scripts/env/caravel_spef_mapping-mpw2-calibre.tcl b/deps/timing-scripts/env/caravel_spef_mapping-mpw2-calibre.tcl
deleted file mode 100644
index 87eeb62..0000000
--- a/deps/timing-scripts/env/caravel_spef_mapping-mpw2-calibre.tcl
+++ /dev/null
@@ -1,101 +0,0 @@
-set spef_mapping(rstb_level)                         $::env(CARAVEL_ROOT)/spef/xres_buf.spef
-set spef_mapping(mgmt_buffers/powergood_check)       $::env(CARAVEL_ROOT)/spef/mgmt_protect_hv.spef
-set spef_mapping(padframe)                           $::env(CARAVEL_ROOT)/spef/chip_io.spef
-set spef_mapping(mgmt_buffers/mprj2_logic_high_inst) $::env(CARAVEL_ROOT)/spef/mprj2_logic_high.spef
-set spef_mapping(mgmt_buffers/mprj_logic_high_inst)  $::env(CARAVEL_ROOT)/spef/mprj_logic_high.spef
-
-#set spef_mapping(por)                                $::env(CARAVEL_ROOT)/spef/simple_por.spef
-
-# error in rcx extraction for the section/paragraph below
-# [ERROR ODB-0299] Via via3_320_320 has only 2 shapes and must have at least three.
-
-set spef_mapping(gpio_defaults_block_0)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_1803.spef
-set spef_mapping(gpio_defaults_block_1)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_1803.spef
-set spef_mapping(gpio_defaults_block_2)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_0403.spef
-set spef_mapping(gpio_defaults_block_3)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_0403.spef
-set spef_mapping(gpio_defaults_block_4)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_0403.spef
-
-set spef_mapping(gpio_defaults_block_10)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_11)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_12)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_13)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_14)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_15)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_16)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_17)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_18)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_19)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_20)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_21)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_22)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_23)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_24)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_25)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_26)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_27)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_28)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_29)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_30)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_31)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_32)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_33)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_34)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_35)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_36)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_37)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_5)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_6)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_7)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_8)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_9)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_control_bidir_1[0]) $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_bidir_1[1]) $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_bidir_2[0]) $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_bidir_2[1]) $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_bidir_2[2]) $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[0])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[10])   $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[1])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[2])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[3])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[4])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[5])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[6])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[7])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[8])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[9])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1a[0])   $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1a[1])   $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1a[2])   $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1a[3])   $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1a[4])   $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1a[5])   $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[0])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[10])   $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[11])   $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[12])   $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[13])   $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[14])   $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[15])   $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[1])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[2])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[3])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[4])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[5])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[6])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[7])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[8])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[9])    $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(housekeeping)            $::env(CARAVEL_ROOT)/spef/housekeeping.spef
-set spef_mapping(mgmt_buffers)            $::env(CARAVEL_ROOT)/spef/mgmt_protect.spef
-set spef_mapping(pll)                     $::env(CARAVEL_ROOT)/spef/digital_pll.spef
-set spef_mapping(spare_logic[0])          $::env(CARAVEL_ROOT)/spef/spare_logic_block.spef
-set spef_mapping(spare_logic[1])          $::env(CARAVEL_ROOT)/spef/spare_logic_block.spef
-set spef_mapping(spare_logic[2])          $::env(CARAVEL_ROOT)/spef/spare_logic_block.spef
-set spef_mapping(spare_logic[3])          $::env(CARAVEL_ROOT)/spef/spare_logic_block.spef
-
-set spef_mapping(clocking) $::env(CARAVEL_ROOT)/spef/caravel_clocking.spef
-
-set spef_mapping(soc)                     $::env(MCW_ROOT)/spef/mgmt_core_wrapper.spef
-set spef_mapping(soc/DFFRAM_0)            $::env(MCW_ROOT)/spef/DFFRAM.spef
-set spef_mapping(soc/core)                $::env(MCW_ROOT)/spef/mgmt_core.spef
diff --git a/deps/timing-scripts/env/caravel_spef_mapping-mpw2.tcl b/deps/timing-scripts/env/caravel_spef_mapping-mpw2.tcl
deleted file mode 100644
index fade71c..0000000
--- a/deps/timing-scripts/env/caravel_spef_mapping-mpw2.tcl
+++ /dev/null
@@ -1,99 +0,0 @@
-set spef_mapping(rstb_level)                         $::env(CARAVEL_ROOT)/spef/xres_buf.spef
-set spef_mapping(mgmt_buffers/powergood_check)       $::env(CARAVEL_ROOT)/spef/mgmt_protect_hv.spef
-set spef_mapping(padframe)                           $::env(CARAVEL_ROOT)/spef/chip_io.spef
-set spef_mapping(mgmt_buffers/mprj2_logic_high_inst) $::env(CARAVEL_ROOT)/spef/mprj2_logic_high.spef
-set spef_mapping(mgmt_buffers/mprj_logic_high_inst)  $::env(CARAVEL_ROOT)/spef/mprj_logic_high.spef
-
-#set spef_mapping(por)                                $::env(CARAVEL_ROOT)/spef/simple_por.spef
-
-# error in rcx extraction for the section/paragraph below
-# [ERROR ODB-0299] Via via3_320_320 has only 2 shapes and must have at least three.
-
-set spef_mapping(gpio_defaults_block_0)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_1803.spef
-set spef_mapping(gpio_defaults_block_1)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_1803.spef
-set spef_mapping(gpio_defaults_block_2)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_0403.spef
-set spef_mapping(gpio_defaults_block_3)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_0403.spef
-set spef_mapping(gpio_defaults_block_4)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_0403.spef
-
-set spef_mapping(gpio_defaults_block_10)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_11)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_12)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_13)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_14)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_15)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_16)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_17)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_18)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_19)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_20)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_21)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_22)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_23)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_24)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_25)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_26)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_27)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_28)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_29)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_30)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_31)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_32)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_33)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_34)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_35)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_36)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_37)  $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_5)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_6)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_7)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_8)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_9)   $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_bidir_1[0]) $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_bidir_1[1]) $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_bidir_2[0]) $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_bidir_2[1]) $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_bidir_2[2]) $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[0])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[10])   $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[1])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[2])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[3])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[4])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[5])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[6])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[7])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[8])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[9])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1a[0])   $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1a[1])   $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1a[2])   $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1a[3])   $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1a[4])   $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1a[5])   $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[0])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[10])   $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[11])   $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[12])   $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[13])   $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[14])   $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[15])   $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[1])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[2])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[3])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[4])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[5])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[6])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[7])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[8])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[9])    $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(housekeeping)            $::env(CARAVEL_ROOT)/spef/housekeeping_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(mgmt_buffers)            $::env(CARAVEL_ROOT)/spef/mgmt_protect_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(pll)                     $::env(CARAVEL_ROOT)/spef/digital_pll_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(spare_logic[0])          $::env(CARAVEL_ROOT)/spef/spare_logic_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(spare_logic[1])          $::env(CARAVEL_ROOT)/spef/spare_logic_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(spare_logic[2])          $::env(CARAVEL_ROOT)/spef/spare_logic_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(spare_logic[3])          $::env(CARAVEL_ROOT)/spef/spare_logic_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-
-set spef_mapping(soc)                     $::env(MCW_ROOT)/spef/mgmt_core_wrapper_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(soc/DFFRAM_0)            $::env(MCW_ROOT)/spef/DFFRAM_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(soc/core)                $::env(MCW_ROOT)/spef/mgmt_core_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
diff --git a/deps/timing-scripts/env/caravel_spef_mapping-mpw5-calibre.tcl b/deps/timing-scripts/env/caravel_spef_mapping-mpw5-calibre.tcl
deleted file mode 100644
index c6c8a54..0000000
--- a/deps/timing-scripts/env/caravel_spef_mapping-mpw5-calibre.tcl
+++ /dev/null
@@ -1,90 +0,0 @@
-set spef_mapping(rstb_level)                         $::env(CARAVEL_ROOT)/spef/xres_buf.spef
-set spef_mapping(mgmt_buffers/powergood_check)       $::env(CARAVEL_ROOT)/spef/mgmt_protect_hv.spef
-set spef_mapping(padframe)                           $::env(CARAVEL_ROOT)/spef/chip_io.spef
-
-# should double check this
-set spef_mapping(gpio_defaults_block_0[0])           $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_1803.spef
-set spef_mapping(gpio_defaults_block_0[1])           $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_1803.spef
-set spef_mapping(gpio_defaults_block_2[0])           $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_0403.spef
-set spef_mapping(gpio_defaults_block_2[1])           $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_0403.spef
-set spef_mapping(gpio_defaults_block_2[2])           $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_0403.spef
-
-set spef_mapping(soc/DFFRAM_0)                       $::env(MCW_ROOT)/spef/DFFRAM.spef
-set spef_mapping(soc/core)                           $::env(MCW_ROOT)/spef/mgmt_core.spef
-set spef_mapping(soc)                                $::env(MCW_ROOT)/spef/mgmt_core_wrapper.spef
-set spef_mapping(pll)                                $::env(CARAVEL_ROOT)/spef/digital_pll.spef
-set spef_mapping(housekeeping)                       $::env(CARAVEL_ROOT)/spef/housekeeping.spef
-set spef_mapping(mgmt_buffers/mprj_logic_high_inst)  $::env(CARAVEL_ROOT)/spef/mprj_logic_high.spef
-set spef_mapping(mgmt_buffers/mprj2_logic_high_inst) $::env(CARAVEL_ROOT)/spef/mprj2_logic_high.spef
-set spef_mapping(mgmt_buffers)                       $::env(CARAVEL_ROOT)/spef/mgmt_protect.spef
-set spef_mapping(gpio_control_bidir_1[0])            $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_bidir_1[1])            $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_bidir_2[1])            $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_bidir_2[2])            $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[0])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[10])              $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[1])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[2])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[3])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[4])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[5])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[6])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[7])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[8])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1[9])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1a[0])              $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1a[1])              $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1a[2])              $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1a[3])              $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1a[4])              $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_1a[5])              $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[0])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[10])              $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[11])              $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[12])              $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[13])              $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[14])              $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[15])              $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[1])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[2])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[3])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[4])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[5])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[6])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[7])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[8])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_control_in_2[9])               $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-set spef_mapping(gpio_defaults_block_5)              $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_6)              $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_7)              $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_8)              $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_9)              $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_10)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_11)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_12)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_13)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_14)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_15)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_16)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_17)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_18)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_19)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_20)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_21)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_22)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_23)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_24)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_25)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_26)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_27)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_28)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_29)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_30)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_31)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_32)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_33)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_34)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_35)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_36)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-set spef_mapping(gpio_defaults_block_37)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block.spef
-
diff --git a/deps/timing-scripts/env/caravel_spef_mapping-mpw7.tcl b/deps/timing-scripts/env/caravel_spef_mapping-mpw7.tcl
deleted file mode 100644
index e12e189..0000000
--- a/deps/timing-scripts/env/caravel_spef_mapping-mpw7.tcl
+++ /dev/null
@@ -1,136 +0,0 @@
-set SPEF_MAPPING_POSTFIX ".$::env(RCX_CORNER).spef"
-set SPEF_MAPPING_PREFIX "$::env(CARAVEL_ROOT)/signoff/gpio_control_block/openlane-signoff/spef/"
-set spef_mapping(\gpio_control_bidir_1[0]) ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_bidir_1[1]) ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_bidir_2[0]) ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_bidir_2[1]) ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_bidir_2[2]) ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1[0])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1[10])   ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1[1])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1[2])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1[3])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1[4])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1[5])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1[6])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1[7])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1[8])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1[9])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1a[0])   ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1a[1])   ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1a[2])   ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1a[3])   ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1a[4])   ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_1a[5])   ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_2[0])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_2[10])   ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_2[11])   ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_2[12])   ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_2[13])   ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_2[14])   ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_2[15])   ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_2[1])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_2[2])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_2[3])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_2[4])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_2[5])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_2[6])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_2[7])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_2[8])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\gpio_control_in_2[9])    ${SPEF_MAPPING_PREFIX}gpio_control_block${SPEF_MAPPING_POSTFIX}
-
-set SPEF_MAPPING_PREFIX "$::env(CARAVEL_ROOT)/signoff/spare_logic_block/openlane-signoff/spef/"
-set spef_mapping(\spare_logic[0])          ${SPEF_MAPPING_PREFIX}spare_logic_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\spare_logic[1])          ${SPEF_MAPPING_PREFIX}spare_logic_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\spare_logic[2])          ${SPEF_MAPPING_PREFIX}spare_logic_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(\spare_logic[3])          ${SPEF_MAPPING_PREFIX}spare_logic_block${SPEF_MAPPING_POSTFIX}
-
-set SPEF_MAPPING_PREFIX "$::env(CARAVEL_ROOT)/signoff/caravel_clocking/openlane-signoff/spef/"
-set spef_mapping(clock_ctrl)               ${SPEF_MAPPING_PREFIX}caravel_clocking${SPEF_MAPPING_POSTFIX}
-
-set SPEF_MAPPING_PREFIX "$::env(CARAVEL_ROOT)/signoff/buff_flash_clkrst/openlane-signoff/spef/"
-set spef_mapping(flash_clkrst_buffers)     ${SPEF_MAPPING_PREFIX}buff_flash_clkrst${SPEF_MAPPING_POSTFIX}
-
-set SPEF_MAPPING_PREFIX "$::env(CARAVEL_ROOT)/signoff/gpio_defaults_block/openlane-signoff/spef/"
-set spef_mapping(gpio_defaults_block_0)    ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_1)    ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_2)    ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_3)    ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_4)    ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_5)    ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_6)    ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_7)    ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_8)    ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_9)    ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_10)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_11)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_12)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_13)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_14)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_15)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_16)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_17)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_18)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_19)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_20)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_21)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_22)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_23)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_24)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_25)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_26)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_27)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_28)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_29)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_30)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_31)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_32)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_33)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_34)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_35)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_36)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(gpio_defaults_block_37)   ${SPEF_MAPPING_PREFIX}gpio_defaults_block${SPEF_MAPPING_POSTFIX}
-
-set SPEF_MAPPING_PREFIX "$::env(CARAVEL_ROOT)/signoff/housekeeping/openlane-signoff/spef/"
-set spef_mapping(housekeeping)             ${SPEF_MAPPING_PREFIX}housekeeping${SPEF_MAPPING_POSTFIX}
-
-set SPEF_MAPPING_PREFIX "$::env(CARAVEL_ROOT)/signoff/mgmt_protect/openlane-signoff/spef/"
-set spef_mapping(mgmt_buffers)             ${SPEF_MAPPING_PREFIX}mgmt_protect${SPEF_MAPPING_POSTFIX}
-
-set SPEF_MAPPING_PREFIX "$::env(CUP_ROOT)/signoff/user_project_wrapper/openlane-signoff/spef/"
-set spef_mapping(mprj)                     ${SPEF_MAPPING_PREFIX}user_project_wrapper${SPEF_MAPPING_POSTFIX}
-
-set SPEF_MAPPING_PREFIX "$::env(CARAVEL_ROOT)/signoff/chip_io/openlane-signoff/spef/"
-set spef_mapping(padframe)                 ${SPEF_MAPPING_PREFIX}chip_io${SPEF_MAPPING_POSTFIX}
-
-set SPEF_MAPPING_PREFIX "$::env(CARAVEL_ROOT)/signoff/digital_pll/openlane-signoff/spef/"
-set spef_mapping(pll)                      ${SPEF_MAPPING_PREFIX}digital_pll${SPEF_MAPPING_POSTFIX}
-
-set SPEF_MAPPING_PREFIX "$::env(CARAVEL_ROOT)/signoff/simple_por/openlane-signoff/spef/"
-set spef_mapping(por)                      ${SPEF_MAPPING_PREFIX}simple_por${SPEF_MAPPING_POSTFIX}
-
-set SPEF_MAPPING_PREFIX "$::env(CARAVEL_ROOT)/signoff/xres_buf/openlane-signoff/spef/"
-set spef_mapping(rstb_level)               ${SPEF_MAPPING_PREFIX}xres_buf${SPEF_MAPPING_POSTFIX}
-
-set SPEF_MAPPING_PREFIX "$::env(CARAVEL_ROOT)/signoff/gpio_signal_buffering/openlane-signoff/spef/"
-set spef_mapping(sigbuf)                   ${SPEF_MAPPING_PREFIX}gpio_signal_buffering${SPEF_MAPPING_POSTFIX}
-
-set SPEF_MAPPING_PREFIX "$::env(CARAVEL_ROOT)/signoff/user_id_programming/openlane-signoff/spef/"
-set spef_mapping(user_id_value)            ${SPEF_MAPPING_PREFIX}user_id_programming${SPEF_MAPPING_POSTFIX}
-
-set SPEF_MAPPING_PREFIX "$::env(MCW_ROOT)/signoff/mgmt_core_wrapper/openlane-signoff/spef/"
-set spef_mapping(soc)                      ${SPEF_MAPPING_PREFIX}mgmt_core_wrapper${SPEF_MAPPING_POSTFIX}
-
-set SPEF_MAPPING_PREFIX "$::env(CARAVEL_ROOT)/signoff/constant_block/openlane-signoff/spef/"
-set spef_mapping(padframe/\constant_value_inst[0])         ${SPEF_MAPPING_PREFIX}constant_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(padframe/\constant_value_inst[1])         ${SPEF_MAPPING_PREFIX}constant_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(padframe/\constant_value_inst[2])         ${SPEF_MAPPING_PREFIX}constant_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(padframe/\constant_value_inst[3])         ${SPEF_MAPPING_PREFIX}constant_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(padframe/\constant_value_inst[4])         ${SPEF_MAPPING_PREFIX}constant_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(padframe/\constant_value_inst[5])         ${SPEF_MAPPING_PREFIX}constant_block${SPEF_MAPPING_POSTFIX}
-set spef_mapping(padframe/\constant_value_inst[6])         ${SPEF_MAPPING_PREFIX}constant_block${SPEF_MAPPING_POSTFIX}
-
-set SPEF_MAPPING_PREFIX "$::env(MCW_ROOT)/signoff/RAM256/openlane-signoff/spef/"
-set spef_mapping(soc/\core.RAM256)                         ${SPEF_MAPPING_PREFIX}RAM256${SPEF_MAPPING_POSTFIX}
-set SPEF_MAPPING_PREFIX "$::env(MCW_ROOT)/signoff/RAM128/openlane-signoff/spef/"
-set spef_mapping(soc/\core.RAM128)                         ${SPEF_MAPPING_PREFIX}RAM128${SPEF_MAPPING_POSTFIX}
diff --git a/deps/timing-scripts/env/caravel_spef_mapping.tcl b/deps/timing-scripts/env/caravel_spef_mapping.tcl
deleted file mode 100644
index f287952..0000000
--- a/deps/timing-scripts/env/caravel_spef_mapping.tcl
+++ /dev/null
@@ -1,90 +0,0 @@
-set spef_mapping(rstb_level)                         $::env(CARAVEL_ROOT)/spef/xres_buf.spef
-set spef_mapping(mgmt_buffers/powergood_check)       $::env(CARAVEL_ROOT)/spef/mgmt_protect_hv.spef
-set spef_mapping(padframe)                           $::env(CARAVEL_ROOT)/spef/chip_io.spef
-
-# should double check this
-set spef_mapping(gpio_defaults_block_0[0])           $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_1803.spef
-set spef_mapping(gpio_defaults_block_0[1])           $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_1803.spef
-set spef_mapping(gpio_defaults_block_2[0])           $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_0403.spef
-set spef_mapping(gpio_defaults_block_2[1])           $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_0403.spef
-set spef_mapping(gpio_defaults_block_2[2])           $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_0403.spef
-
-set spef_mapping(soc/DFFRAM_0)                       $::env(MCW_ROOT)/spef/DFFRAM_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(soc/core)                           $::env(MCW_ROOT)/spef/mgmt_core_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(soc)                                $::env(MCW_ROOT)/spef/mgmt_core_wrapper_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(pll)                                $::env(CARAVEL_ROOT)/spef/digital_pll_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(housekeeping)                       $::env(CARAVEL_ROOT)/spef/housekeeping_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(mgmt_buffers/mprj_logic_high_inst)  $::env(CARAVEL_ROOT)/spef/mprj_logic_high_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(mgmt_buffers/mprj2_logic_high_inst) $::env(CARAVEL_ROOT)/spef/mprj2_logic_high_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(mgmt_buffers)                       $::env(CARAVEL_ROOT)/spef/mgmt_protect_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_bidir_1[0])            $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_bidir_1[1])            $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_bidir_2[1])            $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_bidir_2[2])            $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[0])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[10])              $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[1])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[2])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[3])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[4])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[5])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[6])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[7])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[8])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1[9])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1a[0])              $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1a[1])              $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1a[2])              $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1a[3])              $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1a[4])              $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_1a[5])              $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[0])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[10])              $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[11])              $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[12])              $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[13])              $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[14])              $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[15])              $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[1])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[2])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[3])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[4])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[5])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[6])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[7])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[8])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_control_in_2[9])               $::env(CARAVEL_ROOT)/spef/gpio_control_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_5)              $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_6)              $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_7)              $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_8)              $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_9)              $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_10)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_11)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_12)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_13)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_14)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_15)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_16)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_17)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_18)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_19)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_20)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_21)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_22)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_23)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_24)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_25)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_26)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_27)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_28)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_29)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_30)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_31)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_32)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_33)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_34)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_35)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_36)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-set spef_mapping(gpio_defaults_block_37)             $::env(CARAVEL_ROOT)/spef/gpio_defaults_block_$::env(RCX_CORNER)_$::env(LIB_CORNER).spef
-
diff --git a/deps/timing-scripts/env/common.tcl b/deps/timing-scripts/env/common.tcl
deleted file mode 100644
index b06a6f7..0000000
--- a/deps/timing-scripts/env/common.tcl
+++ /dev/null
@@ -1,134 +0,0 @@
-set std_cell_library        "sky130_fd_sc_hd"
-set special_voltage_library "sky130_fd_sc_hvl"
-set io_library              "sky130_fd_io"
-set primitives_library      "sky130_fd_pr"
-set ef_io_library           "sky130_ef_io"
-set ef_cell_library           "sky130_ef_sc_hd"
-
-set signal_layer            "met2"
-set clock_layer             "met5"
-
-set extra_lefs "
-[glob $::env(CARAVEL_ROOT)/lef/*.lef]
-[glob $::env(MCW_ROOT)/lef/*.lef]
-[glob $::env(CUP_ROOT)/lef/*.lef]"
-
-set tech_lef $::env(PDK_REF_PATH)/$std_cell_library/techlef/${std_cell_library}__$::env(RCX_CORNER).tlef
-set cells_lef $::env(PDK_REF_PATH)/$std_cell_library/lef/$std_cell_library.lef
-set io_lef $::env(PDK_REF_PATH)/$io_library/lef/$io_library.lef
-set ef_io_lef $::env(PDK_REF_PATH)/$io_library/lef/$ef_io_library.lef
-set ef_cells_lef $::env(PDK_REF_PATH)/$std_cell_library/lef/$ef_cell_library.lef
-
-set lefs [list \
-    $tech_lef \
-    $cells_lef \
-    $io_lef \
-    $ef_cells_lef \
-    $ef_io_lef
-]
-# search order:
-# cup -> mcw -> caravel
-
-# file mkdir $::env(CUP_ROOT)/spef/
-# file mkdir $::env(CARAVEL_ROOT)/spef/
-# file mkdir $::env(MCW_ROOT)/spef/
-
-set def $::env(CUP_ROOT)/def/$::env(BLOCK).def
-set spef $::env(CUP_ROOT)/signoff/$::env(BLOCK)/openlane-signoff/spef/$::env(BLOCK).$::env(RCX_CORNER).spef
-set sdc $::env(CUP_ROOT)/sdc/$::env(BLOCK).sdc
-set sdf $::env(CUP_ROOT)/signoff/$::env(BLOCK)/openlane-signoff/sdf/$::env(RCX_CORNER)/$::env(BLOCK).$::env(LIB_CORNER)$::env(LIB_CORNER).$::env(RCX_CORNER).sdf
-if { ![file exists $def] } {
-    set def $::env(MCW_ROOT)/def/$::env(BLOCK).def
-    set spef $::env(MCW_ROOT)/signoff/$::env(BLOCK)/openlane-signoff/spef/$::env(BLOCK).$::env(RCX_CORNER).spef
-    set sdc $::env(MCW_ROOT)/sdc/$::env(BLOCK).sdc
-    set sdf $::env(MCW_ROOT)/signoff/$::env(BLOCK)/openlane-signoff/sdf/$::env(RCX_CORNER)/$::env(BLOCK).$::env(LIB_CORNER)$::env(LIB_CORNER).$::env(RCX_CORNER).sdf
-}
-if { ![file exists $def] } {
-    set def $::env(CARAVEL_ROOT)/def/$::env(BLOCK).def
-    set spef $::env(CARAVEL_ROOT)/signoff/$::env(BLOCK)/openlane-signoff/spef/$::env(BLOCK).$::env(RCX_CORNER).spef
-    set sdc $::env(CARAVEL_ROOT)/sdc/$::env(BLOCK).sdc
-    set sdf $::env(CARAVEL_ROOT)/signoff/$::env(BLOCK)/openlane-signoff/sdf/$::env(RCX_CORNER)/$::env(BLOCK).$::env(LIB_CORNER)$::env(LIB_CORNER).$::env(RCX_CORNER).sdf
-}
-
-file mkdir [file dirname $spef]
-file mkdir [file dirname $sdf]
-set block $::env(BLOCK)
-if { $::env(PDK) == "sky130A" } {
-    set rcx_rules_file $::env(PDK_TECH_PATH)/openlane/rules.openrcx.$::env(PDK).$::env(RCX_CORNER).calibre
-} elseif { $::env(PDK) == "sky130B" } {
-    set rcx_rules_file $::env(PDK_TECH_PATH)/openlane/rules.openrcx.$::env(PDK).$::env(RCX_CORNER).spef_extractor
-} else {
-    puts "no extraction rules file set for $::env(PDK) exiting.."
-    exit 1
-}
-set merged_lef $::env(CARAVEL_ROOT)/tmp/merged_lef-$::env(RCX_CORNER).lef
-
-set sram_lef $::env(PDK_REF_PATH)/sky130_sram_macros/lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef
-
-# order matter
-set caravel_root "[file normalize $::env(CARAVEL_ROOT)]"
-set mcw_root "[file normalize $::env(MCW_ROOT)]"
-set cup_root "[file normalize $::env(CUP_ROOT)]"
-set verilogs "
-[glob $mcw_root/verilog/gl/*]
-[glob $caravel_root/verilog/gl/*]
-[glob $cup_root/verilog/gl/*]
-"
-
-set verilog_exceptions [list \
-    "$caravel_root/verilog/gl/__user_analog_project_wrapper.v" \
-    "$caravel_root/verilog/gl/caravel-signoff.v" \
-    "$caravel_root/verilog/gl/caravan-signoff.v" \
-    "$caravel_root/verilog/gl/__user_project_wrapper.v" \
-    ]
-
-foreach verilog_exception $verilog_exceptions {
-    puts "verilog exception: $verilog_exception"
-    set verilogs [regsub "$verilog_exception" "$verilogs" " "]
-}
-
-proc puts_list {arg} {
-    foreach element $arg {
-        puts $element
-    }
-}
-
-proc read_libs {arg} {
-    set libs [split [regexp -all -inline {\S+} $arg]]
-    foreach liberty $libs {
-        puts $liberty
-        read_liberty $liberty
-    }
-}
-
-proc read_verilogs {arg} {
-    set verilogs [split [regexp -all -inline {\S+} $arg]]
-    foreach verilog $verilogs {
-        puts $verilog
-        read_verilog $verilog
-    }
-}
-
-proc read_spefs {} {
-    global spef_mapping
-    foreach key [array names spef_mapping] {
-        puts "read_spef -path $key $spef_mapping($key)"
-        read_spef -path $key $spef_mapping($key)
-    }
-}
-
-proc run_puts {arg} {
-    puts "exec> $arg"
-    eval "{*}$arg"
-}
-
-proc run_puts_logs {arg log} {
-    set output [open "$log" w+]    
-    puts $output "exec> $arg"
-    puts $output "design: $::env(BLOCK)"
-    set timestr [exec date]
-    puts $output "time: $timestr\n"
-    close $output
-    puts "exec> $arg >> $log"
-    eval "{*}$arg >> $log"
-}
diff --git a/deps/timing-scripts/env/f.tcl b/deps/timing-scripts/env/f.tcl
deleted file mode 100644
index 867427b..0000000
--- a/deps/timing-scripts/env/f.tcl
+++ /dev/null
@@ -1,20 +0,0 @@
-set libs "
-    $::env(PDK_REF_PATH)/${std_cell_library}/lib/${std_cell_library}__ff_n40C_1v95.lib
-    $::env(PDK_REF_PATH)/${special_voltage_library}/lib/${special_voltage_library}__ff_n40C_5v50.lib
-    $::env(PDK_REF_PATH)/${special_voltage_library}/lib/${special_voltage_library}__ff_n40C_4v40_lv1v95.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_fd_io__top_gpiov2_ff_ff_n40C_1v95_5v50.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_fd_io__top_ground_hvc_wpad_ff_n40C_1v95_5v50_5v50.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_fd_io__top_ground_lvc_wpad_ff_n40C_1v95_5v50.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_fd_io__top_power_lvc_wpad_ff_n40C_1v95_5v50_5v50.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_fd_io__top_xres4v2_ff_ff_n40C_1v95_5v50.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__gpiov2_pad_wrapped_ff_ff_n40C_1v95_5v50.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vccd_lvc_clamped_pad_ff_n40C_1v95_5v50_5v50.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vdda_hvc_clamped_pad_ff_n40C_1v95_5v50_5v50.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vssa_hvc_clamped_pad_ff_n40C_1v95_5v50_5v50.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vddio_hvc_clamped_pad_ff_n40C_1v95_5v50_5v50.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vssio_hvc_clamped_pad_ff_n40C_1v95_5v50_5v50.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vssd_lvc_clamped3_pad_ff_n40C_1v95_5v50.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vccd_lvc_clamped3_pad_ff_n40C_1v95_5v50_5v50.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vssd_lvc_clamped_pad_ff_n40C_1v95_5v50.lib
-    $::env(PDK_REF_PATH)/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib
-"
diff --git a/deps/timing-scripts/env/s.tcl b/deps/timing-scripts/env/s.tcl
deleted file mode 100644
index 9b61eeb..0000000
--- a/deps/timing-scripts/env/s.tcl
+++ /dev/null
@@ -1,21 +0,0 @@
-set libs "
-    $::env(PDK_REF_PATH)/${std_cell_library}/lib/${std_cell_library}__ss_100C_1v60.lib
-    $::env(PDK_REF_PATH)/${special_voltage_library}/lib/${special_voltage_library}__ss_100C_1v65.lib
-    $::env(PDK_REF_PATH)/${special_voltage_library}/lib/${special_voltage_library}__ss_100C_1v65_lv1v60.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_fd_io__top_gpiov2_ss_ss_100C_1v60_3v00.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_fd_io__top_ground_hvc_wpad_ss_100C_1v60_3v00_3v00.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_fd_io__top_ground_lvc_wpad_ss_100C_1v60_3v00.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_fd_io__top_power_lvc_wpad_ss_100C_1v60_3v00_3v00.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_fd_io__top_xres4v2_ss_ss_100C_1v60_3v00.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__gpiov2_pad_wrapped_ss_ss_100C_1v60_3v00.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vccd_lvc_clamped_pad_ss_100C_1v60_3v00_3v00.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vdda_hvc_clamped_pad_ss_100C_1v60_3v00_3v00.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vssa_hvc_clamped_pad_ss_100C_1v60_3v00_3v00.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vddio_hvc_clamped_pad_ss_100C_1v60_3v00_3v00.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vssio_hvc_clamped_pad_ss_100C_1v60_3v00_3v00.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vssd_lvc_clamped3_pad_ss_100C_1v60_3v00.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vccd_lvc_clamped3_pad_ss_100C_1v60_3v00_3v00.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vssd_lvc_clamped_pad_ss_100C_1v60_3v00.lib
-    $::env(PDK_REF_PATH)/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib
-"
-
diff --git a/deps/timing-scripts/env/t.tcl b/deps/timing-scripts/env/t.tcl
deleted file mode 100644
index c9eea15..0000000
--- a/deps/timing-scripts/env/t.tcl
+++ /dev/null
@@ -1,21 +0,0 @@
-set libs "
-    $::env(PDK_REF_PATH)/${std_cell_library}/lib/${std_cell_library}__tt_025C_1v80.lib
-    $::env(PDK_REF_PATH)/${special_voltage_library}/lib/${special_voltage_library}__tt_025C_3v30.lib
-    $::env(PDK_REF_PATH)/${special_voltage_library}/lib/${special_voltage_library}__tt_025C_3v30_lv1v80.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_fd_io__top_gpiov2_tt_tt_025C_1v80_3v30.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_fd_io__top_ground_hvc_wpad_tt_025C_1v80_3v30_3v30.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_fd_io__top_ground_lvc_wpad_tt_025C_1v80_3v30.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_fd_io__top_power_lvc_wpad_tt_025C_1v80_3v30_3v30.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_fd_io__top_xres4v2_tt_tt_025C_1v80_3v30.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__gpiov2_pad_tt_tt_025C_1v80_3v30.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vccd_lvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vdda_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vssa_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vddio_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vssio_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vssd_lvc_clamped3_pad_tt_025C_1v80_3v30.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vccd_lvc_clamped3_pad_tt_025C_1v80_3v30_3v30.lib
-    $::env(PDK_REF_PATH)/${io_library}/lib/sky130_ef_io__vssd_lvc_clamped_pad_tt_025C_1v80_3v30.lib
-    $::env(PDK_REF_PATH)/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib
-"
-
diff --git a/deps/timing-scripts/requirements.txt b/deps/timing-scripts/requirements.txt
deleted file mode 100644
index dca9a90..0000000
--- a/deps/timing-scripts/requirements.txt
+++ /dev/null
@@ -1 +0,0 @@
-click
diff --git a/deps/timing-scripts/scripts/compare_reports.py b/deps/timing-scripts/scripts/compare_reports.py
deleted file mode 100644
index 1276473..0000000
--- a/deps/timing-scripts/scripts/compare_reports.py
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/usr/bin/env python3
-import click
-
-from report import Report
-
-
-@click.command(
-    help="""
-               attempts to compare two sta reports 
-               """
-)
-@click.option("--first", "-f", required=True, type=str)
-@click.option("--first-label", default="first", type=str)
-@click.option("--second-label", default="second", type=str)
-@click.option("--second", "-s", required=True, type=str)
-@click.option("--output", "-o", required=True, type=str)
-def main(first, second, output, first_label, second_label):
-    first_report = Report(first)
-    second_report = Report(second)
-
-    print(f"{first_label} {len(first_report.paths)}")
-    print(f"{second_label} {len(second_report.paths)}")
-    f_output = open(output, "w+")
-    f_first_diff = open(f"{first}.diff", "w+")
-    f_second_diff = open(f"{second}.diff", "w+")
-    header = (
-        f"start,end,group,type,{first_label},{second_label},"
-        f"required_first,required_second,first-second,percent"
-    )
-    f_output.write(f"{header}\n")
-
-    matches_count = 0
-    b = 0
-    c = 0
-
-    for first_path in first_report.paths:
-        if first_path in second_report.paths:
-            matches = [
-                element for element in second_report.paths if first_path == element
-            ]
-            if len(matches) == 1:
-                matches_count += 1
-                second_path = matches[0]
-                delta = first_path.slack - second_path.slack
-                percent = delta / first_path.slack * 100.0
-                path_summary = (
-                    f"{first_path.start_point},{first_path.end_point},"
-                    f"{first_path.path_group},"
-                    f"{first_path.path_type},"
-                    f"{first_path.slack:.4f},"
-                    f"{second_path.slack:.4f},"
-                    f"{first_path.required_time:.4f},"
-                    f"{second_path.required_time:.4f},"
-                    f"{delta:.4f},{percent:.2f}%"
-                )
-                f_output.write(f"{path_summary}\n")
-
-                f_first_diff.write(f"{first_path.start_point}\n")
-                f_first_diff.write(f"{first_path.end_point}\n")
-                f_first_diff.write(f"{first_path.path}\n")
-                f_second_diff.write(f"------------\n")
-
-                f_second_diff.write(f"{second_path.start_point}\n")
-                f_second_diff.write(f"{second_path.end_point}\n")
-                f_second_diff.write(f"{second_path.path}\n")
-                f_second_diff.write(f"------------\n")
-            elif len(matches) > 1:
-                b += 1
-            # print(
-            # f"{path.start_point},{path.end_point},{path.path_group},{path.path_type},{path.slack}"
-            # )
-        else:
-            c += 1
-
-    f_output.close()
-    f_first_diff.close()
-    f_second_diff.close()
-    print("matches:", matches_count)
-    print("non unique matches:", b)
-    print("unmatched:", c)
-    print("done")
-
-
-if __name__ == "__main__":
-    main()
diff --git a/deps/timing-scripts/scripts/generate_spef_mapping.py b/deps/timing-scripts/scripts/generate_spef_mapping.py
deleted file mode 100644
index 0094c7b..0000000
--- a/deps/timing-scripts/scripts/generate_spef_mapping.py
+++ /dev/null
@@ -1,120 +0,0 @@
-from pathlib import Path
-from verilog_parser import VerilogParser
-from pdk_helpers import get_macros, get_pdk_lefs_paths
-import click
-import logging
-
-
-@click.command(
-    help="""parses a verilog gatelevel netlist and creates a
-               spef mapping file for non pdk macros. the file is used
-               along with the other scripts in the repo for proper parasitics annotation 
-               during sta"""
-)
-@click.option(
-    "--input",
-    "-i",
-    required=True,
-    type=click.Path(exists=True, dir_okay=False),
-    help="input verilog netlist",
-)
-@click.option(
-    "--project-root",
-    required=True,
-    type=click.Path(exists=True, file_okay=False),
-    help="path of the project that will be used in the output spef mapping file and finding verilog modules",
-)
-@click.option(
-    "--output", "-o", required=True, type=str, help="spef mapping tcl output file"
-)
-@click.option(
-    "--pdk-path", required=True, type=click.Path(exists=True, file_okay=False)
-)
-@click.option(
-    "--macro-parent",
-    required=False,
-    type=str,
-    default="",
-    help="optional name of the parent of the macro",
-)
-@click.option("--debug", is_flag=True)
-def main(input, project_root, output, pdk_path, macro_parent, debug=False):
-    """
-    Parse a verilog netlist
-    """
-    output_path = Path(output)
-    output_path.parents[0].mkdir(parents=True, exist_ok=True)
-    logging.basicConfig(format="%(asctime)s | %(module)s | %(levelname)s | %(message)s")
-    logger = logging.getLogger()
-    if debug:
-        logger.setLevel(logging.DEBUG)
-    else:
-        logger.setLevel(logging.INFO)
-
-    logger.info(f"using project_root {project_root}")
-
-    pdk_macros = []
-    logger.info("getting pdk macros ..")
-    lef_paths = get_pdk_lefs_paths(pdk_path)
-    for lef in lef_paths:
-        pdk_macros = pdk_macros + get_macros(lef)
-    logger.debug(f"pdk has {len(pdk_macros)} macros")
-
-    with open(output_path, "w") as f:
-        for mapping in run(input, project_root, pdk_macros, logger, macro_parent):
-            logging.debug(mapping)
-            f.write(mapping)
-
-    logger.info(f"wrote to {output_path}")
-
-
-def run(input, project_root, pdk_macros, logger, macro_parent=""):
-    logger.info(f"parsing netlist {input} ..")
-    parsed = VerilogParser(input, logger)
-    logger.info("comparing macros against pdk macros ..")
-    postfix = ".$::env(RCX_CORNER).spef"
-
-    mappings = []
-    non_pdk_instance = []
-    for instance in parsed.instances:
-        macro = parsed.instances[instance]
-        if macro not in pdk_macros:
-            logging.debug(f"{macro} not found in pdk_macros")
-            non_pdk_instance.append(instance)
-
-    logging.debug(f"# of non pdk instances {len(non_pdk_instance)}")
-    # recursion will break if above is zero
-    for instance in non_pdk_instance:
-        macro = parsed.instances[instance]
-        mapping_key = instance
-        hier_separator = "/"
-        if macro_parent != "":
-            mapping_key = f"{macro_parent}{hier_separator}{instance}"
-
-        existing_netlist = list(
-            (Path(project_root) / "verilog" / "gl").rglob(f"{macro}.v")
-        )
-        if len(existing_netlist) == 1:
-            logging.info(f"found netlist {str(existing_netlist[0])} for macro {macro}")
-            mappings += run(
-                input=str(existing_netlist[0]),
-                project_root=project_root,
-                pdk_macros=pdk_macros,
-                logger=logger,
-                macro_parent=mapping_key,
-            )
-
-        spef_dir = Path(project_root) / "signoff" / "not-found"
-        for macro_spef_file in (Path(project_root) / "signoff").rglob(f"{macro}*.spef"):
-            spef_dir = macro_spef_file.parent
-            logging.debug(f"found {macro_spef_file} for {macro}")
-        spef_rel_dir = spef_dir.relative_to(project_root)
-        macro_spef = f"$::env(PROJECT_ROOT)/{spef_rel_dir}/{macro}{postfix}"
-        mappings.append(f'set spef_mapping({mapping_key}) "{macro_spef}"\n')
-
-    return mappings
-
-
-# sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
-if __name__ == "__main__":
-    main()
diff --git a/deps/timing-scripts/scripts/get_macros.py b/deps/timing-scripts/scripts/get_macros.py
deleted file mode 100644
index f6abdf9..0000000
--- a/deps/timing-scripts/scripts/get_macros.py
+++ /dev/null
@@ -1,121 +0,0 @@
-from __future__ import absolute_import
-from __future__ import print_function
-from pathlib import Path
-from verilog_parser import VerilogParser
-from pdk_helpers import get_pdk_lefs_paths, get_macros
-import click
-import logging
-import os
-import sys
-
-
-@click.command(
-    help="""parses a verilog gatelevel netlist and
-               prints the non scl instance names
-               """
-)
-@click.option(
-    "--input",
-    "-i",
-    required=True,
-    type=click.Path(exists=True, dir_okay=False),
-    help="input verilog netlist",
-)
-@click.option(
-    "--pdk-path", required=True, type=click.Path(exists=True, file_okay=False)
-)
-@click.option(
-    "--output",
-    "-o",
-    required=True,
-    type=str,
-    help="output file in the format each line <instance_name> <instance_type>",
-)
-@click.option(
-    "--project-root",
-    required=True,
-    type=click.Path(exists=True, file_okay=False),
-    help="path of the project that will be used in the finding verilog modules",
-)
-@click.option(
-    "--macro-parent",
-    required=False,
-    type=str,
-    default="",
-    help="optional name of the parent of the macro",
-)
-@click.option("--debug", is_flag=True)
-def main(input, output, pdk_path, project_root, macro_parent, debug=False):
-    """
-    Parse a verilog netlist
-    """
-    logging.basicConfig(format="%(asctime)s | %(module)15s | %(levelname)6s | %(message)s")
-    logger = logging.getLogger()
-    if debug:
-        logger.setLevel(logging.DEBUG)
-    else:
-        logger.setLevel(logging.INFO)
-
-    output_path = Path(output)
-    output_path.parents[0].mkdir(parents=True, exist_ok=True)
-
-    pdk_macros = []
-    logger.info("getting pdk macros..")
-    lef_paths = get_pdk_lefs_paths(pdk_path)
-    for lef in lef_paths:
-        pdk_macros = pdk_macros + get_macros(lef)
-    logger.debug(pdk_macros)
-
-
-    with open(output_path, "w") as f:
-        for macro in run(input, project_root, pdk_macros, logger, macro_parent):
-            f.write(macro)
-
-    logger.info("done.")
-
-def run(input, project_root, pdk_macros, logger, macro_parent=""):
-    logger.info(f"parsing netlist {input} ..")
-    parsed = VerilogParser(input, logger)
-    logger.info("comparing macros against pdk macros ..")
-
-    macros = []
-    non_pdk_instance = []
-    for instance in parsed.instances:
-        macro = parsed.instances[instance]
-        if macro not in pdk_macros:
-            logging.debug(f"{macro} not found in pdk_macros")
-            non_pdk_instance.append(instance)
-
-    logging.debug(f"# of non pdk instances {len(non_pdk_instance)}")
-    # recursion will break if above is zero
-    for instance in non_pdk_instance:
-        macro = parsed.instances[instance]
-        mapping_key = instance
-        hier_separator = "/"
-        if macro_parent != "":
-            mapping_key = f"{macro_parent}{hier_separator}{instance}"
-
-        search_path = (Path(project_root) / "verilog" / "gl")
-        logging.debug(f"searching for {macro} netlist in {search_path}")
-        existing_netlist = list(
-            search_path.rglob(f"{macro}.v")
-        )
-        logging.debug(f"found {len(existing_netlist)} matches.")
-        if len(existing_netlist) == 1:
-            logging.info(f"found netlist {str(existing_netlist[0])} for macro {macro}")
-            macros += run(
-                input=str(existing_netlist[0]),
-                project_root=project_root,
-                pdk_macros=pdk_macros,
-                logger=logger,
-                macro_parent=mapping_key,
-            )
-
-        macros.append(f'{instance} {macro}\n')
-
-    return macros
-
-
-sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
-if __name__ == "__main__":
-    main()
diff --git a/deps/timing-scripts/scripts/openroad/rcx.tcl b/deps/timing-scripts/scripts/openroad/rcx.tcl
deleted file mode 100644
index dfe3e9c..0000000
--- a/deps/timing-scripts/scripts/openroad/rcx.tcl
+++ /dev/null
@@ -1,35 +0,0 @@
-source $::env(TIMING_ROOT)/env/common.tcl
-source $::env(TIMING_ROOT)/env/$::env(LIB_CORNER).tcl
-
-set libs [split [regexp -all -inline {\S+} $libs]]
-set extra_lefs [split [regexp -all -inline {\S+} $extra_lefs]]
-
-foreach liberty $libs {
-  run_puts "read_liberty $liberty"
-}
-foreach lef $lefs {
-  run_puts "read_lef $lef"
-}
-run_puts "read_lef $sram_lef"
-
-foreach lef_file $extra_lefs {		
-  run_puts "read_lef $lef_file"
-}
-
-run_puts "read_def $def"
-# don't think we need to read sdc
-
-run_puts "define_process_corner -ext_model_index 0 X"
-run_puts "extract_parasitics \
-    -ext_model_file $rcx_rules_file \
-    -lef_res"
-
-run_puts "write_spef $spef"
-run_puts "read_spef $spef"
-
-puts "spef: $spef"
-puts "def: $def"
-puts "rcx: $rcx_rules_file"
-puts "rcx-corner: $::env(RCX_CORNER)"
-puts "lib-corner: $::env(TIMING_ROOT)/env/$::env(LIB_CORNER).tcl"
-puts "tech_lef: $tech_lef"
diff --git a/deps/timing-scripts/scripts/openroad/sdf.tcl b/deps/timing-scripts/scripts/openroad/sdf.tcl
deleted file mode 100644
index 382ef89..0000000
--- a/deps/timing-scripts/scripts/openroad/sdf.tcl
+++ /dev/null
@@ -1,60 +0,0 @@
-source $::env(TIMING_ROOT)/env/common.tcl
-source $::env(TIMING_ROOT)/env/$::env(LIB_CORNER).tcl
-
-set libs [split [regexp -all -inline {\S+} $libs]]
-set verilogs [split [regexp -all -inline {\S+} $verilogs]]
-
-
-foreach lef $lefs {
-    if {[catch {read_lef $lef} errmsg]} {
-        puts stderr $errmsg
-        exit 1
-    }
-}
-
-if {[catch {read_lef $sram_lef} errmsg]} {
-    puts stderr $errmsg
-    exit 1
-}
-
-foreach lef_file $extra_lefs {		
-    if {[catch {read_lef $lef_file} errmsg]} {
-        puts stderr $errmsg
-        exit 1
-    }	
-}
-
-foreach liberty $libs {
-    read_liberty $liberty
-}
-
-#foreach verilog $verilogs {
-#    puts "reading veriolg: $verilog"
-#    read_verilog $verilog
-#}
-
-set verilog $::env(CUP_ROOT)/verilog/gl/$::env(BLOCK).v
-if { ![file exists $verilog] } {
-    set verilog $::env(MCW_ROOT)/verilog/gl/$::env(BLOCK).v
-}
-if { ![file exists $verilog] } {
-    set verilog $::env(CARAVEL_ROOT)/verilog/gl/$::env(BLOCK).v
-}
-
-read_verilog $verilog
-
-
-link_design $block
-
-puts "read_spef $spef"
-read_spef $spef
-#read_sdc $sdc
-write_sdf $sdf -divider . -include_typ
-
-puts "block: $block"
-puts "spef: $spef"
-puts "verilog: $verilog"
-puts "sdf: $sdf"
-puts "sdc: $sdc"
-puts "rcx-corner: $::env(RCX_CORNER)"
-puts "lib-corner: $::env(TIMING_ROOT)/env/$::env(LIB_CORNER).tcl"
diff --git a/deps/timing-scripts/scripts/openroad/sta-gpio_control_block.tcl b/deps/timing-scripts/scripts/openroad/sta-gpio_control_block.tcl
deleted file mode 100644
index e224905..0000000
--- a/deps/timing-scripts/scripts/openroad/sta-gpio_control_block.tcl
+++ /dev/null
@@ -1,42 +0,0 @@
-source $::env(TIMING_ROOT)/env/common.tcl
-source $::env(TIMING_ROOT)/env/$::env(LIB_CORNER).tcl
-
-set libs [split [regexp -all -inline {\S+} $libs]]
-
-foreach liberty $libs {
-    read_liberty $liberty
-}
-
-
-set verilogs [list \
-    $::env(CARAVEL_ROOT)/verilog/gl/gpio_logic_high.v \
-    $::env(CARAVEL_ROOT)/verilog/gl/gpio_control_block.v \
-]
-foreach verilog $verilogs {
-    puts "read_verilog $verilog"
-    read_verilog $verilog
-}
-
-link_design $block
-
-set spef $::env(CARAVEL_ROOT)/spef/gpio_control_block.spef
-puts "read_spef $spef"
-read_spef $spef
-
-puts "read_spef -path gpio_logic_high $::env(CARAVEL_ROOT)/spef/gpio_logic_high.spef"
-read_spef -path gpio_logic_high $::env(CARAVEL_ROOT)/spef/gpio_logic_high.spef
-
-read_sdc -echo $sdc
-
-report_checks -path_delay min -fields {slew cap input nets fanout} -format full_clock_expanded -group_count 50
-
-report_worst_slack -max 
-report_worst_slack -min 
-
-puts "block: $block"
-puts "spef: $spef"
-puts "verilog: $verilog"
-puts "sdf: $sdf"
-puts "sdc: $sdc"
-puts "rcx-corner: $::env(RCX_CORNER)"
-puts "lib-corner: $::env(TIMING_ROOT)/env/$::env(LIB_CORNER).tcl"
diff --git a/deps/timing-scripts/scripts/openroad/timing_top.tcl b/deps/timing-scripts/scripts/openroad/timing_top.tcl
deleted file mode 100644
index 02390ed..0000000
--- a/deps/timing-scripts/scripts/openroad/timing_top.tcl
+++ /dev/null
@@ -1,289 +0,0 @@
-source $::env(TIMING_ROOT)/env/common.tcl
-source $::env(TIMING_ROOT)/env/caravel_spef_mapping-mpw7.tcl
-
-if { [file exists $::env(CUP_ROOT)/env/spef-mapping.tcl] } {
-    source $::env(CUP_ROOT)/env/spef-mapping.tcl
-} else {
-    puts "WARNING no user project spef mapping file found"
-}
-
-source $::env(TIMING_ROOT)/env/$::env(LIB_CORNER).tcl
-
-set libs [split [regexp -all -inline {\S+} $libs]]
-set verilogs [split [regexp -all -inline {\S+} $verilogs]]
-
-
-foreach liberty $libs {
-}
-
-foreach liberty $libs {
-    run_puts "read_liberty $liberty"
-}
-
-foreach verilog $verilogs {
-    run_puts "read_verilog $verilog"
-}
-
-run_puts "link_design caravel"
-
-if { $::env(SPEF_OVERWRITE) ne "" } {
-    puts "overwriting spef from "
-    puts "$spef to"
-    puts "$::env(SPEF_OVERWRITE)"
-    eval set spef $::env(SPEF_OVERWRITE)
-}
-
-set missing_spefs 0
-set missing_spefs_list ""
-run_puts "read_spef $spef"
-foreach key [array names spef_mapping] {
-    set spef_file $spef_mapping($key)
-    if { [file exists $spef_file] } {
-        run_puts "read_spef -path $key $spef_mapping($key)"
-    } else {
-        set missing_spefs 1
-        set missing_spefs_list "$missing_spefs_list $key"
-        puts "$spef_file not found"
-        if { $::env(ALLOW_MISSING_SPEF) } {
-            puts "WARNING ALLOW_MISSING_SPEF set to 1. continuing"
-        } else {
-            exit 1
-        }
-    }
-}
-
-set sdc $::env(CARAVEL_ROOT)/signoff/caravel/caravel.sdc
-run_puts "read_sdc -echo $sdc"
-
-set logs_path "$::env(PROJECT_ROOT)/signoff/caravel/openlane-signoff/timing/$::env(RCX_CORNER)/$::env(LIB_CORNER)"
-file mkdir [file dirname $logs_path]
-
-
-run_puts_logs "report_check_types \\
-    -max_delay \\
-    -min_delay \\
-    -max_slew \\
-    -max_capacitance \\
-    -clock_gating_setup \\
-    -clock_gating_hold \\
-    -format end \\
-    -violators" \
-    "${logs_path}-summary.rpt"
-
-
-set max_delay_result "met"
-set min_delay_result "met"
-set max_slew_result "met"
-set max_cap_result "met"
-set missing_spefs_result "incomplete"
-
-set report ${logs_path}-summary.rpt
-
-set max_cap_value "[exec bash -c "grep 'max cap' $report -A 4 | tail -n1 | awk -F '  *' '{print \$4}'"]"
-set worst_hold "[exec bash -c "grep 'min_delay\/hold' $report -A 10 | grep VIOLATED | head -n1 | awk -F '  *' '{print \$5}'"]"
-set worst_setup "[exec bash -c "grep 'max_delay\/setup' $report -A 10 | grep VIOLATED | head -n1 | awk -F '  *' '{print \$5}'"]"
-set max_slew_value "[exec bash -c "grep 'max slew' $report -A 4 | tail -n1 | awk -F '  *' '{print \$4}'"]"
-
-set table_format "%7s| %15s |%15s |%15s |%15s |%15s"
-set header [format "$table_format" "corner" "max cap" "max slew" "min delay" "max delay" "spefs"]
-if {![catch {exec grep -q {max cap} $report} err]} {
-    set max_cap_result "vio($max_cap_value)"
-}
-
-if {![catch {exec grep -q {max slew} $report} err]} {
-    set max_slew_result "vio($max_slew_value)"
-}
-
-if {![catch {exec grep -q {min_delay\/hold} $report} err]} {
-    set min_delay_result "vio($worst_hold)"
-}
-
-if {![catch {exec grep -q {max_delay\/setup} $report} err]} {
-    set max_delay_result "vio($worst_setup)"
-}
-
-if { !$missing_spefs } {
-    set missing_spefs_result "complete"
-}
-
-set summary [format "$table_format" "$::env(LIB_CORNER)-$::env(RCX_CORNER)"\
-    "$max_cap_result" \
-    "$max_slew_result" \
-    "$min_delay_result"\
-    "$max_delay_result"\
-    "$missing_spefs_result"]
-
-exec echo "$header" >> "${logs_path}-summary.rpt"
-exec echo "$summary" >> "${logs_path}-summary.rpt"
-
-
-run_puts_logs "report_checks \\
-    -path_delay min \\
-    -format full_clock_expanded \\
-    -fields {slew cap input_pins nets fanout} \\
-    -no_line_splits \\
-    -group_count 10000 \\
-    -slack_max 10 \\
-    -digits 4 \\
-    -endpoint_count 10 \\
-    -unique_paths_to_endpoint \\
-    "\
-    "${logs_path}-min.rpt"
-
-run_puts_logs "report_checks \\
-    -path_delay max \\
-    -format full_clock_expanded \\
-    -fields {slew cap input_pins nets fanout} \\
-    -no_line_splits \\
-    -group_count 10000 \\
-    -slack_max 10 \\
-    -digits 4 \\
-    -endpoint_count 10 \\
-    -unique_paths_to_endpoint \\
-    "\
-    "${logs_path}-max.rpt"
-
-run_puts_logs "report_checks \\
-    -path_delay min \\
-    -format full_clock_expanded \\
-    -fields {slew cap input_pins nets fanout} \\
-    -no_line_splits \\
-    -path_group hk_serial_clk \\
-    -group_count 1000 \\
-    -slack_max 10 \\
-    -digits 4 \\
-    -unique_paths_to_endpoint \\
-    "\
-    "${logs_path}-hk_serial_clk-min.rpt"
-
-
-run_puts_logs "report_checks \\
-    -path_delay max \\
-    -format full_clock_expanded \\
-    -fields {slew cap input_pins nets fanout} \\
-    -no_line_splits \\
-    -path_group hk_serial_clk \\
-    -group_count 1000 \\
-    -slack_max 10 \\
-    -digits 4 \\
-    -unique_paths_to_endpoint \\
-    "\
-    "${logs_path}-hk_serial_clk-max.rpt"
-
-run_puts_logs "report_checks \\
-    -path_delay max \\
-    -format full_clock_expanded \\
-    -fields {slew cap input_pins nets fanout} \\
-    -no_line_splits \\
-    -path_group hkspi_clk \\
-    -group_count 1000 \\
-    -slack_max 10 \\
-    -digits 4 \\
-    -unique_paths_to_endpoint \\
-    "\
-    "${logs_path}-hkspi_clk-max.rpt"
-
-run_puts_logs "report_checks \\
-    -path_delay min \\
-    -format full_clock_expanded \\
-    -fields {slew cap input_pins nets fanout} \\
-    -no_line_splits \\
-    -path_group hkspi_clk \\
-    -group_count 1000 \\
-    -slack_max 10 \\
-    -digits 4 \\
-    -unique_paths_to_endpoint \\
-    "\
-    "${logs_path}-hkspi_clk-min.rpt"
-
-run_puts_logs "report_checks \\
-    -path_delay min \\
-    -format full_clock_expanded \\
-    -fields {slew cap input_pins nets fanout} \\
-    -no_line_splits \\
-    -path_group clk \\
-    -group_count 1000 \\
-    -slack_max 10 \\
-    -digits 4 \\
-    -unique_paths_to_endpoint \\
-    "\
-    "${logs_path}-clk-min.rpt"
-        
-run_puts_logs "report_checks \\
-    -path_delay max \\
-    -format full_clock_expanded \\
-    -fields {slew cap input_pins nets fanout} \\
-    -no_line_splits \\
-    -path_group clk \\
-    -group_count 1000 \\
-    -slack_max 10 \\
-    -digits 4 \\
-    -unique_paths_to_endpoint \\
-    "\
-    "${logs_path}-clk-max.rpt"
-
-run_puts_logs "report_checks \\
-    -path_delay min \\
-    -through [get_cells soc] \\
-    -format full_clock_expanded \\
-    -fields {slew cap input_pins nets fanout} \\
-    -no_line_splits \\
-    -group_count 1000 \\
-    -slack_max 10 \\
-    -digits 4 \\
-    -unique_paths_to_endpoint \\
-    "\
-    "${logs_path}-soc-min.rpt"
-
-run_puts_logs "report_checks \\
-    -path_delay max \\
-    -through [get_cells soc] \\
-    -format full_clock_expanded \\
-    -fields {slew cap input_pins nets fanout} \\
-    -no_line_splits \\
-    -group_count 1000 \\
-    -slack_max 10 \\
-    -digits 4 \\
-    -unique_paths_to_endpoint \\
-    "\
-    "${logs_path}-soc-max.rpt"
-
-run_puts_logs "report_checks \\
-    -path_delay min \\
-    -through [get_cells mprj] \\
-    -format full_clock_expanded \\
-    -fields {slew cap input_pins nets fanout} \\
-    -no_line_splits \\
-    -group_count 1000 \\
-    -slack_max 40 \\
-    -digits 4 \\
-    -unique_paths_to_endpoint \\
-    "\
-    "${logs_path}-mprj-min.rpt"
-
-run_puts_logs "report_checks \\
-    -path_delay max \\
-    -through [get_cells mprj] \\
-    -format full_clock_expanded \\
-    -fields {slew cap input_pins nets fanout} \\
-    -no_line_splits \\
-    -group_count 1000 \\
-    -slack_max 40 \\
-    -digits 4 \\
-    -unique_paths_to_endpoint \\
-    "\
-    "${logs_path}-mprj-max.rpt"
-
-run_puts "report_parasitic_annotation -report_unannotated > ${logs_path}-unannotated.log"
-if { $missing_spefs } {
-    puts "there are missing spefs. check the log for ALLOW_MISSING_SPEF"
-    puts "the following macros don't have spefs"
-    foreach spef $missing_spefs_list {
-        puts "$spef"
-    }
-}
-report_parasitic_annotation 
-
-
-puts "you may want to edit sdc: $sdc to change i/o constraints"
-puts "check $logs_path"
diff --git a/deps/timing-scripts/scripts/pdk_helpers.py b/deps/timing-scripts/scripts/pdk_helpers.py
deleted file mode 100644
index 6536e9b..0000000
--- a/deps/timing-scripts/scripts/pdk_helpers.py
+++ /dev/null
@@ -1,21 +0,0 @@
-from typing import List
-import os
-
-def get_pdk_lefs_paths(pdk_path: str) -> List[str]:
-    lef_paths = []
-    for root, dirs, files in os.walk(pdk_path):
-        for file in files:
-            filename, file_extension = os.path.splitext(f"{file}")
-            if file_extension == ".lef":
-                lef_paths.append(f"{root}/{file}")
-    return lef_paths
-
-
-def get_macros(lef_file: str) -> List[str]:
-    macros = []
-    with open(lef_file) as f:
-        for line in f.readlines():
-            if "MACRO" in line:
-                macro_name = line.split()[1]
-                macros.append(macro_name)
-    return macros
diff --git a/deps/timing-scripts/scripts/report.py b/deps/timing-scripts/scripts/report.py
deleted file mode 100644
index 1b96505..0000000
--- a/deps/timing-scripts/scripts/report.py
+++ /dev/null
@@ -1,83 +0,0 @@
-from timing_path import TimingPath
-
-
-class Report:
-    def __init__(self, report_file):
-        self.report_file = report_file
-        self.paths = []
-        self.input_output_paths = []
-        self.input_flipflop_paths = []
-        self.flipflop_flipflop_paths = []
-        self.flipflop_output_paths = []
-        self.build_db()
-        self.classify_paths()
-
-    def classify_paths(self):
-        for path in self.paths:
-            path_category = path.category
-            if path_category == "input-output":
-                self.input_output_paths.append(path)
-            elif path_category == "input-flipflop":
-                self.input_flipflop_paths.append(path)
-            elif path_category == "flipflop-flipflop":
-                self.flipflop_flipflop_paths.append(path)
-            elif path_category == "flipflop-output":
-                self.flipflop_output_paths.append(path)
-
-    def build_db(self):
-        file = open(self.report_file)
-        start_point = end_point = path_group = path_values = ""
-
-        line = file.readline()
-        while line != "":
-            line = line.strip()
-            if "Startpoint" in line:
-                x = file.tell()
-                start_point = " ".join(line.split(" ")[1:])
-                line2 = file.readline()
-                if "Endpoint" not in line2:
-                    start_point += line2
-                else:
-                    file.seek(x)
-            elif "Endpoint" in line:
-                x = file.tell()
-                end_point = " ".join(line.split(" ")[1:])
-                line2 = file.readline()
-                if "Path Group" not in line2:
-                    end_point += line2
-                else:
-                    file.seek(x)
-            elif "Path Group" in line:
-                path_group = line.split(" ")[2]
-            elif "Path Type" in line:
-                path_type = line.split(" ")[2]
-
-                path_line = file.readline()
-                while path_line != "":
-                    if "Startpoint" in path_line:
-                        path_object = TimingPath(
-                            start_point=start_point.rstrip(),
-                            end_point=end_point.rstrip(),
-                            path_group=path_group.rstrip(),
-                            path_type=path_type,
-                            path=path_values,
-                        )
-                        self.paths.append(path_object)
-
-                        path_line = path_line.strip()
-                        start_point = " ".join(path_line.split(" ")[1:])
-                        x = file.tell()
-                        line2 = file.readline()
-                        if "Endpoint" not in line2:
-                            start_point += line2
-                        else:
-                            file.seek(x)
-
-                        path_values = ""
-                        break
-                    else:
-                        path_values += path_line
-                    path_line = file.readline()
-            line = file.readline()
-
-        file.close()
diff --git a/deps/timing-scripts/scripts/summarize_report.py b/deps/timing-scripts/scripts/summarize_report.py
deleted file mode 100644
index efc0317..0000000
--- a/deps/timing-scripts/scripts/summarize_report.py
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/env python3
-
-import argparse
-from report import Report
-from timing_path import TimingPath
-
-parser = argparse.ArgumentParser(
-    description="summarizes sta reports. tested on pt and opensta"
-)
-parser.add_argument("--input", "-i", required=True)
-parser.add_argument("--output", "-o", required=True)
-
-args = parser.parse_args()
-report_file = args.input
-output_file = args.output
-
-report = Report(report_file)
-
-output_files_stream = open(f"{output_file}", "w")
-
-output_files_stream.write(
-    f"--------------input-flipflop_paths#{len(report.input_flipflop_paths)}-------------------\n"
-)
-output_files_stream.write(TimingPath.get_header())
-for path in report.input_flipflop_paths:
-    output_files_stream.write(path.summarize())
-output_files_stream.write(
-    f"--------------input-output_paths#{len(report.input_output_paths)}---------------------\n"
-)
-output_files_stream.write(TimingPath.get_header())
-for path in report.input_output_paths:
-    output_files_stream.write(path.summarize())
-output_files_stream.write(
-    f"--------------flipflop-flipflop_paths#{len(report.flipflop_flipflop_paths)}----------------\n"
-)
-output_files_stream.write(TimingPath.get_header())
-for path in report.flipflop_flipflop_paths:
-    output_files_stream.write(path.summarize())
-output_files_stream.write(
-    f"--------------flipflop-output_paths#{len(report.flipflop_output_paths)}------------------\n"
-)
-output_files_stream.write(TimingPath.get_header())
-for path in report.flipflop_output_paths:
-    output_files_stream.write(path.summarize())
diff --git a/deps/timing-scripts/scripts/timing_path.py b/deps/timing-scripts/scripts/timing_path.py
deleted file mode 100644
index c77a624..0000000
--- a/deps/timing-scripts/scripts/timing_path.py
+++ /dev/null
@@ -1,112 +0,0 @@
-import textwrap
-import re
-
-
-class TimingPath:
-    def __init__(self, start_point, end_point, path_group, path_type, path):
-        self.start_point = start_point
-        self.end_point = end_point
-        self.path_group = path_group
-        self.path_type = path_type
-        self.path = path
-        self.category = ""
-        self.slack = None
-        self.edges = ""
-        self.required_time = None
-        self.arrival_time = None
-        self.find_category()
-        self.simplify_points()
-        self.find_slack()
-        self.find_required()
-        self.find_arrival()
-        self.id = self.start_point + self.end_point + self.path_group + self.path_type
-
-    def find_required(self):
-        for line in self.path.split("\n"):
-            if "required time" in line:
-                self.required_time = float(re.findall(
-                    r"[+-]? *(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?", line
-                )[0].strip())
-                break
-
-    def find_arrival(self):
-        for line in self.path:
-            if "arrival time" in line:
-                self.arrival_time = float(re.findall(
-                    r"[+-]? *(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?", line
-                )[0].strip())
-                break
-
-    def find_edges(self):
-        split_path = self.path.split("\n")
-        edge = "f"
-        for line in split_path:
-            if "^" in line or " r" in line:
-                edge = "r"
-                self.edges = self.edges + edge
-            elif "v" in line or " f" in line:
-                edge = "f"
-                self.edges = self.edges + edge
-            elif "data arrival time" in line:
-                break
-
-    def simplify_points(self):
-        if len(self.start_point.split()) > 1:
-            self.start_point = self.start_point.split()[0]
-        if len(self.end_point.split()) > 1:
-            self.end_point = self.end_point.split()[0]
-
-    @classmethod
-    def get_header(cls):
-        start_point = "start_point"
-        end_point = "end_point"
-        group = "group"
-        type = "type"
-        slack = "slack"
-        return f"{start_point},{end_point},{group},{type},{slack}\n"
-
-    def find_slack(self):
-        slack = ""
-        for line in self.path.splitlines():
-            if "slack" in line:
-                slack = textwrap.dedent(line)
-                break
-        self.slack = re.findall(
-            r"[+-]? *(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?", slack
-        )[0].strip()
-        self.slack = float(self.slack)
-
-    def summarize(self):
-        slack_value = self.slack
-        group = self.path_group
-        type = self.path_type
-        start_point = self.start_point
-        end_point = self.end_point
-        return f"{start_point},{end_point},{group},{type},{slack_value:.4f}\n"
-
-    def find_category(self):
-        start = ""
-        end = ""
-        if "input" in self.start_point:
-            start = "input"
-        else:
-            start = "flipflop"
-        if "output" in self.end_point:
-            end = "output"
-        else:
-            end = "flipflop"
-
-        self.category = f"{start}-{end}"
-
-    def __eq__(self, other):
-        return self.id == other.id
-
-    def __str__(self):
-        return f"""
-Startpoint: {self.start_point}
-Endpoint: {self.end_point}
-Path group: {self.path_group}
-Path type: {self.path_type}
-Path:
-{self.path}
-"""
diff --git a/deps/timing-scripts/scripts/verilog_parser.py b/deps/timing-scripts/scripts/verilog_parser.py
deleted file mode 100644
index 3bb15fd..0000000
--- a/deps/timing-scripts/scripts/verilog_parser.py
+++ /dev/null
@@ -1,40 +0,0 @@
-import subprocess
-import os
-import json
-
-
-class VerilogParser:
-    def __init__(self, verilog_netlist, logger):
-        self.verilog_netlist = verilog_netlist
-        self.instances = {}
-        self.logger = logger
-        self.yosys_to_json()
-
-    # self.instances[instance.name] = instance.module
-
-    def yosys_to_json(self):
-        yosys_env = os.environ.copy()
-        script_path = os.path.dirname(os.path.abspath(__file__))
-        yosys_env["YOSYS_VERILOG_IN"] = self.verilog_netlist
-        yosys_env["YOSYS_JSON_OUT"] = "./tmp.json"
-        self.logger.debug("running yosys ..")
-        process = subprocess.run(
-            f"yosys -c {script_path}/yosys/to-json.tcl".split(),
-            env=yosys_env,
-            stdout=subprocess.PIPE,
-            stderr=subprocess.STDOUT,
-        )
-        if process.returncode:
-            self.logger.error(process.stdout.decode("utf-8"))
-
-        self.logger.debug("reading json ..")
-        f = open("./tmp.json")
-        data = json.load(f)
-        f.close()
-        os.remove("./tmp.json")
-        module_name = os.path.basename(self.verilog_netlist)
-        module_name = os.path.splitext(module_name)[0]
-        self.logger.debug("parsing json ..")
-        full_cells = data["modules"][module_name]["cells"]
-        for cell in full_cells:
-            self.instances[cell] = full_cells[cell]["type"]
diff --git a/deps/timing-scripts/scripts/yosys/to-json.tcl b/deps/timing-scripts/scripts/yosys/to-json.tcl
deleted file mode 100644
index 47c1529..0000000
--- a/deps/timing-scripts/scripts/yosys/to-json.tcl
+++ /dev/null
@@ -1,4 +0,0 @@
-yosys -import
-
-read_verilog $::env(YOSYS_VERILOG_IN)
-json -o $::env(YOSYS_JSON_OUT)
diff --git a/deps/timing-scripts/timing.mk b/deps/timing-scripts/timing.mk
deleted file mode 100644
index 148b384..0000000
--- a/deps/timing-scripts/timing.mk
+++ /dev/null
@@ -1,307 +0,0 @@
-OPENLANE_TAG ?=  2022.02.23_02.50.41
-OPENLANE_IMAGE_NAME ?=  efabless/openlane:$(OPENLANE_TAG)
-export PDK ?= sky130A
-export RCX_CORNER ?= nom
-export LIB_CORNER ?= t
-export ALLOW_MISSING_SPEF ?= 1
-export PDK_REF_PATH = $(PDK_ROOT)/$(PDK)/libs.ref/
-export PDK_TECH_PATH = $(PDK_ROOT)/$(PDK)/libs.tech/
-export PROJECT_ROOT ?= $(CARAVEL_ROOT)
-
-logs-dir = $(PROJECT_ROOT)/logs
-logs = $(logs-dir)/rcx $(logs-dir)/sdf $(logs-dir)/top $(logs-dir)/sta
-$(logs):
-	mkdir -p $@
-
-SPEF_OVERWRITE ?= ""
-define docker_run_base
-	docker run \
-		--rm \
-		-e PROJECT_ROOT=$(PROJECT_ROOT) \
-		-e BLOCK=$1 \
-		-e PDK=$(PDK) \
-		-e LIB_CORNER=$(LIB_CORNER) \
-		-e RCX_CORNER=$(RCX_CORNER) \
-		-e MCW_ROOT=$(MCW_ROOT) \
-		-e SPEF_OVERWRITE=$(SPEF_OVERWRITE) \
-		-e CUP_ROOT=$(CUP_ROOT) \
-		-e CARAVEL_ROOT=$(CARAVEL_ROOT) \
-		-e TIMING_ROOT=$(TIMING_ROOT) \
-		-e PDK_REF_PATH=$(PDK_ROOT)/$(PDK)/libs.ref/ \
-		-e PDK_TECH_PATH=$(PDK_ROOT)/$(PDK)/libs.tech/ \
-		-e ALLOW_MISSING_SPEF=$(ALLOW_MISSING_SPEF) \
-		-v $(PDK_ROOT):$(PDK_ROOT) \
-		-v $(CUP_ROOT):$(CUP_ROOT) \
-		-v $(MCW_ROOT):$(MCW_ROOT) \
-		-v $(TIMING_ROOT):$(TIMING_ROOT) \
-		-v $(CARAVEL_ROOT):$(CARAVEL_ROOT) \
-		-v $(HOME):$(HOME) \
-		-u $(shell id -u $(USER)):$(shell id -g $(USER)) \
-		$(OPENLANE_IMAGE_NAME)
-endef
-
-
-define docker_run_sta
-	$(call docker_run_base,$1) \
-		bash -c "set -eo pipefail && sta -exit $(TIMING_ROOT)/scripts/openroad/sta-$*.tcl \
-			|& tee $(logs-dir)/sta/$*-$(RCX_CORNER)-$(LIB_CORNER).log"
-	@echo "logged to $(logs-dir)/sta/$*-$(RCX_CORNER)-$(LIB_CORNER).log"
-endef
-
-define docker_run_sdf
-	$(call docker_run_base,$1) \
-		bash -c "set -eo pipefail && openroad -exit $(TIMING_ROOT)/scripts/openroad/sdf.tcl \
-			|& tee $(logs-dir)/sdf/$*-$(RCX_CORNER)-$(LIB_CORNER).log"
-	@echo "logged to $(logs-dir)/sdf/$*-$(RCX_CORNER)-$(LIB_CORNER).log"
-endef
-
-define docker_run_rcx
-	$(call docker_run_base,$1) \
-		bash -c "set -eo pipefail && openroad -exit $(TIMING_ROOT)/scripts/openroad/rcx.tcl \
-			|& tee $(logs-dir)/rcx/$*-$(RCX_CORNER)-$(LIB_CORNER).log"
-	@echo "logged to $(logs-dir)/rcx/$*-$(RCX_CORNER)-$(LIB_CORNER).log"
-endef
-
-blocks  = $(shell cd $(CARAVEL_ROOT)/openlane && find * -maxdepth 0 -type d)
-blocks := $(subst user_project_wrapper,,$(blocks))
-ifneq ($(CARAVEL_ROOT),$(MCW_ROOT))
-blocks += $(shell cd $(MCW_ROOT)/openlane && find * -maxdepth 0 -type d)
-endif
-ifneq ($(CARAVEL_ROOT),$(CUP_ROOT))
-blocks += $(shell cd $(CUP_ROOT)/openlane && find * -maxdepth 0 -type d)
-endif
-
-# we don't have user_id_programming.def)
-# mgmt_protect_hvl use hvl library which we don't handle yet
-blocks := $(subst mgmt_protect_hvl,,$(blocks))
-blocks := $(subst chip_io_alt,,$(blocks))
-blocks := $(subst user_id_programming,,$(blocks))
-blocks := $(subst user_analog_project_wrapper,,$(blocks))
-blocks := $(subst caravan,,$(blocks))
-
-defs  = $(shell cd $(CARAVEL_ROOT)/def && find *.def -maxdepth 0 -type f ! -name 'user_project_wrapper.def') 
-ifneq ($(CARAVEL_ROOT),$(MCW_ROOT))
-defs += $(shell cd $(MCW_ROOT)/def && find *.def -maxdepth 0 -type f)
-endif
-ifneq ($(CARAVEL_ROOT),$(CUP_ROOT))
-defs += $(shell cd $(CUP_ROOT)/def && find *.def -maxdepth 0 -type f)
-endif
-
-rcx-blocks     = $(defs:%.def=rcx-%)
-rcx-blocks-nom = $(blocks:%=rcx-%-nom)
-rcx-blocks-max = $(blocks:%=rcx-%-max)
-rcx-blocks-min = $(blocks:%=rcx-%-min)
-rcx-blocks-t = $(blocks:%=rcx-%-t)
-rcx-blocks-f = $(blocks:%=rcx-%-f)
-rcx-blocks-s = $(blocks:%=rcx-%-s)
-
-sdf-blocks = $(blocks:%=sdf-%)
-sdf-blocks-t = $(blocks:%=sdf-%-t)
-sdf-blocks-f = $(blocks:%=sdf-%-f)
-sdf-blocks-s = $(blocks:%=sdf-%-s)
-sdf-blocks-nom = $(blocks:%=sdf-%-nom)
-sdf-blocks-min = $(blocks:%=sdf-%-min)
-sdf-blocks-max = $(blocks:%=sdf-%-max)
-
-$(sdf-blocks): sdf-%: 
-	$(MAKE) -f timing.mk sdf-$*-nom
-	$(MAKE) -f timing.mk sdf-$*-min
-	$(MAKE) -f timing.mk sdf-$*-max
-
-$(sdf-blocks-nom): export RCX_CORNER = nom
-$(sdf-blocks-min): export RCX_CORNER = min
-$(sdf-blocks-max): export RCX_CORNER = max
-$(sdf-blocks-nom): sdf-%-nom: sdf-%-t sdf-%-f sdf-%-s
-$(sdf-blocks-min): sdf-%-min: sdf-%-t sdf-%-f sdf-%-s
-$(sdf-blocks-max): sdf-%-max: sdf-%-t sdf-%-f sdf-%-s
-
-$(sdf-blocks-t): export LIB_CORNER = t
-$(sdf-blocks-s): export LIB_CORNER = s
-$(sdf-blocks-f): export LIB_CORNER = f
-$(sdf-blocks-t): sdf-%-t:
-	$(call docker_run_sdf,$*)
-$(sdf-blocks-s): sdf-%-s:
-	$(call docker_run_sdf,$*)
-$(sdf-blocks-f): sdf-%-f:
-	$(call docker_run_sdf,$*)
-
-
-sta-blocks = $(blocks:%=sta-%)
-sta-blocks-t = $(blocks:%=sta-%-t)
-sta-blocks-f = $(blocks:%=sta-%-f)
-sta-blocks-s = $(blocks:%=sta-%-s)
-sta-blocks-nom = $(blocks:%=sta-%-nom)
-sta-blocks-min = $(blocks:%=sta-%-min)
-sta-blocks-max = $(blocks:%=sta-%-max)
-
-$(sta-blocks): sta-%:
-	$(MAKE) -f timing.mk sta-$*-nom
-	$(MAKE) -f timing.mk sta-$*-min
-	$(MAKE) -f timing.mk sta-$*-max
-
-$(sta-blocks-nom): export RCX_CORNER = nom
-$(sta-blocks-min): export RCX_CORNER = min
-$(sta-blocks-max): export RCX_CORNER = max
-$(sta-blocks-nom): sta-%-nom: sta-%-t sta-%-f sta-%-s
-$(sta-blocks-min): sta-%-min: sta-%-t sta-%-f sta-%-s
-$(sta-blocks-max): sta-%-max: sta-%-t sta-%-f sta-%-s
-
-$(sta-blocks-t): export LIB_CORNER = t
-$(sta-blocks-s): export LIB_CORNER = s
-$(sta-blocks-f): export LIB_CORNER = f
-$(sta-blocks-t): sta-%-t: $(logs-dir)/sta
-	$(call docker_run_sta,$*)
-$(sta-blocks-s): sta-%-s:
-	$(call docker_run_sta,$*)
-$(sta-blocks-f): sta-%-f:
-	$(call docker_run_sta,$*)
-
-
-$(rcx-blocks): rcx-%: $(rcx-requirements)
-	$(MAKE) -f timing.mk rcx-$*-nom &
-	$(MAKE) -f timing.mk rcx-$*-min &
-	$(MAKE) -f timing.mk rcx-$*-max
-
-$(rcx-blocks-nom): export RCX_CORNER = nom
-$(rcx-blocks-min): export RCX_CORNER = min
-$(rcx-blocks-max): export RCX_CORNER = max
-$(rcx-blocks-nom): rcx-%-nom: rcx-%-t
-$(rcx-blocks-min): rcx-%-min: rcx-%-t
-$(rcx-blocks-max): rcx-%-max: rcx-%-t
-
-$(rcx-blocks-t): export LIB_CORNER = t
-$(rcx-blocks-s): export LIB_CORNER = s
-$(rcx-blocks-f): export LIB_CORNER = f
-$(rcx-blocks-t): rcx-%-t: $(logs-dir)/rcx
-	$(call docker_run_rcx,$*)
-$(rcx-blocks-s): rcx-%-s:
-	$(call docker_run_rcx,$*)
-$(rcx-blocks-f): rcx-%-f:
-	$(call docker_run_rcx,$*)
-
-
-define docker_run_caravel_timing
-	$(call docker_run_base,caravel) \
-		bash -c "set -eo pipefail && sta -no_splash -exit $(TIMING_ROOT)/scripts/openroad/timing_top.tcl |& tee \
-			$(logs-dir)/top/caravel-timing-$$(basename $(LIB_CORNER))-$(RCX_CORNER).log"
-	@echo "logged to $(logs-dir)/top/caravel-timing-$$(basename $(LIB_CORNER))-$(RCX_CORNER).log"
-endef
-
-
-caravel-timing-typ-targets  = caravel-timing-typ-nom
-caravel-timing-typ-targets += caravel-timing-typ-min
-caravel-timing-typ-targets += caravel-timing-typ-max
-
-caravel-timing-slow-targets  = caravel-timing-slow-nom
-caravel-timing-slow-targets += caravel-timing-slow-min
-caravel-timing-slow-targets += caravel-timing-slow-max
-
-caravel-timing-fast-targets  = caravel-timing-fast-nom
-caravel-timing-fast-targets += caravel-timing-fast-min
-caravel-timing-fast-targets += caravel-timing-fast-max
-
-caravel-timing-targets  = $(caravel-timing-slow-targets)
-caravel-timing-targets += $(caravel-timing-fast-targets)
-caravel-timing-targets += $(caravel-timing-typ-targets)
-
-.PHONY: caravel-timing-typ
-$(caravel-timing-typ-targets): export LIB_CORNER = t
-caravel-timing-typ: caravel-timing-typ-nom caravel-timing-typ-min caravel-timing-typ-max
-
-.PHONY: caravel-timing-typ-nom
-.PHONY: caravel-timing-typ-min
-.PHONY: caravel-timing-typ-max
-caravel-timing-typ-nom: export RCX_CORNER = nom
-caravel-timing-typ-min: export RCX_CORNER = min
-caravel-timing-typ-max: export RCX_CORNER = max
-
-.PHONY: caravel-timing-slow
-$(caravel-timing-slow-targets): export LIB_CORNER = s
-caravel-timing-slow: caravel-timing-slow-nom caravel-timing-slow-min caravel-timing-slow-max
-
-.PHONY: caravel-timing-slow-nom
-.PHONY: caravel-timing-slow-min
-.PHONY: caravel-timing-slow-max
-caravel-timing-slow-nom: export RCX_CORNER = nom
-caravel-timing-slow-min: export RCX_CORNER = min
-caravel-timing-slow-max: export RCX_CORNER = max
-
-.PHONY: caravel-timing-fast
-$(caravel-timing-fast-targets): export LIB_CORNER = f
-caravel-timing-fast: caravel-timing-fast-nom caravel-timing-fast-min caravel-timing-fast-max
-
-.PHONY: caravel-timing-fast-nom
-.PHONY: caravel-timing-fast-min
-.PHONY: caravel-timing-fast-max
-caravel-timing-fast-nom: export RCX_CORNER = nom
-caravel-timing-fast-min: export RCX_CORNER = min
-caravel-timing-fast-max: export RCX_CORNER = max
-
-$(caravel-timing-targets): $(logs-dir)/top
-	$(call docker_run_caravel_timing)
-
-
-# some useful dev double checking
-#
-rcx-requirements  = $(CARAVEL_ROOT)/def/%.def
-rcx-requirements += $(CARAVEL_ROOT)/lef/%.lef
-rcx-requirements += $(CARAVEL_ROOT)/sdc/%.sdc
-rcx-requirements += $(CARAVEL_ROOT)/verilog/gl/%.v
-
-exceptions  = $(MCW_ROOT)/lef/caravel.lef
-exceptions += $(MCW_ROOT)/lef/caravan.lef
-# lets ignore these for now
-exceptions += $(MCW_ROOT)/sdc/user_analog_project_wrapper.sdc
-exceptions += $(MCW_ROOT)/sdc/user_project_wrapper.sdc
-exceptions += $(MCW_ROOT)/verilog/gl/user_analog_project_wrapper.v
-exceptions += $(MCW_ROOT)/verilog/gl/user_project_wrapper.v
-
-.PHONY: list-rcx
-.PHONY: list-sdf
-.PHONY: rcx-all
-list-rcx:
-	@blocks="$(rcx-blocks)";\
-		for block in $${blocks}; do echo "$$block"; done
-list-sdf:
-	@echo $(sdf-blocks)
-list-sta:
-	@echo $(sta-blocks)
-rcx-all: $(rcx-blocks)
-
-$(exceptions):
-	$(warning we don't need lefs for $@ but take note anyway)
-
-$(CARAVEL_ROOT)/def/%.def: $(MCW_ROOT)/def/%.def ;
-$(MCW_ROOT)/def/%.def: $(CUP_ROOT)/def/%.def ;
-$(CUP_ROOT)/def/%.def:
-	$(error error if you are here it probably means that $@.def is mising from mcw and caravel)
-
-$(CARAVEL_ROOT)/lef/%.lef: $(MCW_ROOT)/lef/%.lef ;
-$(MCW_ROOT)/lef/%.lef: $(CUP_ROOT)/lef/%.lef ;
-$(CUP_ROOT)/lef/%.lef:
-	$(error error if you are here it probably means that $@.lef is mising from mcw and caravel)
-
-$(CARAVEL_ROOT)/sdc/%.sdc: $(MCW_ROOT)/sdc/%.sdc ;
-$(MCW_ROOT)/sdc/%.sdc: $(CUP_ROOT)/sdc/%.sdc ;
-$(CUP_ROOT)/sdc/%.sdc:
-	$(error error if you are here it probably means that $@.sdc is mising from mcw and caravel)
-
-$(CARAVEL_ROOT)/verilog/gl/%.v: $(MCW_ROOT)/verilog/gl/%.v ;
-$(MCW_ROOT)/verilog/gl/%.v: $(CUP_ROOT)/verilog/gl/%.v ;
-$(CUP_ROOT)/verilog/gl/%.v:
-	$(error error if you are here it probably means that gl/$@.v is mising from mcw and caravel)
-
-check_defined = \
-    $(strip $(foreach 1,$1, \
-        $(call __check_defined,$1,$(strip $(value 2)))))
-__check_defined = \
-    $(if $(value $1),, \
-      $(error Undefined $1$(if $2, ($2))))
-
-$(call check_defined, \
-	MCW_ROOT \
-	CUP_ROOT \
-	PDK_ROOT \
-	CARAVEL_ROOT \
-	TIMING_ROOT \
-)
