mirror of
https://github.com/lowRISC/ibex.git
synced 2025-04-22 04:47:25 -04:00
[DV] Increase number of resets in reset_test (#418)
This commit is contained in:
parent
d3c7b887d7
commit
edf9371c6c
3 changed files with 30 additions and 23 deletions
|
@ -19,3 +19,4 @@
|
|||
--override riscvOVPsim/cpu/reset_address=0x80000080
|
||||
--override riscvOVPsim/cpu/simulateexceptions=T
|
||||
--override riscvOVPsim/cpu/wfi_is_nop=T
|
||||
--override riscvOVPsim/cpu/tval_ii_code=T
|
||||
|
|
|
@ -237,7 +237,7 @@
|
|||
+no_fence=1
|
||||
+no_wfi=1
|
||||
+no_ebreak=1
|
||||
+instr_cnt=6000
|
||||
+instr_cnt=10000
|
||||
+randomize_csr=1
|
||||
rtl_test: core_ibex_debug_ebreak_test
|
||||
sim_opts: >
|
||||
|
@ -276,7 +276,7 @@
|
|||
iterations: 15
|
||||
gen_test: riscv_rand_instr_test
|
||||
gen_opts: >
|
||||
+instr_cnt=6000
|
||||
+instr_cnt=10000
|
||||
+require_signature_addr=1
|
||||
+enable_interrupt=1
|
||||
+randomize_csr=1
|
||||
|
@ -366,7 +366,7 @@
|
|||
+gen_debug_section=1
|
||||
+no_ebreak=1
|
||||
+no_branch_jump=1
|
||||
+instr_cnt=6000
|
||||
+instr_cnt=10000
|
||||
+no_csr_instr=1
|
||||
+no_fence=1
|
||||
+num_of_sub_program=0
|
||||
|
@ -387,8 +387,9 @@
|
|||
iterations: 15
|
||||
gen_test: riscv_rand_instr_test
|
||||
gen_opts: >
|
||||
+instr_cnt=10000
|
||||
+num_of_sub_program=5
|
||||
+enable_unaligned_load_store=1
|
||||
+directed_instr_0=riscv_load_store_rand_instr_stream,10
|
||||
rtl_test: core_ibex_reset_test
|
||||
compare_opts:
|
||||
compare_final_value_only: 1
|
||||
|
|
|
@ -37,27 +37,32 @@ class core_ibex_reset_test extends core_ibex_base_test;
|
|||
`uvm_component_utils(core_ibex_reset_test)
|
||||
`uvm_component_new
|
||||
|
||||
bit [5:0] num_reset;
|
||||
|
||||
virtual task send_stimulus();
|
||||
vseq.start(env.vseqr);
|
||||
// Mid-test reset is possible in a wide range of times
|
||||
clk_vif.wait_clks($urandom_range(20000, 200000));
|
||||
fork
|
||||
begin
|
||||
dut_vif.fetch_enable = 1'b0;
|
||||
clk_vif.reset();
|
||||
end
|
||||
begin
|
||||
clk_vif.wait_clks(1);
|
||||
// Flush FIFOs
|
||||
item_collected_port.flush();
|
||||
irq_collected_port.flush();
|
||||
// Reset testbench state
|
||||
env.reset();
|
||||
load_binary_to_mem();
|
||||
end
|
||||
join
|
||||
// Assert fetch_enable to have the core start executing from boot address
|
||||
dut_vif.fetch_enable = 1'b1;
|
||||
`DV_CHECK_STD_RANDOMIZE_WITH_FATAL(num_reset, num_reset > 20;)
|
||||
for (int i = 0; i < num_reset; i = i + 1) begin
|
||||
// Mid-test reset is possible in a wide range of times
|
||||
clk_vif.wait_clks($urandom_range(0, 50000));
|
||||
fork
|
||||
begin
|
||||
dut_vif.fetch_enable = 1'b0;
|
||||
clk_vif.reset();
|
||||
end
|
||||
begin
|
||||
clk_vif.wait_clks(1);
|
||||
// Flush FIFOs
|
||||
item_collected_port.flush();
|
||||
irq_collected_port.flush();
|
||||
// Reset testbench state
|
||||
env.reset();
|
||||
load_binary_to_mem();
|
||||
end
|
||||
join
|
||||
// Assert fetch_enable to have the core start executing from boot address
|
||||
dut_vif.fetch_enable = 1'b1;
|
||||
end
|
||||
endtask
|
||||
|
||||
endclass
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue