📄 gwwave.tfw
字号:
////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 1995-2003 Xilinx, Inc.
// All Right Reserved.
////////////////////////////////////////////////////////////////////////////////
// ____ ____
// / /\/ /
// /___/ \ / Vendor: Xilinx
// \ \ \/ Version : 7.1.03i
// \ \ Application : ISE Foundation
// / / Filename : gwwave.tfw
// /___/ /\ Timestamp : Sat Jun 02 22:38:07 2007
// \ \ / \
// \___\/\___\
//
//Command:
//Design Name: gwwave
//Device: Xilinx
//
`timescale 1ns/1ps
module gwwave;
reg [15:0] mux2 = 16'b0000000000000000;
reg [15:0] eer = 16'b0000000000000000;
reg [15:0] eei = 16'b0000000000000000;
reg [15:0] w0r = 16'b0000000000000000;
reg [15:0] w0i = 16'b0000000000000000;
reg [15:0] w1r = 16'b0000000000000000;
reg [15:0] w1i = 16'b0000000000000000;
reg [15:0] w2r = 16'b0000000000000000;
reg [15:0] w2i = 16'b0000000000000000;
reg [15:0] w3r = 16'b0000000000000000;
reg [15:0] w3i = 16'b0000000000000000;
reg [15:0] w4r = 16'b0000000000000000;
reg [15:0] w4i = 16'b0000000000000000;
reg [15:0] w5r = 16'b0000000000000000;
reg [15:0] w5i = 16'b0000000000000000;
reg [15:0] w6r = 16'b0000000000000000;
reg [15:0] w6i = 16'b0000000000000000;
reg [15:0] w7r = 16'b0000000000000000;
reg [15:0] w7i = 16'b0000000000000000;
reg [15:0] yx0r = 16'b0000000000000000;
reg [15:0] yx0i = 16'b0000000000000000;
reg [15:0] yx1r = 16'b0000000000000000;
reg [15:0] yx1i = 16'b0000000000000000;
reg [15:0] yx2r = 16'b0000000000000000;
reg [15:0] yx2i = 16'b0000000000000000;
reg [15:0] yx3r = 16'b0000000000000000;
reg [15:0] yx3i = 16'b0000000000000000;
reg [15:0] yx4r = 16'b0000000000000000;
reg [15:0] yx4i = 16'b0000000000000000;
reg [15:0] yx5r = 16'b0000000000000000;
reg [15:0] yx5i = 16'b0000000000000000;
reg [15:0] yx6r = 16'b0000000000000000;
reg [15:0] yx6i = 16'b0000000000000000;
reg [15:0] yx7r = 16'b0000000000000000;
reg [15:0] yx7i = 16'b0000000000000000;
wire [15:0] wn0r;
wire [15:0] wn0i;
wire [15:0] wn1r;
wire [15:0] wn1i;
wire [15:0] wn2r;
wire [15:0] wn2i;
wire [15:0] wn3r;
wire [15:0] wn3i;
wire [15:0] wn4r;
wire [15:0] wn4i;
wire [15:0] wn5r;
wire [15:0] wn5i;
wire [15:0] wn6r;
wire [15:0] wn6i;
wire [15:0] wn7r;
wire [15:0] wn7i;
reg clk = 1'b0;
reg start = 1'b0;
wire rdy;
parameter PERIOD = 200;
parameter real DUTY_CYCLE = 0.5;
parameter OFFSET = 0;
initial // Clock process for clk
begin
#OFFSET;
forever
begin
clk = 1'b0;
#(PERIOD-(PERIOD*DUTY_CYCLE)) clk = 1'b1;
#(PERIOD*DUTY_CYCLE);
end
end
gw UUT (
.mux2(mux2),
.eer(eer),
.eei(eei),
.w0r(w0r),
.w0i(w0i),
.w1r(w1r),
.w1i(w1i),
.w2r(w2r),
.w2i(w2i),
.w3r(w3r),
.w3i(w3i),
.w4r(w4r),
.w4i(w4i),
.w5r(w5r),
.w5i(w5i),
.w6r(w6r),
.w6i(w6i),
.w7r(w7r),
.w7i(w7i),
.yx0r(yx0r),
.yx0i(yx0i),
.yx1r(yx1r),
.yx1i(yx1i),
.yx2r(yx2r),
.yx2i(yx2i),
.yx3r(yx3r),
.yx3i(yx3i),
.yx4r(yx4r),
.yx4i(yx4i),
.yx5r(yx5r),
.yx5i(yx5i),
.yx6r(yx6r),
.yx6i(yx6i),
.yx7r(yx7r),
.yx7i(yx7i),
.wn0r(wn0r),
.wn0i(wn0i),
.wn1r(wn1r),
.wn1i(wn1i),
.wn2r(wn2r),
.wn2i(wn2i),
.wn3r(wn3r),
.wn3i(wn3i),
.wn4r(wn4r),
.wn4i(wn4i),
.wn5r(wn5r),
.wn5i(wn5i),
.wn6r(wn6r),
.wn6i(wn6i),
.wn7r(wn7r),
.wn7i(wn7i),
.clk(clk),
.start(start),
.rdy(rdy));
integer TX_FILE = 0;
integer TX_ERROR = 0;
initial begin // Open the results file...
TX_FILE = $fopen("results.txt");
#10200 // Final time: 10200 ns
if (TX_ERROR == 0) begin
$display("No errors or warnings.");
$fdisplay(TX_FILE, "No errors or warnings.");
end else begin
$display("%d errors found in simulation.", TX_ERROR);
$fdisplay(TX_FILE, "%d errors found in simulation.", TX_ERROR);
end
$fclose(TX_FILE);
$stop;
end
initial begin
// ------------- Current Time: 85ns
#85;
mux2 = 16'b0000000011110000;
eer = 16'b0000100010101111;
eei = 16'b0001010111110100;
w2r = 16'b0000100100110010;
w3i = 16'b0001100001100011;
yx6r = 16'b0000000111110110;
yx6i = 16'b0000000011100110;
// -------------------------------------
// ------------- Current Time: 285ns
#200;
w0r = 16'b0000000101011110;
w1r = 16'b0000001000100110;
w1i = 16'b0000001000110000;
w2i = 16'b0000001110111100;
w3r = 16'b0001001111101111;
w4r = 16'b0000110111000000;
w4i = 16'b0000100101100011;
w5r = 16'b0000110010001010;
w5i = 16'b0001000000011000;
w6r = 16'b0000000001010101;
w6i = 16'b0000000000000101;
w7r = 16'b0000000101000000;
w7i = 16'b0000000101100100;
yx0r = 16'b0001100001010110;
yx0i = 16'b0000110111000000;
yx1r = 16'b0000110111000000;
yx1i = 16'b0000000001000001;
yx2r = 16'b0000000000001010;
yx2i = 16'b0000100001010010;
yx3r = 16'b0000000000010100;
yx3i = 16'b0000110010110010;
yx4r = 16'b0000000000100000;
yx4i = 16'b0000000000001000;
yx5r = 16'b0000110111101000;
yx5i = 16'b0000000001001110;
yx7r = 16'b0000000011100110;
yx7i = 16'b0000000000100011;
// -------------------------------------
// ------------- Current Time: 485ns
#200;
start = 1'b1;
w0i = 16'b0000001010001010;
// -------------------------------------
end
task CHECK_wn0r;
input [15:0] NEXT_wn0r;
#0 begin
if (NEXT_wn0r !== wn0r) begin
$display("Error at time=%dns wn0r=%b, expected=%b", $time, wn0r, NEXT_wn0r);
$fdisplay(TX_FILE, "Error at time=%dns wn0r=%b, expected=%b", $time, wn0r, NEXT_wn0r);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_wn0i;
input [15:0] NEXT_wn0i;
#0 begin
if (NEXT_wn0i !== wn0i) begin
$display("Error at time=%dns wn0i=%b, expected=%b", $time, wn0i, NEXT_wn0i);
$fdisplay(TX_FILE, "Error at time=%dns wn0i=%b, expected=%b", $time, wn0i, NEXT_wn0i);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_wn1r;
input [15:0] NEXT_wn1r;
#0 begin
if (NEXT_wn1r !== wn1r) begin
$display("Error at time=%dns wn1r=%b, expected=%b", $time, wn1r, NEXT_wn1r);
$fdisplay(TX_FILE, "Error at time=%dns wn1r=%b, expected=%b", $time, wn1r, NEXT_wn1r);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_wn1i;
input [15:0] NEXT_wn1i;
#0 begin
if (NEXT_wn1i !== wn1i) begin
$display("Error at time=%dns wn1i=%b, expected=%b", $time, wn1i, NEXT_wn1i);
$fdisplay(TX_FILE, "Error at time=%dns wn1i=%b, expected=%b", $time, wn1i, NEXT_wn1i);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_wn2r;
input [15:0] NEXT_wn2r;
#0 begin
if (NEXT_wn2r !== wn2r) begin
$display("Error at time=%dns wn2r=%b, expected=%b", $time, wn2r, NEXT_wn2r);
$fdisplay(TX_FILE, "Error at time=%dns wn2r=%b, expected=%b", $time, wn2r, NEXT_wn2r);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_wn2i;
input [15:0] NEXT_wn2i;
#0 begin
if (NEXT_wn2i !== wn2i) begin
$display("Error at time=%dns wn2i=%b, expected=%b", $time, wn2i, NEXT_wn2i);
$fdisplay(TX_FILE, "Error at time=%dns wn2i=%b, expected=%b", $time, wn2i, NEXT_wn2i);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_wn3r;
input [15:0] NEXT_wn3r;
#0 begin
if (NEXT_wn3r !== wn3r) begin
$display("Error at time=%dns wn3r=%b, expected=%b", $time, wn3r, NEXT_wn3r);
$fdisplay(TX_FILE, "Error at time=%dns wn3r=%b, expected=%b", $time, wn3r, NEXT_wn3r);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_wn3i;
input [15:0] NEXT_wn3i;
#0 begin
if (NEXT_wn3i !== wn3i) begin
$display("Error at time=%dns wn3i=%b, expected=%b", $time, wn3i, NEXT_wn3i);
$fdisplay(TX_FILE, "Error at time=%dns wn3i=%b, expected=%b", $time, wn3i, NEXT_wn3i);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_wn4r;
input [15:0] NEXT_wn4r;
#0 begin
if (NEXT_wn4r !== wn4r) begin
$display("Error at time=%dns wn4r=%b, expected=%b", $time, wn4r, NEXT_wn4r);
$fdisplay(TX_FILE, "Error at time=%dns wn4r=%b, expected=%b", $time, wn4r, NEXT_wn4r);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_wn4i;
input [15:0] NEXT_wn4i;
#0 begin
if (NEXT_wn4i !== wn4i) begin
$display("Error at time=%dns wn4i=%b, expected=%b", $time, wn4i, NEXT_wn4i);
$fdisplay(TX_FILE, "Error at time=%dns wn4i=%b, expected=%b", $time, wn4i, NEXT_wn4i);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_wn5r;
input [15:0] NEXT_wn5r;
#0 begin
if (NEXT_wn5r !== wn5r) begin
$display("Error at time=%dns wn5r=%b, expected=%b", $time, wn5r, NEXT_wn5r);
$fdisplay(TX_FILE, "Error at time=%dns wn5r=%b, expected=%b", $time, wn5r, NEXT_wn5r);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_wn5i;
input [15:0] NEXT_wn5i;
#0 begin
if (NEXT_wn5i !== wn5i) begin
$display("Error at time=%dns wn5i=%b, expected=%b", $time, wn5i, NEXT_wn5i);
$fdisplay(TX_FILE, "Error at time=%dns wn5i=%b, expected=%b", $time, wn5i, NEXT_wn5i);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_wn6r;
input [15:0] NEXT_wn6r;
#0 begin
if (NEXT_wn6r !== wn6r) begin
$display("Error at time=%dns wn6r=%b, expected=%b", $time, wn6r, NEXT_wn6r);
$fdisplay(TX_FILE, "Error at time=%dns wn6r=%b, expected=%b", $time, wn6r, NEXT_wn6r);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_wn6i;
input [15:0] NEXT_wn6i;
#0 begin
if (NEXT_wn6i !== wn6i) begin
$display("Error at time=%dns wn6i=%b, expected=%b", $time, wn6i, NEXT_wn6i);
$fdisplay(TX_FILE, "Error at time=%dns wn6i=%b, expected=%b", $time, wn6i, NEXT_wn6i);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_wn7r;
input [15:0] NEXT_wn7r;
#0 begin
if (NEXT_wn7r !== wn7r) begin
$display("Error at time=%dns wn7r=%b, expected=%b", $time, wn7r, NEXT_wn7r);
$fdisplay(TX_FILE, "Error at time=%dns wn7r=%b, expected=%b", $time, wn7r, NEXT_wn7r);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_wn7i;
input [15:0] NEXT_wn7i;
#0 begin
if (NEXT_wn7i !== wn7i) begin
$display("Error at time=%dns wn7i=%b, expected=%b", $time, wn7i, NEXT_wn7i);
$fdisplay(TX_FILE, "Error at time=%dns wn7i=%b, expected=%b", $time, wn7i, NEXT_wn7i);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_rdy;
input NEXT_rdy;
#0 begin
if (NEXT_rdy !== rdy) begin
$display("Error at time=%dns rdy=%b, expected=%b", $time, rdy, NEXT_rdy);
$fdisplay(TX_FILE, "Error at time=%dns rdy=%b, expected=%b", $time, rdy, NEXT_rdy);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -