Skip to content

esl-epfl/DIsco-CGRA-sim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESL-DISCO-CGRA Simulator

The DISCO-CGRA architecture is a powerful CGRA-like processor designed for the biomedical domain, but can be used to accelerate a multitude of edge-AI applications if programmed accordingly. This simulator repository models the different architectural components of DISCO-CGRA (RTL blocks, memories, processing elements, etc.) using Python structures. This repository serves to:

  • Educate new users of the DISCO-CGRA architecutre on its full structure and funcitonality
  • Enable users to deconstruct existing kernels and understand their functionality at every step
  • Facilitate the development of new kernels, thus expanding the potential and impact of the DISCO-CGRA This simulator does not include the compilation of C code into DISCO-CGRA-compatible assembly code.

Structure

The how_to_start.ipynb file teaches you how to understand existing DISCO-CGRA kernels and start writing new ones.

The disco-cgra_docs/ folder includes important information about the strucutre and function of the architecture. It is also included a description of the assembly ISA for the DISCO-CGRA.

The src/ folder contains Python structures modeling each architectural module of the DISCO-CGRA, functions for encoding/decoding the Assembly language of each of these blocks, and (future work) simulations of its processing and memeory elements.

The kernels/ folder contains all existing kernels written for the DISCO-CGRA, as well as insructions for using them. It is mandatory that every new kernel written for the DISCO-CGRA contains a README describing the usage of the kernel (i.e. expected inputs/outputs, how to initialize the Scalar Register File, where to write data and read the results in memory).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published