This project integrates a GCD unit generated using this commercial flow into caravel's user project wrapper. Compared to the example project, the following files have changes (please see the commit history to look at the changes in detail):
Makefile
: Fixes thePRECHECK_ROOT
variable.copy_user_files.sh
: Copies the GCD unit macro files: GDS, LEF, DEF, gate level netlist and RTL netlist. TODO: Copy spice netlist as well.lef/user_proj_example.lef
: GCD unit's LEF file copied using the above script.verilog/gl/user_proj_example.v
: GCD unit's gate level netlist copied using the above script.verilog/rtl/user_proj_example.v
: GCD unit's RTL netlist copied using the above script.verilog/rtl/user_project_wrapper.v
: We make a few changes to the wrapper RTL to change the name of IRQ signal on the user design fromirq
touser_irq
to make it consistent with the wrapper. We also connectanalog_io
anduser_clock2
ports that were left unconnected between the wrapper and the user design.openlane/user_project_wrapper/macro.cfg
: Sets the floorplan coordinates for the GCD unit.
Refer to [README](docs/source/quickstart.rst) for a quick start of how to use caravel_user_project.
Refer to [README](docs/source/index.rst) for this sample project documentation.