Updates to makefile and workflow
diff --git a/.github/workflows/user_project_ci.yml b/.github/workflows/user_project_ci.yml
index 0fb3ab6..318ca2a 100644
--- a/.github/workflows/user_project_ci.yml
+++ b/.github/workflows/user_project_ci.yml
@@ -87,9 +87,12 @@
make openlane
make simenv
- - name: Harden using Openlane
+ - name: Harden user_proj using Openlane
run: |
make user_proj_example
+
+ - name: Harden user_project_wrapper using Openlane
+ run: |
make user_project_wrapper
- name: run precheck
@@ -177,11 +180,14 @@
make openlane
make simenv
- - name: Harden using Openlane
+ - name: Harden user_proj using Openlane
run: |
make user_proj_example
- make user_project_wrapper
+ - name: Harden user_project_wrapper using Openlane
+ run: |
+ make user_project_wrapper
+
- name: run precheck
run: |
export INPUT_DIRECTORY=$(pwd)
diff --git a/docs/source/index.rst b/docs/source/index.rst
index 332dad6..36127a7 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -72,9 +72,9 @@
* Follow https://github.com/efabless/caravel_user_project/generate to create a new repository.
* Clone the reposity using the following command:
- .. code:: bash
-
- git clone <your github repo URL>
+ .. code:: bash
+
+ git clone <your github repo URL>
#. To setup your local environment run:
@@ -100,12 +100,12 @@
make setup
-* This command will setup your environment by installing the following:
+* This command will setup your environment by installing the following
- - caravel_lite (a lite version of caravel)
- - management core for simulation
- - openlane to harden your design
- - pdk
+ - caravel_lite (a lite version of caravel)
+ - management core for simulation
+ - openlane to harden your design
+ - pdk
#. Now you can start hardening your design
@@ -114,12 +114,12 @@
- RTL verilog model for your design for OpenLane to harden
- A subdirectory for each macro in your project under ``openlane/`` directory, each subdirectory should include openlane configuration files for the macro
- .. code:: bash
+ .. code:: bash
- make <module_name>
- ..
+ make <module_name>
+ ..
- For an example of hardening a project please refer to :ref:`Hardening the User Project using OpenLane`.
+ For an example of hardening a project please refer to `Hardening the User Project using OpenLane`_. .
#. Integrate modules into the user_project_wrapper
@@ -151,6 +151,28 @@
# for example
make verify-io_ports-rtl
+
+#. Run opensta on your design
+
+ * Extract spefs for ``user_project_wrapper`` and macros inside it:
+
+ .. code:: bash
+
+ make extract-parasitics
+
+ * Create spef mapping file that maps instance names to spef files:
+
+ .. code:: bash
+
+ make create-spef-mapping
+
+ * Run opensta:
+
+ .. code:: bash
+
+ make caravel-sta
+
+ **NOTE:** To update timing scripts run ``make setup-timing-scripts``
#. Run the precheck locally
@@ -165,6 +187,7 @@
Caravel Integration
===================
+----------------
Repo Integration
----------------
@@ -189,6 +212,7 @@
The symbolic links are automatically set when you run ``make install``.
+-------------------
Verilog Integration
-------------------
@@ -224,6 +248,7 @@
</p>
+-------------------
Layout Integration
-------------------
@@ -323,6 +348,7 @@
Hardening the User Project using OpenLane
==========================================
+---------------------
OpenLane Installation
---------------------
@@ -342,6 +368,7 @@
to
`README <https://github.com/The-OpenROAD-Project/OpenLane#setting-up-openlane>`__.
+-----------------
Hardening Options
-----------------
@@ -376,7 +403,7 @@
For more details on hardening macros using openlane, refer to `README <https://github.com/The-OpenROAD-Project/OpenLane/blob/master/docs/source/hardening_macros.md>`__.
-
+-----------------
Running OpenLane
-----------------
diff --git a/docs/source/quickstart.rst b/docs/source/quickstart.rst
index f8a9b73..d0770bd 100644
--- a/docs/source/quickstart.rst
+++ b/docs/source/quickstart.rst
@@ -117,6 +117,28 @@
# for example
make verify-io_ports-rtl
+
+#. Run opensta on your design
+
+ * Extract spefs for ``user_project_wrapper`` and macros inside it:
+
+ .. code:: bash
+
+ make extract-parasitics
+
+ * Create spef mapping file that maps instance names to spef files:
+
+ .. code:: bash
+
+ make create-spef-mapping
+
+ * Run opensta:
+
+ .. code:: bash
+
+ make caravel-sta
+
+
#. Run the precheck locally
diff --git a/openlane/user_proj_example/config.json b/openlane/user_proj_example/config.json
index b781c22..b2b1a2b 100644
--- a/openlane/user_proj_example/config.json
+++ b/openlane/user_proj_example/config.json
@@ -6,7 +6,7 @@
"CLOCK_PORT": "wb_clk_i",
"CLOCK_NET": "counter.clk, cpu16.clk_i",
"FP_SIZING": "absolute",
- "DIE_AREA": "0 0 2400 3000",
+ "DIE_AREA": "0 0 2000 3000",
"FP_PIN_ORDER_CFG": "dir::pin_order.cfg",
"PL_BASIC_PLACEMENT": 0,
"PL_TARGET_DENSITY": 0.55,
diff --git a/openlane/user_proj_example/pin_order.cfg b/openlane/user_proj_example/pin_order.cfg
index c6f0dc8..3244e18 100644
--- a/openlane/user_proj_example/pin_order.cfg
+++ b/openlane/user_proj_example/pin_order.cfg
@@ -4,7 +4,6 @@
wb_.*
wbs_.*
la_.*
-irq.*
#N
io_in\[23\]
@@ -128,3 +127,4 @@
io_in\[38\]
io_out\[38\]
io_oeb\[38\]
+irq.*