Modular SMT-Based Verification of Rule-Based Hardware Designs

The highly-concurrent nature of hardware logic designs makes their design and verification difficult. Bluespec SystemVerilog (BSV) simplifies this problem by introducing the rule-level abstraction. Modules are expressed in terms of guarded atomic actions that appear to fire in a sequential order, ev...

Full description

Bibliographic Details
Main Author: Wright, Andrew C.
Other Authors: Arvind
Format: Thesis
Published: Massachusetts Institute of Technology 2022
Online Access:https://hdl.handle.net/1721.1/139491
_version_ 1811074717670440960
author Wright, Andrew C.
author2 Arvind
author_facet Arvind
Wright, Andrew C.
author_sort Wright, Andrew C.
collection MIT
description The highly-concurrent nature of hardware logic designs makes their design and verification difficult. Bluespec SystemVerilog (BSV) simplifies this problem by introducing the rule-level abstraction. Modules are expressed in terms of guarded atomic actions that appear to fire in a sequential order, even when multiple rules fire concurrently per clock cycle. This allows designers to think about concurrent systems one step at a time. This thesis aims to make hardware verification easier by leveraging the rule-level abstraction for verification using SMT-based verification, e.g. bounded and unbounded model checking. The main aspect of the rule-level abstraction taken advantage of is the modularity. Rule-level modules can only be interacted with through their interface methods, so if a module looks the same as its specification with respect to the legal sequences of method calls, then they can be used interchangeably without affecting the outer module. A modular verification technique that is based off of this idea can be used to replace complex submodules with simpler versions that reduce the complexity and the number of steps required for unbounded model checking. This modular verification methodology can take many problems that are infeasible for unbounded model checking and makes them feasible. Other aspects of rule-level hardware design languages (HDLs) are taken advantage of during verification such as the use of uninterpreted functions and abstract types. In this thesis, I present Spec `n' Check, an HDL inspired by BSV that is designed for powerful modularity and easy-to-write specifications. To fully support SMT-based verification, we present formal semantics for Spec `n' Check along with a symbolic representation of the semantics that can be used in SMT solvers. We also present what it means for a module to implement a specification and the related metatheorems that describe how the implements relation can be used to verify larger modules. We show that with this work, it is possible to formally verify a RISC-V pipelined processor implemented in the synthesizable subset of Spec `n' Check against an ISA specification in a matter of minutes of SMT solver run time. This is only possible thanks to module refinement and abstraction of the control and status register file (CSRF) and the memory system, and the use of uninterpreted functions.
first_indexed 2024-09-23T09:54:15Z
format Thesis
id mit-1721.1/139491
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T09:54:15Z
publishDate 2022
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/1394912022-01-15T03:57:09Z Modular SMT-Based Verification of Rule-Based Hardware Designs Wright, Andrew C. Arvind Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science The highly-concurrent nature of hardware logic designs makes their design and verification difficult. Bluespec SystemVerilog (BSV) simplifies this problem by introducing the rule-level abstraction. Modules are expressed in terms of guarded atomic actions that appear to fire in a sequential order, even when multiple rules fire concurrently per clock cycle. This allows designers to think about concurrent systems one step at a time. This thesis aims to make hardware verification easier by leveraging the rule-level abstraction for verification using SMT-based verification, e.g. bounded and unbounded model checking. The main aspect of the rule-level abstraction taken advantage of is the modularity. Rule-level modules can only be interacted with through their interface methods, so if a module looks the same as its specification with respect to the legal sequences of method calls, then they can be used interchangeably without affecting the outer module. A modular verification technique that is based off of this idea can be used to replace complex submodules with simpler versions that reduce the complexity and the number of steps required for unbounded model checking. This modular verification methodology can take many problems that are infeasible for unbounded model checking and makes them feasible. Other aspects of rule-level hardware design languages (HDLs) are taken advantage of during verification such as the use of uninterpreted functions and abstract types. In this thesis, I present Spec `n' Check, an HDL inspired by BSV that is designed for powerful modularity and easy-to-write specifications. To fully support SMT-based verification, we present formal semantics for Spec `n' Check along with a symbolic representation of the semantics that can be used in SMT solvers. We also present what it means for a module to implement a specification and the related metatheorems that describe how the implements relation can be used to verify larger modules. We show that with this work, it is possible to formally verify a RISC-V pipelined processor implemented in the synthesizable subset of Spec `n' Check against an ISA specification in a matter of minutes of SMT solver run time. This is only possible thanks to module refinement and abstraction of the control and status register file (CSRF) and the memory system, and the use of uninterpreted functions. Ph.D. 2022-01-14T15:15:13Z 2022-01-14T15:15:13Z 2021-06 2021-06-23T19:40:58.424Z Thesis https://hdl.handle.net/1721.1/139491 In Copyright - Educational Use Permitted Copyright MIT http://rightsstatements.org/page/InC-EDU/1.0/ application/pdf Massachusetts Institute of Technology
spellingShingle Wright, Andrew C.
Modular SMT-Based Verification of Rule-Based Hardware Designs
title Modular SMT-Based Verification of Rule-Based Hardware Designs
title_full Modular SMT-Based Verification of Rule-Based Hardware Designs
title_fullStr Modular SMT-Based Verification of Rule-Based Hardware Designs
title_full_unstemmed Modular SMT-Based Verification of Rule-Based Hardware Designs
title_short Modular SMT-Based Verification of Rule-Based Hardware Designs
title_sort modular smt based verification of rule based hardware designs
url https://hdl.handle.net/1721.1/139491
work_keys_str_mv AT wrightandrewc modularsmtbasedverificationofrulebasedhardwaredesigns