Giter Club home page Giter Club logo

spinaldla's Introduction

About SpinalDLA

SpinalDLA is an RTL design library for deep learning accelerators based on SpinalHDL, aiming to provide agile development tools for hardware developers specializing in customized hardware. (still under development)

SpinalDLA integrates the following features:

  • flexible and versatile DSP-based arithmetic units on Xilinx FPGAs (coming soon)
  • very useful memory controller for deep learning applications (coming soon)
  • versatile systolic array instantiation templates (coming soon)
  • agile simulation for deep neural networks (coming soon)
  • several deep learning accelerator design examples (coming soon)
  • and more...

Plug-and-Play RTL Modules

This library provides users with a set of plug-and-play RTL modules, which does not require users to have a deep understanding of SpinalHDL. Users can simply instantiate the modules and connect them together to build their own deep learning accelerators.

Located at verilog/ directory, the RTL modules are written in Verilog, which can be easily integrated into any existing RTL design flow.

The corresponding simulation waveforms are located at fst/ directory, which can be viewed by GTKWave.

The table is listed below:

Module Name Description
int_8_mul.v Xilinx INT8 Packing Technique
unt_4_mul.v Xilinx INT4 Packing Technique
int12_xadd.v Spike-Based Synaptic Operation
int8_dotp.v Xilinx INT8 Dot Product Chain
int8_ws_B_P.v INT8 Weight Stationary Systolic Array Chain with B and P Cascade, B path is used by In-DSP Operand Prefetching.
int8_ws_AD_B.v INT8 Weight Stationary Systolic Array Chain with AD and B Cascade, B path is used by In-DSP Operand Prefetching.
int16_dotp.v INT16 Dot Product Chain
int16_dotp_ddr.v INT16 Dot Product Chain with In-DSP Time-Multiplexing
int16_ws_B_P.v INT16 Weight Stationary Systolic Array Chain with B and P Cascade
int16_os_B_P.v INT16 Output Stationary Systolic Array Chain with B and P Cascade, P path is used by Partial Sums Offloading.
int24_acc_scale.v SIMD=2 Accumulate then Scale Operation

How to Use it

This library is based on SpinalHDL with SBT build. (still under development)

  1. Add sbt-github-packages plugin to enable sbt to consume the package. Add this line to your ./project/plugins.sbt file:
addSbtPlugin("com.codecommit" % "sbt-github-packages" % "0.5.2")
  1. Add the following lines to your ./build.sbt file:
githubTokenSource := TokenSource.GitConfig("github.token")
resolvers += Resolver.githubPackages("adamgallas", "SpinalDLA")
libraryDependencies += "casia" %% "SpinalDLA" % "0.3"
  1. Rebuid your project with sbt compile.

spinaldla's People

Contributors

adamgallas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

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.