📄 muxewave.tfw
字号:
////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 1995-2003 Xilinx, Inc.
// All Right Reserved.
////////////////////////////////////////////////////////////////////////////////
// ____ ____
// / /\/ /
// /___/ \ / Vendor: Xilinx
// \ \ \/ Version : 7.1.03i
// \ \ Application : ISE Foundation
// / / Filename : muxewave.tfw
// /___/ /\ Timestamp : Sat Jun 02 16:14:05 2007
// \ \ / \
// \___\/\___\
//
//Command:
//Design Name: muxewave
//Device: Xilinx
//
`timescale 1ns/1ps
module muxewave;
reg [15:0] mux2 = 16'b0000000000000000;
reg [15:0] a0r = 16'b0000000000000000;
reg [15:0] a0i = 16'b0000000000000000;
reg [15:0] a1r = 16'b0000000000000000;
reg [15:0] a1i = 16'b0000000000000000;
reg [15:0] a2r = 16'b0000000000000000;
reg [15:0] a2i = 16'b0000000000000000;
reg [15:0] a3r = 16'b0000000000000000;
reg [15:0] a3i = 16'b0000000000000000;
reg [15:0] a4r = 16'b0000000000000000;
reg [15:0] a4i = 16'b0000000000000000;
reg [15:0] a5r = 16'b0000000000000000;
reg [15:0] a5i = 16'b0000000000000000;
reg [15:0] a6r = 16'b0000000000000000;
reg [15:0] a6i = 16'b0000000000000000;
reg [15:0] a7r = 16'b0000000000000000;
reg [15:0] a7i = 16'b0000000000000000;
wire [15:0] q0r;
wire [15:0] q0i;
wire [15:0] q1r;
wire [15:0] q1i;
wire [15:0] q2r;
wire [15:0] q2i;
wire [15:0] q3r;
wire [15:0] q3i;
wire [15:0] q4r;
wire [15:0] q4i;
wire [15:0] q5r;
wire [15:0] q5i;
wire [15:0] q6r;
wire [15:0] q6i;
wire [15:0] q7r;
wire [15:0] q7i;
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
muxe UUT (
.mux2(mux2),
.a0r(a0r),
.a0i(a0i),
.a1r(a1r),
.a1i(a1i),
.a2r(a2r),
.a2i(a2i),
.a3r(a3r),
.a3i(a3i),
.a4r(a4r),
.a4i(a4i),
.a5r(a5r),
.a5i(a5i),
.a6r(a6r),
.a6i(a6i),
.a7r(a7r),
.a7i(a7i),
.q0r(q0r),
.q0i(q0i),
.q1r(q1r),
.q1i(q1i),
.q2r(q2r),
.q2i(q2i),
.q3r(q3r),
.q3i(q3i),
.q4r(q4r),
.q4i(q4i),
.q5r(q5r),
.q5i(q5i),
.q6r(q6r),
.q6i(q6i),
.q7r(q7r),
.q7i(q7i),
.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'b0000000000000010;
a1i = 16'b0000000011001000;
a4i = 16'b0000001001100011;
// -------------------------------------
// ------------- Current Time: 285ns
#200;
a0r = 16'b0001001110001000;
a0i = 16'b0000011111010000;
a1r = 16'b0000001001011000;
a2r = 16'b0001101101011000;
a2i = 16'b0000001100100000;
a3r = 16'b0000000000101101;
a3i = 16'b0001100101100100;
a5r = 16'b0001101101011000;
a5i = 16'b0001001110001000;
a6r = 16'b0000001111011001;
a6i = 16'b0001011101110000;
a7r = 16'b0000110111101100;
a7i = 16'b0000001011001000;
// -------------------------------------
// ------------- Current Time: 485ns
#200;
a4r = 16'b0000000001000001;
// -------------------------------------
// ------------- Current Time: 685ns
#200;
start = 1'b1;
// -------------------------------------
end
task CHECK_q0r;
input [15:0] NEXT_q0r;
#0 begin
if (NEXT_q0r !== q0r) begin
$display("Error at time=%dns q0r=%b, expected=%b", $time, q0r, NEXT_q0r);
$fdisplay(TX_FILE, "Error at time=%dns q0r=%b, expected=%b", $time, q0r, NEXT_q0r);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_q0i;
input [15:0] NEXT_q0i;
#0 begin
if (NEXT_q0i !== q0i) begin
$display("Error at time=%dns q0i=%b, expected=%b", $time, q0i, NEXT_q0i);
$fdisplay(TX_FILE, "Error at time=%dns q0i=%b, expected=%b", $time, q0i, NEXT_q0i);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_q1r;
input [15:0] NEXT_q1r;
#0 begin
if (NEXT_q1r !== q1r) begin
$display("Error at time=%dns q1r=%b, expected=%b", $time, q1r, NEXT_q1r);
$fdisplay(TX_FILE, "Error at time=%dns q1r=%b, expected=%b", $time, q1r, NEXT_q1r);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_q1i;
input [15:0] NEXT_q1i;
#0 begin
if (NEXT_q1i !== q1i) begin
$display("Error at time=%dns q1i=%b, expected=%b", $time, q1i, NEXT_q1i);
$fdisplay(TX_FILE, "Error at time=%dns q1i=%b, expected=%b", $time, q1i, NEXT_q1i);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_q2r;
input [15:0] NEXT_q2r;
#0 begin
if (NEXT_q2r !== q2r) begin
$display("Error at time=%dns q2r=%b, expected=%b", $time, q2r, NEXT_q2r);
$fdisplay(TX_FILE, "Error at time=%dns q2r=%b, expected=%b", $time, q2r, NEXT_q2r);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_q2i;
input [15:0] NEXT_q2i;
#0 begin
if (NEXT_q2i !== q2i) begin
$display("Error at time=%dns q2i=%b, expected=%b", $time, q2i, NEXT_q2i);
$fdisplay(TX_FILE, "Error at time=%dns q2i=%b, expected=%b", $time, q2i, NEXT_q2i);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_q3r;
input [15:0] NEXT_q3r;
#0 begin
if (NEXT_q3r !== q3r) begin
$display("Error at time=%dns q3r=%b, expected=%b", $time, q3r, NEXT_q3r);
$fdisplay(TX_FILE, "Error at time=%dns q3r=%b, expected=%b", $time, q3r, NEXT_q3r);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_q3i;
input [15:0] NEXT_q3i;
#0 begin
if (NEXT_q3i !== q3i) begin
$display("Error at time=%dns q3i=%b, expected=%b", $time, q3i, NEXT_q3i);
$fdisplay(TX_FILE, "Error at time=%dns q3i=%b, expected=%b", $time, q3i, NEXT_q3i);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_q4r;
input [15:0] NEXT_q4r;
#0 begin
if (NEXT_q4r !== q4r) begin
$display("Error at time=%dns q4r=%b, expected=%b", $time, q4r, NEXT_q4r);
$fdisplay(TX_FILE, "Error at time=%dns q4r=%b, expected=%b", $time, q4r, NEXT_q4r);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_q4i;
input [15:0] NEXT_q4i;
#0 begin
if (NEXT_q4i !== q4i) begin
$display("Error at time=%dns q4i=%b, expected=%b", $time, q4i, NEXT_q4i);
$fdisplay(TX_FILE, "Error at time=%dns q4i=%b, expected=%b", $time, q4i, NEXT_q4i);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_q5r;
input [15:0] NEXT_q5r;
#0 begin
if (NEXT_q5r !== q5r) begin
$display("Error at time=%dns q5r=%b, expected=%b", $time, q5r, NEXT_q5r);
$fdisplay(TX_FILE, "Error at time=%dns q5r=%b, expected=%b", $time, q5r, NEXT_q5r);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_q5i;
input [15:0] NEXT_q5i;
#0 begin
if (NEXT_q5i !== q5i) begin
$display("Error at time=%dns q5i=%b, expected=%b", $time, q5i, NEXT_q5i);
$fdisplay(TX_FILE, "Error at time=%dns q5i=%b, expected=%b", $time, q5i, NEXT_q5i);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_q6r;
input [15:0] NEXT_q6r;
#0 begin
if (NEXT_q6r !== q6r) begin
$display("Error at time=%dns q6r=%b, expected=%b", $time, q6r, NEXT_q6r);
$fdisplay(TX_FILE, "Error at time=%dns q6r=%b, expected=%b", $time, q6r, NEXT_q6r);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_q6i;
input [15:0] NEXT_q6i;
#0 begin
if (NEXT_q6i !== q6i) begin
$display("Error at time=%dns q6i=%b, expected=%b", $time, q6i, NEXT_q6i);
$fdisplay(TX_FILE, "Error at time=%dns q6i=%b, expected=%b", $time, q6i, NEXT_q6i);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_q7r;
input [15:0] NEXT_q7r;
#0 begin
if (NEXT_q7r !== q7r) begin
$display("Error at time=%dns q7r=%b, expected=%b", $time, q7r, NEXT_q7r);
$fdisplay(TX_FILE, "Error at time=%dns q7r=%b, expected=%b", $time, q7r, NEXT_q7r);
$fflush(TX_FILE);
TX_ERROR = TX_ERROR + 1;
end
end
endtask
task CHECK_q7i;
input [15:0] NEXT_q7i;
#0 begin
if (NEXT_q7i !== q7i) begin
$display("Error at time=%dns q7i=%b, expected=%b", $time, q7i, NEXT_q7i);
$fdisplay(TX_FILE, "Error at time=%dns q7i=%b, expected=%b", $time, q7i, NEXT_q7i);
$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 + -