Files

63 lines
1.7 KiB
Systemverilog
Raw Permalink Normal View History

2026-06-12 07:53:32 +02:00
/****************************************************************************
+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+ +-+-+-+-+-+-+-+-+
|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 i2c_pkg.sv
DESCRIPTION package containing all parameters and includes
****************************************************************************/
`ifndef I2C_PKG_SV
`define I2C_PKG_SV
/*
* Package: i2c_pkg
*/
package i2c_pkg;
parameter int ADDR_WIDTH = 7;
parameter int DATA_WIDTH = 8;
typedef class i2c_transaction;
typedef class i2c_master_config;
typedef class i2c_master_driver;
typedef class i2c_master_agent;
typedef class i2c_slave_config;
typedef class i2c_slave_driver;
typedef class i2c_slave_agent;
typedef class i2c_config;
typedef class i2c_monitor;
typedef class i2c_env;
import uvm_pkg::*;
`include "uvm_macros.svh"
`include "i2c_types.sv"
// master
`include "master/i2c_master_config.sv"
`include "master/i2c_master_driver.sv"
`include "master/i2c_master_agent.sv"
`include "master/sequences/i2c_master_seq_lib.sv"
// slave
`include "slave/i2c_slave_config.sv"
`include "slave/i2c_slave_driver.sv"
`include "slave/i2c_slave_agent.sv"
`include "slave/sequences/i2c_slave_seq_lib.sv"
// top
`include "i2c_transaction.sv"
`include "i2c_config.sv"
`include "i2c_monitor.sv"
`include "i2c_env.sv"
endpackage: i2c_pkg
`include "i2c_if.sv"
`endif