Skip to content

Tinker: Generating Custom Memory Architectures for Altera’s OpenCL Compiler

License

Notifications You must be signed in to change notification settings

KastnerRG/tinker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tinker: Generating Custom Memory Architectures for Altera’s OpenCL Compiler

Tools for C/C++ based-hardware development have grown in popularity in recent years. However, the impact of these tools has been limited by their lack of support for integration with vendor IP, external memories, and communication peripherals. Thus, we have created Tinker! Tinker is an open source Board Support Package generator for Altera’s OpenCL Compiler. Board Support Packages define memory, communication, and IP ports for easy integration with high level synthesis cores. Tinker abstracts the low-level hardware details of hardware development when creating board support packages and greatly increases the flexibility of OpenCL development. Tinker currently generates custom memory architectures from user specifications.

The Tinker project is a collection of python scripts that turn high level specifications (written in JSON) into XML files that are used by, Qsys, and TCL scripts. Example specifications can be found in the example folder; Test kernels can be found in the tests folder; Python and tcl scripts are locaed in their respective folders. Documentation for this project being actively added to the docs folder.

We currently support (and have tested) the following boards:

Terasic de5net (a7) in Quartus 14.1

Tinker is released under an open source BSD-3 Clause license. You are free to modify, use, and redistribute as long as it follows the guidelines setforth in the LICENSE file.

About

Tinker: Generating Custom Memory Architectures for Altera’s OpenCL Compiler

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published