blob: 0b4a97bf92b43d3250d820e89f01a8e8ab924c96 [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
class aes_reseed_test extends aes_base_test;
`uvm_component_utils(aes_reseed_test)
`uvm_component_new
virtual function void build_phase(uvm_phase phase);
super.build_phase(phase);
configure_env();
// TODO fix manual mode so we can randomize speeds
`DV_CHECK_RANDOMIZE_WITH_FATAL(cfg, cfg.host_resp_speed == VeryFast;)
endfunction
virtual function void configure_env();
// should the read vs write be unbalanced.
cfg.unbalanced = 1;
cfg.read_prob = 60;
cfg.write_prob = 80;
cfg.error_types = 0;
cfg.num_messages_min = 1;
cfg.num_messages_max = 50;
// message related knobs
cfg.ecb_weight = 10;
cfg.cbc_weight = 10;
cfg.ctr_weight = 10;
cfg.ofb_weight = 10;
cfg.cfb_weight = 10;
cfg.message_len_min = 7; // bytes
cfg.message_len_max = 1023; // bytes
cfg.fixed_data_en = 0;
cfg.fixed_key_en = 0;
cfg.fixed_operation_en = 0;
cfg.fixed_operation = 0;
cfg.fixed_keylen_en = 0;
cfg.fixed_keylen = 3'b010;
cfg.fixed_iv_en = 0;
cfg.random_data_key_iv_order = 1;
cfg.read_prob = 65;
cfg.write_prob = 80;
cfg.manual_operation_pct = 30;
cfg.sideload_pct = 30;
endfunction // configure_env
endclass : aes_reseed_test