Reference. Parameterized Hardware Design with Latency-Abstract Interfaces
Cite
Cites 35 works (2 here)
With notes (2)
Modular Hardware Design with Timeline Types nigam_amorim_sampson_2023
Modular design is a key challenge for enabling large-scale reuse of hardware modules. Unlike software, however, hardware designs correspond to physical circuits and inherit constraints from them. Timing constraints—which cycle a signal arrives, when an input is read—and structural constraints—how often a multiplier accepts new inputs—are fundamental to hardware interfaces. Existing hardware design languages do not provide a way to encode these constraints; a user must read documentation, build scripts, or in the worst case, a module’s implementation to understand how to use it. We present Filament, a language for modular hardware design that supports the specification and enforcement of timing and structural constraints for statically scheduled pipelines. Filament uses timeline types, which describe the intervals of clock-cycle time when a given signal is available or required. Filament enables safe composition of hardware modules, ensures that the resulting designs are correctly pipelined, and predictably lowers them to efficient hardware.
Predictable accelerator design with time-sensitive affine types nigam-2020-predictable
External (33)
- Anvil: A General-Purpose Timing-Safe Hardware Description Language (2025)
- Diplomacy: a parameter negotiation framework for Chisel (2025)
- Latency counting in the SUS language (2024)
- Spade: An Expression-Based HDL With Pipelines (2023)
- XLS: Accelerated Hardware Design (2023)
- Xilinx LogiCORE IP Multiplier v11.2 (2022)
- Jasper Gold FPV App (2022)
- Vivado design suite user guide: designing with IP (2022)
- HardCaml: Register Transfer Level Hardware Design in OCaml (2022)
- LogiCORE IP Divider Generator v5.1 (2021)
- Vivado ERROR: [Synth 8-27] Complex defparam not supported (2021)
- Type-directed scheduling of streaming accelerators (2020)
- SPIRAL: Extreme Performance Portability (2018)
- Spatial: a language and compiler for application accelerators (2018)
- CoSA: Integrated Verification for Agile Hardware Design (2018)
- Timing-Abstract Circuit Design in Transaction-Level Verilog (2017)
- Rigel: flexible multi-rate image processing hardware (2016)
- Darkroom: compiling high-level image processing code into hardware pipelines (2014)
- PyMTL: A Unified Framework for Vertically Integrated Computer Architecture Research (2014)
- Bambu: A modular framework for the high level synthesis of memory-intensive applications (2013)
- Chisel: Constructing hardware in a Scala embedded language (2012)
- Computer Generation of Hardware for Linear Digital Signal Processing Transforms (2012)
- Avoiding game over: Bringing design to the next level (2012)
- Designing Custom Arithmetic Data Paths with FloPoCo (2011)
- LogiCORE IP Divider Generator v3.0 (2011)
- LogiCORE IP Fast Fourier Transform v7.1 (2011)
- CλaSH: Structural Descriptions of Synchronous Hardware Using Haskell (2010)
- Z3: An Efficient SMT Solver (2008)
- AutoPilot: A Platform-Based ESL Synthesis System (2008)
- A practical guide for SystemVerilog assertions (2005)
- Bluespec System Verilog: efficient, correct RTL from high level specifications (2004)
- Theory of latency-insensitive design (2001)
- The Verilog Golden Reference Manual (1996)