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 flash
https://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.8V
and3.3V
through J8 and J9. The traces have to be cut if they are supplied externally. vccd1
is connected to1.8V
through J3. The trace has to be cut if it is supplied externallyvddio
is connected to3.3V
through J5. The trace has to be cut if it is supplied externally
The most updated breakout board for Caravel can be found here