OpenCores
URL https://opencores.org/ocsvn/cpu8080/cpu8080/trunk

Subversion Repositories cpu8080

[/] [cpu8080/] [trunk/] [project/] [cpu_tbw.ant] - Blame information for rev 2

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 samiam9512
////////////////////////////////////////////////////////////////////////////////
2
// Copyright (c) 1995-2003 Xilinx, Inc.
3
// All Right Reserved.
4
////////////////////////////////////////////////////////////////////////////////
5
//   ____  ____
6
//  /   /\/   /
7
// /___/  \  /    Vendor: Xilinx
8
// \   \   \/     Version : 8.2.02i
9
//  \   \         Application : ISE
10
//  /   /         Filename : cpu_tbw.ant
11
// /___/   /\     Timestamp : Sat Sep 23 19:23:16 2006
12
// \   \  /  \
13
//  \___\/\___\
14
//
15
//Command:
16
//Design Name: cpu_tbw
17
//Device: Xilinx
18
//
19
`timescale 1ns/1ps
20
 
21
module cpu_tbw;
22
    wire [15:0] addr;
23
    reg [7:0] data$inout$reg = 8'bZZZZZZZZ;
24
    wire [7:0] data = data$inout$reg;
25
    wire readmem;
26
    wire writemem;
27
    wire readio;
28
    wire writeio;
29
    reg intr = 1'b0;
30
    wire inta;
31
    reg waitr = 1'b0;
32
    reg reset = 1'b1;
33
    reg clock = 1'b0;
34
 
35
    parameter PERIOD = 200;
36
    parameter real DUTY_CYCLE = 0.5;
37
    parameter OFFSET = 0;
38
 
39
    initial    // Clock process for clock
40
    begin
41
        #OFFSET;
42
        forever
43
        begin
44
            clock = 1'b0;
45
            #(PERIOD-(PERIOD*DUTY_CYCLE)) clock = 1'b1;
46
            #(PERIOD*DUTY_CYCLE);
47
        end
48
    end
49
 
50
    testbench UUT (
51
        .addr(addr),
52
        .data(data),
53
        .readmem(readmem),
54
        .writemem(writemem),
55
        .readio(readio),
56
        .writeio(writeio),
57
        .intr(intr),
58
        .inta(inta),
59
        .waitr(waitr),
60
        .reset(reset),
61
        .clock(clock));
62
 
63
    integer TX_FILE = 0;
64
    integer TX_ERROR = 0;
65
 
66
    initial begin    // Annotation process for clock clock
67
        #0;
68
        ANNOTATE_addr;
69
        ANNOTATE_readmem;
70
        ANNOTATE_writemem;
71
        ANNOTATE_readio;
72
        ANNOTATE_writeio;
73
        ANNOTATE_inta;
74
        #OFFSET;
75
        forever begin
76
            #115;
77
            ANNOTATE_addr;
78
            ANNOTATE_readmem;
79
            ANNOTATE_writemem;
80
            ANNOTATE_readio;
81
            ANNOTATE_writeio;
82
            ANNOTATE_inta;
83
            #85;
84
        end
85
    end
86
 
87
    initial begin  // Open the annotations file...
88
        TX_FILE = $fopen("C:\\Xilinx\\ISEexamples\\cpu8080\\cpu_tbw.ano");
89
        #10200 // Final time:  10200 ns
90
        $display("Success! Annotation Simulation Complete.");
91
        $fdisplay(TX_FILE, "Total[%d]", TX_ERROR);
92
        $fclose(TX_FILE);
93
        $finish;
94
    end
95
 
96
    initial begin
97
        // -------------  Current Time:  485ns
98
        #485;
99
        reset = 1'b0;
100
        // -------------------------------------
101
    end
102
 
103
    task ANNOTATE_addr;
104
        #0 begin
105
            $fdisplay(TX_FILE, "Annotate[%d,addr,%b]", $time, addr);
106
            $fflush(TX_FILE);
107
            TX_ERROR = TX_ERROR + 1;
108
        end
109
    endtask
110
 
111
    task ANNOTATE_readmem;
112
        #0 begin
113
            $fdisplay(TX_FILE, "Annotate[%d,readmem,%b]", $time, readmem);
114
            $fflush(TX_FILE);
115
            TX_ERROR = TX_ERROR + 1;
116
        end
117
    endtask
118
 
119
    task ANNOTATE_writemem;
120
        #0 begin
121
            $fdisplay(TX_FILE, "Annotate[%d,writemem,%b]", $time, writemem);
122
            $fflush(TX_FILE);
123
            TX_ERROR = TX_ERROR + 1;
124
        end
125
    endtask
126
 
127
    task ANNOTATE_readio;
128
        #0 begin
129
            $fdisplay(TX_FILE, "Annotate[%d,readio,%b]", $time, readio);
130
            $fflush(TX_FILE);
131
            TX_ERROR = TX_ERROR + 1;
132
        end
133
    endtask
134
 
135
    task ANNOTATE_writeio;
136
        #0 begin
137
            $fdisplay(TX_FILE, "Annotate[%d,writeio,%b]", $time, writeio);
138
            $fflush(TX_FILE);
139
            TX_ERROR = TX_ERROR + 1;
140
        end
141
    endtask
142
 
143
    task ANNOTATE_inta;
144
        #0 begin
145
            $fdisplay(TX_FILE, "Annotate[%d,inta,%b]", $time, inta);
146
            $fflush(TX_FILE);
147
            TX_ERROR = TX_ERROR + 1;
148
        end
149
    endtask
150
 
151
endmodule
152
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.