Skip to content

sanjeevs/srm_sap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a demo of the SimpleRegModel package used in a uvm testbench.

Purpose

The SRM package provides several advantages over the uvm_reg package that is shipped with uvm. The demo focusses on showing how a block level sequence can be reused unchanged across multiple testbench hierarchy and different access mechanism.

Details

Details about the designs and testbenches can be found here

Prerequisites

Running the demo requires that you have already installed the following software.

  1. Recent version of Verilog Simulator like vcs. I have tested it with vcs/2014.03-SP-3

  2. UVM
    Ensure that the env variable UVM_HOME is pointing to the installation directory like below.

>ls $UVM_HOME
bin  docs  examples  LICENSE.txt  README.txt  release-notes.txt  src  UVM_Reference.html

  1. Simple Reg Model Download the release file srm-0.2.tar.gz and untar it in a install directory. Ensure that the env variable SRM_HOME is pointing to the installation directory.
>ls $SRM_HOME
examples  License.txt  README.txt  src  SRM_Reference.html

Installation

Download the tar file from release area.
Say the tar file is srm_sap-0.1-alpha.tar.gz
Untar and setup the env variable SAP_HOME

  tar xvzf srm_sap-0.1.tar.gz
  cd srm_sap-0.1-alpha
  setenv SAP_HOME `pwd`   // For CSH
  export SAP_HOME=`pwd`   // For Bash

At this point the following should be true.

>ls $SAP_HOME
agents  blockA  docs  my_setup.csh  notes.md  README.md  sap1  sap2

Running blockA testbench

To run the blockA testbench, run the target 'run_vcs' in the run directory,

   cd $SAP_HOME/blockA/run
   make run_vcs

The test spawns a basic sequence that writes and reads the register and the table.

Running SAP1 testbench.

To run the SAP1 testbench, run the target 'run_vcs' in the run directory,

   cd $SAP_HOME/sap1/run
   make run_vcs

Note that the test in the SAP1 testbench spawns the same sequence from the block level test. No changes are done to the sequence, yet it runs on different adapters. It is spawned on the host agent just like real world. If faster simulation time is desired, we can spawn it on the internal block PIO bus. If backdoor path is known then we can even directly program the registers in zero time.

Running SAP2 testbench.

To run the SAP2 testbench, run the target 'run_vcs' in the run directory,

   cd $SAP_HOME/sap2/run
   make run_vcs

As before, the test in the SAP2 testbench spawns the same sequence from the block level test. No changes are done to the sequence, yet it runs on different adapters like in SAP1, but targetted towards different instances of SAP1.

About

Simple as possible demo using simple_reg_model

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors