Add regression test for br_gh661 and test for correct $random behaviour.
This commit is contained in:
parent
94e09ec473
commit
42de9e646a
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,40 @@
|
|||
module test;
|
||||
|
||||
localparam NOM_COUNT = 1000;
|
||||
localparam MIN_COUNT = NOM_COUNT - 200;
|
||||
localparam MAX_COUNT = NOM_COUNT + 200;
|
||||
|
||||
integer histogram[255:0];
|
||||
|
||||
integer i;
|
||||
|
||||
reg [7:0] value;
|
||||
|
||||
reg failed;
|
||||
|
||||
initial begin
|
||||
failed = 0;
|
||||
for (i = 0; i < 256; i++) begin
|
||||
histogram[i] = 0;
|
||||
end
|
||||
for (i = 0; i < 256*NOM_COUNT; i = i + 1) begin
|
||||
value = $urandom_range(32'hffffffff, 32'h0) >> 24;
|
||||
histogram[value] += 1;
|
||||
end
|
||||
for (i = 0; i < 256; i++) begin
|
||||
if (histogram[i] < MIN_COUNT) begin
|
||||
$display("Bin %3d count %0d", i, histogram[i]);
|
||||
failed = 1;
|
||||
end
|
||||
if (histogram[i] > MAX_COUNT) begin
|
||||
$display("Bin %3d count %0d", i, histogram[i]);
|
||||
failed = 1;
|
||||
end
|
||||
end
|
||||
if (failed)
|
||||
$display("FAILED");
|
||||
else
|
||||
$display("PASSED");
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
module test;
|
||||
|
||||
localparam NOM_COUNT = 1000;
|
||||
localparam MIN_COUNT = NOM_COUNT - 200;
|
||||
localparam MAX_COUNT = NOM_COUNT + 200;
|
||||
|
||||
integer histogram[255:0];
|
||||
|
||||
integer i;
|
||||
|
||||
reg [31:0] value;
|
||||
|
||||
reg failed;
|
||||
|
||||
initial begin
|
||||
failed = 0;
|
||||
for (i = 0; i < 256; i++) begin
|
||||
histogram[i] = 0;
|
||||
end
|
||||
for (i = 0; i < 256*NOM_COUNT; i = i + 1) begin
|
||||
value = $urandom_range(32'h1ff, 32'h100) - 32'h100;
|
||||
if (value[31:8] != 0) begin
|
||||
$display("Random value %h not in range", value + 32'h100);
|
||||
$display("FAILED");
|
||||
$finish(0);
|
||||
end
|
||||
histogram[value] += 1;
|
||||
end
|
||||
for (i = 0; i < 256; i++) begin
|
||||
if (histogram[i] < MIN_COUNT) begin
|
||||
$display("Bin %3d count %0d", i, histogram[i]);
|
||||
failed = 1;
|
||||
end
|
||||
if (histogram[i] > MAX_COUNT) begin
|
||||
$display("Bin %3d count %0d", i, histogram[i]);
|
||||
failed = 1;
|
||||
end
|
||||
end
|
||||
if (failed)
|
||||
$display("FAILED");
|
||||
else
|
||||
$display("PASSED");
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
module test;
|
||||
|
||||
integer i;
|
||||
|
||||
initial begin
|
||||
for (i = 0; i < 1000; i++) begin
|
||||
$display("%h", $random);
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
|
@ -207,6 +207,8 @@ br_gh540 normal,-g2009 ivltests
|
|||
br_gh553 normal,-g2009 ivltests
|
||||
br_gh556 normal,-g2009 ivltests
|
||||
br_gh568 normal,-g2009 ivltests
|
||||
br_gh661a normal,-g2009 ivltests
|
||||
br_gh661b normal,-g2009 ivltests
|
||||
br_ml20171017 normal,-g2009 ivltests
|
||||
br_ml20180227 CE,-g2009 ivltests
|
||||
br_ml20180309a normal,-g2009 ivltests
|
||||
|
|
|
|||
|
|
@ -1435,6 +1435,7 @@ queue normal ivltests
|
|||
queue_fail RE ivltests gold=queue_fail.gold
|
||||
queue_stat normal ivltests gold=queue_stat.gold
|
||||
ram16x1 normal ivltests # Sitting here for a long time?
|
||||
random normal ivltests gold=random.gold
|
||||
readmem-error normal ivltests gold=readmem-error.gold
|
||||
readmem-invalid RE ivltests gold=readmem-invalid.gold
|
||||
readmemb1 normal ivltests # basic $readmemb - uses readmemh1.dat
|
||||
|
|
|
|||
|
|
@ -211,6 +211,8 @@ br1008 CE ivltests
|
|||
br1019 CE ivltests
|
||||
br_gh556 CE,-g2009 ivltests
|
||||
br_gh632c CE ivltests
|
||||
br_gh661a CE ivltests
|
||||
br_gh661b CE ivltests
|
||||
br_ml20171017 CE ivltests
|
||||
genvar_scopes CE ivltests
|
||||
meminit2 CE ivltests
|
||||
|
|
|
|||
Loading…
Reference in New Issue