A Chisel Framework for Flexible Design Space Exploration through a Functional Approach

by   Bruno Ferres, et al.

As the need for efficient digital circuits is ever growing in the industry, the design of such systems remains daunting, requiring both expertise and time. In an attempt to close the gap between software development and hardware design, powerful features such as functional and object-oriented programming have been used to define new languages, known as Hardware Construction Languages. In this article, we investigate the usage of such languages - more precisely, of Chisel - in the context of Design Space Exploration, and propose a novel design methodology to build custom and adaptable design flows. We apply a functional approach to define flexible strategies for design space exploration, based on combinations of basic exploration steps, and provide a proof-of-concept framework along with a library of basic strategies. We demonstrate our methodology through several use cases, illustrating how various metrics of interest can be considered to build exploration processes - in particular, we provide a quality of service-driven exploration example. The methodology presented in this work makes use of designers' expertise to reduce the time required for hardware design, in particular for Design Space Exploration, and its application should ease digital design and enhance hardware developpers' productivity.


page 6

page 8

page 9

page 10

page 11

page 12


PEak: A Single Source of Truth for Hardware Design and Verification

Domain-specific languages for hardware can significantly enhance designe...

Development of Energy Models for Design Space Exploration of Embedded Many-Core Systems

This paper introduces a methodology to develop energy models for the des...

Automatic Hardware Trojan Insertion using Machine Learning

Due to the current horizontal business model that promotes increasing re...

Enabling Cross-Domain Communication: How to Bridge the Gap between AI and HW Engineers

A key issue in system design is the lack of communication between hardwa...

CVA6 RISC-V Virtualization: Architecture, Microarchitecture, and Design Space Exploration

Virtualization is a key technology used in a wide range of applications,...

A Design Space Exploration Methodology for Parameter Optimization in Multicore Processors

The need for application-specific design of multicore/manycore processin...

hlslib: Software Engineering for Hardware Design

High-level synthesis (HLS) tools have brought FPGA development into the ...

Please sign up or login with your details

Forgot password? Click here to reset