Sat 17 Jun 2023 15:10 - 15:20 at Magnolia 4 - PLARCH: Session 3 Chair(s): Caroline Trippel

This presentation describes a proof of concept project Silver Oak which demonstrates the formal specification, implementation and verification of a subset of the OpenTitan silicon root of trust chip specification. The system is almost entirely implemented in the Coq theorem prover and includes theorems and proofs that span hardware and software components. A structural hardware description language called Cava (inspired by the Lava DSL in Haskell) was used to implement an AES encryption/decryption block. The Bedrock 2 DSLn Coq from MT was used to implement the driver code that runs on a RISC-V core which communicates with the AES hardware block over the TileLink bus.

We were able to produce both hardware and software components extracted from Coq (RISC-V code for the software, SystemVerilog for the hardware) that functioned as drop-in replacements for the C driver code for the AES block and the AES hardware block. Both extracted components were no larger or slower than the original block and the FPGA-based hardware system was able to function correctly with the high assurance blocks extracted from Coq.

This project demonstrates the viability of co-developing hardware and software in a single framework that supports formal specification and verification, while also permitting the extraction of performant code and hardware with proofs that span the hardware software divide.

Sat 17 Jun

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

14:00 - 15:30
PLARCH: Session 3PLARCH at Magnolia 4
Chair(s): Caroline Trippel Stanford University

#plarch-sat-magnolia4 Discord icon small YouTube icon small

14:00
15m
Talk
They're the same picture: a software-verification flow adapted for hardware verification
PLARCH
Andreas Lööw Imperial College London, Magnus O. Myreen Chalmers University of Technology
Pre-print
14:15
15m
Talk
Design for Hardware Memory Model Verification
PLARCH
Yao Hsiao Stanford University, Yasas Seneviratne University of Virginia, Tommy Tracy II University of Virginia, Kevin Skadron University of Virginia, Caroline Trippel Stanford University
File Attached
14:40
10m
Talk
Nerv: Probabilistic Dynamic Partial Order Reduction for Hardware
PLARCH
Tianrui Wei University of California, Berkeley, Shangyin Tan University of California at Berkeley, Koushik Sen University of California at Berkeley, Krste Asanovic University of California Berkeley
14:50
10m
Talk
NFC:Next-generation Formal verification for high performance Caches
PLARCH
Tianrui Wei University of California, Berkeley, Jerry Zhao UC Berkeley, Krste Asanovic University of California Berkeley
15:00
10m
Talk
Sandia's Formal Hardware Design and Verification, Present and Future
PLARCH
Noah Evans Sandia National Laboratories
15:10
10m
Talk
Silver Oak: Hardware Software Co-Design and Co-Verification in Coq
PLARCH
Ben Blaxill Groq, Samuel Grütter Massachusetts Institute of Technology, Jade Philipoom Google, Germany, Satnam Singh Groq