minor update

This commit is contained in:
Blaise Tine 2024-08-24 10:42:48 -07:00
parent 1f5cc53434
commit 10a8705161

View file

@ -61,8 +61,8 @@ module VX_pending_size #(
end else begin
logic empty_r, alm_empty_r;
logic full_r, alm_full_r;
reg empty_r, alm_empty_r;
reg full_r, alm_full_r;
if (INCRW != 1 || DECRW != 1) begin
@ -98,43 +98,55 @@ module VX_pending_size #(
reg [ADDRW-1:0] used_r;
wire is_alm_empty = (used_r == ADDRW'(ALM_EMPTY));
wire is_alm_empty_n = (used_r == ADDRW'(ALM_EMPTY+1));
wire is_alm_full = (used_r == ADDRW'(ALM_FULL));
wire is_alm_full_n = (used_r == ADDRW'(ALM_FULL-1));
always @(posedge clk) begin
if (reset) begin
alm_empty_r <= 1;
alm_full_r <= 0;
end else begin
if (incr) begin
if (~decr) begin
if (is_alm_empty)
alm_empty_r <= 0;
if (is_alm_full_n)
alm_full_r <= 1;
end
end else if (decr) begin
if (is_alm_full)
alm_full_r <= 0;
if (is_alm_empty_n)
alm_empty_r <= 1;
end
end
end
if (SIZE > 2) begin
wire is_empty_n = (used_r == ADDRW'(1));
wire is_full_n = (used_r == ADDRW'(SIZE-1));
wire is_alm_empty = (used_r == ADDRW'(ALM_EMPTY));
wire is_alm_empty_n= (used_r == ADDRW'(ALM_EMPTY+1));
wire is_alm_full = (used_r == ADDRW'(ALM_FULL));
wire is_alm_full_n = (used_r == ADDRW'(ALM_FULL-1));
wire is_empty_n = (used_r == ADDRW'(1));
wire is_full_n = (used_r == ADDRW'(SIZE-1));
wire [1:0] push_minus_pop = {~incr & decr, incr ^ decr};
always @(posedge clk) begin
if (reset) begin
empty_r <= 1;
full_r <= 0;
alm_empty_r <= 0;
alm_full_r <= 0;
used_r <= '0;
empty_r <= 1;
full_r <= 0;
used_r <= '0;
end else begin
if (incr) begin
if (~decr) begin
empty_r <= 0;
if (is_alm_empty)
alm_empty_r <= 0;
if (is_full_n)
full_r <= 1;
if (is_alm_full_n)
alm_full_r <= 1;
end
end else if (decr) begin
full_r <= 0;
if (is_alm_full)
alm_full_r <= 0;
if (is_empty_n)
empty_r <= 1;
if (is_alm_empty_n)
alm_empty_r <= 1;
end
used_r <= $signed(used_r) + ADDRW'($signed(push_minus_pop));
end
@ -153,9 +165,6 @@ module VX_pending_size #(
used_r <= used_r ^ (incr ^ decr);
end
end
assign alm_empty_r = used_r;
assign alm_full_r = used_r;
end
assign size = {full_r, used_r};