add code for random backpressure
This commit is contained in:
parent
6dc098c0e9
commit
d35d61f89b
|
@ -126,12 +126,12 @@ interface if_axi_stream # (
|
||||||
endtask;
|
endtask;
|
||||||
|
|
||||||
// Task used in simulation to get data from a sink interface
|
// Task used in simulation to get data from a sink interface
|
||||||
task automatic get_stream(ref logic [common_pkg::MAX_SIM_BYTS*8-1:0] data, ref integer signed len, input integer bp = 0);
|
task automatic get_stream(ref logic [common_pkg::MAX_SIM_BYTS*8-1:0] data, ref integer signed len, input integer unsigned bp = 50);
|
||||||
logic sop_l = 0;
|
logic sop_l = 0;
|
||||||
rdy = ($random % 100) >= bp;
|
rdy = ($random % 100) >= bp;
|
||||||
len = 0;
|
len = 0;
|
||||||
data = 0;
|
data = 0;
|
||||||
@(posedge i_clk);
|
@(negedge i_clk);
|
||||||
|
|
||||||
while (1) begin
|
while (1) begin
|
||||||
if (val && rdy) begin
|
if (val && rdy) begin
|
||||||
|
@ -144,9 +144,11 @@ interface if_axi_stream # (
|
||||||
len = len + (eop ? (mod == 0 ? DAT_BYTS : mod) : DAT_BYTS);
|
len = len + (eop ? (mod == 0 ? DAT_BYTS : mod) : DAT_BYTS);
|
||||||
if (eop) break;
|
if (eop) break;
|
||||||
end
|
end
|
||||||
@(posedge i_clk);
|
@(negedge i_clk);
|
||||||
rdy = ($random % 100) >= bp;
|
rdy = ($random % 100) >= bp;
|
||||||
end
|
end
|
||||||
|
@(posedge i_clk);
|
||||||
|
|
||||||
rdy = 1;
|
rdy = 1;
|
||||||
endtask
|
endtask
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue