This is an OpenLane-1.x-based example of using an Efabless Marketplace IP packge, installed using ipm
.
Specifically, it demonstrates use of the commercial EFSRAM_01024x032_008_18 high-density SRAM IP.
This repo was made from https://github.com/efabless/caravel_user_project originally and then adapted with guidance from the similar project: https://github.com/efabless/caravel_user_sram
To build the GDS in this repo:
- Install IPM:
cd ~ git clone https://github.com/efabless/IPM.git pip install ./IPM # Test: ipm ls-remote
- Clone this repo:
git clone https://github.com/amm-efabless/my_sram_test_chip1
- Setup your enviroment (installs OpenLane, PDK, etc):
cd my_sram_test_chip1 make setup
- Install the EFSRAM IP:
NOTE: At the time of writing, this might require special access to private repos for some IPs (including EFSRAM). This is expected to change as some IPs become officially published. For more info, see: https://github.com/efabless/IPM
ipm install-dep
- Harden the example
wishbone_sram
macro (which includes the SRAM hard IP):NOTE: At the time of writing, expect some minor linter errors about shorted ports, and 1 DRC violation.make wishbone_sram
- Harden the
user_project_wrapper
make user_project_wrapper
Refer to README for a quickstart of how to use caravel_user_project
Refer to README for this sample project documentation.
Refer to the following readthedocs for how to add cocotb tests to your project.