Skip to content
/ caph Public

A language and toolset for implementing dataflow applications on FPGAs

License

Notifications You must be signed in to change notification settings

jserot/caph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CAPH

CAPH is a domain-specific language for describing and implementing stream-processing applications on reconfigurable hardware, such as FPGAs. CAPH generates VHDL code from high-level descriptions of signal or image processing applications. CAPH relies upon the actor/dataflow model of computation. Applications are described as networks of purely dataflow actors exchanging tokens through unidirectional channels and the behavior of each actor is defined as a set of transition rules using pattern matching.

CAPH comes with :

  • a higher-order, purely functional language for description of complex dataflow networks
  • a rich type system with sized-integers, booleans, floats, fully polymorphic algebraic data types and dependent types
  • automatic type inference and type-checking
  • higher-order actors (actors taking functions as parameters)
  • pattern-matching based description of actor behavior
  • graphical visualisation of dataflow networks
  • code simulation with trace facilities
  • SystemC back-end for simulation
  • VHDL backend, generating target-independant, ready-to-synthetize, time and space-efficient VHDL code
  • a foreign-function interface (FFI) to use existing SystemC or VHDL code

DOCUMENTATION

Project web page

Tutorial and Reference manual.

INSTALLATION

Using pre-built binaries

Installers for MacOS and Windows are available from the Project web page.

From source

Pre-requisites :

  • Ocaml version >= 4.06.0 with the following packages

  • A running Latex installation, with the pdflatex command if you want to build the documentation from sources

  • A Qt5 installation if you want to build the GUI

Download the source tree from the Project web page or via github (git clone https://github.com/jserot/caph).

From the root of the source tree :

  1. ./configure [options] (./configure --help for the list of options)
  2. make
  3. make install

About

A language and toolset for implementing dataflow applications on FPGAs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published