Wed 19 Jul 2023 11:15 - 11:30 at Amazon Auditorium (Gates G20) - ECOOP 1: Semantics Chair(s): Sophia Drossopoulou

Quantitative Type-Systems support fine-grained reasoning about term usage in our programming languages. Hardware Design Languages are another style of language in which quantitative typing would be beneficial. When wiring components together we must ensure that there are no unused ports, dangling wires, or accidental fan-ins and fan-outs. Although many wire usages checks are detectable using static analysis tools, such as Verilator, quantitative typing supports making these extrinsic checks an intrinsic aspect of the type-system. With quantitative typing of bound terms, we can provide design-time checks that all wires and ports have been used, and ensure that all wiring decisions are explicitly made, and are neither implicit nor accidental.

We showcase the use of quantitative types in hardware design languages by detailing how we can retrofit quantitative types onto SystemVerilog netlists. Netlists are gate-level descriptions of hardware the are produced as the result of synthesis, it is from these netlists that hardware is generated (fabless or fabbed). First, we present a simple structural type-system for SystemVerilog netlists that demonstrates how we can type netlists using standard structural techniques and what it means for netlists to be type-safe but still lead to ill-wired designs. We then detail how to retrofit the type-system with quantitative types and make the type-system sub-structural and detail how our new type-safety result ensures that wires and ports are used once.

Our ideas have been proven both practically and formally by realising our work in Idris2, through which we can construct a verified language implementation that can type-check existing designs. From this work we can look to promote quantitative typing back up the synthesis chain to a more comprehensive hardware description language; and to help develop new and better hardware description languages with quantitative typing.

Wed 19 Jul

Displayed time zone: Pacific Time (US & Canada) change

10:30 - 12:00
ECOOP 1: SemanticsResearch Papers at Amazon Auditorium (Gates G20)
Chair(s): Sophia Drossopoulou Imperial College London
10:30
15m
Talk
Semantics for Noninterference with Interaction Trees
Research Papers
Lucas Silver University of Pennsylvania, Paul He University of Pennsylvania, Ethan Cecchetti University of Maryland, College Park, Andrew K. Hirsch University at Buffalo, Steve Zdancewic University of Pennsylvania
DOI
10:45
15m
Talk
Interaction Tree Specifications: A Framework for Specifying Recursive, Effectful Computations that Supports Auto-active Verification
Research Papers
Lucas Silver University of Pennsylvania, Edwin Westbrook Galois, Matthew Yacavone Galois, Inc., Ryan Scott Galois, Inc.
DOI
11:00
15m
Talk
Multi-Graded Featherweight Java
Research Papers
Riccardo Bianchini University of Genoa, Francesco Dagnino University of Genoa, Paola Giannini University of Eastern Piedmont, Elena Zucca University of Genoa
DOI
11:15
15m
Talk
Wiring circuits is easy as {0, 1, ω}, or is it…
Research Papers
Jan de Muijnck-Hughes University of Glasgow, Wim Vanderbauwhede University of Glasgow
DOI
11:30
15m
Talk
Automata Learning with an Incomplete Teacher
Research Papers
Mark Moeller Cornell University, Thomas Wiener Cornell University, Alaia Solko-Breslin University of Pennsylvania, Caleb Koch Stanford, Nate Foster Cornell University, Alexandra Silva Cornell University
DOI
11:45
15m
Talk
A Direct-Style Effect Notation for Sequential and Parallel Programs
Research Papers
David Richter Technical University of Darmstadt, Timon Böhler Technical University of Darmstadt, Pascal Weisenburger University of St. Gallen, Mira Mezini TU Darmstadt
DOI Pre-print Media Attached