58 lines
906 B
Coq
58 lines
906 B
Coq
|
`timescale 1ns/10ps
|
||
|
|
||
|
module svinterface1_tb;
|
||
|
|
||
|
|
||
|
logic clk;
|
||
|
logic rst;
|
||
|
logic [21:0] outOther;
|
||
|
logic [1:0] sig;
|
||
|
logic [1:0] sig_out;
|
||
|
logic flip;
|
||
|
logic [15:0] passThrough;
|
||
|
integer outfile;
|
||
|
|
||
|
TopModule u_dut (
|
||
|
.clk(clk),
|
||
|
.rst(rst),
|
||
|
.outOther(outOther),
|
||
|
.sig(sig),
|
||
|
.flip(flip),
|
||
|
.passThrough(passThrough),
|
||
|
.sig_out(sig_out)
|
||
|
);
|
||
|
|
||
|
initial begin
|
||
|
clk = 0;
|
||
|
while(1) begin
|
||
|
clk = ~clk;
|
||
|
#50;
|
||
|
end
|
||
|
end
|
||
|
|
||
|
initial begin
|
||
|
outfile = $fopen("output.txt");
|
||
|
rst = 1;
|
||
|
sig = 0;
|
||
|
flip = 0;
|
||
|
@(posedge clk);
|
||
|
#(2);
|
||
|
rst = 0;
|
||
|
@(posedge clk);
|
||
|
for(int j=0;j<2;j++) begin
|
||
|
for(int i=0;i<20;i++) begin
|
||
|
#(2);
|
||
|
flip = j;
|
||
|
sig = i;
|
||
|
@(posedge clk);
|
||
|
end
|
||
|
end
|
||
|
$finish;
|
||
|
end
|
||
|
|
||
|
always @(negedge clk) begin
|
||
|
$fdisplay(outfile, "%d %d %d", outOther, sig_out, passThrough);
|
||
|
end
|
||
|
|
||
|
endmodule
|