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

Subversion Repositories theia_gpu

[/] [theia_gpu/] [branches/] [beta_1.2/] [rtl/] [GEO/] [Module_GeometryFetchFSM.v] - Diff between revs 30 and 73

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

Rev 30 Rev 73
Line 66... Line 66...
`define GFSM_REQUEST_NEXT_TEXTURE             37
`define GFSM_REQUEST_NEXT_TEXTURE             37
`define GFSM_WAIT_FOR_NEXT_TEXTURE            38
`define GFSM_WAIT_FOR_NEXT_TEXTURE            38
`define GFSM_INC_TEXTURE_ADDRESS              39
`define GFSM_INC_TEXTURE_ADDRESS              39
`define GFSM_SET_NEXT_TEXTURE_ADDR            42
`define GFSM_SET_NEXT_TEXTURE_ADDR            42
 
 
 
 
module GeometryFetchFSM
module GeometryFetchFSM
(
(
        input wire                    Clock,
        input wire                    Clock,
        input wire                    Reset,
        input wire                    Reset,
        //Input control signals
        //Input control signals
Line 273... Line 274...
                                oDone                                           <= 0;
                                oDone                                           <= 0;
                                oSetTFUAddressOffset <= 0;
                                oSetTFUAddressOffset <= 0;
                                oRequest_TCC         <= 0;
                                oRequest_TCC         <= 0;
 
 
 
 
 
 
                                oEnable_WBM                   <= 0;
                                oEnable_WBM                   <= 0;
                                oSetAddressWBM                <= 1; //*
                                oSetAddressWBM                <= 1; //*
                                oSetIOWriteBackAddr     <= 1; //Make sure we set write back address
                                oSetIOWriteBackAddr     <= 1; //Make sure we set write back address
                                //IncTextureWriteAddress        <= 0;
 
                                IncTextureCount       <= 0;
                                IncTextureCount       <= 0;
                                IncTextureCoordRegrAddr       <= 0;
                                IncTextureCoordRegrAddr       <= 0;
                                //oRAMTextureStoreLocation <= `CREG_TEX_COLOR1;
 
 
 
                                NextState <= `GFSM_REQUEST_TEXTURE;
                                NextState <= `GFSM_REQUEST_TEXTURE;
 
 
                end
                end
                //------------------------------------
                //------------------------------------
Line 304... Line 303...
                        oRequest_TCC         <= 0;
                        oRequest_TCC         <= 0;
 
 
                //      $display("GFSM_REQUEST_TEXTURE: Texture Addr in Reg: %d",oAddressWBM);
                //      $display("GFSM_REQUEST_TEXTURE: Texture Addr in Reg: %d",oAddressWBM);
                        oEnable_WBM             <= 1; //*
                        oEnable_WBM             <= 1; //*
                        oSetAddressWBM                 <= 0;
                        oSetAddressWBM                 <= 0;
                        //IncTextureWriteAddress        <= 0;
 
                        IncTextureCount        <= 0; //*
                        IncTextureCount        <= 0; //*
                        IncTextureCoordRegrAddr  <= 0;
                        IncTextureCoordRegrAddr  <= 0;
                        oSetIOWriteBackAddr <= 0;
                        oSetIOWriteBackAddr <= 0;
                        //oRAMTextureStoreLocation <= `CREG_TEX_COLOR1;
 
 
 
                        NextState <= `GFSM_WAIT_FOR_TEXTURE;
                        NextState <= `GFSM_WAIT_FOR_TEXTURE;
                end
                end
                //------------------------------------
                //------------------------------------
                `GFSM_WAIT_FOR_TEXTURE:
                `GFSM_WAIT_FOR_TEXTURE:
Line 540... Line 538...
                                        NextState <= `GFSM_TRIGGER_AABBIU;
                                        NextState <= `GFSM_TRIGGER_AABBIU;
                                else
                                else
                                        NextState <= `GFSM_WAIT_FOR_ROOT_NODE_FETCH;
                                        NextState <= `GFSM_WAIT_FOR_ROOT_NODE_FETCH;
                  end
                  end
                  //------------------------------------------
                  //------------------------------------------
 
                  /*
 
                  So, while we request AABBIU, we should be requesting
 
                  the info for the Next triangle as well...
 
                  */
                  `GFSM_TRIGGER_AABBIU:
                  `GFSM_TRIGGER_AABBIU:
                  begin
                  begin
                //      $display("GFSM_TRIGGER_AABBIU");
                //      $display("GFSM_TRIGGER_AABBIU");
                                oNodeAddress                    <= 0;
                                oNodeAddress                    <= 0;
                                oRequest_AABBIU         <= 1;   //*
                                oRequest_AABBIU         <= 1;   //*
                                oRequest_BIU                    <= 0;
                                oRequest_BIU                    <= 0;
                                oTrigger_TFU                    <= 0;
                                oTrigger_TFU                    <= 0;   //WIP!!!!!!!!
                                oTrigger_TNF                    <= 0;
                                oTrigger_TNF                    <= 0;
                                ClearTriangleCount      <= 0;
                                ClearTriangleCount      <= 0;
                                IncTriangleCount                <= 0;
                                IncTriangleCount                <= 0;
                                oWBM_Addr_Selector      <= `GFSM_SELECT_NULL;
                                oWBM_Addr_Selector      <= `GFSM_SELECT_NULL;
                                oSync                                           <= 1; //*
                                oSync                                           <= 1; //*
Line 787... Line 789...
                                `endif
                                `endif
 
 
                                if ( wTriangleCount == iNode_TriangleCount )
                                if ( wTriangleCount == iNode_TriangleCount )
                                        NextState <= `GFSM_CHECK_NEXT_BROTHER;
                                        NextState <= `GFSM_CHECK_NEXT_BROTHER;
                                else
                                else
                                        NextState <= `GFSM_TRIGGER_TRIANGLE_FETCH;
                                        NextState <=
 
                                        //`GFSM_TRIGGER_TRIANGLE_FETCH;
 
                                        `GFSM_TRIGGER_BIU_REQUSET;                      //NEW NEW PARALLEL IO
                  end
                  end
                   //------------------------------------------
                   //------------------------------------------
                  `GFSM_TRIGGER_TRIANGLE_FETCH:
                  `GFSM_TRIGGER_TRIANGLE_FETCH:
                  begin
                  begin
 
 
Line 867... Line 871...
                        `endif
                        `endif
 
 
                                oRequest_AABBIU         <= 0;
                                oRequest_AABBIU         <= 0;
                                oNodeAddress                    <= 0;
                                oNodeAddress                    <= 0;
                                oRequest_BIU          <= 1; //*
                                oRequest_BIU          <= 1; //*
                                oTrigger_TFU                    <= 0;
                                oTrigger_TFU                    <=
 
                                //0;
 
                                1;      ///NEW NEW NEW Jan 25 2010, try to put this to 1
                                oTrigger_TNF                    <= 0;
                                oTrigger_TNF                    <= 0;
                                IncTriangleCount                <= 1;   //*             
                                IncTriangleCount                <= 1;   //*             
                                ClearTriangleCount      <= 0;
                                ClearTriangleCount      <= 0;
                                oWBM_Addr_Selector      <= `GFSM_SELECT_NULL;
                                oWBM_Addr_Selector      <=
 
                                //`GFSM_SELECT_NULL;
 
                                `GFSM_SELECT_TFU; //NEW NEW Paralell IO
                                oSync                                           <= 1;//*
                                oSync                                           <= 1;//*
                                oDone                                           <= 0;
                                oDone                                           <= 0;
                                oSetTFUAddressOffset <= 0;
                                oSetTFUAddressOffset <= 0;
                                oRequest_TCC         <= 0;
                                oRequest_TCC         <= 0;
 
 
Line 912... Line 920...
                                oNodeAddress                    <= 0;
                                oNodeAddress                    <= 0;
                                oRequest_BIU                    <= 1; //*
                                oRequest_BIU                    <= 1; //*
                                oTrigger_TFU                    <= 0;
                                oTrigger_TFU                    <= 0;
                                oTrigger_TNF                    <= 0;
                                oTrigger_TNF                    <= 0;
                                IncTriangleCount                <= 0;    //*
                                IncTriangleCount                <= 0;    //*
                                oWBM_Addr_Selector      <= `GFSM_SELECT_NULL;
                                oWBM_Addr_Selector      <=
 
                                //`GFSM_SELECT_NULL;
 
                                `GFSM_SELECT_TFU; //NEW NEW Paralell IO
                                ClearTriangleCount      <= 0;
                                ClearTriangleCount      <= 0;
                                oSync                                           <= 0;
                                oSync                                           <= 0;
                                oDone                                           <= 0;
                                oDone                                           <= 0;
                                oSetTFUAddressOffset <= 0;
                                oSetTFUAddressOffset <= 0;
                                oRequest_TCC         <= 0;
                                oRequest_TCC         <= 0;

powered by: WebSVN 2.1.0

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