minor update

This commit is contained in:
Blaise Tine 2024-08-25 06:06:52 -07:00
parent b40441b68f
commit df3fc150f4
2 changed files with 13 additions and 15 deletions

View file

@ -40,17 +40,17 @@ module VX_cyclic_arbiter #(
localparam IS_POW2 = (1 << LOG_NUM_REQS) == NUM_REQS;
wire [LOG_NUM_REQS-1:0] grant_index_um, grant_index_ql;
wire [LOG_NUM_REQS-1:0] grant_index_um;
reg [LOG_NUM_REQS-1:0] grant_index_r;
always @(posedge clk) begin
if (reset) begin
grant_index_r <= '0;
end else if (grant_valid && grant_ready) begin
if (!IS_POW2 && grant_index_ql == LOG_NUM_REQS'(NUM_REQS-1)) begin
if (!IS_POW2 && grant_index == LOG_NUM_REQS'(NUM_REQS-1)) begin
grant_index_r <= '0;
end else begin
grant_index_r <= grant_index_ql + LOG_NUM_REQS'(1);
grant_index_r <= grant_index + LOG_NUM_REQS'(1);
end
end
end
@ -64,10 +64,8 @@ module VX_cyclic_arbiter #(
.valid_out (grant_valid)
);
assign grant_index_ql = requests[grant_index_r] ? grant_index_r : grant_index_um;
assign grant_index = grant_index_ql;
assign grant_onehot = NUM_REQS'(1) << grant_index_ql;
assign grant_index = requests[grant_index_r] ? grant_index_r : grant_index_um;
assign grant_onehot = NUM_REQS'(grant_valid) << grant_index;
end

View file

@ -62,7 +62,7 @@ module VX_rr_arbiter #(
end
assign grant_index = grant_index_w;
assign grant_onehot = NUM_REQS'(1) << grant_index_w;
assign grant_onehot = NUM_REQS'(grant_valid) << grant_index_w;
assign grant_valid = (| requests);
end else if (LUT_OPT && NUM_REQS == 3) begin
@ -94,7 +94,7 @@ module VX_rr_arbiter #(
end
assign grant_index = grant_index_w;
assign grant_onehot = NUM_REQS'(1) << grant_index_w;
assign grant_onehot = NUM_REQS'(grant_valid) << grant_index_w;
assign grant_valid = (| requests);
end else if (LUT_OPT && NUM_REQS == 4) begin
@ -133,7 +133,7 @@ module VX_rr_arbiter #(
end
assign grant_index = grant_index_w;
assign grant_onehot = NUM_REQS'(1) << grant_index_w;
assign grant_onehot = NUM_REQS'(grant_valid) << grant_index_w;
assign grant_valid = (| requests);
end else if (LUT_OPT && NUM_REQS == 5) begin
@ -181,7 +181,7 @@ module VX_rr_arbiter #(
end
assign grant_index = grant_index_w;
assign grant_onehot = NUM_REQS'(1) << grant_index_w;
assign grant_onehot = NUM_REQS'(grant_valid) << grant_index_w;
assign grant_valid = (| requests);
end else if (LUT_OPT && NUM_REQS == 6) begin
@ -240,7 +240,7 @@ module VX_rr_arbiter #(
end
assign grant_index = grant_index_w;
assign grant_onehot = NUM_REQS'(1) << grant_index_w;
assign grant_onehot = NUM_REQS'(grant_valid) << grant_index_w;
assign grant_valid = (| requests);
end else if (LUT_OPT && NUM_REQS == 7) begin
@ -312,7 +312,7 @@ module VX_rr_arbiter #(
end
assign grant_index = grant_index_w;
assign grant_onehot = NUM_REQS'(1) << grant_index_w;
assign grant_onehot = NUM_REQS'(grant_valid) << grant_index_w;
assign grant_valid = (| requests);
end else if (LUT_OPT && NUM_REQS == 8) begin
@ -399,7 +399,7 @@ module VX_rr_arbiter #(
end
assign grant_index = grant_index_w;
assign grant_onehot = NUM_REQS'(1) << grant_index_w;
assign grant_onehot = NUM_REQS'(grant_valid) << grant_index_w;
assign grant_valid = (| requests);
end else if (MODEL == 1) begin
@ -474,7 +474,7 @@ module VX_rr_arbiter #(
end
assign grant_index = grant_table[state];
assign grant_onehot = NUM_REQS'(1) << grant_index;
assign grant_onehot = NUM_REQS'(grant_valid) << grant_index;
assign grant_valid = (| requests);
end