@@ -124,7 +124,10 @@ ConstantBoot: assume property (boot_addr_i == $past(boot_addr_i));
124
124
// 3. Always fetch enable
125
125
FetchEnable: assume property (fetch_enable_i == IbexMuBiOn);
126
126
// 4. Never try to sleep if we couldn't ever wake up
127
- WFIStart: assume property (`IDC .ctrl_fsm_cs == SLEEP | - > `CSR .mie_q.irq_software | `CSR .mie_q.irq_timer | `CSR .mie_q.irq_external);
127
+ WFIStart: assume property (`IDC .ctrl_fsm_cs == SLEEP | - >
128
+ `CSR .mie_q.irq_software |
129
+ `CSR .mie_q.irq_timer |
130
+ `CSR .mie_q.irq_external);
128
131
// 5. Disable clock gating
129
132
TestEn: assume property (test_en_i);
130
133
// See protocol/* for further assumptions
@@ -169,7 +172,7 @@ TestEn: assume property (test_en_i);
169
172
// //////////////////// Abstract State //////////////////////
170
173
171
174
// Pre state is the architectural state of Ibex at the start of the cycle
172
- logic [31 : 0 ] pre_regs[31 : 0 ];
175
+ logic [31 : 0 ] pre_regs[32 ];
173
176
logic [31 : 0 ] pre_nextpc;
174
177
logic [31 : 0 ] pre_mip;
175
178
@@ -262,10 +265,11 @@ assign lsu_had_first_resp = `LSU.ls_fsm_cs == `LSU.WAIT_GNT && `LSU.split_misali
262
265
// //////////////////// Wrap signals //////////////////////
263
266
264
267
logic spec_en; // The specification is being queried in this cycle
265
- logic has_spec_past; // There is a previous step to compare against. Will become 0 on uncheckable CSRs and at reset.
268
+ logic has_spec_past; // There is a previous step to compare against.
269
+ // Will become 0 on uncheckable CSRs and at reset.
266
270
267
271
// The previous specification output to be compared with the new input
268
- logic [31 : 0 ] spec_past_regs[31 : 0 ];
272
+ logic [31 : 0 ] spec_past_regs[32 ];
269
273
logic [31 : 0 ] spec_past_has_reg; // Registers will have past values only when they are written to.
270
274
`define X (n) spec_past_``n
271
275
`X_EACH_CSR_TYPED
@@ -286,7 +290,8 @@ logic wbexc_illegal; // EXC has an illegal instruction
286
290
logic wbexc_compressed_illegal; // EXC has an illegal instruction
287
291
logic wbexc_err; // EXC has an error
288
292
logic instr_will_progress; // Instruction will finish EX
289
- logic wfi_will_finish; // WFI instruction retire by flushing the pipeline, but that isn't an exception
293
+ logic wfi_will_finish; // WFI instruction retire by flushing the pipeline,
294
+ // but that isn't an exception.
290
295
logic wbexc_csr_pipe_flush; // The pipeline is being flushed due to a CSR write
291
296
logic wbexc_handling_irq; // Check the results of handling an IRQ
292
297
@@ -326,7 +331,8 @@ logic spec_post_wX_en;
326
331
327
332
logic spec_int_err;
328
333
329
- logic spec_fetch_err; // The specification has experienced a fetch error, regardless of whether or not it was told to.
334
+ logic spec_fetch_err; // The specification has experienced a fetch error,
335
+ // regardless of whether or not it was told to.
330
336
assign spec_fetch_err =
331
337
(main_mode == MAIN_IFERR && spec_api_i.main_result == MAINRES_OK ) ||
332
338
spec_api_i.main_result == MAINRES_IFERR_1 || spec_api_i.main_result == MAINRES_IFERR_2 ;
@@ -386,10 +392,14 @@ assign lsu_waiting_for_misal =
386
392
((`LSU .data_type_q == 2'b01 ) && (`LSU .rdata_offset_q == 2'b11 ));
387
393
388
394
logic addr_last_matches;
389
- assign addr_last_matches = `ID .rf_rdata_a_fwd + (ex_is_store_instr? `ID .imm_s_type : `ID .imm_i_type) == `LSU .addr_last_q;
395
+ assign addr_last_matches = `ID .rf_rdata_a_fwd +
396
+ (ex_is_store_instr? `ID .imm_s_type : `ID .imm_i_type) ==
397
+ `LSU .addr_last_q;
390
398
391
399
logic addr_last_d_matches;
392
- assign addr_last_d_matches = `ID .rf_rdata_a_fwd + (ex_is_store_instr? `ID .imm_s_type : `ID .imm_i_type) == `LSU .addr_last_d;
400
+ assign addr_last_d_matches = `ID .rf_rdata_a_fwd +
401
+ (ex_is_store_instr? `ID .imm_s_type : `ID .imm_i_type) ==
402
+ `LSU .addr_last_d;
393
403
394
404
// //////////////////// Compare //////////////////////
395
405
0 commit comments