An Intermediate Representation for Composable Typed Streaming Dataflow Designs

08/25/2023
by   Matthijs A. Reukers, et al.
0

Tydi is an open specification for streaming dataflow designs in digital circuits, allowing designers to express how composite and variable-length data structures are transferred over streams using clear, data-centric types. These data types are extensively used in a many application domains, such as big data and SQL applications. This way, Tydi provides a higher-level method for defining interfaces between components as opposed to existing bit and byte-based interface specifications. In this paper, we introduce an open-source intermediate representation (IR) which allows for the declaration of Tydi's types. The IR enables creating and connecting components with Tydi Streams as interfaces, called Streamlets. It also lets backends for synthesis and simulation retain high-level information, such as documentation. Types and Streamlets can be easily reused between multiple projects, and Tydi's streams and type hierarchy can be used to define interface contracts, which aid collaboration when designing a larger system. The IR codifies the rules and properties established in the Tydi specification and serves to complement computation-oriented hardware design tools with a data-centric view on interfaces. To support different backends and targets, the IR is focused on expressing interfaces, and complements behavior described by hardware description languages and other IRs. Additionally, a testing syntax for the verification of inputs and outputs against abstract streams of data, and for substituting interdependent components, is presented which allows for the specification of behavior. To demonstrate this IR, we have created a grammar, parser, and query system, and paired these with a backend targeting VHDL.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/12/2022

Tydi-lang: A Language for Typed Streaming Hardware

Transferring composite data structures with variable-length fields often...
research
12/12/2022

Tydi-lang: a language for typed streaming hardware – A manual for future Tydi-lang compiler developers

Transferring composite data structures with variable-length fields often...
research
04/07/2020

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

Modern Hardware Description Languages (HDLs) such as SystemVerilog or VH...
research
05/24/2022

GraphQ IR: Unifying Semantic Parsing of Graph Query Language with Intermediate Representation

Subject to the semantic gap lying between natural and formal language, n...
research
04/21/2023

LightningSim: Fast and Accurate Trace-Based Simulation for High-Level Synthesis

High-Level Synthesis allows hardware designers to create complex RTL des...
research
12/01/2019

PointEval: On the Impact of Pointer Analysis Frameworks

Pointer analysis is a foundational analysis leveraged by various static ...

Please sign up or login with your details

Forgot password? Click here to reset