From 33794ca29db5670bc140686ae6e6d3b7832ad406 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Sun, 19 Nov 2023 17:16:58 -0600 Subject: rtl/gfx: implement SP fetch --- rtl/gfx/gfx_defs.sv | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'rtl/gfx/gfx_defs.sv') diff --git a/rtl/gfx/gfx_defs.sv b/rtl/gfx/gfx_defs.sv index 34fef4d..0aa4055 100644 --- a/rtl/gfx/gfx_defs.sv +++ b/rtl/gfx/gfx_defs.sv @@ -168,7 +168,23 @@ typedef logic[`GFX_MEM_DATA_BITS - 1:0] vram_word; typedef logic[`GFX_MEM_ADDR_BITS - 1:0] vram_byte_addr; typedef logic[`GFX_MEM_WORD_ADDR_BITS - 1:0] vram_addr; +`define GFX_INSN_BITS 32 +`define GFX_INSN_ADDR_BITS (`GFX_MEM_WORD_ADDR_BITS - $clog2(`GFX_INSN_BITS / `GFX_MEM_DATA_BITS)) +`define GFX_INSN_SUBWORD_BITS (`GFX_MEM_ADDR_BITS - `GFX_INSN_ADDR_BITS) + +typedef logic[`GFX_INSN_BITS - 1:0] insn_word; +typedef logic[`GFX_INSN_ADDR_BITS - 1:0] vram_insn_addr; + typedef logic[5:0] cmd_addr; typedef logic[31:0] cmd_word; +typedef struct packed +{ + logic[$bits(cmd_word) - $bits(vram_insn_addr) - `GFX_INSN_SUBWORD_BITS - 1:0] pad; + vram_insn_addr addr; + logic[`GFX_INSN_SUBWORD_BITS - 1:0] sub; +} cmd_insn_ptr; + +`define GFX_FETCH_FIFO_DEPTH 8 + `endif -- cgit v1.2.3