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

📄 test.tfw

📁 关于乒乓操作的
💻 TFW
字号:
////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 1995-2003 Xilinx, Inc.
// All Right Reserved.
////////////////////////////////////////////////////////////////////////////////
//   ____  ____ 
//  /   /\/   / 
// /___/  \  /    Vendor: Xilinx 
// \   \   \/     Version : 7.1i
//  \   \         Application : ISE Foundation
//  /   /         Filename : test.tfw
// /___/   /\     Timestamp : Wed Dec 26 22:44:38 2007
// \   \  /  \ 
//  \___\/\___\ 
//
//Command: 
//Design Name: test
//Device: Xilinx
//
`timescale 1ns/1ps

module test;
    reg clk_5m = 1'b0;
    reg rst = 1'b1;
    reg nd = 1'b0;
    reg [15:0] indata = 16'b0000000000000000;
    wire [15:0] out;
    wire rdy;

    parameter PERIOD = 200;
    parameter real DUTY_CYCLE = 0.5;
    parameter OFFSET = 0;

    initial    // Clock process for clk_5m
    begin
        #OFFSET;
        forever
        begin
            clk_5m = 1'b0;
            #(PERIOD-(PERIOD*DUTY_CYCLE)) clk_5m = 1'b1;
            #(PERIOD*DUTY_CYCLE);
        end
    end

    pingpang UUT (
        .clk_5m(clk_5m),
        .rst(rst),
        .nd(nd),
        .indata(indata),
        .out(out),
        .rdy(rdy));

        integer TX_ERROR = 0;
        
        initial begin  // Open the results file...
            #100200 // Final time:  100200 ns
            if (TX_ERROR == 0) begin
                $display("No errors or warnings.");
                end else begin
                    $display("%d errors found in simulation.", TX_ERROR);
                    end
                    $stop;
                end

                initial begin
                    // -------------  Current Time:  85ns
                    #85;
                    nd = 1'b1;
                    indata = 16'b0000000000000010;
                    // -------------------------------------
                    // -------------  Current Time:  285ns
                    #200;
                    rst = 1'b0;
                    indata = 16'b0000000000000011;
                    // -------------------------------------
                    // -------------  Current Time:  485ns
                    #200;
                    indata = 16'b0000000000000100;
                    // -------------------------------------
                    // -------------  Current Time:  685ns
                    #200;
                    indata = 16'b0000000000000101;
                    // -------------------------------------
                    // -------------  Current Time:  885ns
                    #200;
                    indata = 16'b0000000000000110;
                    // -------------------------------------
                    // -------------  Current Time:  1085ns
                    #200;
                    indata = 16'b0000000000000111;
                    // -------------------------------------
                    // -------------  Current Time:  1285ns
                    #200;
                    indata = 16'b0000000000001000;
                    // -------------------------------------
                    // -------------  Current Time:  1485ns
                    #200;
                    indata = 16'b0000000000001001;
                    // -------------------------------------
                    // -------------  Current Time:  1685ns
                    #200;
                    indata = 16'b0000000000001010;
                    // -------------------------------------
                    // -------------  Current Time:  1885ns
                    #200;
                    indata = 16'b0000000000001011;
                    // -------------------------------------
                    // -------------  Current Time:  2085ns
                    #200;
                    indata = 16'b0000000000001100;
                    // -------------------------------------
                    // -------------  Current Time:  2285ns
                    #200;
                    indata = 16'b0000000000001101;
                    // -------------------------------------
                    // -------------  Current Time:  2485ns
                    #200;
                    indata = 16'b0000000000001110;
                    // -------------------------------------
                    // -------------  Current Time:  2685ns
                    #200;
                    indata = 16'b0000000000010000;
                    // -------------------------------------
                    // -------------  Current Time:  2885ns
                    #200;
                    indata = 16'b0000000000001111;
                    // -------------------------------------
                    // -------------  Current Time:  3085ns
                    #200;
                    indata = 16'b0000000000010001;
                    // -------------------------------------
                    // -------------  Current Time:  3285ns
                    #200;
                    indata = 16'b0000000000010010;
                    // -------------------------------------
                    // -------------  Current Time:  3485ns
                    #200;
                    indata = 16'b0000000000010011;
                    // -------------------------------------
                    // -------------  Current Time:  3685ns
                    #200;
                    indata = 16'b0000000000010100;
                    // -------------------------------------
                    // -------------  Current Time:  3885ns
                    #200;
                    indata = 16'b0000000000010101;
                    // -------------------------------------
                    // -------------  Current Time:  4085ns
                    #200;
                    indata = 16'b0000000000010110;
                    // -------------------------------------
                    // -------------  Current Time:  4285ns
                    #200;
                    indata = 16'b0000000000010111;
                    // -------------------------------------
                    // -------------  Current Time:  4485ns
                    #200;
                    indata = 16'b0000000000011000;
                    // -------------------------------------
                    // -------------  Current Time:  5485ns
                    #1000;
                    indata = 16'b0000000000101101;
                    // -------------------------------------
                    // -------------  Current Time:  7085ns
                    #1600;
                    indata = 16'b0000000001000100;
                    // -------------------------------------
                    // -------------  Current Time:  9885ns
                    #2800;
                    indata = 16'b0000000000101101;
                    // -------------------------------------
                    // -------------  Current Time:  19885ns
                    #10000;
                    indata = 16'b0000000000001100;
                    // -------------------------------------
                    // -------------  Current Time:  32685ns
                    #12800;
                    indata = 16'b0000000000010111;
                    // -------------------------------------
                    // -------------  Current Time:  43085ns
                    #10400;
                    indata = 16'b0000000000100010;
                    // -------------------------------------
                    // -------------  Current Time:  60685ns
                    #17600;
                    indata = 16'b0000000000100011;
                    // -------------------------------------
                    // -------------  Current Time:  83485ns
                    #22800;
                    indata = 16'b0000000000111000;
                    // -------------------------------------
                    // -------------  Current Time:  91885ns
                    #8400;
                    indata = 16'b0000000001001110;
                    // -------------------------------------
                end

                task CHECK_out;
                    input [15:0] NEXT_out;

                    #0 begin
                        if (NEXT_out !== out) begin
                            $display("Error at time=%dns out=%b, expected=%b", $time, out, NEXT_out);
                            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);
                            TX_ERROR = TX_ERROR + 1;
                        end
                    end
                endtask

            endmodule

⌨️ 快捷键说明

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