Pyramid: Machine Learning Framework to Estimate the Optimal Timing and Resource Usage of a High-Level Synthesis Design

07/29/2019
by   Hosein Mohammadi Makrani, et al.
0

The emergence of High-Level Synthesis (HLS) tools shifted the paradigm of hardware design by making the process of mapping high-level programming languages to hardware design such as C to VHDL/Verilog feasible. HLS tools offer a plethora of techniques to optimize designs for both area and performance, but resource usage and timing reports of HLS tools mostly deviate from the post-implementation results. In addition, to evaluate a hardware design performance, it is critical to determine the maximum achievable clock frequency. Obtaining such information using static timing analysis provided by CAD tools is difficult, due to the multitude of tool options. Moreover, a binary search to find the maximum frequency is tedious, time-consuming, and often does not obtain the optimal result. To address these challenges, we propose a framework, called Pyramid, that uses machine learning to accurately estimate the optimal performance and resource utilization of an HLS design. For this purpose, we first create a database of C-to-FPGA results from a diverse set of benchmarks. To find the achievable maximum clock frequency, we use Minerva, which is an automated hardware optimization tool. Minerva determines the close-to-optimal settings of tools, using static timing analysis and a heuristic algorithm, and targets either optimal throughput or throughput-to-area. Pyramid uses the database to train an ensemble machine learning model to map the HLS-reported features to the results of Minerva. To this end, Pyramid re-calibrates the results of HLS to bridge the accuracy gap and enable developers to estimate the throughput or throughput-to-area of hardware design with more than 95 actual implementation for estimation.

READ FULL TEXT
research
05/24/2022

Predicting Post-Route Quality of Results Estimates for HLS Designs using Machine Learning

Machine learning (ML) has been widely used to improve the predictability...
research
06/12/2016

Automated Space/Time Scaling of Streaming Task Graph

In this paper, we describe a high-level synthesis (HLS) tool that automa...
research
02/16/2021

IronMan: GNN-assisted Design Space Exploration in High-Level Synthesis via Reinforcement Learning

Despite the great success of High-Level Synthesis (HLS) tools, we observ...
research
05/23/2023

Accelerating FPGA-Based Wi-Fi Transceiver Design and Prototyping by High-Level Synthesis

Field-Programmable Gate Array (FPGA)-based Software-Defined Radio (SDR) ...
research
01/06/2018

A Machine Learning Framework for Register Placement Optimization in Digital Circuit Design

In modern digital circuit back-end design, designers heavily rely on ele...
research
01/17/2020

LASCA: Learning Assisted Side Channel Delay Analysis for Hardware Trojan Detection

In this paper, we introduce a Learning Assisted Side Channel delay Analy...
research
08/27/2021

Synthesis of Predictable Global NoC by Abutment in Synchoros VLSI Design

Synchoros VLSI design style has been proposed as an alternative to the s...

Please sign up or login with your details

Forgot password? Click here to reset