URL
https://opencores.org/ocsvn/ft816float/ft816float/trunk
Subversion Repositories ft816float
Compare Revisions
- This comparison shows the changes necessary to convert path
/ft816float/trunk/test_bench
- from Rev 59 to Rev 60
- ↔ Reverse comparison
Rev 59 → Rev 60
/df128Toi_tb.sv
0,0 → 1,80
module df128Toi_tb(); |
|
reg rst; |
reg clk; |
reg [15:0] adr; |
reg [127:0] flt; |
reg [7:0] count; |
|
wire [127:0] bin; |
wire vf; |
|
integer outfile; |
|
initial begin |
rst = 1'b0; |
clk = 1'b0; |
adr = 0; |
flt = $urandom(1); |
#20 rst = 1; |
#50 rst = 0; |
#10000000 $fclose(outfile); |
#10 $finish; |
end |
|
always #5 |
clk = ~clk; |
|
genvar g; |
generate begin : gRand |
for (g = 0; g < 128; g = g + 4) begin |
always @(posedge clk) begin |
if (count==2) |
flt[g+3:g] <= $urandom() % 16; |
end |
end |
end |
endgenerate |
|
always @(posedge clk) |
if (rst) begin |
adr <= 0; |
count <= 0; |
end |
else |
begin |
if (adr==0) begin |
outfile = $fopen("d:/cores2022/rf6809/rtl/dfpu/test_bench/df128Toi_tvo.txt", "wb"); |
$fwrite(outfile, "s ------ flt ------ ------ bin ------ \n"); |
end |
count <= count + 1; |
if (count > 140) |
count <= 1'd1; |
if (adr==2) begin |
flt <= 128'h44000000000000000000000000000000; |
end |
if (adr==3) begin |
flt <= 128'h44004000000000000000000000000000; |
end |
if (adr==5) begin |
flt <= 128'h48000000000000000000000000000000; |
end |
if (count==140) begin |
$fwrite(outfile, "%c %h\t%h%c\n", adr[11] ? "s" : "u", flt, bin, vf ? "v": " "); |
adr <= adr + 1; |
end |
end |
|
df128Toi u6 ( |
.rst(rst), |
.clk(clk), |
.ce(1'b1), |
.op(adr[11]), |
.ld(count==3), |
.i(flt), |
.o(bin), |
.overflow(vf), |
.done() |
); |
|
endmodule |
/i2df128_tb.sv
0,0 → 1,79
module i2df128_tb(); |
|
reg rst; |
reg clk; |
reg [15:0] adr; |
wire [127:0] flt; |
reg [7:0] count; |
|
reg [127:0] bin; |
|
integer outfile; |
|
initial begin |
rst = 1'b0; |
clk = 1'b0; |
adr = 0; |
bin = $urandom(1); |
#20 rst = 1; |
#50 rst = 0; |
#10000000 $fclose(outfile); |
#10 $finish; |
end |
|
always #5 |
clk = ~clk; |
|
genvar g; |
generate begin : gRand |
for (g = 0; g < 128; g = g + 4) begin |
always @(posedge clk) begin |
if (count==2) |
bin[g+3:g] <= $urandom() % 16; |
end |
end |
end |
endgenerate |
|
always @(posedge clk) |
if (rst) begin |
adr <= 0; |
count <= 0; |
end |
else |
begin |
if (adr==0) begin |
outfile = $fopen("d:/cores2022/rf6809/rtl/dfpu/test_bench/i2df128_tvo.txt", "wb"); |
$fwrite(outfile, "s ------ bin ------ ------ flt ------ \n"); |
end |
count <= count + 1; |
if (count > 140) |
count <= 1'd1; |
if (adr==2) begin |
bin <= 128'h0A; |
end |
if (adr==3) begin |
bin <= 128'd100; |
end |
if (adr==5) begin |
bin <= 128'd12345678; |
end |
if (count==140) begin |
$fwrite(outfile, "%c %h\t%h\n", adr[11] ? "s" : "u", bin, flt); |
adr <= adr + 1; |
end |
end |
|
i2df128 u6 ( |
.rst(rst), |
.clk(clk), |
.ce(1'b1), |
.op(adr[11]), |
.rm(3'd0), |
.ld(count==3), |
.i(bin), |
.o(flt), |
.done() |
); |
|
endmodule |