Towards a Hardware DSL Ecosystem : RubyRTL and Friends
Jean-Christophe Le Lann, Hannah Badier, Florent Kermarrec

TL;DR
This paper introduces RubyRTL, a new hardware description language embedded in Ruby, along with Sexpir, a format for exchanging designs between RubyRTL and Migen Python, fostering open source hardware collaboration.
Contribution
The paper presents RubyRTL, a novel internal DSL for hardware design in Ruby, and Sexpir, a language-neutral format for interoperability between hardware design tools.
Findings
RubyRTL leverages Ruby's meta-programming for hardware design.
Sexpir enables seamless exchange of RTL designs between RubyRTL and Migen Python.
The approach promotes collaboration among open source hardware communities.
Abstract
For several years, hardware design has been undergoing a surprising revival: fueled by open source initiatives, various tools and architectures have recently emerged. This resurgence also involves new hardware description languages. Inspired by the Migen Python community, we present RubyRTL, a novel internal domain-specific language for hardware design embedded in the Ruby language. Ruby -- which is best known in the field of web design -- has proven to be an excellent solution for the design of such DSLs, because of its meta-programming features. This paper presents the main aspects of RubyRTL, along with illustrating examples. We also propose a language-neutral interchange format, named Sexpir, that allows to seamlessly exchange RTL designs between Migen Python DSL and RubyRTL. This paves the way for interactions between various agile communities in the field of open source hardware…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsModel-Driven Software Engineering Techniques · Usability and User Interface Design · Embedded Systems Design Techniques
