Code Monkey home page Code Monkey logo

pcie-fpga's Introduction

PCIe-FPGA

A linux kernel driver for PCIe - FPGA communication.

Quick Start

FPGA

The driver is currently written for a Arria II GX dev. board using a hard IP PCI core and a QSys memory map. A block RAM is used as a ring buffer to copy data to the PC.

  1. Load the sof bitfile into the FPGA either via the USB-Blaster or the web interface that boots from the reference design in flash. If the bit file loads correctly the debugging LED's will flash out a counting pattern to let you know it's alive.
  2. Perform a software-reboot of the computer so the PCI bus picks up the new configuration. Keep an eye on the LED's to make sure the board didn't lose power.

Driver Software

  1. Clone/download the repository into some convenient location.
  2. Open a shell prompt and move into the repo. directory: cd /path/to/repo
  3. Move into the driver folder and compile the driver: cd src/driver; make
  4. Run the load_driver script as root: sudo load_driver.sh
  5. Move back into the test directory. Compile the test program with: g++ -std=c++11 test.cpp -o test.out and then run the executable for some simple read/write tests.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.