skip to main content


This content will become publicly available on June 6, 2024

Title: Modular Hardware Design with Timeline Types
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.  more » « less
Award ID(s):
1845952 2124045 1909073
NSF-PAR ID:
10426595
Author(s) / Creator(s):
; ;
Date Published:
Journal Name:
Proceedings of the ACM on Programming Languages
Volume:
7
Issue:
PLDI
ISSN:
2475-1421
Page Range / eLocation ID:
343 to 367
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. This paper examines a family of designs for magnetic cubes and counts how many configurations are possible for each design as a function of the number of modules. Magnetic modular cubes are cubes with magnets arranged on their faces. The magnets are positioned so that each face has either magnetic south or north pole outward. Moreover, we require that the net magnetic moment of the cube passes through the center of opposing faces. These magnetic arrangements enable coupling when cube faces with opposite polarity are brought in close proximity and enable moving the cubes by controlling the orientation of a global magnetic field. This paper investigates the 2D and 3D shapes that can be constructed by magnetic modular cubes, and describes all possible magnet arrangements that obey these rules. We select ten magnetic arrangements and assign a "color" to each of them for ease of visualization and reference. We provide a method to enumerate the number of unique polyominoes and polycubes that can be constructed from a given set of colored cubes. We use this method to enumerate all arrangements for up to 20 modules in 2D and 16 modules in 3D. We provide a motion planner for 2D assembly and through simulations compare which arrangements require fewer movements to generate and which arrangements are more common. Hardware demonstrations explore the self-assembly and disassembly of these modules in 2D and 3D. 
    more » « less
  2. null (Ed.)
    RNA origami is a framework for the modular design of nanoscaffolds that can be folded from a single strand of RNA and used to organize molecular components with nanoscale precision. The design of genetically expressible RNA origami, which must fold cotranscriptionally, requires modelling and design tools that simultaneously consider thermodynamics, the folding pathway, sequence constraints and pseudoknot optimization. Here, we describe RNA Origami Automated Design software (ROAD), which builds origami models from a library of structural modules, identifies potential folding barriers and designs optimized sequences. Using ROAD, we extend the scale and functional diversity of RNA scaffolds, creating 32 designs of up to 2,360 nucleotides, five that scaffold two proteins, and seven that scaffold two small molecules at precise distances. Micrographic and chromatographic comparisons of optimized and non-optimized structures validate that our principles for strand routing and sequence design substantially improve yield. By providing efficient design of RNA origami, ROAD may simplify the construction of custom RNA scaffolds for nanomedicine and synthetic biology. 
    more » « less
  3. Due to the globalization of Integrated Circuit supply chain, hardware Trojans and the attacks that can trigger them have become an important security issue. One type of hardware Trojans leverages the “don’t care transitions” in Finite-state Machines (FSMs) of hardware designs. In this article, we present a symbolic approach to detecting don’t care transitions and the hidden Trojans. Our detection approach works at both register-transfer level (RTL) and gate level, does not require a golden design, and works in three stages. In the first stage, it explores the reachable states. In the second stage, it performs an approximate analysis to find the don’t care transitions and any discrepancies in the register values or output lines due to don’t care transitions. The second stage can be used for both predicting don’t care triggered Trojans and for guiding don’t care aware reachability analysis. In the third stage, it performs a state-space exploration from reachable states that have incoming don’t care transitions to explore the Trojan payload and to find behavioral discrepancies with respect to what has been observed in the first stage. We also present a pruning technique based on the reachability of FSM states. We present a methodology that leverages both RTL and gate-level for soundness and efficiency. Specifically, we show that don’t care transitions and Trojans that leverage them must be detected at the gate-level, i.e., after synthesis has been performed, for soundness. However, under specific conditions, Trojan payload exploration can be performed more efficiently at RTL. Additionally, the modular design of our approach also provides a fast Trojan prediction method even at the gate level when the reachable states of the FSM is known a priori . Evaluation of our approach on a set of benchmarks from OpenCores and TrustHub and using gate-level representation generated by two synthesis tools, YOSYS and Synopsis Design Compiler (SDC), shows that our approach is both efficient (up to 10× speedup w.r.t. no pruning) and precise (0% false positives both at RTL and gate-level netlist) in detecting don’t care transitions and the Trojans that leverage them. Additionally, the total analysis time can achieve up to 1.62× (using YOSYS) and 1.92× (using SDC) speedup when synthesis preserves the FSM structure, the foundry is trusted, and the Trojan detection is performed at RTL. 
    more » « less
  4. null (Ed.)
    Most undergraduate civil engineering programs include an introductory course in reinforced concrete design. The course generally includes an introduction to the fundamentals of reinforced concrete behavior, the design of simple beams and one-way slabs to resist shear and flexure, and the design of short columns. Because of the scale of typical civil engineering structures, students commonly do not get to experience large or full-scale structural behavior as a part of an undergraduate reinforced concrete course. Rather, students typically learn fundamental concepts through theoretical discussions, small demonstrations, or pictures and images. Without the interaction with full-scale structural members, students can struggle to develop a clear understanding of the fundamental behavior of these systems such as the differences in behavior of an over or under-reinforced beam. Additionally, students do not build an appreciation for the variations between as-built versus theoretical designs. Large-scale models can illustrate such behavior and enhance student understanding, but most civil engineering programs lack the physical equipment to perform testing at this scale. The authors from St. Louis University (SLU) and Rose-Hulman Institute of Technology (RHIT) have designed and implemented large-scale tests for in-class use that allow students to experience fundamental reinforced concrete behavior. Students design and test several reinforced concrete members using a modular strong-block testing system. This paper provides a detailed overview of the design, fabrication, and implementation of three large-scale experiential learning modules for an undergraduate reinforced concrete design course. The first module focuses on service load and deflections of a reinforced concrete beam. The first and second modules also focus on flexural failure modes and ductility. The third module focuses on shear design and failure modes. Each module uses a large scale reinforced concrete beam (Flexure specimens: 12 in. x 14 in. x 19 ft, Shear specimens: 12 in. x 14 in. x 10 ft.) that was tested on a modular strong-block testing system. The three modules were used throughout the reinforced concrete design course at SLU and RHIT to illustrate behavior concurrent to the presentation of various reinforced concrete design concepts. 
    more » « less
  5. Autonomous multicopters often feature federated architectures, which incur relatively high communication costs between separate hardware components. These costs limit the ability to react quickly to new mission objectives. Additionally, federated architectures are not easily upgraded without introducing new hardware that impacts size, weight, power and cost (SWaP-C) constraints. In turn, such constraints restrict the use of redundant hardware to handle faults. In response to these challenges, we propose FlyOS, an Integrated Modular Avionics (IMA) approach to consolidate mixed-criticality flight functions in software on heterogeneous multicore aerial platforms. FlyOS is based on a separation kernel that statically partitions resources among virtualized sandboxed OSes. We present a dual-sandbox prototype configuration, where timing-and safety-critical flight control tasks execute in a real-time OS alongside mission-critical vision-based navigation tasks in a Linux sandbox. Low latency shared memory communication allows flight commands and data to be relayed in real-time between sandboxes. A hypervisor-based fault-tolerance mechanism is also deployed to ensure failover flight control in case of critical function or timing failures. We validate FlyOS’s performance and showcase its benefits when compared against traditional architectures in terms of predictable, extensible and efficient flight control. 
    more » « less