Fixed management core not being able to access the wishbone bus in user space. This was caused by a bug in the management core only allowing the use a reduced address. Until that is fixed, a separate write is required to set the upper address bits, before the read/write is performed. Also fixed wishbone slaves not waiting for a clock cycle before allowing another access. Full build still fails due to routing congestion being too high.
76 files changed
tree: 626b244fd7b22b6127595f4c48476ce1ad729572
- .github/
- def/
- docs/
- gds/
- lef/
- mag/
- maglef/
- openlane/
- sdc/
- sdf/
- signoff/
- spef/
- spi/
- verilog/
- .gitignore
- LICENSE
- Makefile
- README.md
README.md
ExperiarSoC
RISC-V SoC designed for the Efabless Open MPW Program. This project

Features
- Dual RV32I cores
- Per core SRAM
- JTAG interface
- External flash controller
- Shared video SRAM
- Configurable VGA output
- 3x UART ports + 1 internal to caravel
- 1x SPI ports
- 4x PWM counters with 4x seperate outputs (2 are internal read only)
Memory Map

Macro Layout

Build Status
- CaravelHost: Success
- ExperiarCore: Success
- Flash: Success
- Peripherals: Success
- Video: Success
- WishboneInterconnect: Success
- user_project_wrapper: Error at step 13
- Running Global Routing Resizer Timing Optimizations: Routing congestion too high
Tests
verify-peripheral-rtl (-gl)
Status: Success
Runs a number of tests (currently just a very basic gpio test) from the management core to ensure the peripherals work correctly.
ToDo
- Get it to build
- Flash controller
- JTAG core managment controller
- CSRs
- Write more tests
- Fix all of the errors
Reference work and inspiration
- Zero to ASIC Course: Complete course on ASIC design. Also has useful references and terminology definitions.
- Openlane Documentation: Reference for a lot of configuration. The Variables and Hardening Macros pages have been particularity useful.
- Caravel Documentation: Reference for caravel and configuration. This seems slightly out of date, but an alternate version can be found in the github repository.
- Riscduino: Used for inspiration and as a reference for using openlane. There are a number of similar aspects to this project, but all have been reimplemented rather than copied.