blob: 017fb4c41ffdb25fcfecef03d19838d90ac16229 [file] [log] [blame]
`ifndef INCLDUDED_WISHBONE_MACROS_SVH
`define INCLDUDED_WISHBONE_MACROS_SVH
`define WB_INITIATOR_PORT(PREFIX,ADDR_WIDTH,DATA_WIDTH) \
output[ADDR_WIDTH-1:0] PREFIX``adr, \
output[DATA_WIDTH-1:0] PREFIX``dat_w, \
input[DATA_WIDTH-1:0] PREFIX``dat_r, \
output PREFIX``cyc, \
input PREFIX``err, \
output[DATA_WIDTH/8-1:0] PREFIX``sel, \
output PREFIX``stb, \
input PREFIX``ack, \
output PREFIX``we
`define WB_INITIATOR_PORT_ARR(PREFIX,ADDR_WIDTH,DATA_WIDTH,SIZE) \
output[(SIZE*ADDR_WIDTH)-1:0] PREFIX``adr, \
output[(SIZE*DATA_WIDTH)-1:0] PREFIX``dat_w, \
input[(SIZE*DATA_WIDTH)-1:0] PREFIX``dat_r, \
output[SIZE-1:0] PREFIX``cyc, \
input[SIZE-1:0] PREFIX``err, \
output[SIZE*(DATA_WIDTH/8)-1:0] PREFIX``sel, \
output[SIZE-1:0] PREFIX``stb, \
input[SIZE-1:0] PREFIX``ack, \
output[SIZE-1:0] PREFIX``we
`define WB_TARGET_PORT(PREFIX,ADDR_WIDTH,DATA_WIDTH) \
input[ADDR_WIDTH-1:0] PREFIX``adr, \
input[DATA_WIDTH-1:0] PREFIX``dat_w, \
output[DATA_WIDTH-1:0] PREFIX``dat_r, \
input PREFIX``cyc, \
output PREFIX``err, \
input[DATA_WIDTH/8-1:0] PREFIX``sel, \
input PREFIX``stb, \
output PREFIX``ack, \
input PREFIX``we
`define WB_TARGET_PORT_ARR(PREFIX,ADDR_WIDTH,DATA_WIDTH,SIZE) \
input[(SIZE*ADDR_WIDTH)-1:0] PREFIX``adr, \
input[(SIZE*DATA_WIDTH)-1:0] PREFIX``dat_w, \
output[(SIZE*DATA_WIDTH)-1:0] PREFIX``dat_r, \
input[SIZE-1:0] PREFIX``cyc, \
output[SIZE-1:0] PREFIX``err, \
input[SIZE*(DATA_WIDTH/8)-1:0] PREFIX``sel, \
input[SIZE-1:0] PREFIX``stb, \
output[SIZE-1:0] PREFIX``ack, \
input[SIZE-1:0] PREFIX``we
`define WB_WIRES(PREFIX,ADDR_WIDTH,DATA_WIDTH) \
wire[ADDR_WIDTH-1:0] PREFIX``adr, \
wire[DATA_WIDTH-1:0] PREFIX``dat_w, \
wire[DATA_WIDTH-1:0] PREFIX``dat_r, \
wire PREFIX``cyc, \
wire PREFIX``err, \
wire[DATA_WIDTH/8-1:0] PREFIX``sel, \
wire PREFIX``stb, \
wire PREFIX``ack, \
wire PREFIX``we
`define WB_WIRES_ARR(PREFIX,ADDR_WIDTH,DATA_WIDTH,SIZE) \
wire[(SIZE*ADDR_WIDTH)-1:0] PREFIX``adr; \
wire[(SIZE*DATA_WIDTH)-1:0] PREFIX``dat_w; \
wire[(SIZE*DATA_WIDTH)-1:0] PREFIX``dat_r; \
wire[SIZE-1:0] PREFIX``cyc; \
wire[SIZE-1:0] PREFIX``err; \
wire[SIZE*(DATA_WIDTH/8)-1:0] PREFIX``sel; \
wire[SIZE-1:0] PREFIX``stb; \
wire[SIZE-1:0] PREFIX``ack; \
wire[SIZE-1:0] PREFIX``we
`define WB_INDEX_ARR(PREFIX,FIELD,WIDTH,INDEX) \
PREFIX``FIELD``[(INDEX)*(WIDTH)+:(WIDTH)]
`define WB_CONNECT(P_PREFIX,W_PREFIX) \
.P_PREFIX``adr(W_PREFIX``adr), \
.P_PREFIX``dat_w(W_PREFIX``dat_w), \
.P_PREFIX``dat_r(W_PREFIX``dat_r), \
.P_PREFIX``cyc(W_PREFIX``cyc), \
.P_PREFIX``err(W_PREFIX``err), \
.P_PREFIX``sel(W_PREFIX``sel), \
.P_PREFIX``stb(W_PREFIX``stb), \
.P_PREFIX``ack(W_PREFIX``ack), \
.P_PREFIX``we(W_PREFIX``we)
`define WB_CONNECT_ARR(P_PREFIX,W_PREFIX,INDEX,ADDR_WIDTH,DATA_WIDTH) \
.P_PREFIX``adr(W_PREFIX``adr[(INDEX)*(ADDR_WIDTH)+:(ADDR_WIDTH)]), \
.P_PREFIX``dat_w(W_PREFIX``dat_w[(INDEX)*(DATA_WIDTH)+:(DATA_WIDTH)]), \
.P_PREFIX``dat_r(W_PREFIX``dat_r[(INDEX)*(DATA_WIDTH)+:(DATA_WIDTH)]), \
.P_PREFIX``cyc(W_PREFIX``cyc[INDEX]), \
.P_PREFIX``err(W_PREFIX``err[INDEX]), \
.P_PREFIX``sel(W_PREFIX``sel[(INDEX)*(DATA_WIDTH/8)+:(DATA_WIDTH/8)]), \
.P_PREFIX``stb(W_PREFIX``stb[INDEX]), \
.P_PREFIX``ack(W_PREFIX``ack[INDEX]), \
.P_PREFIX``we(W_PREFIX``we[INDEX])
`endif /* INCLDUDED_WISHBONE_MACROS_SVH */