RVFC: RISC-V Formal in Chisel

Mufan Xiang, Yongjian Li, Yongxin Zhao

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

With the increasing complexity of hardware design requirements and the development of open-source hardware ecosystems, Chisel and RISC-V are becoming increasingly popular. As a domain-specific language of Scala, Chisel is gradually becoming the choice of hardware design development with the help of the features of high-level languages. Especially in the RISC-V open-source instruction set ecosystem, many representative projects are implemented with Chisel. In hardware development, the correctness verification of the design is essential. A promising stream for verifying the correctness of RISC-V designs is RISC-V Formal, which is at the SystemVerilog level. In this paper, we propose RVFC, a framework for formal verification of RISC-V designs at the Chisel level. It is based on the ability of ChiselFV to define formal properties and verify them at the Chisel level. We also reimplemented a textbook RISC-V five-stage pipeline design and found an oversight in the design through RVFC verification.

Original languageEnglish
Title of host publication2023 International Symposium of Electronics Design Automation, ISEDA 2023
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages162-167
Number of pages6
ISBN (Electronic)9798350304510
DOIs
StatePublished - 2023
Event2023 International Symposium of Electronics Design Automation, ISEDA 2023 - Nanjing, China
Duration: 8 May 202311 May 2023

Publication series

Name2023 International Symposium of Electronics Design Automation, ISEDA 2023

Conference

Conference2023 International Symposium of Electronics Design Automation, ISEDA 2023
Country/TerritoryChina
CityNanjing
Period8/05/2311/05/23

Keywords

  • Chisel
  • Formal Verification
  • Hardware verification
  • RISC-V

Fingerprint

Dive into the research topics of 'RVFC: RISC-V Formal in Chisel'. Together they form a unique fingerprint.

Cite this