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

📄 gwtwave.ant

📁 基于FPGA的波束成型
💻 ANT
字号:
////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 1995-2003 Xilinx, Inc.
// All Right Reserved.
////////////////////////////////////////////////////////////////////////////////
//   ____  ____ 
//  /   /\/   / 
// /___/  \  /    Vendor: Xilinx 
// \   \   \/     Version : 7.1.03i
//  \   \         Application : ISE Foundation
//  /   /         Filename : gwtwave.ant
// /___/   /\     Timestamp : Sun Jun 03 20:11:51 2007
// \   \  /  \ 
//  \___\/\___\ 
//
//Command: 
//Design Name: gwtwave
//Device: Xilinx
//
`timescale 1ns/1ps

module gwtwave;
    reg [15:0] mux2 = 16'b0000000000000000;
    reg [15:0] der = 16'b0000000000000000;
    reg [15:0] dei = 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] wout0r;
    wire [15:0] wout0i;
    wire [15:0] wout1r;
    wire [15:0] wout1i;
    wire [15:0] wout2r;
    wire [15:0] wout2i;
    wire [15:0] wout3r;
    wire [15:0] wout3i;
    wire [15:0] wout4r;
    wire [15:0] wout4i;
    wire [15:0] wout5r;
    wire [15:0] wout5i;
    wire [15:0] wout6r;
    wire [15:0] wout6i;
    wire [15:0] wout7r;
    wire [15:0] wout7i;
    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

    gwt UUT (
        .mux2(mux2),
        .der(der),
        .dei(dei),
        .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),
        .wout0r(wout0r),
        .wout0i(wout0i),
        .wout1r(wout1r),
        .wout1i(wout1i),
        .wout2r(wout2r),
        .wout2i(wout2i),
        .wout3r(wout3r),
        .wout3i(wout3i),
        .wout4r(wout4r),
        .wout4i(wout4i),
        .wout5r(wout5r),
        .wout5i(wout5i),
        .wout6r(wout6r),
        .wout6i(wout6i),
        .wout7r(wout7r),
        .wout7i(wout7i),
        .clk(clk),
        .start(start),
        .rdy(rdy));

    integer TX_FILE = 0;
    integer TX_ERROR = 0;
    
    initial begin    // Annotation process for clock clk
        #0;
        ANNOTATE_wout0r;
        ANNOTATE_wout0i;
        ANNOTATE_wout1r;
        ANNOTATE_wout1i;
        ANNOTATE_wout2r;
        ANNOTATE_wout2i;
        ANNOTATE_wout3r;
        ANNOTATE_wout3i;
        ANNOTATE_wout4r;
        ANNOTATE_wout4i;
        ANNOTATE_wout5r;
        ANNOTATE_wout5i;
        ANNOTATE_wout6r;
        ANNOTATE_wout6i;
        ANNOTATE_wout7r;
        ANNOTATE_wout7i;
        ANNOTATE_rdy;
        #OFFSET;
        forever begin
            #115;
            ANNOTATE_wout0r;
            ANNOTATE_wout0i;
            ANNOTATE_wout1r;
            ANNOTATE_wout1i;
            ANNOTATE_wout2r;
            ANNOTATE_wout2i;
            ANNOTATE_wout3r;
            ANNOTATE_wout3i;
            ANNOTATE_wout4r;
            ANNOTATE_wout4i;
            ANNOTATE_wout5r;
            ANNOTATE_wout5i;
            ANNOTATE_wout6r;
            ANNOTATE_wout6i;
            ANNOTATE_wout7r;
            ANNOTATE_wout7i;
            ANNOTATE_rdy;
            #85;
        end
    end

    initial begin  // Open the annotations file...
        TX_FILE = $fopen("F:\\myfpga\\xilinx\\gwopt\\gwtwave.ano");
        #10200 // Final time:  10200 ns
        $display("Success! Annotation Simulation Complete.");
        $fdisplay(TX_FILE, "Total[%d]", TX_ERROR);
        $fclose(TX_FILE);
        $finish;
    end

    initial begin
        // -------------  Current Time:  85ns
        #85;
        mux2 = 16'b0000000000001000;
        der = 16'b0011000000011110;
        w0r = 16'b0000000010010111;
        w0i = 16'b1111111111100101;
        w3r = 16'b1111111110010110;
        w3i = 16'b1111111110110000;
        // -------------------------------------
        // -------------  Current Time:  285ns
        #200;
        dei = 16'b0000111110100010;
        w1r = 16'b0000000000111110;
        w1i = 16'b0000000000001111;
        w2r = 16'b1111111111100100;
        w2i = 16'b1111111111111011;
        w4r = 16'b1111111110001001;
        w4i = 16'b1111111110001000;
        w5r = 16'b1111111111110111;
        w5i = 16'b1111111110101100;
        w6r = 16'b0000000000011100;
        w6i = 16'b0000000000100001;
        w7r = 16'b1111111111101110;
        w7i = 16'b0000000010000001;
        yx0r = 16'b0110001111101110;
        yx0i = 16'b0010000011100011;
        yx1r = 16'b0011110001100110;
        yx1i = 16'b0010110100010111;
        yx2r = 16'b1111101010011011;
        yx2i = 16'b1111101101010001;
        yx3r = 16'b1110011000000011;
        yx3i = 16'b1011111101001110;
        yx4r = 16'b1110010110000001;
        yx4i = 16'b1001101101101111;
        yx5r = 16'b0001110011010000;
        yx5i = 16'b1100111010010001;
        yx6r = 16'b1111100110100011;
        yx6i = 16'b0001110111011001;
        yx7r = 16'b1101001011101000;
        yx7i = 16'b0011011000110000;
        // -------------------------------------
        // -------------  Current Time:  685ns
        #400;
        start = 1'b1;
        // -------------------------------------
    end

    task ANNOTATE_wout0r;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,wout0r,%b]", $time, wout0r);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

    task ANNOTATE_wout0i;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,wout0i,%b]", $time, wout0i);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

    task ANNOTATE_wout1r;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,wout1r,%b]", $time, wout1r);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

    task ANNOTATE_wout1i;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,wout1i,%b]", $time, wout1i);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

    task ANNOTATE_wout2r;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,wout2r,%b]", $time, wout2r);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

    task ANNOTATE_wout2i;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,wout2i,%b]", $time, wout2i);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

    task ANNOTATE_wout3r;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,wout3r,%b]", $time, wout3r);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

    task ANNOTATE_wout3i;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,wout3i,%b]", $time, wout3i);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

    task ANNOTATE_wout4r;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,wout4r,%b]", $time, wout4r);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

    task ANNOTATE_wout4i;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,wout4i,%b]", $time, wout4i);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

    task ANNOTATE_wout5r;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,wout5r,%b]", $time, wout5r);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

    task ANNOTATE_wout5i;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,wout5i,%b]", $time, wout5i);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

    task ANNOTATE_wout6r;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,wout6r,%b]", $time, wout6r);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

    task ANNOTATE_wout6i;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,wout6i,%b]", $time, wout6i);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

    task ANNOTATE_wout7r;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,wout7r,%b]", $time, wout7r);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

    task ANNOTATE_wout7i;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,wout7i,%b]", $time, wout7i);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

    task ANNOTATE_rdy;
        #0 begin
            $fdisplay(TX_FILE, "Annotate[%d,rdy,%b]", $time, rdy);
            $fflush(TX_FILE);
            TX_ERROR = TX_ERROR + 1;
        end
    endtask

endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -