LLHD: A Multi-level Intermediate Representation for Hardware Description Languages

04/07/2020
by   Fabian Schuiki, et al.
0

Modern Hardware Description Languages (HDLs) such as SystemVerilog or VHDL are, due to their sheer complexity, insufficient to transport designs through modern circuit design flows. Instead, each design automation tool lowers HDLs to its own Intermediate Representation (IR). These tools are monolithic and mostly proprietary, disagree in their implementation of HDLs, and while many redundant IRs exists, no IR today can be used through the entire circuit design flow. To solve this problem, we propose the LLHD multi-level IR. LLHD is designed as simple, unambiguous reference description of a digital circuit, yet fully captures existing HDLs. We show this with our reference compiler on designs as complex as full CPU cores. LLHD comes with lowering passes to a hardware-near structural IR, which readily integrates with existing tools. LLHD establishes the basis for innovation in HDLs and tools without redundant compilers or disjoint IRs. For instance, we implement an LLHD simulator that runs up to 2.4x faster than commercial simulators but produces equivalent, cycle-accurate results. An initial vertically-integrated research prototype is capable of representing all levels of the IR, implements lowering from the behavioural to the structural IR, and covers a sufficient subset of SystemVerilog to support a full CPU design.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/10/2022

RISE Shine: Language-Oriented Compiler Design

The trend towards specialization of software and hardware - fuelled by t...
research
05/26/2020

Domain-Specific Multi-Level IR Rewriting for GPU

Traditional compilers operate on a single generic intermediate represent...
research
09/06/2021

QSSA: An SSA-based IR for Quantum Computing

Quantum computing hardware has progressed rapidly. Simultaneously, there...
research
08/25/2023

An Intermediate Representation for Composable Typed Streaming Dataflow Designs

Tydi is an open specification for streaming dataflow designs in digital ...
research
12/12/2022

Tydi-lang: A Language for Typed Streaming Hardware

Transferring composite data structures with variable-length fields often...
research
11/16/2020

Opportunities and Challenges for Circuit Board Level Hardware Description Languages

Board-level hardware description languages (HDLs) are one approach to in...

Please sign up or login with your details

Forgot password? Click here to reset