/**************************************************************************** +-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+ +-+-+-+-+-+-+-+-+ |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