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

Subversion Repositories theia_gpu

[/] [theia_gpu/] [trunk/] [test_bench/] [TestBench_THEIA.v] - Diff between revs 61 and 69

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 61 Rev 69
Line 116... Line 116...
        `define TEXTURE_BUFFER_SIZE (256*256*3)
        `define TEXTURE_BUFFER_SIZE (256*256*3)
        reg [31:0]  rTextures[`TEXTURE_BUFFER_SIZE:0];            //Lets asume we use 256*256 textures
        reg [31:0]  rTextures[`TEXTURE_BUFFER_SIZE:0];            //Lets asume we use 256*256 textures
 
 
        //------------------------------------------------------------------------
        //------------------------------------------------------------------------
        //Debug registers
        //Debug registers
        `define TASK_TIMEOUTMAX 50000
        `define TASK_TIMEOUTMAX 150000//50000
 
 
 
 
 
 
        //------------------------------------------------------------------------
        //------------------------------------------------------------------------
 
 
Line 193... Line 193...
                ExternalBus_DataReady = 0;
                ExternalBus_DataReady = 0;
                rTimeOut              = 0;
                rTimeOut              = 0;
 
 
 
 
        `ifdef DUMP_CODE
        `ifdef DUMP_CODE
                $display("Opening dump file....\n");
                $write("Opening TestBench.log.... ");
                ucode_file = $fopen("TestBench.log","w");
                ucode_file = $fopen("TestBench.log","w");
 
                $display("Done");
        `endif
        `endif
 
 
                //Read Config register values
                //Read Config register values
 
                $write("Loading control register.... ");
                $readmemh("Creg.mem",rControlRegister);
                $readmemh("Creg.mem",rControlRegister);
 
                $display("Done");
 
 
 
 
                rInitialRow = rControlRegister[1];
 
                rInitialCol = rControlRegister[2];
 
        //  rControlRegister[0] = 32'b0;
 
 
 
                //Read configuration Data
                //Read configuration Data
 
                $write("Loading scene parameters.... ");
                $readmemh("Params.mem", rSceneParameters        );
                $readmemh("Params.mem", rSceneParameters        );
 
                $display("Done");
 
 
 
                rInitialRow = rSceneParameters[18];
 
                rInitialCol = rSceneParameters[19];
 
 
                //Read Scene Data
                //Read Scene Data
 
                $write("Loading scene geometry.... ");
                $readmemh("Vertex.mem",rVertexBuffer);
                $readmemh("Vertex.mem",rVertexBuffer);
 
                $display("Done");
 
 
                //Read Texture Data
                //Read Texture Data
 
                $write("Loading scene texture.... ");
                $readmemh("Textures.mem",rTextures);
                $readmemh("Textures.mem",rTextures);
 
                $display("Done");
 
 
 
 
                //Read instruction data
                //Read instruction data
 
                $write("Loading code allocation table and user shaders.... ");
                $readmemh("Instructions.mem",rInstructionBuffer);
                $readmemh("Instructions.mem",rInstructionBuffer);
 
                $display("Done");
 
 
                $display("Control Register: %b",rControlRegister[0]);
                $display("Control Register: %b",rControlRegister[0]);
 
 
 
 
 
 
                $display("Initial Row: %h",rInitialRow);
                $display("Initial Row: %h",rInitialRow);
                $display("Initial Column: %h",rInitialCol);
                $display("Initial Column: %h",rInitialCol);
 
                $display("Resolution       : %d X %d",`RESOLUTION_WIDTH, `RESOLUTION_HEIGHT );
 
 
                `LOGME"AABB min %h %h %h\n",rVertexBuffer[0],rVertexBuffer[1],rVertexBuffer[2]);
 
                `LOGME"AABB max %h %h %h\n",rVertexBuffer[3],rVertexBuffer[4],rVertexBuffer[5]);
 
                `LOGME"%h %h %h\n",rVertexBuffer[6],rVertexBuffer[7],rVertexBuffer[8]);
 
                `LOGME"%h %h %h\n",rVertexBuffer[9],rVertexBuffer[10],rVertexBuffer[11]);
 
                `LOGME"%h %h %h\n",rVertexBuffer[12],rVertexBuffer[13],rVertexBuffer[14]);
 
                `LOGME"%h %h %h\n",rVertexBuffer[15],rVertexBuffer[16],rVertexBuffer[17]);
 
                `LOGME"%h %h %h\n",rVertexBuffer[18],rVertexBuffer[19],rVertexBuffer[20]);
 
                //Open output file
                //Open output file
                file = $fopen("Output.ppm");
                file = $fopen("Output.ppm");
                log  = $fopen("Simulation.log");
                log  = $fopen("Simulation.log");
                $fwrite(log, "Simulation start time : %dns\n",$time);
                $fwrite(log, "Simulation start time : %dns\n",$time);
                $fwrite(log, "Width : %d\n",`RESOLUTION_WIDTH);
                $fwrite(log, "Width : %d\n",`RESOLUTION_WIDTH);
Line 239... Line 246...
                $fwrite(file,"P3\n");
                $fwrite(file,"P3\n");
                $fwrite(file,"#This file was generated by Theia's RTL simulation\n");
                $fwrite(file,"#This file was generated by Theia's RTL simulation\n");
                $fwrite(file,"%d %d\n",`RESOLUTION_WIDTH, `RESOLUTION_HEIGHT );
                $fwrite(file,"%d %d\n",`RESOLUTION_WIDTH, `RESOLUTION_HEIGHT );
                $fwrite(file,"255\n");
                $fwrite(file,"255\n");
 
 
                `LOGME"Running at %d X %d\n", `RESOLUTION_WIDTH, `RESOLUTION_HEIGHT);
 
 
 
                `LOGME"%h\n",rSceneParameters[0]);
 
                `LOGME"%h\n",rSceneParameters[1]);
 
                `LOGME"%h\n",rSceneParameters[2]);
 
 
 
                `LOGME"%h\n",rSceneParameters[3]);
 
                `LOGME"%h\n",rSceneParameters[4]);
 
                `LOGME"%h\n",rSceneParameters[5]);
 
 
 
                `LOGME"%h\n",rSceneParameters[6]);
 
                `LOGME"%h\n",rSceneParameters[7]);
 
                `LOGME"%h\n",rSceneParameters[8]);
 
                CurrentPixelRow = 0;
                CurrentPixelRow = 0;
                CurrentPixelCol = 0;
                CurrentPixelCol = 0;
                #10
                #10
                Reset = 1;
                Reset = 1;
                ExternalBus_DataReady = 0;
                ExternalBus_DataReady = 0;
Line 531... Line 525...
 
 
always @ (posedge STB_O)
always @ (posedge STB_O)
begin
begin
        if (TGA_O == `TAG_INSTRUCTION_ADDRESS_TYPE)
        if (TGA_O == `TAG_INSTRUCTION_ADDRESS_TYPE)
        begin
        begin
                $display("-- %x\n",wMasteData_O);
                //$display("-- %x\n",wMasteData_O);
        end
        end
end
end
assign ADR_O = rAddressToSend;
assign ADR_O = rAddressToSend;
 
 
        reg [7:0]                        WBMCurrentState,WBMNextState;
        reg [7:0]                        WBMCurrentState,WBMNextState;
Line 820... Line 814...
                        MST_O   <= 1;
                        MST_O   <= 1;
                        IncDP <= 0;
                        IncDP <= 0;
                        rResetDp <= 0;
                        rResetDp <= 0;
                        rClearOutAddress <= 0;
                        rClearOutAddress <= 0;
 
 
                        $display("rDataPointer = %d\n",rDataPointer);
 
                        if (rDataPointer > wConfigurationPacketSize*3)
                        if (rDataPointer > wConfigurationPacketSize*3)
                                WBMNextState    <= `WBM_DONE;
                                WBMNextState    <= `WBM_DONE;
                        else
                        else
                                WBMNextState <= `WBM_SEND_DATA_PHASE1;
                                WBMNextState <= `WBM_SEND_DATA_PHASE1;
 
 

powered by: WebSVN 2.1.0

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