/**************************************************************************** +-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+ +-+-+-+-+-+-+-+-+ |F|u|n|c|t|i|o|n|a|l| |V|e|r|i|f|i|c|a|t|i|o|n| |o|f| |H|a|r|d|w|a|r|e| +-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+ +-+-+-+-+-+-+-+-+ FILE apb_pkg.sv DESCRIPTION package containing all parameters and includes ****************************************************************************/ `ifndef APB_PKG_SV `define APB_PKG_SV /** * Package: apb_pkg */ package apb_pkg; parameter ADDR_WIDTH = 32; // up to 32 bits parameter RDATA_WIDTH = 32; // up to 32 bits parameter WDATA_WIDTH = 32; // up to 32 bits parameter SLV_NUM = 15; // up to 15 slaves // ==================== OBJECTS ============================== typedef class apb_transaction; typedef class apb_master_config; typedef class apb_slave_config; typedef class apb_config; // ========================================================== // ==================== SLAVE =============================== typedef class apb_slave_driver; typedef class apb_slave_sequencer; typedef class apb_slave_monitor; typedef class apb_slave_agent; // ========================================================== // ==================== MASTER ============================== typedef class apb_master_driver; typedef class apb_master_sequencer; typedef class apb_master_monitor; typedef class apb_master_agent; // ========================================================== // ==================== TOP ================================== typedef class apb_env; // ========================================================== import uvm_pkg::*; `include "uvm_macros.svh" `include "apb_types.sv" `include "apb_config.sv" // ==================== MASTER ============================== `include "master/sequences/apb_master_seq_lib.sv" `include "master/apb_master_config.sv" `include "master/apb_master_driver.sv" `include "master/apb_master_monitor.sv" `include "master/apb_master_sequencer.sv" `include "master/apb_master_agent.sv" // ========================================================== // ==================== SLAVE =============================== `include "slave/sequences/apb_slave_seq_lib.sv" `include "slave/apb_slave_config.sv" `include "slave/apb_slave_driver.sv" `include "slave/apb_slave_monitor.sv" `include "slave/apb_slave_sequencer.sv" `include "slave/apb_slave_agent.sv" // ========================================================== // ==================== TOP ================================= `include "apb_env.sv" `include "apb_transaction.sv" // ========================================================== endpackage : apb_pkg `include "apb_if.sv" `endif