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

Subversion Repositories theia_gpu

[/] [theia_gpu/] [branches/] [beta_2.0/] [testbench/] [testbench_theia_icarus.v] - Blame information for rev 219

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

Line No. Rev Author Line
1 219 diegovalve
`timescale 1ns / 1ps
2
`include "aDefinitions.v"
3
 
4
 
5
module testbench_theia_icarus;
6
 
7
 
8
        reg Clock;
9
        reg Reset;
10
        reg iEnable;
11
        reg [31:0] iMemReadData;
12
        wire [31:0] oMemReadAddress;
13
        reg iMemDataAvailable;
14
        wire oMEM_ReadRequest;
15
 
16
 
17
        THEIA uut
18
        (
19
                .Clock(Clock),
20
                .Reset(Reset),
21
                .iEnable(iEnable),
22
                .iMemReadData(iMemReadData),
23
                .iMemDataAvailable( iMemDataAvailable ),
24
                .oMEM_ReadRequest(  oMEM_ReadRequest  ),
25
                .oMemReadAddress(oMemReadAddress)
26
        );
27
//---------------------------------------------
28
 //generate the clock signal here
29
 always begin
30
  #10  Clock =  ! Clock;
31
 end
32
 //---------------------------------------------
33
 
34
 //Code dumpers and checker stuff
35
 ContolCode_Dumper           CP_Dumper();
36
 VectorProcessor_Dumper #(0) VP_Dump0();
37
 VectorProcessor_Dumper #(1) VP_Dump1();
38
 VectorProcessor_Dumper #(2) VP_Dump2();
39
 VectorProcessor_Dumper #(3) VP_Dump3();
40
 
41
 reg [31:0] MainMemory [255:0];
42
 reg [31:0] InstMemory [31:0];
43
 
44
 
45
        always @ (posedge Clock )
46
        begin
47
                if (oMEM_ReadRequest)
48
                        iMemDataAvailable <= 1;
49
                else
50
                        iMemDataAvailable <= 0;
51
 
52
                iMemReadData <=         MainMemory[oMemReadAddress];
53
 
54
        end
55
 
56
        initial begin
57
 
58
 
59
                Clock = 0;
60
                Reset = 0;
61
                iEnable = 0;
62
                $readmemh("control_code.mem", uut.CP.InstructionRam.Ram);
63
                $readmemh("code.mem", MainMemory);
64
                #110;
65
                Reset = 1;
66
                #40;
67
                Reset = 0;
68
                $dumpfile("dump.vcd");
69
                $dumpvars(0,testbench_theia_icarus);
70
        end
71
 
72
endmodule
73
 

powered by: WebSVN 2.1.0

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