summaryrefslogtreecommitdiff
path: root/rtl/cache/defs.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2023-10-05 16:26:26 -0600
committerAlejandro Soto <alejandro@34project.org>2023-10-05 17:16:55 -0600
commitd406720cecd7328f595255e65b6fd6b6814cefe4 (patch)
treec085f1b4a2d30df0c08cd1efcbf3503ee40c5354 /rtl/cache/defs.sv
parentdc705df98037bfd9db8efded025651b676e87754 (diff)
rtl/perf: implement performance unit
Diffstat (limited to 'rtl/cache/defs.sv')
-rw-r--r--rtl/cache/defs.sv12
1 files changed, 12 insertions, 0 deletions
diff --git a/rtl/cache/defs.sv b/rtl/cache/defs.sv
index 24ab9ea..2c7550f 100644
--- a/rtl/cache/defs.sv
+++ b/rtl/cache/defs.sv
@@ -7,11 +7,13 @@ typedef logic[15:0] line_be;
// Tamaño de una línea de cache
typedef logic[127:0] line;
+typedef logic[27:0] line_ptr;
// Choca con typedef en core/uarch.sv
`ifndef WORD_DEFINED
typedef logic[29:0] ptr;
typedef logic[31:0] word;
+typedef logic[15:0] hword;
`define WORD_DEFINED
`endif
@@ -36,6 +38,8 @@ typedef logic[12:0] addr_tag;
typedef logic[2:0] addr_io_region;
typedef logic[26:0] addr_cacheable;
+`define IO_CACHED 3'b000
+
typedef struct packed
{
addr_io_region io;
@@ -68,6 +72,14 @@ typedef struct packed
line data;
} ring_req;
+typedef struct packed
+{
+ logic[1:0] ttl;
+ logic read,
+ inval,
+ reply;
+} perf_sample;
+
`define TTL_END 2'b00
`define TTL_MAX 2'b11