Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

162 add support for gf180 mcu #173

Merged
merged 53 commits into from
Oct 28, 2022
Merged
Changes from 1 commit
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
f7a3d57
update Makefile
jeffdi Oct 12, 2022
71e3e08
update Makefile
jeffdi Oct 12, 2022
3e39ce3
update Makefile
jeffdi Oct 12, 2022
26850e3
update Makefile
jeffdi Oct 12, 2022
7178938
update Makefile
jeffdi Oct 12, 2022
2d83d67
update Makefile
jeffdi Oct 12, 2022
a089f25
update config.json
jeffdi Oct 12, 2022
4c1e934
update config.json
jeffdi Oct 12, 2022
afd32e6
update config.json
jeffdi Oct 12, 2022
3e9205b
update config.json
jeffdi Oct 13, 2022
d8af040
update config.json
jeffdi Oct 13, 2022
9ee79d8
update config.json
jeffdi Oct 13, 2022
2c94e80
update config.json
jeffdi Oct 13, 2022
b4d0b47
update config.json
jeffdi Oct 13, 2022
1836cff
update config.json
jeffdi Oct 13, 2022
06c9790
update config.json
jeffdi Oct 13, 2022
cfb3bd2
update template user_project_wrapper_gf180mcu.def - remmove two Li tr…
jeffdi Oct 13, 2022
09aeb07
update template user_project_wrapper_gf180mcu.def - remmove two Li tr…
jeffdi Oct 17, 2022
39148f2
fix path to macro.cfg
jeffdi Oct 17, 2022
78fcda5
update config.json
jeffdi Oct 17, 2022
152cfc8
update config.json
jeffdi Oct 17, 2022
500560a
update config.json
jeffdi Oct 17, 2022
32287c9
update config.json
jeffdi Oct 18, 2022
8179017
update config.json
jeffdi Oct 18, 2022
2345d79
update openlane commit
jeffdi Oct 18, 2022
0b7e807
update openlane commit
jeffdi Oct 18, 2022
42f53f5
update openlane commit
jeffdi Oct 18, 2022
6467037
update openlane commit
jeffdi Oct 18, 2022
b8e5cd6
update config.json
jeffdi Oct 18, 2022
c0f115c
update config.json
jeffdi Oct 18, 2022
fcce54f
update config.json
jeffdi Oct 19, 2022
fafaea5
update quickstart.rst
jeffdi Oct 19, 2022
54b36fa
Update Makefile
jeffdi Oct 24, 2022
21761c9
update quickstart.rst
jeffdi Oct 25, 2022
1513dd1
Merge remote-tracking branch 'origin/162-add-support-for-gf180-mcu' i…
jeffdi Oct 25, 2022
e308dde
update pdk and ol commits
jeffdi Oct 25, 2022
dc5a8a5
add def template back for user_project_example
jeffdi Oct 25, 2022
480a8ae
add def template back for user_project_example
jeffdi Oct 25, 2022
a9d26df
add def template for gf180
jeffdi Oct 25, 2022
88d9cbb
add def template back for user_project_example
jeffdi Oct 25, 2022
2af30e6
add def template back for user_project_example
jeffdi Oct 25, 2022
ef05c40
add def template back for user_project_example
jeffdi Oct 25, 2022
465b6eb
update Makefile
jeffdi Oct 25, 2022
585ad26
update Makefile
jeffdi Oct 25, 2022
5ceed5d
Openlane Makefile
jeffdi Oct 26, 2022
adbed1b
Update Makefile
jeffdi Oct 26, 2022
43dc6d9
Update index.rst
jeffdi Oct 28, 2022
bee0a52
Update index.rst
jeffdi Oct 28, 2022
b764059
Update index.rst
jeffdi Oct 28, 2022
fec2ae6
Update Makefile
jeffdi Oct 28, 2022
04ae05f
Update Makefile
jeffdi Oct 28, 2022
fb0bd7f
Update Makefile
jeffdi Oct 28, 2022
f2b31f9
Update wb_port.c
jeffdi Oct 28, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 97 additions & 0 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ Table of contents
=================

- `Overview <#overview>`__
- `Quickstart <#quickstart>`__
- `Install Caravel <#install-caravel>`__
- `Caravel Integration <#caravel-integration>`__

Expand Down Expand Up @@ -59,6 +60,102 @@ Prerequisites

- Python 3.6+ with PIP


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you may be able to use .. include:: quickstart.rst here?

Quickstart
===========

---------------------
Starting your project
---------------------

#. To start the project you first need to create a new repository based on the `caravel_user_project <https://github.com/efabless/caravel_user_project/>`_ template and make sure your repo is public and includes a README.

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

#. To setup your local environment run:

.. code:: bash

cd <project_name> # project_name is the name of your repo

mkdir dependencies

export OPENLANE_ROOT=$(pwd)/dependencies/openlane_src # you need to export this whenever you start a new shell

export PDK_ROOT=$(pwd)/dependencies/pdks # you need to export this whenever you start a new shell

# export the PDK variant depending on your shuttle, if you don't know leave it to the default
export PDK=sky130B

make setup

* 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


#. Now you can start hardening your design

* To start hardening you project you need
- 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

make <module_name>
..

For an example of hardening a project please refer to `user_project_example <https://github.com/efabless/caravel_user_project/blob/main/docs/source/index.rst#hardening-the-user-project-using-openlane>`_

#. Integrate modules into the user_project_wrapper

* Change the environment variables ``VERILOG_FILES_BLACKBOX``, ``EXTRA_LEFS`` and ``EXTRA_GDS_FILES`` in ``openlane/user_project_wrapper/config.tcl`` to point to your module
* Instantiate your module(s) in ``verilog/rtl/user_project_wrapper.v``
* Harden the user_project_wrapper including your module(s), using this command:

.. code:: bash

make user_project_wrapper

#. Run simulation on your design

* You need to include your rtl/gl/gl+sdf files in ``verilog/includes/includes.<rtl/gl/gl+sdf>.caravel_user_project``

**NOTE:** You shouldn't include the files inside the verilog code

.. code:: bash

# you can then run RTL simulations using
make verify-<testbench-name>-rtl

# OR GL simulation using
make verify-<testbench-name>-gl

# OR for GL+SDF simulation using
# sdf annotated simulation is slow
make verify-<testbench-name>-gl-sdf

# for example
make verify-io_ports-rtl

#. Run the precheck locally

.. code:: bash

make precheck
make run-precheck

#. You are done! now go to https://efabless.com/open_shuttle_program/ to submit your project!


Install Caravel
===============

Expand Down