| // Copyright lowRISC contributors. |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| // SPDX-License-Identifier: Apache-2.0 |
| |
| package hmac_env_pkg; |
| // dep packages |
| import uvm_pkg::*; |
| import top_pkg::*; |
| import dv_utils_pkg::*; |
| import csr_utils_pkg::*; |
| import tl_agent_pkg::*; |
| import cryptoc_dpi_pkg::*; |
| import dv_lib_pkg::*; |
| import cip_base_pkg::*; |
| import nist_vectors_pkg::*; |
| |
| // macro includes |
| `include "uvm_macros.svh" |
| `include "dv_macros.svh" |
| |
| // local parameters and types |
| parameter uint32 HMAC_MSG_FIFO_DEPTH = 16; |
| parameter uint32 HMAC_MSG_FIFO_DEPTH_BYTES = HMAC_MSG_FIFO_DEPTH * 4; |
| parameter uint32 HMAC_MSG_FIFO_SIZE = 2048; |
| parameter uint32 HMAC_MSG_FIFO_BASE = 32'h800; |
| parameter uint32 HMAC_MSG_FIFO_LAST_ADDR = HMAC_MSG_FIFO_BASE + HMAC_MSG_FIFO_SIZE - 1; |
| |
| typedef enum { |
| HmacDone, |
| HmacMsgFifoFull |
| } hmac_intr_e; |
| |
| typedef enum { |
| HmacStaMsgFifoEmpty, |
| HmacStaMsgFifoFull, |
| HmacStaMsgFifoDepth |
| } hmac_sta_e; |
| |
| typedef class hmac_env_cfg; |
| typedef class hmac_env_cov; |
| typedef cip_base_virtual_sequencer #(hmac_env_cfg, hmac_env_cov) hmac_virtual_sequencer; |
| |
| // functions |
| |
| // package sources |
| `include "hmac_reg_block.sv" |
| `include "hmac_env_cfg.sv" |
| `include "hmac_env_cov.sv" |
| `include "hmac_scoreboard.sv" |
| `include "hmac_env.sv" |
| `include "hmac_vseq_list.sv" |
| endpackage |