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

Subversion Repositories theia_gpu

[/] [theia_gpu/] [branches/] [gpu_4_cores/] [rtl/] [Collaterals/] [aDefinitions.v] - Diff between revs 60 and 63

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

Rev 60 Rev 63
Line 83... Line 83...
`define ROM_ADDRESS_WIDTH               16
`define ROM_ADDRESS_WIDTH               16
`define ROM_ADDRESS_SEL_MASK  `ROM_ADDRESS_WIDTH'h8000
`define ROM_ADDRESS_SEL_MASK  `ROM_ADDRESS_WIDTH'h8000
 
 
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
//Defines the ucode memory entry point for the various ucode routines
//Defines the ucode memory entry point for the various ucode routines
 
//Please keep this syntax ENTRYPOINT_ADDR_* because the perl script that
 
//parses the user code expects this pattern in order to read in the tokens
 
 
 
//Internal Entry points (default ROM Address)
`define ENTRYPOINT_ADRR_INITIAL                                         `ROM_ADDRESS_WIDTH'd0   //0 - This should always be zero
`define ENTRYPOINT_ADRR_INITIAL                                         `ROM_ADDRESS_WIDTH'd0   //0 - This should always be zero
`define ENTRYPOINT_ADRR_CPPU                                                    `ROM_ADDRESS_WIDTH'd14  //E 
`define ENTRYPOINT_ADRR_CPPU                                                    `ROM_ADDRESS_WIDTH'd14  //E 
`define ENTRYPOINT_ADRR_RGU                                                     `ROM_ADDRESS_WIDTH'd17  //11
`define ENTRYPOINT_ADRR_RGU                                                     `ROM_ADDRESS_WIDTH'd17  //11
`define ENTRYPOINT_ADRR_AABBIU                                          `ROM_ADDRESS_WIDTH'd33  //21
`define ENTRYPOINT_ADRR_AABBIU                                          `ROM_ADDRESS_WIDTH'd33  //21
`define ENTRYPOINT_ADRR_BIU                                                     `ROM_ADDRESS_WIDTH'd121 //79
`define ENTRYPOINT_ADRR_BIU                                                     `ROM_ADDRESS_WIDTH'd121 //79
`define ENTRYPOINT_ADRR_PSU                                                     `ROM_ADDRESS_WIDTH'd196 //C4
`define ENTRYPOINT_ADRR_PSU                                                     `ROM_ADDRESS_WIDTH'd196 //C4
`define ENTRYPOINT_ADRR_PSU2                                    `ROM_ADDRESS_WIDTH'd212   //D4
`define ENTRYPOINT_ADRR_PSU2                                    `ROM_ADDRESS_WIDTH'd212   //D4
`define ENTRYPOINT_ADRR_TCC                                     `ROM_ADDRESS_WIDTH'd154   //9A
`define ENTRYPOINT_ADRR_TCC                                     `ROM_ADDRESS_WIDTH'd154   //9A
`define ENTRYPOINT_ADRR_DEBUG_LOG_REGISTERS             `ROM_ADDRESS_WIDTH'd221 //DD
 
`define ENTRYPOINT_ADRR_NPG                                                     `ROM_ADDRESS_WIDTH'd24  //18
`define ENTRYPOINT_ADRR_NPG                                                     `ROM_ADDRESS_WIDTH'd24  //18
 
//User Entry points (default ROM Address)
 
`define ENTRYPOINT_ADRR_USERCONSTANTS           `ROM_ADDRESS_WIDTH'd221 //DD
 
`define ENTRYPOINT_ADRR_PIXELSHADER             `ROM_ADDRESS_WIDTH'd223 //DF
 
 
 
//Please keep this syntax ENTRYPOINT_INDEX_* because the perl script that
 
//parses the user code expects this pattern in order to read in the tokens
 
//Internal subroutines
`define ENTRYPOINT_INDEX_INITIAL                                                `ROM_ADDRESS_WIDTH'h8000
`define ENTRYPOINT_INDEX_INITIAL                                                `ROM_ADDRESS_WIDTH'h8000
`define ENTRYPOINT_INDEX_CPPU                                                   `ROM_ADDRESS_WIDTH'h8001
`define ENTRYPOINT_INDEX_CPPU                                                   `ROM_ADDRESS_WIDTH'h8001
`define ENTRYPOINT_INDEX_RGU                                                    `ROM_ADDRESS_WIDTH'h8002
`define ENTRYPOINT_INDEX_RGU                                                    `ROM_ADDRESS_WIDTH'h8002
`define ENTRYPOINT_INDEX_AABBIU                                         `ROM_ADDRESS_WIDTH'h8003
`define ENTRYPOINT_INDEX_AABBIU                                         `ROM_ADDRESS_WIDTH'h8003
`define ENTRYPOINT_INDEX_BIU                                                    `ROM_ADDRESS_WIDTH'h8004
`define ENTRYPOINT_INDEX_BIU                                                    `ROM_ADDRESS_WIDTH'h8004
`define ENTRYPOINT_INDEX_PSU                                                    `ROM_ADDRESS_WIDTH'h8005
`define ENTRYPOINT_INDEX_PSU                                                    `ROM_ADDRESS_WIDTH'h8005
`define ENTRYPOINT_INDEX_PSU2                                   `ROM_ADDRESS_WIDTH'h8006
`define ENTRYPOINT_INDEX_PSU2                                   `ROM_ADDRESS_WIDTH'h8006
`define ENTRYPOINT_INDEX_TCC                                    `ROM_ADDRESS_WIDTH'h8007
`define ENTRYPOINT_INDEX_TCC                                    `ROM_ADDRESS_WIDTH'h8007
`define ENTRYPOINT_INDEX_DEBUG_LOG_REGISTERS            `ROM_ADDRESS_WIDTH'h8008
`define ENTRYPOINT_INDEX_NPG                                                    `ROM_ADDRESS_WIDTH'h8008
`define ENTRYPOINT_INDEX_NPG                                                    `ROM_ADDRESS_WIDTH'h8009
//User defined subroutines
 
`define ENTRYPOINT_INDEX_USERCONSTANTS          `ROM_ADDRESS_WIDTH'h8009
 
`define ENTRYPOINT_INDEX_PIXELSHADER            `ROM_ADDRESS_WIDTH'h800A
 
 
`define USER_AABBIU_UCODE_ADDRESS `ROM_ADDRESS_WIDTH'b1000000000000000
`define USER_AABBIU_UCODE_ADDRESS `ROM_ADDRESS_WIDTH'b1000000000000000
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
//This handy little macro allows me to print stuff either to STDOUT or a file.
//This handy little macro allows me to print stuff either to STDOUT or a file.
//Notice that the compilation vairable DUMP_CODE must be set if you want to print
//Notice that the compilation vairable DUMP_CODE must be set if you want to print
Line 202... Line 210...
`define CREG_LAST_u                                                     `DATA_ADDRESS_WIDTH'd62 //0037
`define CREG_LAST_u                                                     `DATA_ADDRESS_WIDTH'd62 //0037
`define CREG_LAST_v                                                     `DATA_ADDRESS_WIDTH'd63 //0038
`define CREG_LAST_v                                                     `DATA_ADDRESS_WIDTH'd63 //0038
 
 
 
 
//Output registers
//Output registers
`define OREG_PIXEL_COLOR                                        `DATA_ADDRESS_WIDTH'd57 //0032
`define OREG_PIXEL_COLOR                                        `DATA_ADDRESS_WIDTH'd57
`define OREG_TEX_COORD1                                         `DATA_ADDRESS_WIDTH'd65 //0032
`define OREG_TEX_COORD1                                         `DATA_ADDRESS_WIDTH'd65
`define OREG_TEX_COORD2                                         `DATA_ADDRESS_WIDTH'd66 //0032
`define OREG_TEX_COORD2                                         `DATA_ADDRESS_WIDTH'd66
`define CREG_TEX_COLOR1                                         `DATA_ADDRESS_WIDTH'd67 //0032
`define CREG_TEX_COLOR1                                         `DATA_ADDRESS_WIDTH'd67
`define CREG_TEX_COLOR2                                         `DATA_ADDRESS_WIDTH'd68 //0032
`define CREG_TEX_COLOR2                                         `DATA_ADDRESS_WIDTH'd68
`define CREG_TEX_COLOR3                                         `DATA_ADDRESS_WIDTH'd69
`define CREG_TEX_COLOR3                                         `DATA_ADDRESS_WIDTH'd69
`define CREG_TEX_COLOR4                                         `DATA_ADDRESS_WIDTH'd70 //This is intentionally COLOR6
`define CREG_TEX_COLOR4                                         `DATA_ADDRESS_WIDTH'd70 //This is intentionally COLOR6
`define CREG_TEX_COLOR5                                         `DATA_ADDRESS_WIDTH'd71
`define CREG_TEX_COLOR5                                         `DATA_ADDRESS_WIDTH'd71
`define CREG_TEX_COLOR6                                         `DATA_ADDRESS_WIDTH'd72
`define CREG_TEX_COLOR6                                         `DATA_ADDRESS_WIDTH'd72
`define CREG_TEX_COLOR7                                         `DATA_ADDRESS_WIDTH'd73
`define CREG_TEX_COLOR7                                         `DATA_ADDRESS_WIDTH'd73
Line 221... Line 229...
`define CREG_UV0_LAST                  `DATA_ADDRESS_WIDTH'd78
`define CREG_UV0_LAST                  `DATA_ADDRESS_WIDTH'd78
`define CREG_UV1_LAST                  `DATA_ADDRESS_WIDTH'd79
`define CREG_UV1_LAST                  `DATA_ADDRESS_WIDTH'd79
`define CREG_UV2_LAST                  `DATA_ADDRESS_WIDTH'd80
`define CREG_UV2_LAST                  `DATA_ADDRESS_WIDTH'd80
`define OREG_PIXEL_PITCH                        `DATA_ADDRESS_WIDTH'd81
`define OREG_PIXEL_PITCH                        `DATA_ADDRESS_WIDTH'd81
`define CREG_LAST_COL                                           `DATA_ADDRESS_WIDTH'd82 //the last valid column, simply CREG_RESOLUTIONX - 1
`define CREG_LAST_COL                                           `DATA_ADDRESS_WIDTH'd82 //the last valid column, simply CREG_RESOLUTIONX - 1
 
`define CREG_TEXTURE_COLOR             `DATA_ADDRESS_WIDTH'd83
 
`define C1                             `DATA_ADDRESS_WIDTH'd84
 
`define C2                             `DATA_ADDRESS_WIDTH'd85
 
`define C3                             `DATA_ADDRESS_WIDTH'd86
 
`define C4                             `DATA_ADDRESS_WIDTH'd87
 
`define C5                             `DATA_ADDRESS_WIDTH'd88
 
`define C6                             `DATA_ADDRESS_WIDTH'd89
 
`define C7                             `DATA_ADDRESS_WIDTH'd90
//-------------------------------------------------------------
//-------------------------------------------------------------
//*** Instruction Set ***
//*** Instruction Set ***
//The order of the instrucitons is important here!. Don't change
//The order of the instrucitons is important here!. Don't change
//it unles you know what you are doing. For example all the 'SET'
//it unles you know what you are doing. For example all the 'SET'
//family of instructions have the MSB bit in 1. This means that
//family of instructions have the MSB bit in 1. This means that

powered by: WebSVN 2.1.0

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