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).
This project is organized in following manner
AMBA_APB_SRAM
|
|-> doc : contains project documents like testcase plan, verification plan etc.
|
|-> TestcasePlan
|-> apb_sram_testplan.xlsx
|-> VerificationPlan
|-> rtl : contains rtl code of APB SRAM Core.
|-> apb_v3_sram.v
|-> scripts : contains scripts for running tests.
|-> runscript.ps1 : script for ruuning tests with Questasim or modelsim on windows
|-> sim : contains simulation work directory. This is where you should open a terminal to run your tests.
|->tb_filelist.f: main file list
|->tb_filelist_for_VRM.f : Filelist for running regression tests with Questa Verification Run Manager (VRM). You should modify the paths of this file.
|-> apb_regression.rmdb : RMDB data base file for running regression tests with Questa VRM
|-> apb_regression_with_VRM.vrm: VRM project file
|-> wave.do : do file for loading simulation signals on Questa waveform Viewer
|-> simlog : contains simulation log files.
|-> spec : contains RTL design specification.
|-> APB_Slave_Core_SRAM_Design_Specification.docx : Design Specification of APB SRAM Core
|-> ARM_AMBA3_APB.pdf : AMBA v3 APB v1 protocol specification
|-> tb: Contains Constraint Random UVM testbench which can be used as standalone APB master Verification IP (VIP).
|-> agents: Contains all agents
|-> apb_mstr_agent : APB Master agent files
|-> apb_agent_pkg.sv
|-> apb_seq_item.sv
|-> apb_mstr_agent_config.sv
|-> apb_mstr_driver.sv
|-> apb_monitor.sv
|-> apb_coverage_monitor.sv
|-> apb_mstr_sequencer.sv
|-> apb_mstr_agent.sv
|-> defines: Contains testbench define files
|-> apb_global_pkg.sv
|-> tb_defines.sv
|-> env: Contains environment files
|-> apb_mstr_env : APB Environement files
|-> apb_env_pkg.sv
|-> apb_env_config.sv
|-> apb_scoreboard.sv
|-> apb_env.sv
|-> sequence_lib: Contains sequence libraries
|-> apb_mstr_sequence_lib : APB Sequence library
|-> apb_seq_lib_pkg.sv
|-> apb_base_sequence.sv
|-> apb_rd_sequence.sv
|-> apb_wr_sequence.sv
|-> apb_err_rd_sequence.sv
|-> apb_err_wr_sequence.sv
|-> tb_top : Contains interface and tb_top file
|-> apb_interface.sv
|-> tb_top.sv
|-> test_lib: Contains test library
|-> apb_mstr_test_lib : APB tests
|-> apb_test_pkg.sv
|-> apb_base_test.sv
|-> apb_directed_reg_write_read_test.sv
|-> apb_rand_reg_write_read_test.sv
|-> apb_reg_alias_test.sv
|-> apb_reg_por_read_test.sv
|-> apb_slv_err_test.sv
> cd sim
> ..\scripts\runscript.ps1 -testName <enter_testname_to_run> -mode <c or gui>
> cd sim
> ..\scripts\runscript.ps1 -testName <enter_testname_to_run> -mode <c or gui> -cov
> cd sim
> vrun -rmdb apb_regression.rmdb
> cd sim
> vrun -gui -rmdb apb_regression.rmdb
Right click on Default Configuration 1 and Select run.