Skip to content

parzival3/chisel-uvm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chisel-uvm

This repo is for the project to explore the combination and interaction of Chisel and UVM.

UVM Examples

In the sv directory, a number of UVM examples are located.

  • The first example uses a bare-bones testbench and an empty DUT to showcase the basic parts of a UVM testbench (the test and environment). The testbench is heavily commented to explain usage.
  • The second example shows how to use a driver and interface to drive values onto the DUT.
  • The third example shows how to use sequences and sequencers to drive randomized transactions onto the DUT.
  • The fourth example uses a monitor and a uvm_subscriber to create a coverage report, alongside a scoreboard that checks the output
  • The fifth example replicates the functionality of #4, but each class has been put into its own file.
  • The sixth example includes more sequences and tests that leverage these sequences. Each sequence derives from the basic sequence.

Vivado UVM Examples

These examples assume that a copy of Xilinx Vivado is installed and present in the PATH. The examples are currently tested only on Linux.

In the directory leros, the ALU desribed in src/main/scala/leros/AluAccu.scala is tested using UVM, to showcase that Chisel and UVM can work together.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • SystemVerilog 85.4%
  • Verilog 2.9%
  • Scala 2.5%
  • Makefile 2.4%
  • Tcl 2.4%
  • Stata 2.4%
  • Other 2.0%