Skip to content

Commit fe78927

Browse files
committed
WIP [formal] Exclude u-mode counters from formal verification
1 parent 8d4fc8f commit fe78927

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

dv/formal/check/top.sv

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,9 @@ NotDebug: assume property (!ibex_top_i.u_ibex_core.debug_mode & !debug_req_i);
163163
ConstantBoot: assume property (boot_addr_i == $past(boot_addr_i));
164164
// 3. Always fetch enable
165165
FetchEnable: assume property (fetch_enable_i == IbexMuBiOn);
166-
// 4. Never try to sleep if we couldn't ever wake up
166+
// 4. Always have mcounteren writable
167+
McounterenWritable: assume property (mcounteren_writable_i == IbexMuBiOn);
168+
// 5. Never try to sleep if we couldn't ever wake up
167169
WFIStart: assume property (`IDC.ctrl_fsm_cs == SLEEP |-> (
168170
`CSR.mie_q.irq_software |
169171
`CSR.mie_q.irq_timer |
@@ -201,6 +203,7 @@ WFIStart: assume property (`IDC.ctrl_fsm_cs == SLEEP |-> (
201203
logic [31:0] `X(mscratch); \
202204
logic [31:0] `X(mepc); \
203205
logic [63:0] `X(mcycle); \
206+
logic [63:0] `X(cycle); \
204207
logic [31:0] `X(mshwmb); \
205208
logic [31:0] `X(mshwm); \
206209
logic [31:0] `X(mcounteren); \
@@ -442,13 +445,17 @@ logic ex_is_checkable_csr;
442445
assign ex_is_checkable_csr = ~(
443446
((CSR_MHPMCOUNTER3H <= `CSR_ADDR) && (`CSR_ADDR <= CSR_MHPMCOUNTER31H)) |
444447
((CSR_MHPMCOUNTER3 <= `CSR_ADDR) && (`CSR_ADDR <= CSR_MHPMCOUNTER31)) |
448+
((CSR_HPMCOUNTER3H <= `CSR_ADDR) && (`CSR_ADDR <= CSR_HPMCOUNTER31H)) |
449+
((CSR_HPMCOUNTER3 <= `CSR_ADDR) && (`CSR_ADDR <= CSR_HPMCOUNTER31)) |
445450
((CSR_MHPMEVENT3 <= `CSR_ADDR) && (`CSR_ADDR <= CSR_MHPMEVENT31)) |
446451
(`CSR_ADDR == CSR_CPUCTRLSTS) | (`CSR_ADDR == CSR_SECURESEED) |
447452
(`CSR_ADDR == CSR_MIE) |
448453
(`CSR_ADDR == CSR_MCYCLE) | (`CSR_ADDR == CSR_MCYCLEH) |
454+
(`CSR_ADDR == CSR_CYCLE) | (`CSR_ADDR == CSR_CYCLEH) |
449455

450456
// TODO:
451457
(`CSR_ADDR == CSR_MINSTRET) | (`CSR_ADDR == CSR_MINSTRETH) |
458+
(`CSR_ADDR == CSR_INSTRET) | (`CSR_ADDR == CSR_INSTRETH) |
452459
(`CSR_ADDR == CSR_MCOUNTINHIBIT)
453460
);
454461

0 commit comments

Comments
 (0)