Verik: Reinterpreting Kotlin as a Hardware Description Language

This work introduces Verik, a hardware description language (HDL) for designing and verifying digital integrated circuits. Verik aims to be a drop-in replacement for SystemVerilog that leverages the productivity gains of the modern software stack to improve engineer productivity. Verik builds upon K...

Full description

Bibliographic Details
Main Author: Wang, Francis
Other Authors: Wachman, Silvina Hanono
Format: Thesis
Published: Massachusetts Institute of Technology 2022
Online Access:https://hdl.handle.net/1721.1/145151
_version_ 1826208760935219200
author Wang, Francis
author2 Wachman, Silvina Hanono
author_facet Wachman, Silvina Hanono
Wang, Francis
author_sort Wang, Francis
collection MIT
description This work introduces Verik, a hardware description language (HDL) for designing and verifying digital integrated circuits. Verik aims to be a drop-in replacement for SystemVerilog that leverages the productivity gains of the modern software stack to improve engineer productivity. Verik builds upon Kotlin, a modern general-purpose programming language with a clean and expressive syntax. Verik is Kotlin reinterpreted with the semantics of an HDL. The Verik toolchain consists of two parts, the compiler and the importer, and they serve to bridge the gap between the Kotlin and SystemVerilog environments. Verik is translated to SystemVerilog by the Verik compiler. This translation process is direct, typically with one-to-one correspondence between the input and output source files. Verik generates readable SystemVerilog output similar to what an engineer would have written. Conversely, SystemVerilog declarations can be imported into the Kotlin environment with the Verik importer. This allow us to make use of SystemVerilog libraries such as the Universal Verification Methodology (UVM) framework directly in Verik. We demonstrate Verik on a number of examples such as a RISC-V core and some UVM testbenches and show that it compares favorably against other popular HDLs used in academia and in industry. Finally, we recount the experience of using Verik with the Xilinx Vivado platform for a month-long FPGA workshop class.
first_indexed 2024-09-23T14:12:14Z
format Thesis
id mit-1721.1/145151
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T14:12:14Z
publishDate 2022
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/1451512022-08-30T03:21:56Z Verik: Reinterpreting Kotlin as a Hardware Description Language Wang, Francis Wachman, Silvina Hanono Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science This work introduces Verik, a hardware description language (HDL) for designing and verifying digital integrated circuits. Verik aims to be a drop-in replacement for SystemVerilog that leverages the productivity gains of the modern software stack to improve engineer productivity. Verik builds upon Kotlin, a modern general-purpose programming language with a clean and expressive syntax. Verik is Kotlin reinterpreted with the semantics of an HDL. The Verik toolchain consists of two parts, the compiler and the importer, and they serve to bridge the gap between the Kotlin and SystemVerilog environments. Verik is translated to SystemVerilog by the Verik compiler. This translation process is direct, typically with one-to-one correspondence between the input and output source files. Verik generates readable SystemVerilog output similar to what an engineer would have written. Conversely, SystemVerilog declarations can be imported into the Kotlin environment with the Verik importer. This allow us to make use of SystemVerilog libraries such as the Universal Verification Methodology (UVM) framework directly in Verik. We demonstrate Verik on a number of examples such as a RISC-V core and some UVM testbenches and show that it compares favorably against other popular HDLs used in academia and in industry. Finally, we recount the experience of using Verik with the Xilinx Vivado platform for a month-long FPGA workshop class. M.Eng. 2022-08-29T16:36:38Z 2022-08-29T16:36:38Z 2022-05 2022-05-27T16:19:41.221Z Thesis https://hdl.handle.net/1721.1/145151 In Copyright - Educational Use Permitted Copyright MIT http://rightsstatements.org/page/InC-EDU/1.0/ application/pdf Massachusetts Institute of Technology
spellingShingle Wang, Francis
Verik: Reinterpreting Kotlin as a Hardware Description Language
title Verik: Reinterpreting Kotlin as a Hardware Description Language
title_full Verik: Reinterpreting Kotlin as a Hardware Description Language
title_fullStr Verik: Reinterpreting Kotlin as a Hardware Description Language
title_full_unstemmed Verik: Reinterpreting Kotlin as a Hardware Description Language
title_short Verik: Reinterpreting Kotlin as a Hardware Description Language
title_sort verik reinterpreting kotlin as a hardware description language
url https://hdl.handle.net/1721.1/145151
work_keys_str_mv AT wangfrancis verikreinterpretingkotlinasahardwaredescriptionlanguage