⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 muxewave.tfw

📁 基于FPGA的波束成型
💻 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 + -