Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 19 additions & 14 deletions include/apb/typedef.svh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

// Author:
// Wolfgang Roenninger <wroennin@student.ethz.ch>
// Riccardo Tedeschi <riccardo.tedeschi6@unibo.it>

// Macros to define APB4 Request/Response Structs

Expand All @@ -23,22 +24,26 @@
// Usage Example:
// `APB_TYPEDEF_REQ_T ( apb_req_t, addr_t, data_t, strb_t )
// `APB_TYPEDEF_RESP_T ( apb_resp_t, data_t )
`define APB_DECL_REQ_T(addr_t, data_t, strb_t) \
struct packed { \
addr_t paddr; \
apb_pkg::prot_t pprot; \
logic psel; \
logic penable; \
logic pwrite; \
data_t pwdata; \
strb_t pstrb; \
}
`define APB_TYPEDEF_REQ_T(apb_req_t, addr_t, data_t, strb_t) \
typedef struct packed { \
addr_t paddr; \
apb_pkg::prot_t pprot; \
logic psel; \
logic penable; \
logic pwrite; \
data_t pwdata; \
strb_t pstrb; \
} apb_req_t;
typedef `APB_DECL_REQ_T(addr_t, data_t, strb_t) apb_req_t;
`define APB_DECL_RESP_T(data_t) \
struct packed { \
logic pready; \
data_t prdata; \
logic pslverr; \
}
`define APB_TYPEDEF_RESP_T(apb_resp_t, data_t) \
typedef struct packed { \
logic pready; \
data_t prdata; \
logic pslverr; \
} apb_resp_t;
typedef `APB_DECL_RESP_T(data_t) apb_resp_t;
////////////////////////////////////////////////////////////////////////////////////////////////////


Expand Down