63 lines
1.7 KiB
Systemverilog
63 lines
1.7 KiB
Systemverilog
/****************************************************************************
|
|
+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+ +-+-+-+-+-+-+-+-+
|
|
|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
|
|
|