Steve Nelson | 87a9d12 | 2020-10-26 13:10:20 -0700 | [diff] [blame] | 1 | // Copyright lowRISC contributors. |
| 2 | // Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| 3 | // SPDX-License-Identifier: Apache-2.0 |
| 4 | |
| 5 | package csrng_env_pkg; |
| 6 | // dep packages |
| 7 | import uvm_pkg::*; |
| 8 | import top_pkg::*; |
| 9 | import dv_utils_pkg::*; |
| 10 | import push_pull_agent_pkg::*; |
Steve Nelson | ef7bcab | 2021-01-06 08:40:01 -0800 | [diff] [blame] | 11 | import csrng_agent_pkg::*; |
Steve Nelson | 87a9d12 | 2020-10-26 13:10:20 -0700 | [diff] [blame] | 12 | import dv_lib_pkg::*; |
| 13 | import tl_agent_pkg::*; |
| 14 | import cip_base_pkg::*; |
| 15 | import csr_utils_pkg::*; |
| 16 | import csrng_ral_pkg::*; |
Steve Nelson | 9c384a3 | 2021-05-24 06:25:49 -0700 | [diff] [blame] | 17 | import aes_model_dpi_pkg::*; |
Steve Nelson | 87a9d12 | 2020-10-26 13:10:20 -0700 | [diff] [blame] | 18 | |
| 19 | // macro includes |
| 20 | `include "uvm_macros.svh" |
| 21 | `include "dv_macros.svh" |
| 22 | |
| 23 | // parameters |
Steve Nelson | a1155d8 | 2021-07-14 20:11:05 -0700 | [diff] [blame] | 24 | parameter uint NUM_HW_APPS = 2; |
Mark Branstad | 6fec52e | 2021-07-29 08:56:14 -0700 | [diff] [blame^] | 25 | parameter string LIST_OF_ALERTS[] = {"recov_alert","fatal_alert"}; |
| 26 | parameter uint NUM_ALERTS = 2; |
Steve Nelson | 9c384a3 | 2021-05-24 06:25:49 -0700 | [diff] [blame] | 27 | parameter uint KEY_LEN = 256; |
| 28 | parameter uint BLOCK_LEN = 128; |
| 29 | parameter uint CTR_LEN = 32; |
| 30 | parameter uint RSD_CTR_LEN = 32; |
Steve Nelson | ef7bcab | 2021-01-06 08:40:01 -0800 | [diff] [blame] | 31 | |
Steve Nelson | de3d105 | 2020-11-05 14:32:02 -0800 | [diff] [blame] | 32 | parameter bit [TL_DW-1:0] [3:0] ZERO_SEED_GENBITS = {32'h0, |
| 33 | 32'h0, |
| 34 | 32'h0, |
Mark Branstad | 535275b | 2021-05-14 10:13:35 -0700 | [diff] [blame] | 35 | 32'h4}; |
Steve Nelson | 87a9d12 | 2020-10-26 13:10:20 -0700 | [diff] [blame] | 36 | |
| 37 | // types |
Steve Nelson | de3d105 | 2020-11-05 14:32:02 -0800 | [diff] [blame] | 38 | typedef enum int { |
| 39 | CmdReqDone = 0, |
| 40 | EntropyReq = 1, |
| 41 | HwInstExc = 2, |
| 42 | FifoErr = 3 |
| 43 | } csrng_intr_e; |
| 44 | |
Steve Nelson | 87a9d12 | 2020-10-26 13:10:20 -0700 | [diff] [blame] | 45 | // functions |
| 46 | |
| 47 | // package sources |
| 48 | `include "csrng_env_cfg.sv" |
| 49 | `include "csrng_env_cov.sv" |
| 50 | `include "csrng_virtual_sequencer.sv" |
| 51 | `include "csrng_scoreboard.sv" |
| 52 | `include "csrng_env.sv" |
| 53 | `include "csrng_vseq_list.sv" |
| 54 | |
| 55 | endpackage |