blob: 9c9cdb07b613f067950c3eec62b277fff17047c5 [file] [log] [blame] [view]
# Generating the Ibex Core
This document describes the process for generating the custom `rv_core_ibex` IP block for the Kelvin SoC.
The IP is generated using the `ipgen.py` script from the OpenTitan repository. This script takes an IP template and a configuration file as input and generates a concrete IP block in an output directory.
## Generation Command
To generate the `rv_core_ibex` IP, run the following command from the root of the repository:
```bash
python3 opentitan/util/ipgen.py generate \
-C opentitan/hw/ip_templates/rv_core_ibex \
-c fpga/ip/kelvin_rv_core_ibex.ipconfig.hjson \
-o fpga/ip/rv_core_ibex \
--force
```
## Dependencies
The `ipgen.py` script has several Python dependencies that must be installed:
* `hjson`
* `mako`
* `semantic_version`
* `tabulate`
* `pycryptodome`
## Output
The script will generate the `rv_core_ibex` IP block in the `fpga/ip/rv_core_ibex` directory. This will include the `.core` file, the RTL files, and any other necessary files for the IP.
```