mirroring upstream (efabless)
diff --git a/.gitmodules b/.gitmodules
index c73b442..91d57d0 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,6 @@
 [submodule "caravel-lite"]
 	path = caravel
 	url = https://github.com/efabless/caravel-lite
+[submodule "hilas_pdk"]
+	path = hilas_pdk
+	url = https://gitlab.com/um-ece/ftl-lab/hilas/cells.git
diff --git a/gds/.magicrc b/gds/.magicrc
deleted file mode 100644
index 67cdbf8..0000000
--- a/gds/.magicrc
+++ /dev/null
@@ -1,96 +0,0 @@
-# SPDX-FileCopyrightText: 2020 Efabless Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-
-puts stdout "Sourcing design .magicrc for technology sky130A ..."
-
-# Put grid on 0.005 pitch.  This is important, as some commands don't
-# rescale the grid automatically (such as lef read?).
-
-set scalefac [tech lambda]
-if {[lindex $scalefac 1] < 2} {
-    scalegrid 1 2
-}
-
-drc off
-drc euclidean on
-
-# Allow override of PDK path from environment variable PDKPATH
-if {[catch {set PDKPATH $env(PDKPATH)}]} {
-    set PDKPATH "$::env(PDK_ROOT)/sky130A"
-}
-
-# loading technology
-tech load $PDKPATH/libs.tech/magic/sky130A.tech
-
-# load device generator
-source $PDKPATH/libs.tech/magic/sky130A.tcl
-
-# load bind keys (optional)
-# source $PDKPATH/libs.tech/magic/sky130A-BindKeys
-
-# set units to lambda grid 
-snap lambda
-
-# set sky130 standard power, ground, and substrate names
-set VDD VPWR
-set GND VGND
-set SUB VSUBS
-
-# Allow override of type of magic library views used, "mag" or "maglef",
-# from environment variable MAGTYPE
-
-if {[catch {set MAGTYPE $env(MAGTYPE)}]} {
-   set MAGTYPE maglef
-}
-
-	path search [concat "../$MAGTYPE" [path search]]
-
-
-# add path to reference cells
-if {[file isdir ${PDKPATH}/libs.ref/${MAGTYPE}]} {
-    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr
-    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_io
-    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hd
-    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hdll
-    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hs
-    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hvl
-    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_lp
-    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ls
-    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ms
-    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu_sc
-    addpath ${PDKPATH}/libs.ref/mag/sky130_ml_xx_hd
-} else {
-    addpath ${PDKPATH}/libs.ref/sky130_fd_pr/${MAGTYPE}
-    addpath ${PDKPATH}/libs.ref/sky130_fd_io/${MAGTYPE}
-    addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hd/${MAGTYPE}
-    addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hdll/${MAGTYPE}
-    addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hs/${MAGTYPE}
-    addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hvl/${MAGTYPE}
-    addpath ${PDKPATH}/libs.ref/sky130_fd_sc_lp/${MAGTYPE}
-    addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ls/${MAGTYPE}
-    addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ms/${MAGTYPE}
-    addpath ${PDKPATH}/libs.ref/sky130_osu_sc/${MAGTYPE}
-    addpath ${PDKPATH}/libs.ref/sky130_ml_xx_hd/mag
-}
-
-addpath hexdigits
-
-# add path to GDS cells
-
-# add path to IP from catalog.  This procedure defined in the PDK script.
-catch {magic::query_mylib_ip}
-# add path to local IP from user design space.  Defined in the PDK script.
-catch {magic::query_my_projects}
diff --git a/hilas_pdk b/hilas_pdk
new file mode 160000
index 0000000..b91a2a5
--- /dev/null
+++ b/hilas_pdk
@@ -0,0 +1 @@
+Subproject commit b91a2a5c081b24312503859e76ce79cbfa771063
diff --git a/openlane/.gitignore b/openlane/.gitignore
new file mode 100644
index 0000000..e4867d8
--- /dev/null
+++ b/openlane/.gitignore
@@ -0,0 +1,2 @@
+*/runs
+default.cvcrc
diff --git a/openlane/Makefile b/openlane/Makefile
new file mode 120000
index 0000000..48e5b4a
--- /dev/null
+++ b/openlane/Makefile
@@ -0,0 +1 @@
+../caravel/openlane/Makefile
\ No newline at end of file