Assertions
Name |
Kind |
Description |
---|---|---|
assert |
(compiled_regex != null)
|
|
assert |
$cast(seq, o)
|
|
assert |
$cast(seq, o)
|
|
assert |
((unused_assert_connected === 1'b1) || ! EnableAlertTriggerSVA)
|
|
assert |
! (EnableParity && EnableECC)
|
|
assert |
(Width inside {16, 32})
|
|
assert |
((Width % 8) == 0)
|
|
assert |
(DataBitsPerMask == 8)
|
|
assert |
((NumAddrScrRounds <= '0) || ((2 ** $clog2(Depth)) == Depth))
|
|
assert |
(DiffWidth >= 4)
|
|
assert |
((EnableParity && (DiffWidth == 8)) || ! EnableParity)
|
|
assert |
((Width % DataBitsPerMask) == 0)
|
|
assert |
(LfsrDw >= ($low(LFSR_COEFFS) + LUT_OFF))
|
|
assert |
(LfsrDw <= ($high(LFSR_COEFFS) + LUT_OFF))
|
|
assert |
| DefaultSeedLocal
|
|
assert |
(LfsrDw >= ($low(LFSR_COEFFS) + LUT_OFF))
|
|
assert |
(LfsrDw <= ($high(LFSR_COEFFS) + LUT_OFF))
|
|
assert |
! & DefaultSeedLocal
|
|
assert |
0
|
|
assert |
& lfsr_perm_test
|
|
assert |
(LfsrDw >= EntropyDw)
|
|
assert |
(LfsrDw >= StateOutDw)
|
|
assert |
(((2 ** $clog2(LfsrDw)) == LfsrDw) && (LfsrDw >= 16))
|
|
assert |
(((DataWidth == 64) && (KeyWidth == 128)) || ((DataWidth == 32) && (KeyWidth == 64)))
|
|
assert |
((NumRoundsHalf > 0) && (NumRoundsHalf < 6))
|
|
assert |
(OneHotWidth >= 1)
|
|
assert |
(AddrWidth >= 1)
|
|
assert |
(OneHotWidth <= (2 ** AddrWidth))
|
|
assert |
((AddrCheck && EnableCheck) || ! AddrCheck)
|
|
assert |
((unused_assert_connected === 1'b1) || ! EnableAlertTriggerSVA)
|
|
assert |
(PMPRstAddr[i][33 - PMPAddrWidth : 0] == '0)
|
|
assert |
(IC_LINE_SIZE > 32)
|
|
assert |
(IC_TAG_SIZE <= 27)
|
|
assert |
(! ICacheECC || (BUS_SIZE == 32))
|
|
assert |
(IbexMuBiOn[0] == 1'b1)
|
|
assert |
(IbexMuBiOff[0] == 1'b0)
|
|
assert |
! (SecureIbex && (RV32M == RV32MNone))
|
|
assert |
((DmHaltAddr & ~ DmAddrMask) == DmBaseAddr)
|
|
assert |
((DmExceptionAddr & ~ DmAddrMask) == DmBaseAddr)
|
|
assert |
(PullStrength inside {"Weak", "Pull"})
|
Name |
Kind |
Description |
---|---|---|
assert |
disable iff((!rst_ni)!=='0)(clr_i !== 1'b1)
|
|
assert |
disable iff((!rst_ni)!=='0)(set_i !== 1'b1)
|
|
assert |
disable iff((!rst_ni)!=='0)(incr_en_i !== 1'b1)
|
|
assert |
disable iff((!rst_ni)!=='0)(decr_en_i !== 1'b1)
|
|
assert |
disable iff((err_o||fpv_err_present||!rst_ni)!=='0)(rst_ni |=> ($past(! commit_i) || (cnt_o == $past(cnt_after_commit_o))))
|
|
assert |
disable iff((err_o||fpv_err_present||!rst_ni)!=='0)(((rst_ni && commit_i) && clr_i) |=> ((cnt_o == ResetValue) && (cnt_q[1] == ({Width{1'b1}} - ResetValue))))
|
|
assert |
disable iff((err_o||fpv_err_present||!rst_ni)!=='0)((((rst_ni && commit_i) && set_i) && ! clr_i) |=> ((cnt_o == $past(set_cnt_i)) && (cnt_q[1] == ({Width{1'b1}} - $past(set_cnt_i)))))
|
|
assert |
disable iff((err_o||fpv_err_present||!rst_ni)!=='0)((((rst_ni && incr_en_i) && decr_en_i) && ! (clr_i || set_i)) |=> ($stable(cnt_o) && $stable(cnt_q[1])))
|
|
assert |
disable iff((err_o||fpv_err_present||!rst_ni)!=='0)((((rst_ni && incr_en_i) && ! ((clr_i || set_i) || decr_en_i)) && commit_i) |=> (cnt_o == min(($past(cnt_o) + $past({2'b0, step_i})), {2'b0, {Width{1'b1}}})))
|
|
assert |
disable iff((err_o||fpv_err_present||!rst_ni)!=='0)((((rst_ni && incr_en_i) && ! ((clr_i || set_i) || decr_en_i)) && commit_i) |=> (cnt_q[1] == max(($past((signed ' {2'b0, cnt_q[1]})) - $past({2'b0, step_i})), '0)))
|
|
assert |
disable iff((err_o||fpv_err_present||!rst_ni)!=='0)(((incr_en_i && ! ((clr_i || set_i) || decr_en_i)) && (cnt_o == {Width{1'b1}})) |=> $stable(cnt_o))
|
|
assert |
disable iff((err_o||fpv_err_present||!rst_ni)!=='0)((((rst_ni && incr_en_i) && ! ((clr_i || set_i) || decr_en_i)) && (cnt_q[1] == '0)) |=> $stable(cnt_q[1]))
|
|
assert |
disable iff((err_o||fpv_err_present||!rst_ni)!=='0)((((rst_ni && decr_en_i) && ! ((clr_i || set_i) || incr_en_i)) && commit_i) |=> (cnt_o == max(($past((signed ' {2'b0, cnt_o})) - $past({2'b0, step_i})), '0)))
|
|
assert |
disable iff((err_o||fpv_err_present||!rst_ni)!=='0)((((rst_ni && decr_en_i) && ! ((clr_i || set_i) || incr_en_i)) && commit_i) |=> (cnt_q[1] == min(($past(cnt_q[1]) + $past({2'b0, step_i})), {2'b0, {Width{1'b1}}})))
|
|
assert |
disable iff((err_o||fpv_err_present||!rst_ni)!=='0)(((decr_en_i && ! ((clr_i || set_i) || incr_en_i)) && (cnt_o == '0)) |=> $stable(cnt_o))
|
|
assert |
disable iff((err_o||fpv_err_present||!rst_ni)!=='0)((((rst_ni && decr_en_i) && ! ((clr_i || set_i) || incr_en_i)) && (cnt_q[1] == {Width{1'b1}})) |=> $stable(cnt_q[1]))
|
|
assert |
disable iff((err_o||fpv_err_present||!rst_ni)!=='0)(rst_ni ## 1 (($changed(cnt_o) && $changed(cnt_q[1])) |-> $past(((clr_i || set_i) || (commit_i && (incr_en_i || decr_en_i))))))
|
|
assert |
disable iff((!rst_ni)!=='0)(((cnt_q[1] + cnt_q[0]) != {Width{1'b1}}) == err_o)
|
|
assert |
disable iff((!rst_ni)!=='0)(req_i |-> (wmask_i == {Width{1'b1}}))
|
|
assert |
disable iff(('0)!=='0)((req_i && write_i) |-> (wmask_i[k * DataBitsPerMask +: DataBitsPerMask] inside {{DataBitsPerMask{1'b1}}, '0}))
|
|
assert |
disable iff((0)!=='0)(## 1 ! $isunknown(sel_i))
|
|
assert |
disable iff((0)!=='0)(## 1 ! $isunknown(sel_i))
|
|
assert |
disable iff((!rst_ni)!=='0)& sbox_perm_test
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(state_o)
|
|
assert |
disable iff((!rst_ni)!=='0)(## 1 ((lfsr_en_i && ! seed_en_i) |=> (lfsr_q == compute_next_state(coeffs, $past(entropy_i), $past(lfsr_q)))))
|
|
assert |
disable iff((!rst_ni)!=='0)coeffs[LfsrDw - 1]
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(state_o)
|
|
assert |
disable iff((!rst_ni)!=='0)(state_o == (StateOutDw ' lfsr_q))
|
|
assert |
disable iff((!rst_ni)!=='0)(((lfsr_en_i && ! entropy_i) && ! seed_en_i) |=> ! lockup)
|
|
assert |
disable iff((!rst_ni)!=='0)((seed_en_i && rst_ni) |=> (lfsr_q == $past(seed_i)))
|
|
assert |
disable iff((!rst_ni)!=='0)(((lfsr_en_i && lockup) && ! seed_en_i) |=> ! lockup)
|
|
assert |
disable iff((!rst_ni||perturbed_q)!=='0)((cnt_q == 0) |-> (lfsr_q == DefaultSeedLocal))
|
|
assert |
disable iff((!rst_ni||perturbed_q)!=='0)((cnt_q != 0) |-> (lfsr_q != DefaultSeedLocal))
|
|
assert |
disable iff((!rst_ni)!=='0)(! $onehot0(oh_i) |-> err_o)
|
|
assert |
disable iff((!rst_ni)!=='0)((| oh_i != en_i) |-> err_o)
|
|
assert |
disable iff((!rst_ni)!=='0)((! en_i && | oh_i) |-> err_o)
|
|
assert |
disable iff((!rst_ni)!=='0)((oh_i[addr_i] != | oh_i) |-> err_o)
|
|
assert |
disable iff((!rst_ni)!=='0)$onehot0(sel_i)
|
|
assert |
disable iff((!rst_ni)!=='0)(fetch_valid_i |-> $onehot0({instr_j, instr_b, instr_cj, instr_cb}))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(valid_i)
|
|
assert |
disable iff((!rst_ni)!=='0)(valid_i |-> ! $isunknown(instr_i[1 : 0]))
|
|
assert |
disable iff((!rst_ni)!=='0)((valid_i && (instr_i[1 : 0] == 2'b00)) |-> ! $isunknown(instr_i[15 : 13]))
|
|
assert |
disable iff((!rst_ni)!=='0)((valid_i && (instr_i[1 : 0] == 2'b01)) |-> ! $isunknown(instr_i[15 : 13]))
|
|
assert |
disable iff((!rst_ni)!=='0)(((valid_i && (instr_i[1 : 0] == 2'b01)) && (instr_i[15 : 13] == 3'b100)) |-> ! $isunknown(instr_i[11 : 10]))
|
|
assert |
disable iff((!rst_ni)!=='0)((((valid_i && (instr_i[1 : 0] == 2'b01)) && (instr_i[15 : 13] == 3'b100)) && (instr_i[11 : 10] == 2'b11)) |-> ! $isunknown({instr_i[12], instr_i[6 : 5]}))
|
|
assert |
disable iff((!rst_ni)!=='0)((valid_i && (instr_i[1 : 0] == 2'b10)) |-> ! $isunknown(instr_i[15 : 13]))
|
|
assert |
disable iff((!rst_ni)!=='0)(illegal_insn_i |-> instr_valid_i)
|
|
assert |
disable iff((!rst_ni)!=='0)(((ctrl_fsm_cs == FLUSH) & exc_req_q) |-> $onehot({instr_fetch_err_prio, illegal_insn_prio, ecall_insn_prio, ebrk_insn_prio, store_err_prio, load_err_prio}))
|
|
assert |
disable iff((!rst_ni)!=='0)(((ctrl_fsm_cs != IRQ_TAKEN) & (ctrl_fsm_ns == IRQ_TAKEN)) |-> (~ instr_valid_i & ready_wb_i))
|
|
assert |
disable iff((!rst_ni)!=='0)(nt_branch_mispredict_o |-> instr_valid_clear_o)
|
|
assert |
disable iff((!rst_ni)!=='0)(ctrl_fsm_cs inside {RESET, BOOT_SET, WAIT_SLEEP, SLEEP, FIRST_FETCH, DECODE, FLUSH, IRQ_TAKEN, DBG_TAKEN_IF, DBG_TAKEN_ID})
|
|
assert |
disable iff((!rst_ni)!=='0)((debug_mode_d != debug_mode_q) |-> (flush_id_o & pc_set_o))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(wr_en_i)
|
|
assert |
disable iff((!rst_ni)!=='0)(csr_op_en_i |-> csr_access_i)
|
|
assert |
disable iff((!rst_ni)!=='0)((opcode == OPCODE_OP_IMM) |-> ! $isunknown(instr[14 : 12]))
|
|
assert |
disable iff((!rst_ni)!=='0)$onehot0(rf_wdata_wb_mux_we)
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_valid_i |-> (imm_b_mux_sel inside {IMM_B_I, IMM_B_S, IMM_B_U, IMM_B_INCR_PC, IMM_B_INCR_ADDR}))
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_valid_i |-> (imm_b_mux_sel inside {IMM_B_I, IMM_B_S, IMM_B_B, IMM_B_U, IMM_B_J, IMM_B_INCR_PC, IMM_B_INCR_ADDR}))
|
|
assert |
disable iff((!rst_ni)!=='0)((branch_set & ~ instr_bp_taken_i) |=> ~ branch_set)
|
|
assert |
disable iff((!rst_ni)!=='0)((jump_set & ~ instr_bp_taken_i) |=> ~ jump_set)
|
|
assert |
disable iff((!rst_ni)!=='0)(((id_fsm_q == FIRST_CYCLE) & (id_fsm_d == MULTI_CYCLE)) |-> stall_id)
|
|
assert |
disable iff((!rst_ni)!=='0)((illegal_insn_o & stall_id) |-> (stall_mem & ~ ((((stall_ld_hz | stall_multdiv) | stall_jump) | stall_branch) | stall_alu)))
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_executing |-> instr_executing_spec)
|
|
assert |
disable iff((!rst_ni)!=='0)(((instr_valid_i & ~ instr_kill) & ~ instr_executing) |-> stall_id)
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_done |-> ~ (wb_exception | outstanding_memory_access))
|
|
assert |
disable iff((!rst_ni)!=='0)(((instr_valid_i & lsu_req_dec) & ~ instr_done) |-> ~ lsu_req_done_i)
|
|
assert |
disable iff((!rst_ni)!=='0)((((instr_valid_i & ~ instr_fetch_err_i) & ~ instr_executing) & controller_run) |-> stall_id)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(instr_valid_i)
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_valid_i |-> ! $isunknown(alu_op_a_mux_sel))
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_valid_i |-> (alu_op_a_mux_sel inside {OP_A_REG_A, OP_A_FWD, OP_A_CURRPC, OP_A_IMM}))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(instr_valid_i)
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_valid_i |-> ! $isunknown(bt_a_mux_sel))
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_valid_i |-> (bt_a_mux_sel inside {OP_A_REG_A, OP_A_CURRPC}))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(instr_valid_i)
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_valid_i |-> ! $isunknown(bt_b_mux_sel))
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_valid_i |-> (bt_b_mux_sel inside {IMM_B_I, IMM_B_B, IMM_B_J, IMM_B_INCR_PC}))
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_valid_i |-> (rf_wdata_sel inside {RF_WD_EX, RF_WD_CSR}))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(id_fsm_q)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown((instr_valid_i && ! (illegal_csr_insn_i || instr_fetch_err_i)))
|
|
assert |
disable iff((!rst_ni)!=='0)((instr_valid_i && ! (illegal_csr_insn_i || instr_fetch_err_i)) |-> ! $isunknown(branch_decision_i))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown((instr_valid_i && ! (illegal_c_insn_i || instr_fetch_err_i)))
|
|
assert |
disable iff((!rst_ni)!=='0)((instr_valid_i && ! (illegal_c_insn_i || instr_fetch_err_i)) |-> ! $isunknown(instr_rdata_i))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown((instr_valid_i && ! (illegal_c_insn_i || instr_fetch_err_i)))
|
|
assert |
disable iff((!rst_ni)!=='0)((instr_valid_i && ! (illegal_c_insn_i || instr_fetch_err_i)) |-> ! $isunknown(instr_rdata_alu_i))
|
|
assert |
disable iff((!rst_ni)!=='0)$onehot0({lsu_req_dec, multdiv_en_dec, branch_in_dec, jump_in_dec})
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_valid_i |-> (instr_rdata_i === instr_rdata_alu_i))
|
|
assert |
disable iff((!rst_ni)!=='0)(id_in_ready_o |=> (id_fsm_q == FIRST_CYCLE))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown((lookup_valid_ic1 & tag_hit_ic1))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown((lookup_valid_ic1 & tag_invalid_ic1))
|
|
assert |
disable iff((!rst_ni)!=='0)(nt_branch_mispredict_i |-> ~ branch_req)
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_skid_valid_q |-> ~ predict_branch_taken)
|
|
assert |
disable iff((!rst_ni)!=='0)(predict_branch_taken |-> ~ illegal_c_insn)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(exc_pc_mux_i)
|
|
assert |
disable iff((!rst_ni)!=='0)(pc_set_i |-> (pc_mux_internal inside {PC_BOOT, PC_JUMP, PC_EXC, PC_ERET, PC_DRET, PC_BP}))
|
|
assert |
disable iff((!rst_ni)!=='0)(nt_branch_mispredict_i |-> predicted_branch_live_q)
|
|
assert |
disable iff((!rst_ni)!=='0)(((predicted_branch_live_q & mispredicted_d) & fetch_valid) |-> (fetch_addr == predicted_branch_nt_pc_q))
|
|
assert |
disable iff((!rst_ni)!=='0)((nt_branch_mispredict_i & ~ (fetch_valid & fetch_ready)) |=> ~ nt_branch_mispredict_i)
|
|
assert |
disable iff((!rst_ni)!=='0)(pc_set_i |-> (pc_mux_internal inside {PC_BOOT, PC_JUMP, PC_EXC, PC_ERET, PC_DRET}))
|
|
assert |
disable iff((!rst_ni)!=='0)(boot_addr_i[7 : 0] == 8'h00)
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_req_o |-> ! $isunknown(instr_addr_o))
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_req_o |-> (instr_addr_o[1 : 0] == 2'b00))
|
|
assert |
disable iff((!rst_ni)!=='0)((lsu_req_i | busy_o) |-> ! $isunknown(lsu_type_i))
|
|
assert |
disable iff((!rst_ni)!=='0)((lsu_req_i | busy_o) |-> ! $isunknown(data_offset))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(rdata_offset_q)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(data_type_q)
|
|
assert |
disable iff((!rst_ni)!=='0)(ls_fsm_cs inside {IDLE, WAIT_GNT_MIS, WAIT_RVALID_MIS, WAIT_GNT, WAIT_RVALID_MIS_GNTS_DONE})
|
|
assert |
disable iff((!rst_ni)!=='0)(data_req_o |-> ! $isunknown(data_addr_o))
|
|
assert |
disable iff((!rst_ni)!=='0)(data_req_o |-> (data_addr_o[1 : 0] == 2'b00))
|
|
assert |
disable iff((!rst_ni)!=='0)(md_state_q inside {MD_IDLE, MD_ABS_A, MD_ABS_B, MD_COMP, MD_LAST, MD_CHANGE_SIGN, MD_FINISH})
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(div_en_internal)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(mult_en_internal)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(multdiv_en)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(mult_state_q)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(mult_state_q)
|
|
assert |
disable iff((!rst_ni)!=='0)(md_state_q inside {MD_IDLE, MD_ABS_A, MD_ABS_B, MD_COMP, MD_LAST, MD_CHANGE_SIGN, MD_FINISH})
|
|
assert |
disable iff((!rst_ni)!=='0)((in_valid_i && pop_fifo) |-> (! valid_q[DEPTH - 1] || clear_i))
|
|
assert |
disable iff((!rst_ni)!=='0)(in_valid_i |-> (! valid_q[DEPTH - 1] || clear_i))
|
|
assert |
disable iff((!rst_ni)!=='0)(rf_we_lsu |-> outstanding_load_wb)
|
|
assert |
disable iff((!rst_ni)!=='0)(rf_we_lsu |-> outstanding_load_id)
|
|
assert |
disable iff((!rst_ni)!=='0)(data_rvalid_i |-> (outstanding_load_resp | outstanding_store_resp))
|
|
assert |
disable iff((!rst_ni)!=='0)(! fetch_enable_raw |=> ((~ instr_valid_id || (pc_id == pc_at_fetch_disable)) && ~ $rose(instr_valid_id)))
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_valid_id |-> (csr_op inside {CSR_OP_READ, CSR_OP_WRITE, CSR_OP_SET, CSR_OP_CLEAR}))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(csr_op_en)
|
|
assert |
disable iff((!rst_ni)!=='0)(csr_op_en |-> ! $isunknown(cs_registers_i.csr_wdata_int))
|
|
assert |
disable iff((!rst_ni)!=='0)(id_in_ready |=> ex_block_i.sva_multdiv_fsm_idle)
|
|
assert |
disable iff((!rst_ni)!=='0)(scramble_key_valid_i |-> (## [0 : 10] (tag_bank.key_valid_i && (tag_bank.key_i == sampled_scramble_key))))
|
|
assert |
disable iff((!rst_ni)!=='0)(scramble_key_valid_i |-> (## [0 : 10] (data_bank.key_valid_i && (data_bank.key_i == sampled_scramble_key))))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(instr_req_o)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(instr_req_o)
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_req_o |-> ! $isunknown(instr_addr_o))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(data_req_o)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(data_req_o)
|
|
assert |
disable iff((!rst_ni)!=='0)(data_req_o |-> ! $isunknown({data_we_o, data_be_o, data_addr_o, data_wdata_o, data_wdata_intg_o}))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(scramble_req_o)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(double_fault_seen_o)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(alert_minor_o)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(alert_major_internal_o)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(alert_major_bus_o)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(core_sleep_o)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(test_en_i)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(ram_cfg_i)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(hart_id_i)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(boot_addr_i)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(instr_gnt_i)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(instr_rvalid_i)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(instr_rvalid_i)
|
|
assert |
disable iff((!rst_ni)!=='0)(instr_rvalid_i |-> ! $isunknown({instr_rdata_i, instr_rdata_intg_i, instr_err_i}))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(data_gnt_i)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(data_rvalid_i)
|
|
assert |
disable iff((!rst_ni)!=='0)(data_req_o |-> (~ pending_dside_accesses_q[MaxOutstandingDSideAccesses - 1].valid | data_rvalid_i))
|
|
assert |
disable iff((!rst_ni)!=='0)(data_rvalid_i |-> pending_dside_accesses_q[0])
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(data_rvalid_i)
|
|
assert |
disable iff((!rst_ni)!=='0)(data_rvalid_i |-> ! $isunknown({data_rdata_i, data_rdata_intg_i}))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown((data_rvalid_i & pending_dside_accesses_q[0].is_read))
|
|
assert |
disable iff((!rst_ni)!=='0)((data_rvalid_i & pending_dside_accesses_q[0].is_read) |-> ! $isunknown({data_rdata_i, data_rdata_intg_i}))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(data_rvalid_i)
|
|
assert |
disable iff((!rst_ni)!=='0)(data_rvalid_i |-> ! $isunknown(data_err_i))
|
|
assert |
disable iff((!rst_ni)!=='0)$onehot0(double_fault_seen_delay_buffer)
|
|
assert |
disable iff((!rst_ni)!=='0)(double_fault_seen_predicted |-> | double_fault_seen_delay_buffer)
|
|
assert |
disable iff((!rst_ni)!=='0)(double_fault_seen_o |-> (## [0 : DoubleFaultSeenLatency] double_fault_seen_predicted))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown({irq_software_i, irq_timer_i, irq_external_i, irq_fast_i, irq_nm_i})
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(scramble_key_valid_i)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(scramble_key_valid_i)
|
|
assert |
disable iff((!rst_ni)!=='0)(scramble_key_valid_i |-> ! $isunknown({scramble_key_i, scramble_nonce_i}))
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(debug_req_i)
|
|
assert |
disable iff((!rst_ni)!=='0)! $isunknown(fetch_enable_i)
|
|
assert |
disable iff((!rst_ni)!=='0)((dummy_instr_wb && rf_we_wb) |-> (rf_waddr_wb == '0))
|
|
assert |
disable iff((!rst_ni)!=='0)(crash_dump_o.current_pc === u_ibex_core.pc_id)
|
|
assert |
disable iff((!rst_ni)!=='0)(crash_dump_o.next_pc === u_ibex_core.pc_if)
|
|
assert |
disable iff((!rst_ni)!=='0)(crash_dump_o.last_data_addr === u_ibex_core.load_store_unit_i.addr_last_q)
|
|
assert |
disable iff((!rst_ni)!=='0)(crash_dump_o.exception_pc === u_ibex_core.cs_registers_i.mepc_q)
|
|
assert |
disable iff((!rst_ni)!=='0)(crash_dump_o.exception_addr === u_ibex_core.cs_registers_i.mtval_q)
|
|
assert |
disable iff((!rst_ni)!=='0)((data_rvalid_i && | data_ecc_err) |-> (## [0 : 5] alert_major_bus_o))
|
|
assert |
disable iff((!rst_ni)!=='0)((instr_rvalid_i && | instr_ecc_err) |-> (## [0 : 5] alert_major_bus_o))
|
|
assert |
disable iff((!rst_n)!=='0)! $isunknown(is_push_agent)
|
|
assert |
disable iff((!rst_n)!=='0)(is_push_agent |-> ! $isunknown(ready))
|
|
assert |
disable iff((!rst_n)!=='0)! $isunknown(is_push_agent)
|
|
assert |
disable iff((!rst_n)!=='0)(is_push_agent |-> ! $isunknown(valid))
|
|
assert |
disable iff((!rst_n)!=='0)! $isunknown((valid && is_push_agent))
|
|
assert |
disable iff((!rst_n)!=='0)((valid && is_push_agent) |-> ! $isunknown(h_data))
|
|
assert |
disable iff((!rst_n)!=='0)! $isunknown(((ready && is_push_agent) && in_bidirectional_mode))
|
|
assert |
disable iff((!rst_n)!=='0)(((ready && is_push_agent) && in_bidirectional_mode) |-> ! $isunknown(d_data))
|
|
assert |
disable iff((!rst_n)!=='0)(is_push_agent |-> ((valid && ! ready) |=> $stable(h_data)))
|
|
assert |
disable iff((!rst_n)!=='0)(is_push_agent |-> ($rose(valid) |-> (valid throughout (ready [-> 1]))))
|
|
assert |
disable iff((!rst_n)!=='0)! $isunknown(! is_push_agent)
|
|
assert |
disable iff((!rst_n)!=='0)(! is_push_agent |-> ! $isunknown(req))
|
|
assert |
disable iff((!rst_n)!=='0)! $isunknown(! is_push_agent)
|
|
assert |
disable iff((!rst_n)!=='0)(! is_push_agent |-> ! $isunknown(ack))
|
|
assert |
disable iff((!rst_n)!=='0)! $isunknown((ack && ! is_push_agent))
|
|
assert |
disable iff((!rst_n)!=='0)((ack && ! is_push_agent) |-> ! $isunknown(d_data))
|
|
assert |
disable iff((!rst_n)!=='0)! $isunknown(((req && ! is_push_agent) && in_bidirectional_mode))
|
|
assert |
disable iff((!rst_n)!=='0)(((req && ! is_push_agent) && in_bidirectional_mode) |-> ! $isunknown(h_data))
|
|
assert |
disable iff((!rst_n)!=='0)((! is_push_agent && in_bidirectional_mode) |-> ((req && ! ack) |=> $stable(h_data)))
|
|
assert |
disable iff((!rst_n)!=='0)((! is_push_agent && ! is_pull_handshake_4_phase) |-> (ack |-> req))
|
|
assert |
disable iff((!rst_n)!=='0)(! is_push_agent |-> ($rose(req) |-> (! $past(ack, 1) && ! ack)))
|
|
assert |
disable iff((!rst_n)!=='0)(! is_push_agent |-> ($rose(req) |-> (req throughout (ack [-> 1]))))
|
|
assert |
disable iff((!rst_n)!=='0)((! is_push_agent && is_pull_handshake_4_phase) |-> ($rose(ack) |-> (ack throughout (! req [-> 1]))))
|
|
assert |
disable iff((!rst_ni)!=='0)((id_instr_category == InstrCategoryALU) |-> ((((((id_stage_i.rf_wdata_sel == RF_WD_EX) && id_stage_i.rf_we_dec) && ~ id_stage_i.mult_sel_ex_o) && ~ id_stage_i.div_sel_ex_o) && ~ id_stage_i.lsu_req_dec) && ~ id_stage_i.jump_in_dec))
|
|
assert |
disable iff((!rst_ni)!=='0)((id_instr_category == InstrCategoryMul) |-> id_stage_i.mult_sel_ex_o)
|
|
assert |
disable iff((!rst_ni)!=='0)((id_instr_category == InstrCategoryDiv) |-> id_stage_i.div_sel_ex_o)
|
|
assert |
disable iff((!rst_ni)!=='0)((id_instr_category == InstrCategoryBranch) |-> id_stage_i.branch_in_dec)
|
|
assert |
disable iff((!rst_ni)!=='0)((id_instr_category == InstrCategoryJump) |-> id_stage_i.jump_in_dec)
|
|
assert |
disable iff((!rst_ni)!=='0)((id_instr_category == InstrCategoryLoad) |-> (id_stage_i.lsu_req_dec && ! id_stage_i.lsu_we))
|
|
assert |
disable iff((!rst_ni)!=='0)((id_instr_category == InstrCategoryStore) |-> (id_stage_i.lsu_req_dec && id_stage_i.lsu_we))
|
|
assert |
disable iff((!rst_ni)!=='0)((id_instr_category == InstrCategoryCSRAccess) |-> id_stage_i.csr_access_o)
|
|
assert |
disable iff((!rst_ni)!=='0)((id_instr_category == InstrCategoryEBreakDbg) |-> (id_stage_i.ebrk_insn && id_stage_i.controller_i.ebreak_into_debug))
|
|
assert |
disable iff((!rst_ni)!=='0)((id_instr_category == InstrCategoryEBreakExc) |-> (id_stage_i.ebrk_insn && ! id_stage_i.controller_i.ebreak_into_debug))
|
|
assert |
disable iff((!rst_ni)!=='0)((id_instr_category == InstrCategoryECall) |-> id_stage_i.ecall_insn_dec)
|
|
assert |
disable iff((!rst_ni)!=='0)((id_instr_category == InstrCategoryMRet) |-> id_stage_i.mret_insn_dec)
|
|
assert |
disable iff((!rst_ni)!=='0)((id_instr_category == InstrCategoryDRet) |-> id_stage_i.dret_insn_dec)
|
|
assert |
disable iff((!rst_ni)!=='0)((id_instr_category == InstrCategoryWFI) |-> id_stage_i.wfi_insn_dec)
|
|
assert |
disable iff((!rst_ni)!=='0)(((id_instr_category == InstrCategoryFenceI) && id_stage_i.instr_first_cycle) |-> id_stage_i.icache_inval_o)
|
|
assert |
disable iff((!rst_n)!=='0)((! dut_if.alert_minor && ! dut_if.alert_major_internal) && ! dut_if.alert_major_bus)
|
check supported widths