blob: a06ee3f9c87a2b3feb44554e5d83f8d476bedf0d [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
// basic error test vseq
// During the channels are operating (patterns are not fully generated),
// this vseq can randomly disable channels that causes error patterns which
// must be detected and dropped in scoreboard and agent_monitor
class pattgen_error_vseq extends pattgen_base_vseq;
`uvm_object_utils(pattgen_error_vseq)
`uvm_object_new
virtual task pre_start();
super.pre_start();
cfg.seq_cfg.error_injected_enb = 1'b1;
// in order to inject error, the generated patterns should be long enough because
// completed interrupts can be triggerred before enable bit is unset in the last bit
// which indicates a correct correct patterns
cfg.seq_cfg.pattgen_min_prediv = 10;
cfg.seq_cfg.pattgen_max_prediv = 20;
cfg.seq_cfg.pattgen_min_len = 5;
cfg.seq_cfg.pattgen_min_reps = 5;
endtask : pre_start
endclass : pattgen_error_vseq