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

Subversion Repositories theia_gpu

[/] [theia_gpu/] [branches/] [beta_1.2/] [rtl/] [TOP/] [Theia.v] - Diff between revs 76 and 82

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

Rev 76 Rev 82
Line 46... Line 46...
wire [1:0] wBusSelect;
wire [1:0] wBusSelect;
 
 
//wire   wSTB_O_0,wSTB_O_1,wSTB_O_2,wSTB_O_3;
//wire   wSTB_O_0,wSTB_O_1,wSTB_O_2,wSTB_O_3;
//wire   wWE_O_0,wWE_O_1,wWE_O_2,wWE_O_3;
//wire   wWE_O_0,wWE_O_1,wWE_O_2,wWE_O_3;
 
 
wire [`MAX_CORES-1:0] wSTB_O,wWE_O;
wire [`MAX_CORES-1:0] wSTB_O,wWE_O,wACK_O;
 
 
wire   wACK_O_0,wACK_O_1,wACK_O_2,wACK_O_3;
 
 
 
wire [`MAX_CORES-1:0]   wSTB_I;
wire [`MAX_CORES-1:0]   wSTB_I;
wire [`MAX_CORES-1:0]   wMST_I;
wire [`MAX_CORES-1:0]   wMST_I;
wire [`MAX_CORES-1:0]   wACK_I;
wire [`MAX_CORES-1:0]   wACK_I;
wire [`MAX_CORES-1:0]   wCYC_I;
wire [`MAX_CORES-1:0]   wCYC_I;
wire [1:0]              wTGA_I[`MAX_CORES-1:0];
wire [1:0]              wTGA_I[`MAX_CORES-1:0];
 
 
//assign DONE_O = wDone[0] & wDone[1] & wDone[2] & wDone[3];
assign DONE_O = wDone[0] & wDone[1] & wDone[2] & wDone[3];
//assign DONE_O = wDone[1];
//assign DONE_O = wDone[0];
assign DONE_O = wDone[0] & wDone[1];
//assign DONE_O = wDone[0] & wDone[1];// & wDone[2];
 
 
//----------------------------------------------------------------      
//----------------------------------------------------------------      
//      assign wDone[3:1] = 3'b111;
//      assign wDone[3:1] = 3'b111;
        assign wBusRequest[3:2] = 0;
//      assign wBusRequest[3:2] = 0;
        assign wSTB_O[3:2] = 0;
//      assign wSTB_O[3:2] = 0;
        assign wWE_O[3:2] = 0;
//      assign wWE_O[3:2] = 0;
        Module_BusArbitrer ARB1
        Module_BusArbitrer ARB1
        (
        (
        .Clock( CLK_I ),
        .Clock( CLK_I ),
        .Reset( RST_I ),
        .Reset( RST_I ),
        .iRequest( wBusRequest ),
        .iRequest( wBusRequest ),
Line 132... Line 131...
  .I4(wTGA_O_3),
  .I4(wTGA_O_3),
  .O1( TGA_O )
  .O1( TGA_O )
  );
  );
 
 
 
 
  assign ACK_O = (wACK_O_0 | wACK_O_1);// | wACK_O_2 | wACK_O_3);
  assign ACK_O = (wACK_O[0] | wACK_O[1] | wACK_O[2] | wACK_O[3]);
 
 
        assign wMST_I[0] = (SEL_I[0]) ? MST_I : 0;
        assign wMST_I[0] = (SEL_I[0]) ? MST_I : 0;
        assign wMST_I[1] = (SEL_I[1]) ? MST_I : 0;
        assign wMST_I[1] = (SEL_I[1]) ? MST_I : 0;
        assign wMST_I[2] = (SEL_I[2]) ? MST_I : 0;
        assign wMST_I[2] = (SEL_I[2]) ? MST_I : 0;
        assign wMST_I[3] = (SEL_I[3]) ? MST_I : 0;
        assign wMST_I[3] = (SEL_I[3]) ? MST_I : 0;
Line 155... Line 154...
        assign wTGA_I[1] = (SEL_I[1]) ? TGA_I : 0;
        assign wTGA_I[1] = (SEL_I[1]) ? TGA_I : 0;
        assign wTGA_I[2] = (SEL_I[2]) ? TGA_I : 0;
        assign wTGA_I[2] = (SEL_I[2]) ? TGA_I : 0;
        assign wTGA_I[3] = (SEL_I[3]) ? TGA_I : 0;
        assign wTGA_I[3] = (SEL_I[3]) ? TGA_I : 0;
 
 
//----------------------------------------------------------------
//----------------------------------------------------------------
wire foo;
 
assign foo = ACK_I;
 
        THEIACORE THEIA_CORE0
        THEIACORE THEIA_CORE0
                (
                (
                .CLK_I( CLK_I ),
                .CLK_I( CLK_I ),
                .RST_I( RST_I ),
                .RST_I( RST_I ),
                .RENDREN_I( RENDREN_I[0] ),
                .RENDREN_I( RENDREN_I[0] ),
Line 170... Line 168...
                .WE_I(  WE_I  ),
                .WE_I(  WE_I  ),
                .STB_I(  wSTB_I[0] ),
                .STB_I(  wSTB_I[0] ),
                //-----------------------------------
                //-----------------------------------
                //This signal behaves in a very funny way...
                //This signal behaves in a very funny way...
                //
                //
                .ACK_I( ACK_I ),//&  wBusGranted[0] ),//wACK_I[0] ), //WTF??? ok I think it works fine like this...
                .ACK_I( ACK_I ),
                //-----------------------------------
                //-----------------------------------
                .CYC_I( wCYC_I[0] ),
                .CYC_I( wCYC_I[0] ),
                .MST_I( wMST_I[0] ),
                .MST_I( wMST_I[0] ),
                .TGA_I( wTGA_I[0] ),
                .TGA_I( wTGA_I[0] ),
                .CREG_I( CREG_I ),
                .CREG_I( CREG_I ),
 
 
                //Master Signals
                //Master Signals
                .WE_O (         wWE_O[0]  ),
                .WE_O (         wWE_O[0]  ),
                .STB_O(         wSTB_O[0] ),
                .STB_O(         wSTB_O[0] ),
                .ACK_O(         wACK_O_0 ),
                .ACK_O(         wACK_O[0] ),
                .DAT_O(  wDAT_O_0 ),
                .DAT_O(  wDAT_O_0 ),
                .ADR_O(  wADR_O_0 ),
                .ADR_O(  wADR_O_0 ),
                .CYC_O(  wBusRequest[0] ),
                .CYC_O(  wBusRequest[0] ),
                .GNT_I(         wBusGranted[0] ),
                .GNT_I(         wBusGranted[0] ),
                .TGA_O(         wTGA_O_0 ),
                .TGA_O(         wTGA_O_0 ),
Line 205... Line 203...
 
 
                //Slave signals
                //Slave signals
                .ADR_I( ADR_I ),
                .ADR_I( ADR_I ),
                .WE_I(  WE_I  ),
                .WE_I(  WE_I  ),
                .STB_I(  wSTB_I[1] ),//ok
                .STB_I(  wSTB_I[1] ),//ok
                .ACK_I(  ACK_I ),//& wBusGranted[1] ),//wACK_I[0] ), //WTF??? ok I think it works fine like this...
                .ACK_I(  ACK_I ),
                .CYC_I( wCYC_I[1] ),//ok
                .CYC_I( wCYC_I[1] ),//ok
                .MST_I( wMST_I[1] ),//ok
                .MST_I( wMST_I[1] ),//ok
                .TGA_I( wTGA_I[1] ),//ok
                .TGA_I( wTGA_I[1] ),//ok
                .CREG_I( CREG_I ),
                .CREG_I( CREG_I ),
 
 
                //Master Signals
                //Master Signals
                .WE_O (         wWE_O[1]  ),
                .WE_O (         wWE_O[1]  ),
                .STB_O(         wSTB_O[1] ),
                .STB_O(         wSTB_O[1] ),
                .ACK_O(         wACK_O_1 ),
                .ACK_O(         wACK_O[1] ),
                .DAT_O(  wDAT_O_1 ),
                .DAT_O(  wDAT_O_1 ),
                .ADR_O(  wADR_O_1 ),
                .ADR_O(  wADR_O_1 ),
                .CYC_O(  wBusRequest[1] ),
                .CYC_O(  wBusRequest[1] ),
                .GNT_I(         wBusGranted[1] ),
                .GNT_I(         wBusGranted[1] ),
                .TGA_O(         wTGA_O_1 ),
                .TGA_O(         wTGA_O_1 ),
Line 229... Line 227...
                .DAT_I( DAT_I ),
                .DAT_I( DAT_I ),
                .DONE_O( wDone[1] )
                .DONE_O( wDone[1] )
 
 
        );
        );
//----------------------------------------------------------------
//----------------------------------------------------------------
 
THEIACORE THEIA_CORE2
 
                (
 
                .CLK_I( CLK_I ),
 
                .RST_I( RST_I ),
 
                .RENDREN_I( RENDREN_I[2] ),
 
 
 
                //Slave signals
 
                .ADR_I( ADR_I ),
 
                .WE_I(  WE_I  ),
 
                .STB_I(  wSTB_I[2] ),
 
                .ACK_I(  ACK_I ),
 
                .CYC_I( wCYC_I[2] ),
 
                .MST_I( wMST_I[2] ),
 
                .TGA_I( wTGA_I[2] ),
 
                .CREG_I( CREG_I ),
 
 
 
                //Master Signals
 
                .WE_O (         wWE_O[2]  ),
 
                .STB_O(         wSTB_O[2] ),
 
                .ACK_O(         wACK_O[2] ),
 
                .DAT_O(  wDAT_O_2 ),
 
                .ADR_O(  wADR_O_2 ),
 
                .CYC_O(  wBusRequest[2] ),
 
                .GNT_I(         wBusGranted[2] ),
 
                .TGA_O(         wTGA_O_2 ),
 
                `ifdef DEBUG
 
                .iDebug_CoreID( `MAX_CORES'd2 ),
 
                `endif
 
                //Other
 
                .DAT_I( DAT_I ),
 
                .DONE_O( wDone[2] )
 
 
 
        );
 
        //----------------------------------------------------------------
 
THEIACORE THEIA_CORE3
 
                (
 
                .CLK_I( CLK_I ),
 
                .RST_I( RST_I ),
 
                .RENDREN_I( RENDREN_I[3] ),
 
 
 
                //Slave signals
 
                .ADR_I( ADR_I ),
 
                .WE_I(  WE_I  ),
 
                .STB_I(  wSTB_I[3] ),
 
                .ACK_I(  ACK_I ),
 
                .CYC_I( wCYC_I[3] ),
 
                .MST_I( wMST_I[3] ),
 
                .TGA_I( wTGA_I[3] ),
 
                .CREG_I( CREG_I ),
 
 
 
                //Master Signals
 
                .WE_O (         wWE_O[3]  ),
 
                .STB_O(         wSTB_O[3] ),
 
                .ACK_O(         wACK_O[3] ),
 
                .DAT_O(  wDAT_O_3 ),
 
                .ADR_O(  wADR_O_3 ),
 
                .CYC_O(  wBusRequest[3] ),
 
                .GNT_I(         wBusGranted[3] ),
 
                .TGA_O(         wTGA_O_3 ),
 
                `ifdef DEBUG
 
                .iDebug_CoreID( `MAX_CORES'd3 ),
 
                `endif
 
                //Other
 
                .DAT_I( DAT_I ),
 
                .DONE_O( wDone[3] )
 
 
 
        );
 
//----------------------------------------------------------------
endmodule
endmodule
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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