This repo lets you investigate and experiment with implementing our CGRA using new generator infrastructure. Here you will find: original Genesis2 source for top level modules, functional models, and testing infrastructure. Also, you will find common generator patterns abstracted away to make designing, testing, and programming the CGRA faster.
Once garnet is installed, you can build e.g. a 2x2 CGRA simply by doing
$ python garnet.py --help
$ python garnet.py --width 4 --height 2
For installation instructions, read on.
We use a docker environment to build the chip. Here's how:
$ git clone https://github.com/StanfordAHA/aha aha
$ cd aha; git submodule init update --recursive
$ docker build . -t aha_image # May need sudo depending on your setup
$ docker exec -it aha_container bash # May need sudo depending on your setup
garnet.v
$ source /aha/bin/activate
$ cd /aha/garnet
$ python garnet.py --width 4 --height 2 --verilog
We can verify that everything is setup properly by running the test suite using pytest.
$ cd /aha; ./garnet/.github/scripts/run_pytest.sh
(FYI last time I tried this it did not work until I first did cd /aha/garnet; git checkout master
...?)
Please read and follow the style guide in the AHA wiki.