Tydi-lang: a language for typed streaming hardware -- A manual for future Tydi-lang compiler developers
Yongding Tian, Zaid Al-Ars, Peter Hofstee

TL;DR
Tydi-lang is a high-level hardware description language that leverages the Tydi specification to simplify streaming hardware design, improve collaboration, and reduce development effort through an open-source compiler and simulation tools.
Contribution
It introduces Tydi-lang, a new HDL that incorporates Tydi-spec for typed streams, along with a compiler and simulation blueprint to enhance hardware design abstraction.
Findings
Successfully translates SQL to VHDL using Tydi-lang
Reduces design effort and improves abstraction in streaming hardware
Provides an open-source compiler and simulation tools
Abstract
Transferring composite data structures with variable-length fields often requires designing non-trivial protocols that are not compatible between hardware designs. When each project designs its own data format and protocols the ability to collaborate between hardware developers is diminished, which is an issue especially in the open-source community. Because the high-level meaning of a protocol is often lost in translation to low-level languages when a custom protocol needs to be designed, extra documentation is required, the interpretation of which introduces new opportunities for errors. The Tydi specification (Tydi-spec) was proposed to address the above issues by codifying the composite and variable-length data structures in a type and providing a standard protocol to transfer typed data among hardware components. The Tydi intermediate representation (Tydi-IR) extends the Tydi-spec…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Distributed and Parallel Computing Systems
