/AMBA_APB_SRAM

AMBA v.3 APB v.1 Specification Complaint Slave SRAM Core design and testbench. The testbench is developed using System Verilog and UVM and can be used as standalone Verification IP (VIP).

Primary LanguageSystemVerilogMIT LicenseMIT

AMBA_APB_SRAM

AMBA v.3 APB v.1 Specification Complaint Slave SRAM Core design and testbench. The testbench is developed using System Verilog and UVM and can be used as standalone Verification IP (VIP).

Project Structure

This project is organized in following manner

FolderIcon AMBA_APB_SRAM
  |
  |->  FolderIcon doc : contains project documents like testcase plan, verification plan etc.
          |
          |->FolderIcon TestcasePlan
                 |-> Excel File apb_sram_testplan.xlsx
          |->FolderIcon VerificationPlan
  |->  FolderIcon rtl : contains rtl code of APB SRAM Core.
          |->Verilog File apb_v3_sram.v
  |->  FolderIcon scripts : contains scripts for running tests.
          |->shell script runscript.ps1 : script for ruuning tests with Questasim or modelsim on windows
  |->  FolderIcon sim : contains simulation work directory. This is where you should open a terminal to run your tests.
          |->Text Filetb_filelist.f: main file list
          |->Text Filetb_filelist_for_VRM.f : Filelist for running regression tests with Questa Verification Run Manager (VRM). You should modify the paths of this file.
          |->Text File apb_regression.rmdb : RMDB data base file for running regression tests with Questa VRM
          |->Text File apb_regression_with_VRM.vrm: VRM project file
          |->Text File wave.do : do file for loading simulation signals on Questa waveform Viewer
  |->  FolderIcon simlog : contains simulation log files.
  |->  FolderIcon spec : contains RTL design specification.
          |->docx file APB_Slave_Core_SRAM_Design_Specification.docx : Design Specification of APB SRAM Core
          |->pdf file ARM_AMBA3_APB.pdf : AMBA v3 APB v1 protocol specification
  |->  FolderIcon tb: Contains Constraint Random UVM testbench which can be used as standalone APB master Verification IP (VIP).

          |->FolderIcon agents: Contains all agents
                 |->FolderIcon apb_mstr_agent : APB Master agent files
                        |->Text File apb_agent_pkg.sv
                        |->Text File apb_seq_item.sv
                        |->Text File apb_mstr_agent_config.sv
                        |->Text File apb_mstr_driver.sv
                        |->Text File apb_monitor.sv
                        |->Text File apb_coverage_monitor.sv
                        |->Text File apb_mstr_sequencer.sv
                        |->Text File apb_mstr_agent.sv
          |->FolderIcon defines: Contains testbench define files
                 |->Text File apb_global_pkg.sv
                 |->Text File tb_defines.sv
          |->FolderIcon env: Contains environment files
                 |->FolderIcon apb_mstr_env : APB Environement files
                        |->Text File apb_env_pkg.sv
                        |->Text File apb_env_config.sv
                        |->Text File apb_scoreboard.sv
                        |->Text File apb_env.sv
          |->FolderIcon sequence_lib: Contains sequence libraries
                 |->FolderIcon apb_mstr_sequence_lib : APB Sequence library
                        |->Text File apb_seq_lib_pkg.sv
                        |->Text File apb_base_sequence.sv
                        |->Text File apb_rd_sequence.sv
                        |->Text File apb_wr_sequence.sv
                        |->Text File apb_err_rd_sequence.sv
                        |->Text File apb_err_wr_sequence.sv
          |->FolderIcon tb_top : Contains interface and tb_top file
                 |->Text File apb_interface.sv
                 |->Text File tb_top.sv
          |->FolderIcon test_lib: Contains test library
                 |->FolderIcon apb_mstr_test_lib : APB tests
                        |->Text File apb_test_pkg.sv
                        |->Text File apb_base_test.sv
                        |->Text File apb_directed_reg_write_read_test.sv
                        |->Text File apb_rand_reg_write_read_test.sv
                        |->Text File apb_reg_alias_test.sv
                        |->Text File apb_reg_por_read_test.sv
                        |->Text File apb_slv_err_test.sv

Run Instruction

Running Single Test without coverage analysis

> cd sim
> ..\scripts\runscript.ps1 -testName <enter_testname_to_run> -mode <c or gui>  

Running Single Test with coverage analysis

> cd sim
> ..\scripts\runscript.ps1 -testName <enter_testname_to_run> -mode <c or gui> -cov

Running Regression Tests with Questa VRM in batch mode

> cd sim
> vrun -rmdb apb_regression.rmdb

Running Regression Tests with Questa VRM in gui mode

> cd sim
> vrun -gui -rmdb apb_regression.rmdb

Right click on Default Configuration 1 and Select run.