Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/OpenCAPI/oc-accel
OpenCAPI Acceleration Framework: develop an accelerator with OpenCAPI technology
https://github.com/OpenCAPI/oc-accel
Last synced: about 2 months ago
JSON representation
OpenCAPI Acceleration Framework: develop an accelerator with OpenCAPI technology
- Host: GitHub
- URL: https://github.com/OpenCAPI/oc-accel
- Owner: OpenCAPI
- License: apache-2.0
- Created: 2019-10-30T07:03:30.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-07-09T17:38:53.000Z (6 months ago)
- Last Synced: 2024-08-03T17:11:28.072Z (5 months ago)
- Language: Verilog
- Size: 29.2 MB
- Stars: 63
- Watchers: 11
- Forks: 45
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-opensource-hardware - opencapi_accel
README
# OC-Accel Framework
OpenCAPI Acceleration Framework, abbreviated as OC-Accel, is a framework that helps you implement your FPGA acceleration solutions with OpenCAPI technology.
# Documentation
# Dependencies
* On a X86 server:
* Install Xilinx tools (Check ) with the desired fpga family (used by the card you want to test).
* set XILINX_ROOT and XILINXD_LICENSE_FILE accordingly and source Xilinx setting shell:
```console
export XILINX_ROOT=/opt/Xilinx/xxxx.y # setup your xilinx tools install dir. eg xxxx.y = 2020.1
export [email protected] # Vivado license
. $XILINX_ROOT/settings64.sh
```
* On a POWER9 server:
* Install lib-ocxl on server:
```console
sudo apt-get install libocxl-dev # for Ubuntu
sudo yum install libocxl-devel # for RHEL
```# Quick Start, Step 1: Simulate and Build FPGA on x86:
* Clone OpenCAPI Simulation Engine and OC-Accel framework
```console
git clone https://github.com/OpenCAPI/ocse.git
git clone https://github.com/OpenCAPI/oc-accel.git
cd oc-accel
make snap_config ## this uses an opensource Kconfig menu
```
* In the menu:
* Select a card and an example (eg: hls_helloworld_1024) to test (use space bar)
* Exit the menu
* Now run a simulation on X86 with default xsim simulator
```console
make sim ## (or make sim_tmux if no xterm available)
```
* In the terminal run:(stay in the current default directory)
```console
snap_helloworld_1024 # the default help will propose the simulation example
```
* Run the proposed test and check it passes ok
* To generate the flash content run:
```console
make image
```
This produces a .bin file (it is the full description of the FPGA content) to be loaded in memory of the chosen OC card plugged in a POWER9 server.
File is located in ~/oc-accel/hardware/build/Images/# Quick Start, Step 2: Program and Test on POWER9 server:
* Card flash programming:
* Card is new : Check card supplier procedure. Some allow PCIe flash programming, other require JTAG probe.
* Card is already programmed with a previous OC binary:
* Transfer the .bin file into the POWER server by any mean (scp, ftp, ...)
* Use OpenCAPI Utils tools to load the oc_date_XX_hls_helloworld_1024_YY_OC-card_YY.bin file.
```console
sudo git clone https://github.com/OpenCAPI/oc-utils.git
sudo make install # default installation
```
* Flash the card memory.
```console
sudo oc-flash-script oc_date_XX_hls_helloworld_1024_YY_OC-card_YY.bin
```
* Install oc-accel on the POWER server and compile code:
```console
git clone https://github.com/OpenCAPI/oc-accel.git
cd oc-accel
make all
```
* Run the default test:
```console
./actions/hls_helloworld_1024/tests/hw_test.sh
```
* Check results# Contributing
This is an open-source project. We greatly appreciate your contributions and collaboration.
Before contributing to this project, please read and agree to the rules in
* [CONTRIBUTING.md](CONTRIBUTING.md)To simplify the sign-off, you may want to create a ".gitconfig" file in you home by executing:
```
$ git config --global user.name "John Doe"
$ git config --global user.email [email protected]
```
Then, for every commit, use `git commit -s` to add the "Signed-off by ..." message.By default the git repository is read-only. Users can fork the snap repository, make the changes there and issue a pull request.
Even members with write access to this repository can't commit directly into the protected master branch. To contribute changes, please create a branch, make the changes there and issue a pull request.Pull requests to merge into the master branch must be reviewed before they will be merged.