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...
Main Author: | |
---|---|
Other Authors: | |
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 |