This repo provides firmware examples, flash programming and diagnostic tools for testing Open MPW and chipIgnite projects using Caravel. It also provides schematics, layout and gerber files for PCB evaluation and breakout boards.
See the README for the the Nucleo automated test setup here
See the README for testing projects here -- https://github.com/efabless/caravel_board/tree/main/firmware/chipignite#readme
You will need python 3.6 or later.
To program Caravel, connect the evaluation board using a USB micro B connector.
pip3 install pyftdi
cd firmware/blink
make clean flashhttps://github.com/riscv/homebrew-riscv
https://github.com/riscv/riscv-gnu-toolchain
Makefiles in the firmware project directories use
firmware/chipignite/util/caravel_hkflash.py
to program the flash on the board through Caravel's housekeeping SPI interface.
firmware/chipignite/util/caravel_hkdebug.py
provides menu-driven debug through the housekeeping SPI interface for Caravel.
The current evaluation board for Caravel can be found here
- The clock is driven by X1 with a frequency of 10MHz. To drive the clock with custom frequency, disable X1 through J6 and use the external pin for
xclk - The voltage regulator U5 and U6 supply
1.8Vand3.3Vthrough J8 and J9. The traces have to be cut if they are supplied externally. vccd1is connected to1.8Vthrough J3. The trace has to be cut if it is supplied externallyvddiois connected to3.3Vthrough J5. The trace has to be cut if it is supplied externally
The most updated breakout board for Caravel can be found here