<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.xsl"?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-09-18T22:49:18Z</responseDate><request verb="GetRecord" identifier="oai:dspace.mit.edu:1721.1/145151" metadataPrefix="dim">https://dspace.mit.edu/server/oai/request</request><GetRecord><record><header><identifier>oai:dspace.mit.edu:1721.1/145151</identifier><datestamp>2022-08-30T03:21:56Z</datestamp><setSpec>com_1721.1_7582</setSpec><setSpec>com_1721.1_7581</setSpec><setSpec>col_1721.1_131023</setSpec></header><metadata><dim:dim xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:doc="http://www.lyncode.com/xoai" xsi:schemaLocation="http://www.dspace.org/xmlns/dspace/dim http://www.dspace.org/schema/dim.xsd">
   <dim:field mdschema="dc" element="contributor" qualifier="advisor">Wachman, Silvina Hanono</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="author">Wang, Francis</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="department">Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="accessioned">2022-08-29T16:36:38Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="available">2022-08-29T16:36:38Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="issued">2022-05</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="submitted">2022-05-27T16:19:41.221Z</dim:field>
   <dim:field mdschema="dc" element="identifier" qualifier="uri">https://hdl.handle.net/1721.1/145151</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="abstract">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.</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="degree">M.Eng.</dim:field>
   <dim:field mdschema="dc" element="publisher">Massachusetts Institute of Technology</dim:field>
   <dim:field mdschema="dc" element="rights">In Copyright - Educational Use Permitted</dim:field>
   <dim:field mdschema="dc" element="rights">Copyright MIT</dim:field>
   <dim:field mdschema="dc" element="rights" qualifier="uri">http://rightsstatements.org/page/InC-EDU/1.0/</dim:field>
   <dim:field mdschema="dc" element="title">Verik: Reinterpreting Kotlin as a Hardware Description Language</dim:field>
   <dim:field mdschema="dc" element="type">Thesis</dim:field>
   <dim:field mdschema="dc" element="format" qualifier="mimetype">application/pdf</dim:field>
   <dim:field mdschema="mit" element="thesis" qualifier="degree">Master</dim:field>
   <dim:field mdschema="thesis" element="degree" qualifier="name">Master of Engineering in Electrical Engineering and Computer Science</dim:field>
   <dim:field mdschema="dspace" element="entity" qualifier="type">Publication</dim:field>
   <dim:field mdschema="others" element="access-status">unknown</dim:field>
   <dim:field mdschema="others" element="access-status">unknown</dim:field>
   <dim:field mdschema="cerif" element="openaire" authority="" confidence="-1">&lt;Publication xmlns="https://www.openaire.eu/cerif-profile/1.1/" id="afe3c030-da42-4ddb-ae5a-5f4d9ee938fb">
	&lt;Type xmlns="https://www.openaire.eu/cerif-profile/vocab/COAR_Publication_Types">http://purl.org/coar/resource_type/c_1843&lt;/Type>
   	&lt;Title>Verik: Reinterpreting Kotlin as a Hardware Description Language&lt;/Title>
   	&lt;PublishedIn>
    	&lt;Publication>
      	&lt;/Publication>
   	&lt;/PublishedIn>
   	&lt;PublicationDate>2022-05&lt;/PublicationDate>
   	&lt;Authors>
      	&lt;Author>
        	&lt;DisplayName>Wang, Francis&lt;/DisplayName>
         	&lt;Affiliation>
         		&lt;OrgUnit>
         		&lt;/OrgUnit>
         	&lt;/Affiliation>
      	&lt;/Author>
	&lt;/Authors>
   	&lt;Editors>
	&lt;/Editors>
    &lt;Publishers>
        &lt;Publisher>
            &lt;DisplayName>Massachusetts Institute of Technology&lt;/DisplayName>
            &lt;OrgUnit />
        &lt;/Publisher>
    &lt;/Publishers>
    &lt;License>http://rightsstatements.org/page/InC-EDU/1.0/&lt;/License>
   	&lt;Abstract>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.&lt;/Abstract>
	&lt;Access xmlns="http://purl.org/coar/access_right" 
    >
    &lt;/Access>
&lt;/Publication>
</dim:field>
</dim:dim>
</metadata></record></GetRecord></OAI-PMH>