##What is hCODE The heterogeneous Computing Oriented Development Environment (hCODE) design method and tools are proposed to simplify the creation, sharing, and software integration of FPGA hardware accelerators.
The project in this repository is the online IP manager part of hCODE platform. This hcode command line tool is modified from CocoaPods, which is a dependency manager for Swift and Objective-C Cocoa projects. Main modifications are adding hardware Specs and shell-and-ip design roles support for FPGA based acccelerators.
These steps are based on Ubuntu 14.04
-
Install build essentials
sudo apt-get -y install build-essential -
Install ruby2.0 and ruby2.0-dev
sudo add-apt-repository -y ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get -y install ruby2.0 ruby2.0-dev -
Install git and bundler
sudo apt-get -y install git
sudo gem install bundle -
Clone hCODE from Github
git clone https://github.com/hCODE-FPGA/hCODE -
Install dependencies with bundle
cd hCODE
bundle -
Initialize setup the hCODE
cd bin
./hcode setup
You can put the location of hcode executable script into PATH and use it for convenient.
Commands | Functions |
---|---|
./hcode setup | Setup: pull the repo to ~/.hcode. |
./hcode list | List all hcode projects. |
./hcode search [text] | Search hcode projects with [text] in their name. |
./hcode search -full [text] | Search hcode projects with [text] in their name, summary or description field. |
./hcode spec cat [test] | Print spec file of hcode project that name contains [text] |
./hcode spec create [type] | Create a demo hcode.spec file of [type] |
./hcode spec lint hcode.spec | Validate the json format of the SPEC file. |
./hcode repo add [NAME] [URL] | add a private repo to ~/.hcode/repos/[NAME]/ |
./hcode remove [NAME] | remove private repo located at ~/.hcode/repose/[NAME]/ |
./hcode repo push [NAME] hcode.spec | push hcode.spec to ~/.hcode/repose/[NAME]/ repo |
./hcode ip create [NAME] [SHELL] | Create ip template project of [NAME] using a [SHELL] |
./hcode ip get [NAME] [TAG] | Download a IP and a compatable SHELL. |
./hcode shell get [NAME] | Download a Shell project. |
./hcode ip make [NAME] | Configure and make the downloaded [NAME] ip. The configuration is based on the platform section in hcode.spec of ip. The generated ip verilog files are then integrated with the shell project. The project will be opened in Vivado, changes and bitstream generation can then be performed. |
./hcode fpga program [NAME] | Give a bitstream file or folder of [NAME]. This command find bitstream file and then program to FPGA. |
./hcode fpga resetpci | Reset the PCIe connection after a reconfiguration. |
This project is licenced under the MIT license.