This repository contains a UART implementation for the Caravel chip user space. It demonstrates integration of the EF_UART IP with Caravel's Wishbone interface and follows the recommended structure for open-mpw shuttle projects.
- Docker: Linux | Windows | Mac with Intel Chip | Mac with M1 Chip
- Python 3.8+ with PIP
- Clone the repository:
git clone https://github.com/efabless/caravel_user_UART.git
- Set up your environment:
cd caravel_user_UART
make setup
- Install the EF_UART IP:
ipm install EF_UART
- Harden the UART macro:
make uart_macro_wrapper
- Harden the user project wrapper:
make user_project_wrapper
- Run simulation:
# RTL simulation
make verify-uart-rtl
# Gate-level simulation
make verify-uart-gl
- Run timing analysis:
make extract-parasitics
make create-spef-mapping
make caravel-sta
- Run precheck:
make precheck
make run-precheck
For more details about:
- EF_UART IP: Check the EF_UART documentation
- Caravel integration: See the Caravel documentation
- Simulation environment: Visit Caravel Simulation Infrastructure
This project is licensed under the Apache License, Version 2.0. See LICENSE for details.