This commit is contained in:
2026-06-12 07:53:32 +02:00
commit 59e71f3297
259 changed files with 29010 additions and 0 deletions

View File

@@ -0,0 +1,83 @@
/****************************************************************************
+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+ +-+-+-+-+-+-+-+-+
|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