DEveloping Computational Architectures
First start by cloning this git repository:
# Use this if you have SSH keys setup with gitlab
git clone git@github.com:rhit-neuro/deca.git
# Otherwise, clone with the https link
git clone https://github.com/rhit-neuro/deca.git
We use Docker to simplify setting up development environments. Follow the instructions in Setting Up Docker to setup Docker. You can stop when you get to the Using Docker
section.
After installing Docker, follow the instructions in deca-docker/rocket-chip-env to setup your Docker container for hardware development. These instructions will startup a Docker container with the name rcenv
.
Inside your Docker container, run:
git submodule update --init --recursive
This will download all submodules required for development. You need to do this inside the docker container.
Start with the instructions in sbt/ and accelerators/ to make your own accelerator.
Additionally, look at Multiplier Tutorial. It contains an walkthrough for building a custom accelerator.
Chisel is used for development. Here are some resources for learning how to use Chisel.
See Building Rocket Chip with your Accelerator to learn how to build either the LUTROM acceletator or your own custom accelerator.
See Linux to learn about how to build the Linux image.
See Put on Zedboard to learn about how to put the multiplier hardware, software, and Linux image on the Zedboard.
fpga-images-zedboard
submoduleThe fpga-images-zedboard
within fpga-zynq
has an out of date fesvr-zynq
which doesn't let us boot Linux with a disk image. Whenever Josh's merge request here is accepted, you'll need to update the fpga-images-zedboard
submodule in fpga-zynq, submit a merge request, wait for that to be accepted, then update fpga-zynq
in this repository. After all of that, you can remove the fpga-images-zedboard
submodule from this repository.