diff --git a/deps/timing-scripts/Dockerfile b/deps/timing-scripts/Dockerfile
new file mode 100644
index 0000000..4696aff
--- /dev/null
+++ b/deps/timing-scripts/Dockerfile
@@ -0,0 +1,6 @@
+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
new file mode 100644
index 0000000..2b39888
--- /dev/null
+++ b/deps/timing-scripts/README.md
@@ -0,0 +1,85 @@
+# 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
new file mode 100644
index 0000000..87eeb62
--- /dev/null
+++ b/deps/timing-scripts/env/caravel_spef_mapping-mpw2-calibre.tcl
@@ -0,0 +1,101 @@
+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
new file mode 100644
index 0000000..fade71c
--- /dev/null
+++ b/deps/timing-scripts/env/caravel_spef_mapping-mpw2.tcl
@@ -0,0 +1,99 @@
+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
new file mode 100644
index 0000000..c6c8a54
--- /dev/null
+++ b/deps/timing-scripts/env/caravel_spef_mapping-mpw5-calibre.tcl
@@ -0,0 +1,90 @@
+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
new file mode 100644
index 0000000..e12e189
--- /dev/null
+++ b/deps/timing-scripts/env/caravel_spef_mapping-mpw7.tcl
@@ -0,0 +1,136 @@
+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
new file mode 100644
index 0000000..f287952
--- /dev/null
+++ b/deps/timing-scripts/env/caravel_spef_mapping.tcl
@@ -0,0 +1,90 @@
+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
new file mode 100644
index 0000000..b06a6f7
--- /dev/null
+++ b/deps/timing-scripts/env/common.tcl
@@ -0,0 +1,134 @@
+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
new file mode 100644
index 0000000..867427b
--- /dev/null
+++ b/deps/timing-scripts/env/f.tcl
@@ -0,0 +1,20 @@
+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
new file mode 100644
index 0000000..9b61eeb
--- /dev/null
+++ b/deps/timing-scripts/env/s.tcl
@@ -0,0 +1,21 @@
+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
new file mode 100644
index 0000000..c9eea15
--- /dev/null
+++ b/deps/timing-scripts/env/t.tcl
@@ -0,0 +1,21 @@
+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
new file mode 100644
index 0000000..dca9a90
--- /dev/null
+++ b/deps/timing-scripts/requirements.txt
@@ -0,0 +1 @@
+click
diff --git a/deps/timing-scripts/scripts/compare_reports.py b/deps/timing-scripts/scripts/compare_reports.py
new file mode 100644
index 0000000..1276473
--- /dev/null
+++ b/deps/timing-scripts/scripts/compare_reports.py
@@ -0,0 +1,85 @@
+#!/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
new file mode 100644
index 0000000..0094c7b
--- /dev/null
+++ b/deps/timing-scripts/scripts/generate_spef_mapping.py
@@ -0,0 +1,120 @@
+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
new file mode 100644
index 0000000..f6abdf9
--- /dev/null
+++ b/deps/timing-scripts/scripts/get_macros.py
@@ -0,0 +1,121 @@
+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
new file mode 100644
index 0000000..dfe3e9c
--- /dev/null
+++ b/deps/timing-scripts/scripts/openroad/rcx.tcl
@@ -0,0 +1,35 @@
+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
new file mode 100644
index 0000000..382ef89
--- /dev/null
+++ b/deps/timing-scripts/scripts/openroad/sdf.tcl
@@ -0,0 +1,60 @@
+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
new file mode 100644
index 0000000..e224905
--- /dev/null
+++ b/deps/timing-scripts/scripts/openroad/sta-gpio_control_block.tcl
@@ -0,0 +1,42 @@
+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
new file mode 100644
index 0000000..02390ed
--- /dev/null
+++ b/deps/timing-scripts/scripts/openroad/timing_top.tcl
@@ -0,0 +1,289 @@
+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
new file mode 100644
index 0000000..6536e9b
--- /dev/null
+++ b/deps/timing-scripts/scripts/pdk_helpers.py
@@ -0,0 +1,21 @@
+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
new file mode 100644
index 0000000..1b96505
--- /dev/null
+++ b/deps/timing-scripts/scripts/report.py
@@ -0,0 +1,83 @@
+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
new file mode 100644
index 0000000..efc0317
--- /dev/null
+++ b/deps/timing-scripts/scripts/summarize_report.py
@@ -0,0 +1,44 @@
+#!/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
new file mode 100644
index 0000000..c77a624
--- /dev/null
+++ b/deps/timing-scripts/scripts/timing_path.py
@@ -0,0 +1,112 @@
+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
new file mode 100644
index 0000000..3bb15fd
--- /dev/null
+++ b/deps/timing-scripts/scripts/verilog_parser.py
@@ -0,0 +1,40 @@
+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
new file mode 100644
index 0000000..47c1529
--- /dev/null
+++ b/deps/timing-scripts/scripts/yosys/to-json.tcl
@@ -0,0 +1,4 @@
+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
new file mode 100644
index 0000000..148b384
--- /dev/null
+++ b/deps/timing-scripts/timing.mk
@@ -0,0 +1,307 @@
+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 \
+)
diff --git a/gds/cntr_example.gds b/gds/cntr_example.gds
index 257e2c6..250edc3 100644
--- a/gds/cntr_example.gds
+++ b/gds/cntr_example.gds
Binary files differ
diff --git a/gds/user_project_wrapper.gds b/gds/user_project_wrapper.gds
index ce74deb..5e23b04 100644
--- a/gds/user_project_wrapper.gds
+++ b/gds/user_project_wrapper.gds
Binary files differ
diff --git a/mag/cntr_example.mag b/mag/cntr_example.mag
index 83702b7..56d920f 100644
--- a/mag/cntr_example.mag
+++ b/mag/cntr_example.mag
@@ -1,7 +1,7 @@
 magic
 tech gf180mcuC
 magscale 1 10
-timestamp 1670103083
+timestamp 1670116064
 << metal1 >>
 rect 1344 296378 298592 296412
 rect 1344 296326 19838 296378
diff --git a/mag/user_project_wrapper.mag b/mag/user_project_wrapper.mag
index 7912e1d..8a99482 100644
--- a/mag/user_project_wrapper.mag
+++ b/mag/user_project_wrapper.mag
@@ -1,7 +1,7 @@
 magic
 tech gf180mcuC
 magscale 1 10
-timestamp 1670103864
+timestamp 1670116506
 << metal1 >>
 rect 215058 130286 215070 130338
 rect 215122 130286 215134 130338
diff --git a/maglef/cntr_example.mag b/maglef/cntr_example.mag
index e6e349b..7eaa7e4 100644
--- a/maglef/cntr_example.mag
+++ b/maglef/cntr_example.mag
@@ -1,7 +1,7 @@
 magic
 tech gf180mcuC
 magscale 1 5
-timestamp 1670103090
+timestamp 1670116072
 << obsm1 >>
 rect 672 1538 149296 148206
 << metal2 >>
@@ -240,7 +240,7 @@
 string LEFclass BLOCK
 string LEFview TRUE
 string GDS_END 8011482
-string GDS_FILE /home/htf6ry/gf180-demo/openlane/cntr_example/runs/22_12_03_16_29/results/signoff/cntr_example.magic.gds
+string GDS_FILE /home/htf6ry/gf180-demo/openlane/cntr_example/runs/22_12_03_20_05/results/signoff/cntr_example.magic.gds
 string GDS_START 105720
 << end >>
 
diff --git a/maglef/user_project_wrapper.mag b/maglef/user_project_wrapper.mag
index 84d7c01..3c919fc 100644
--- a/maglef/user_project_wrapper.mag
+++ b/maglef/user_project_wrapper.mag
@@ -1,7 +1,7 @@
 magic
 tech gf180mcuC
 magscale 1 5
-timestamp 1670103872
+timestamp 1670116514
 << obsm1 >>
 rect 63172 64975 211796 213206
 << metal2 >>
@@ -2151,7 +2151,7 @@
 string LEFclass BLOCK
 string LEFview TRUE
 string GDS_END 10806318
-string GDS_FILE /home/htf6ry/gf180-demo/openlane/user_project_wrapper/runs/22_12_03_16_43/results/signoff/user_project_wrapper.magic.gds
+string GDS_FILE /home/htf6ry/gf180-demo/openlane/user_project_wrapper/runs/22_12_03_20_14/results/signoff/user_project_wrapper.magic.gds
 string GDS_START 8011542
 << end >>
 
diff --git a/sdc/cntr_example.sdc b/sdc/cntr_example.sdc
index 557bdf5..0109de3 100644
--- a/sdc/cntr_example.sdc
+++ b/sdc/cntr_example.sdc
@@ -1,6 +1,6 @@
 ###############################################################################
 # Created by write_sdc
-# Sat Dec  3 21:30:38 2022
+# Sun Dec  4 01:07:00 2022
 ###############################################################################
 current_design cntr_example
 ###############################################################################
diff --git a/sdc/user_project_wrapper.sdc b/sdc/user_project_wrapper.sdc
index 4611df8..cc7daed 100644
--- a/sdc/user_project_wrapper.sdc
+++ b/sdc/user_project_wrapper.sdc
@@ -1,6 +1,6 @@
 ###############################################################################
 # Created by write_sdc
-# Sat Dec  3 21:43:59 2022
+# Sun Dec  4 01:14:40 2022
 ###############################################################################
 current_design user_project_wrapper
 ###############################################################################
