diff options
Diffstat (limited to 'rtl/gfx')
| -rw-r--r-- | rtl/gfx/gfx.sv | 6 | ||||
| -rw-r--r-- | rtl/gfx/gfx_defs.sv | 9 | ||||
| -rw-r--r-- | rtl/gfx/gfx_rop.sv | 4 | ||||
| -rw-r--r-- | rtl/gfx/gfx_scanout.sv | 4 |
4 files changed, 16 insertions, 7 deletions
diff --git a/rtl/gfx/gfx.sv b/rtl/gfx/gfx.sv index b127607..e708e8d 100644 --- a/rtl/gfx/gfx.sv +++ b/rtl/gfx/gfx.sv @@ -13,11 +13,11 @@ module gfx input logic mem_waitrequest, mem_readdatavalid, - input logic[15:0] mem_readdata, - output logic[25:0] mem_address, + input mem_word mem_readdata, + output mem_addr mem_address, output logic mem_read, mem_write, - output logic[15:0] mem_writedata, + output mem_word mem_writedata, input logic scan_ready, output logic scan_valid, diff --git a/rtl/gfx/gfx_defs.sv b/rtl/gfx/gfx_defs.sv index e9557b9..5af45a5 100644 --- a/rtl/gfx/gfx_defs.sv +++ b/rtl/gfx/gfx_defs.sv @@ -154,4 +154,13 @@ typedef struct packed `define GFX_FRAG_SHADE_STAGES (`LERP_STAGES + 1) `define GFX_FRAG_STAGES (`GFX_FRAG_BARY_STAGES + `GFX_FRAG_SHADE_STAGES) +`define GFX_MEM_WORD_ADDR_BITS 25 +`define GFX_MEM_DATA_BITS 16 // No puedo hacer nada al respecto +`define GFX_MEM_SUBWORD_BITS ($clog2(`GFX_MEM_DATA_BITS / 8)) +`define GFX_MEM_ADDR_BITS (`GFX_MEM_WORD_ADDR_BITS + `GFX_MEM_SUBWORD_BITS) + +typedef logic[`GFX_MEM_DATA_BITS - 1:0] mem_word; +typedef logic[`GFX_MEM_ADDR_BITS - 1:0] mem_addr; +typedef logic[`GFX_MEM_WORD_ADDR_BITS - 1:0] mem_word_addr; + `endif diff --git a/rtl/gfx/gfx_rop.sv b/rtl/gfx/gfx_rop.sv index e055278..c0e3bf1 100644 --- a/rtl/gfx/gfx_rop.sv +++ b/rtl/gfx/gfx_rop.sv @@ -11,7 +11,7 @@ module gfx_rop input logic rop_waitrequest, output logic rop_write, - output logic[15:0] rop_writedata, + output mem_word rop_writedata, output half_coord rop_address, output linear_coord mask_addr, @@ -26,8 +26,8 @@ module gfx_rop } state; logic hi; + mem_word color_hi, color_lo; frag_paint hold; - logic[15:0] color_hi, color_lo; assign {color_hi, color_lo} = hold.color; diff --git a/rtl/gfx/gfx_scanout.sv b/rtl/gfx/gfx_scanout.sv index 18b700d..b315e44 100644 --- a/rtl/gfx/gfx_scanout.sv +++ b/rtl/gfx/gfx_scanout.sv @@ -13,7 +13,7 @@ module gfx_scanout input logic fb_waitrequest, fb_readdatavalid, - input logic[15:0] fb_readdata, + input mem_word fb_readdata, output logic fb_read, output half_coord fb_address, @@ -35,8 +35,8 @@ module gfx_scanout queued_dec, queued_inc, read_half, read_valid, request_flush; rgb24 fb_pipes[`GFX_SCAN_STAGES + 1], scan_pixel; + mem_word half; half_coord commit_pos, next_pos, read_pos, request_pos[`GFX_MASK_STAGES - 1:0]; - logic[15:0] half; linear_coord scan_pos, last_pos; assign last_pos = `GFX_LINEAR_RES - 1; |
