RustSFQ: A Domain-Specific Language for SFQ Circuit Design

📅 2025-02-17
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
To address critical challenges in single-flux-quantum (SFQ) circuit design—including inconsistent input/output interfaces and error-prone manual interconnections—this paper introduces RustSFQ, a domain-specific language (DSL) embedded in Rust. Its core innovation leverages Rust’s ownership system to statically verify, at compile time, that each signal line is consumed exactly once, thereby eliminating wiring errors at the source. Additionally, RustSFQ enables functional abstraction of SFQ primitives and fully automated netlist generation for both analog and digital simulation. As a key validation, we present the first DSL-driven, fully automated implementation of a 4-bit SFQ Reed–Solomon encoder, which passes functional verification at 10 GHz. Compared to conventional manual design flows, RustSFQ significantly improves design productivity while providing type safety, formal verifiability, and a high-assurance development paradigm for SFQ circuits.

Technology Category

Application Category

📝 Abstract
Cell-based design of a single-flux-quantum (SFQ) digital circuit requires input-output consistency; every output signal must be consumed only once by the input of the following component, which is a unique constraint, unlike the traditional CMOS digital circuit design. While there are some cell libraries and simulation tools for SFQ circuit development, they do not verify the input-output consistency, and designers have significant responsibilities to ensure it manually. Additionally, designers have to carefully manage net names without unintended duplication and correct connectivity among nets in a netlist for simulations. We propose RustSFQ, a domain-specific language (DSL) embedded in Rust that automatically ensures the input-output consistency in the SFQ circuit by leveraging the ownership system of Rust. Each SFQ circuit element is represented as a function while wires are represented as instances, and the Rust compiler verifies that multiple elements do not share a single wire through the ownership system. Circuit descriptions in the RustSFQ are successfully compiled into low-level netlists for both analog and digital circuit simulations, and the DSL provides higher productivity than the conventional design flow. Using the RustSFQ, we developed an SFQ-based Reed-Solomon encoder with a 4-bit width for the first time as a case study. We confirmed that the circuit operated correctly at 10 GHz through circuit simulations.
Problem

Research questions and friction points this paper is trying to address.

Ensures input-output consistency in SFQ circuits
Automates netlist management for SFQ circuit simulations
Designs SFQ-based Reed-Solomon encoder using RustSFQ
Innovation

Methods, ideas, or system contributions that make the work stand out.

RustSFQ ensures input-output consistency
Leverages Rust's ownership system
Compiles into low-level netlists