URL
https://opencores.org/ocsvn/srdydrdy_lib/srdydrdy_lib/trunk
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 11 |
Rev 13 |
Line 51... |
Line 51... |
|
|
output reg [asz-1:0] cur_rdptr,
|
output reg [asz-1:0] cur_rdptr,
|
output reg [asz-1:0] com_rdptr,
|
output reg [asz-1:0] com_rdptr,
|
input [asz-1:0] wrptr,
|
input [asz-1:0] wrptr,
|
output reg mem_re,
|
output reg mem_re,
|
|
input mem_we,
|
|
|
output reg [asz:0] usage,
|
output reg [asz:0] usage,
|
|
|
output p_srdy,
|
output p_srdy,
|
input p_drdy,
|
input p_drdy,
|
Line 119... |
Line 120... |
tmp_usage = wrptr[asz-1:0] - cur_rdptr[asz-1:0];
|
tmp_usage = wrptr[asz-1:0] - cur_rdptr[asz-1:0];
|
if (~tmp_usage[asz])
|
if (~tmp_usage[asz])
|
usage = tmp_usage[asz-1:0];
|
usage = tmp_usage[asz-1:0];
|
else
|
else
|
usage = fifo_size - (cur_rdptr[asz-1:0] - wrptr[asz-1:0]);
|
usage = fifo_size - (cur_rdptr[asz-1:0] - wrptr[asz-1:0]);
|
end
|
end // always @ *
|
|
|
|
/* -----\/----- EXCLUDED -----\/-----
|
|
// alternate usage calc
|
|
reg [asz-1:0] prev_wr;
|
|
reg [asz:0] usage2, nxt_usage2;
|
|
wire lcl_wr_en;
|
|
//assign lcl_wr_en = (prev_wr0 != wrptr[0]);
|
|
|
|
always @(posedge clk)
|
|
begin
|
|
if (reset)
|
|
begin
|
|
/-*AUTORESET*-/
|
|
// Beginning of autoreset for uninitialized flops
|
|
usage2 <= {(1+(asz)){1'b0}};
|
|
// End of automatics
|
|
end
|
|
else
|
|
begin
|
|
usage2 <= #1 nxt_usage2;
|
|
end
|
|
end
|
|
|
|
always @*
|
|
begin
|
|
if (mem_re & !mem_we)
|
|
nxt_usage2 = usage2 - 1;
|
|
else if (!mem_re & mem_we)
|
|
nxt_usage2 = usage2 + 1;
|
|
else
|
|
nxt_usage2 = usage2;
|
|
end
|
|
-----/\----- EXCLUDED -----/\----- */
|
|
|
always @(posedge clk)
|
always @(posedge clk)
|
begin
|
begin
|
if (reset)
|
if (reset)
|
cur_rdptr <= `SDLIB_DELAY bound_low;
|
cur_rdptr <= `SDLIB_DELAY bound_low;
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.