Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
CHARD

Problem Addressed

Programming FPGAs for hardware acceleration is a complex and time-consuming task that requires specific skills and tools that are different from typical software development.  

In addition, current HLS tools allow software developers to use C-like languages to program FPGA, still require hardware expertise and manual code transformations and directives to generate efficient hardware implementations. This affects productivity, performance, and energy efficiency of FPGA-based systems, especially for applications that involve data-intensive and parallel computations, such as image processing, machine learning, and DSP algorithms.

Technology

Our solution is CHARD, a software that automatically restructures code, transforming C code into a dataflow graph (DFG) and applies graph optimizations to generate C code with high-level synthesis (HLS) directives for FPGA-based hardware accelerators. The technology aims to enable software developers to program FPGAs more easily and efficiently, without requiring deep knowledge of hardware design or HLS tools.  

The technology is based on a flexible frontend that can handle different input languages and a backend that implements various graph transformations and optimizations, such as folding, unfolding, pipelining, arithmetic optimizations, array partitioning, and data reuse. CHARD is implemented in a framework that can automatically generate HLS-friendly C code from execution traces of the input critical functions, achieving speedups of 30-100 times (vs original unmodified C code) and 2-15 faster (vs C optimized with Vivado HLS directives). 

Advantages

Versatility - Supports different input programming language;

User-friendly - Simpler instructions than HLS tools eliminating the need for deep HLS knowledge;

Performance - Automatic generation of optimized C code with significant speedups;

Resilient - Ready to highly complex code restructuring and immune to non-included particular transformations. 

Possible Applications

- High-Level Synthesis (HLS) hardware for FPGAs

  • Technology Reference

    18-1463
  • Commercial Rights

    INESC TEC has exclusive rights
  • Development Stage

    Lab Prototype (TRL 3-4)
  • Further Information

     

    Intellectual Property Status 

    Japan (granted) 

    USA (granted) 

    Europe (pending) 

    China (pending) 

     

    Opportunity

    - Licensing (AGPLv3 or commercial license) 

    - Contract Research 

     

    Scientific Publications

    Intelligent Information and Database Systems (2019), pp 230-244 

     

  • Industrial Categories

    Digital
  • Tags

    Graph transformations, FPGA, Hardware accelerators, High-Level synthesis (HLS)
Contacts