summaryrefslogtreecommitdiff
path: root/rtl/inc/bus
diff options
context:
space:
mode:
authorIan M. <ian@aptel.org>2026-09-26 11:52:58 +0000
committerIan M. <ian@aptel.org>2026-09-26 11:52:58 +0000
commite3b54015326ae24a29c2c6bdbcc91b164308c068 (patch)
tree1b27ab2f5809dd52634f21edef2376b8b315335a /rtl/inc/bus
parent789c6304aa8ef6c4ed6049c3521cb32809b219ad (diff)
bus: ari: Add address operation structure
Signed-off-by: Ian M. <ian@aptel.org>
Diffstat (limited to 'rtl/inc/bus')
-rw-r--r--rtl/inc/bus/ari.svh19
1 files changed, 18 insertions, 1 deletions
diff --git a/rtl/inc/bus/ari.svh b/rtl/inc/bus/ari.svh
index 86a3915..6c5a6e2 100644
--- a/rtl/inc/bus/ari.svh
+++ b/rtl/inc/bus/ari.svh
@@ -19,12 +19,29 @@ parameter PMA_XLEN = 32;
// ARI bus tags for determining payload type
//
// @ARI_NOP: No-operation, as per the spec
+// @ARI_ADOP: Address operation
//
typedef enum logic [3:0] {
- ARI_NOP
+ ARI_NOP,
+ ARI_ADOP
} AriTag;
//
+// Address operation structure
+//
+// @ad: 48-bit physical address
+// @data: Data to write (if write_en=1)
+// @write_en: If set, this is a write operation
+// @reserved: Reserved, must be zero
+//
+typedef struct packed {
+ logic [PMA_XLEN-1:0] ad;
+ logic [63:0] data;
+ logic write_en;
+ logic [14:0] reserved;
+} AriAdop;
+
+//
// Represents an ARI frame that encapsulates a payload.
// Refer to the ARI specification.
//