Git Product home page Git Product logo

warpshell's Introduction

Warpshell

Warpshell is an open source project designed to simplify PCIe-based FPGA accelerator development. It provides a powerful "Shell" that includes a wide range of common features, such as the PCIe subsystem (DMA), AXI Firewalls, and infrastructure to reconfigure the user-partition at runtime.

One of the unique features of Warpshell is the decoupling of the Shell and the user-partition. The Shell is compiled separately (ahead of time) from the user logic and is linked at the implementation stage. This approach allows for easy swapping of different accelerators without requiring a system reboot. Additionally, the Warpshell project provides default shells for each FPGA platform/board. Any user applications that are compiled with these default shells will be compatible with each other, making community sharing of binaries easy.

Warpshell provides a customizable Rust driver that enables easy interaction with the Shell and offers a stub for the user to develop custom driver logic to interact with the user-logic.

Warpshell's aim is to simplify and speed up the development of FPGA-based accelerators. By providing a robust and flexible infrastructure that abstracts away the low-level details of PCIe communication, AXI interfaces, and other common tasks, developers can focus on designing and implementing their own custom logic with ease.

Instructions

UNDER CONSTRUCTION

warpshell's People

Contributors

vkomenda avatar quarky93 avatar

Stargazers

 avatar Suhas Kudlur Viswanath avatar  avatar Jevin Sweval avatar KK avatar Zach Kelling avatar Muhammad-Jibril B.A. (Khalifa MBA) avatar  avatar Roman Isaikin avatar Leon Hibnik avatar  avatar Shaoqian Zhou avatar Omkar Bhilare avatar  avatar Adam Wolnikowski avatar

Watchers

Jevin Sweval avatar  avatar Stas avatar  avatar

warpshell's Issues

Should the warpshell-user-template be merged into this repo?

RFC: Should the warpshell-user-template be its own repo or should it be merged into this one?
Benefits of merging:

  • Easier for the user to customize the shell when they need it.
  • Easier to keep the template in sync with the shell.

Disadvantages:

  • The average user may not need to ever customize the shell. And the separate repo can be kept lean.

@vkomenda Do you have an opinion on this?

Update README and documentation

Need to update the readme to reflect the new warpshell-v2 structure and add documentation on how to use xbflash2 to flash the device.

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.