Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/StanfordAHA/garnet
Next generation CGRA generator
https://github.com/StanfordAHA/garnet
Last synced: 3 months ago
JSON representation
Next generation CGRA generator
- Host: GitHub
- URL: https://github.com/StanfordAHA/garnet
- Owner: StanfordAHA
- License: bsd-3-clause
- Created: 2018-07-12T06:30:10.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-03-21T22:21:02.000Z (3 months ago)
- Last Synced: 2024-03-21T23:28:55.712Z (3 months ago)
- Language: Python
- Homepage:
- Size: 57.6 MB
- Stars: 98
- Watchers: 12
- Forks: 12
- Open Issues: 83
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-hdl - garnet - Grained Reconfigurable Architecture generator based on magma, 2018+ (Meta HDL and Transpilers)
- awesome-opensource-hardware - garnet
- awesome-hdl - garnet - Grained Reconfigurable Architecture generator based on magma, 2018+ (Meta HDL and Transpilers)
- awesome-stars - StanfordAHA/garnet - Next generation CGRA generator (Python)
- awesome-opensource-hardware-repos - garnet
README
[![Build Status](https://travis-ci.com/StanfordAHA/garnet.svg?branch=master)](https://travis-ci.com/StanfordAHA/garnet)
[![codecov](https://codecov.io/gh/stanfordaha/garnet/branch/master/graph/badge.svg?token=9XcZmGqxyt)](https://codecov.io/gh/stanfordaha/garnet)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.
# Usage
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.# Install and Build (also see issue https://github.com/StanfordAHA/garnet/issues/1037)
We use a docker environment to build the chip. Here's how:
### Use AHA repo to boot up a docker image and container
```
$ 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
```### (Inside docker now) build a 4x2 CGRA `garnet.v`
```
$ source /aha/bin/activate
$ cd /aha/garnet
$ python garnet.py --width 4 --height 2 --verilog
```## Verify functionality
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` ...?)# Style guide
Please read and follow the
[style guide in the AHA wiki](https://github.com/StanfordAHA/aha/wiki/Style-Guide).