An open API service indexing awesome lists of open source software.

https://github.com/niw/chisel_test

A simple Chisel test project for myself to learn Chisel and FPGA.
https://github.com/niw/chisel_test

chisel3 fpga orangecrab scala tinyfpga verilog

Last synced: 4 months ago
JSON representation

A simple Chisel test project for myself to learn Chisel and FPGA.

Awesome Lists containing this project

README

          

Chisel Test
===========

A simple project for myself to learn Chisel and FPGA.

Supports [TinyFPGA BX](https://github.com/tinyfpga/TinyFPGA-BX) and [OrangeCrab](https://github.com/orangecrab-fpga/orangecrab-hardware) boards.

Build tool are required separately.

- [sbt](https://www.scala-sbt.org/)
- [yosys](https://github.com/YosysHQ/yosys)
- [icestorm](https://github.com/YosysHQ/icestorm) (for TinyFPGA BX, iCE40)
- [prjtrellis](https://github.com/YosysHQ/prjtrellis) (for OrangeCrab, ECP5)
- [nextpnr](https://github.com/YosysHQ/nextpnr)
- [tinyprog](https://github.com/tinyfpga/TinyFPGA-Bootloader/tree/master/programmer) (for TinyFPGA BX)
- [dfu-util](http://dfu-util.sourceforge.net/) (for OrangeCrab)
- [verilator](https://www.veripool.org/verilator/) (for unit tests)

Usage
-----

To build a bitstream for a specific top module, simply `make` with `TOP_MODULE`.
Where `BOARD` can be `tinyfpgabx` or `orangecrab`.

```
make BOARD=... TOP_MODULE=...
```

For TinyFPGA BX, to program bitstream, connect device to USB then use `prog` task.

```
make BOARD=tinyfpgabx TOP_MODULE=... prog
```

For OrangeCrab, to dfu bitstream, connect device to USB, then use `dfu` task.

```
make BOARD=orangecrab TOP_MODULE=... dfu
```