• Home
  • Search
  • Module-per-Object: A Human-Driven Methodology for C++-Based High-Level Synthesis Design
  • Open Access IconOpen Access
  • Cite Icon9
  • https://doi.org/10.1109/fccm.2019.00037Copy DOI Icon

Module-per-Object: A Human-Driven Methodology for C++-Based High-Level Synthesis Design

  • Apr 1, 2019
  • Jeferson Santiago Da Silva +2 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

High-Level Synthesis (HLS) brings FPGAs to audiences previously unfamiliar to hardware design. However, achieving the highest Quality-of-Results (QoR) with HLS is still unattainable for most programmers. This requires detailed knowledge of FPGA architecture and hardware design in order to produce FPGA-friendly codes. Moreover, these codes are normally in conflict with best coding practices, which favor code reuse, modularity, and conciseness. To overcome these limitations, we propose Module-per-Object (MpO), a human-driven HLS design methodology intended for both hardware designers and software developers with limited FPGA expertise. MpO exploits modern C++ to raise the abstraction level while improving QoR, code readability and modularity. To guide HLS designers, we present the five characteristics of MpO classes. Each characteristic exploits the power of HLS-supported modern C++ features to build C++-based hardware modules. These characteristics lead to high-quality software descriptions and efficient hardware generation. We also present a use case of MpO, where we use C++ as the intermediate language for FPGA-targeted code generation from P4, a packet processing domain specific language. The MpO methodology is evaluated using three design experiments: a packet parser, a flow-based traffic manager, and a digital up-converter. Based on experiments, we show that MpO can be comparable to handwritten VHDL code while keeping a high abstraction level, humanreadable coding style and modularity. Compared to traditional C-based HLS design, MpO leads to more efficient circuit generation, both in terms of performance and resource utilization. Also, the MpO approach notably improves software quality, augmenting parameterization while eliminating the incidence of code duplication.

Similar Papers
  • Conference Article
  • Citations7

Investigating Performance Losses in High-Level Synthesis for Stencil Computations

  • May 01, 2020
  • Wesson Altoyan +1
  • Conference Article
  • Citations3

HLS-Based Flexible Hardware Accelerator for PCA Algorithm on a Low-Cost ZYNQ SoC

  • Oct 01, 2019
  • Mohammad Amir Mansoori +1
  • Conference Article
  • Citations3

Is It Time to Include High-Level Synthesis Design in Digital System Education for Undergraduate Computer Engineers?

  • May 01, 2021
  • Isaac Nelson +3
  • Conference Article
  • Citations17

Examining the consequences of high-level synthesis optimizations on power side-channel

  • Mar 01, 2018
  • Lu Zhang +6
  • Dissertation

Hardware/software co-design and compiler techniques for efficient hardware acceleration of dense linear algebra kernels and machine learning applications:

  • Jan 01, 2024
  • Nicolas Bohm Agostini
  • Research Article
  • Citations18

Power- and Area-Optimized High-Level Synthesis Implementation of a Digital Down Converter for Software-Defined Radio Applications

  • Nov 26, 2020
  • Circuits, Systems, and Signal Processing
  • Prateek Sikka +2
  • Preprint Article
  • Citations2

A fast Design Space Exploration Based on Priority Factor for a Multi Parametric Optimized High Level Synthesis Design Flow

  • May 30, 2023
  • Anirban Sengupta
  • Conference Article
  • Citations1

Cross-Modality Program Representation Learning for Electronic Design Automation with High-Level Synthesis

  • Sep 09, 2024
  • Zongyue Qin +6
  • Conference Article
  • Citations9

Resource and Performance Estimation for CNN Models using Machine Learning

  • Jul 01, 2021
  • Masoud Shahshahani +1
  • Conference Article
  • Citations4

Scheduling framework for real-time dependable NoC-based systems

  • Oct 01, 2009
  • Mihkel Tagel +2
  • Conference Article
  • Citations18

Rapid Cycle-Accurate Simulator for High-Level Synthesis

  • Feb 20, 2019
  • Yuze Chi +3
  • Conference Article
  • Citations10

Ten ways to waste a parallel computer

  • Jun 20, 2009
  • Katherine Yelick
  • Research Article

Phased-Array Antenna Beam Control System Design Based on HLS Plus RTL Mode

  • Jun 01, 2025
  • IOSR Journal of Electrical and Electronics Engineering
  • Shihai Gan +2
  • Conference Article
  • Citations6

Scaling Up Loop Pipelining for High-Level Synthesis: A Non-iterative Approach

  • Dec 01, 2018
  • Leandro De Souza Rosa +2
  • Dissertation

Certifying Loop Pipelining Transformations in Behavioral Synthesis

  • Apr 05, 2017
  • Disha Puri
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.