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] - Diff between revs 229 and 230

Only display areas with differences | Details | Blame | View Log

Rev 229 Rev 230
`timescale 1ns / 1ps
`timescale 1ns / 1ps
 
 
 
 
`define MAIN_MEMORY_DEPTH (255 * 2)                                             //Each entry is 64 bits = 32 *2 * 255 entries
`define MAIN_MEMORY_DEPTH (255 * 2)                                             //Each entry is 64 bits = 32 *2 * 255 entries
 
 
module testbench_theia_icarus;
module testbench_theia_icarus;
 
 
 
 
        reg Clock;
        reg Clock;
        reg Reset;
        reg Reset;
        reg iEnable;
        reg iEnable;
        reg [31:0] iMemReadData;
        reg [31:0] iMemReadData;
        wire [31:0] oMemReadAddress;
        wire [31:0] oMemReadAddress;
        reg iMemDataAvailable;
        reg iMemDataAvailable;
        wire oMEM_ReadRequest;
        wire oMEM_ReadRequest;
 
 
 
 
        THEIA uut
        THEIA uut
        (
        (
                .Clock(                  Clock             ),
                .Clock(                  Clock             ),
                .Reset(                  Reset             ),
                .Reset(                  Reset             ),
                .iEnable(                iEnable           ),
                .iEnable(                iEnable           ),
                .iMemReadData(           iMemReadData      ),
                .iMemReadData(           iMemReadData      ),
                .iMemDataAvailable(      iMemDataAvailable ),
                .iMemDataAvailable(      iMemDataAvailable ),
                .oMEM_ReadRequest(       oMEM_ReadRequest  ),
                .oMEM_ReadRequest(       oMEM_ReadRequest  ),
                .oMemReadAddress(        oMemReadAddress   )
                .oMemReadAddress(        oMemReadAddress   )
        );
        );
//---------------------------------------------
//---------------------------------------------
 //generate the clock signal here
 //generate the clock signal here
 always begin
 always begin
  #10  Clock =  ! Clock;
  #10  Clock =  ! Clock;
 end
 end
 //---------------------------------------------
 //---------------------------------------------
 
 
 //Code dumpers and checker stuff
 //Code dumpers and checker stuff 
 ContolCode_Dumper           CP_Dumper();
 ContolCode_Dumper           CP_Dumper();
 VectorProcessor_Dumper #(0) VP_Dump0();
 VectorProcessor_Dumper #(0) VP_Dump0();
 VectorProcessor_Dumper #(1) VP_Dump1();
 VectorProcessor_Dumper #(1) VP_Dump1();
 VectorProcessor_Dumper #(2) VP_Dump2();
 VectorProcessor_Dumper #(2) VP_Dump2();
 VectorProcessor_Dumper #(3) VP_Dump3();
 VectorProcessor_Dumper #(3) VP_Dump3();
 
 
 
 
 reg [31:0] MainMemory [`MAIN_MEMORY_DEPTH-1:0];
 reg [31:0] MainMemory [`MAIN_MEMORY_DEPTH-1:0];
 
 reg [31:0] TMemory [`MAIN_MEMORY_DEPTH-1:0];
 
 
 
 
        always @ (posedge Clock )
        always @ (posedge Clock )
        begin
        begin
                if (oMEM_ReadRequest)
                if (oMEM_ReadRequest)
                        iMemDataAvailable <= 1;
                        iMemDataAvailable <= 1;
                else
                else
                        iMemDataAvailable <= 0;
                        iMemDataAvailable <= 0;
 
 
                iMemReadData <=         MainMemory[oMemReadAddress];
                iMemReadData <=         MainMemory[oMemReadAddress];
 
 
        end
        end
 
 
        initial begin
        initial begin
                Clock = 0;
                Clock = 0;
                Reset = 0;
                Reset = 0;
                iEnable = 0;
                iEnable = 0;
                $readmemh("control_code.mem", uut.CP.InstructionRam.Ram);
                $readmemh("control_code.mem", uut.CP.InstructionRam.Ram);
                $readmemh("code.mem", MainMemory);
                $readmemh("code.mem", MainMemory);
 
                $readmemh("tmem.mem",TMemory);
 
                uut.BANK[0].TMEM.Ram[0] = TMemory[0];
 
                uut.BANK[1].TMEM.Ram[0] = TMemory[1];
 
                uut.BANK[2].TMEM.Ram[0] = TMemory[2];
                #110;
                #110;
      Reset = 1;
                Reset = 1;
                #40;
                #40;
                Reset = 0;
                Reset = 0;
 
 
 
                $dumpfile("testbench_theia_icarus.vcd");
 
                $dumpvars(0,testbench_theia_icarus);
        end
        end
 
 
 
 
 
 
endmodule
endmodule
 
 
 
 

powered by: WebSVN 2.1.0

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