Conversation
|
@LucaRufer can you have a quick look at this one, the CI was reporting |
| always_comb begin : proc_req | ||
| select_d = select_q; | ||
| cnt_up = 1'b0; | ||
| for (int i = 0; i < NumMgrPorts; i++) begin |
There was a problem hiding this comment.
You could drop this for-loop and just have a mgr_reqs = '0; and mgr_connect = '0; to have nicer default signals, if you wanted to.
| if (!overflow) begin | ||
| // R-4.1.1: block source changes while a stalled R phase is active | ||
| if (sbr_port_select_i == select_q || (!rsp_phase_stalled && | ||
| (in_flight == '0 || (in_flight == 1 && cnt_down)))) begin |
There was a problem hiding this comment.
An issue I see (not related to this PR), is that
mgr_ports_req_o[i].req depends on mgr_reqs[i] depends on cnt_down, which depends on sbr_port_rsp_o.rvalid, depends on mgr_ports_rsp_i[select_q].rvalid, which is not legal as per OBI v1.6.0 R-21.1 ("For a manager, req shall not combinatorially depend on gnt or rvalid (nor on gntpar or rvalidpar").
So the (in_flight == 1 && cnt_down)) condition would have to be removed to resolve this dependency.
No description provided.