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.*