summaryrefslogtreecommitdiff
path: root/rtl/gfx/gfx_regfile_io.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2024-05-19 19:55:20 -0600
committerAlejandro Soto <alejandro@34project.org>2024-05-24 05:58:41 -0600
commit1246f6ec28f37c8bf85dd6262928c92899a5a539 (patch)
tree06047f1496fe61f5080eeb7ab5c3997d60271194 /rtl/gfx/gfx_regfile_io.sv
parent40bd702015f3a09f5c4d1ad30439b1ea186d7484 (diff)
rtl/gfx: implement memory unit
Diffstat (limited to 'rtl/gfx/gfx_regfile_io.sv')
-rw-r--r--rtl/gfx/gfx_regfile_io.sv17
1 files changed, 12 insertions, 5 deletions
diff --git a/rtl/gfx/gfx_regfile_io.sv b/rtl/gfx/gfx_regfile_io.sv
index 2459049..a3f0622 100644
--- a/rtl/gfx/gfx_regfile_io.sv
+++ b/rtl/gfx/gfx_regfile_io.sv
@@ -33,21 +33,26 @@ interface gfx_regfile_io;
word data[SHADER_LANES];
} vgpr_write;
+ group_id mask_back_group, mask_exec_group, mask_wb_group,
+ pc_back_group, pc_front_group, pc_wb_group;
+
word a[SHADER_LANES], b[SHADER_LANES], sgpr_write_data, vgpr_write_data[SHADER_LANES];
logic mask_wb_write, pc_wb_write;
word_ptr pc_back, pc_front, pc_wb;
- group_id mask_back_group, mask_wb_group, pc_back_group, pc_front_group, pc_wb_group;
- lane_mask mask_back, mask_wb;
+ lane_mask mask_back, mask_exec, mask_wb;
modport ab
(
input a,
- b
+ b,
+
+ mask_exec
);
modport read
(
- output op
+ output op,
+ mask_exec_group
);
modport bind_
@@ -86,6 +91,7 @@ interface gfx_regfile_io;
pc_back_group,
pc_front_group,
mask_back_group,
+ mask_exec_group,
pc_wb,
pc_wb_group,
@@ -100,7 +106,8 @@ interface gfx_regfile_io;
pc_back,
pc_front,
- mask_back
+ mask_back,
+ mask_exec
);
endinterface