blob: 0d55e18786f2d4e6e024317c8d646ab41f10c21b [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
package edn_env_pkg;
// dep packages
import uvm_pkg::*;
import top_pkg::*;
import dv_utils_pkg::*;
import push_pull_agent_pkg::*;
import csrng_agent_pkg::*;
import dv_lib_pkg::*;
import tl_agent_pkg::*;
import cip_base_pkg::*;
import csr_utils_pkg::*;
import edn_ral_pkg::*;
import prim_mubi_pkg::*;
import edn_pkg::*;
// macro includes
`include "uvm_macros.svh"
`include "dv_macros.svh"
// parameters
parameter uint MIN_NUM_ENDPOINTS = 1;
parameter uint MAX_NUM_ENDPOINTS = 7;
parameter string LIST_OF_ALERTS[] = {"recov_alert","fatal_alert"};
parameter uint NUM_ALERTS = 2;
// types
typedef enum int {
CmdReqDone = 0,
FifoErr = 1,
NumEdnIntr = 2
} edn_intr_e;
typedef enum int {
AutoReqMode = 1,
BootReqMode = 2
} hw_req_mode_e;
typedef enum int {
invalid_edn_enable = 0,
invalid_boot_req_mode = 1,
invalid_auto_req_mode = 2,
invalid_cmd_fifo_rst = 3
} invalid_mubi_e;
typedef enum int {
sfifo_rescmd_error = 0,
sfifo_gencmd_error = 1,
edn_ack_sm_error = 2,
edn_main_sm_error = 3,
edn_cntr_error = 4
} fatal_err_e;
typedef enum int {
sfifo_rescmd_err = 0,
sfifo_gencmd_err = 1,
edn_ack_sm_err = 2,
edn_main_sm_err = 3,
edn_cntr_err = 4,
fifo_write_err = 5,
fifo_read_err = 6,
fifo_state_err = 7,
sfifo_rescmd_err_test = 8,
sfifo_gencmd_err_test = 9,
edn_ack_sm_err_test = 10,
edn_main_sm_err_test = 11,
edn_cntr_err_test = 12,
fifo_write_err_test = 13,
fifo_read_err_test = 14,
fifo_state_err_test = 15
} err_code_e;
typedef enum int {
EdnSfifoRescmdErrTest = 0,
EdnSfifoGencmdErrTest = 1,
EdnErrTest = 2, // TODO: issue #16218
EdnAckSmErrTest = 20,
EdnMainSmErrTest = 21,
EdnCntrErrTest = 22,
EdnFifoWriteErrTest = 28,
EdnFifoReadErrTest = 29,
EdnFifoStateErrTest = 30
} err_code_test_e;
typedef enum int {
sfifo_rescmd = 0,
sfifo_gencmd = 1
} which_fifo_e;
typedef enum int {
fifo_write_error = 0,
fifo_read_error = 1,
fifo_state_error = 2
} which_fifo_err_e;
// package sources
`include "edn_env_cfg.sv"
`include "edn_env_cov.sv"
`include "edn_virtual_sequencer.sv"
`include "edn_scoreboard.sv"
`include "edn_env.sv"
`include "edn_vseq_list.sv"
endpackage