Files
reflectometer_fpga_project/rtl/controller_new/src/dma_reg_pkg.sv
T

42 lines
1.1 KiB
Systemverilog

package dma_reg_pkg;
parameter int unsigned AXI_ADDR_WIDTH = 16;
parameter int unsigned LEN_WIDTH = 20;
parameter int unsigned TAG_WIDTH = 8;
parameter int unsigned AXIS_ID_WIDTH = 8;
parameter int unsigned AXIS_DEST_WIDTH = 8;
parameter int unsigned AXIS_USER_WIDTH = 1;
typedef struct packed {
logic [AXIS_USER_WIDTH-1:0] user;
logic [AXIS_DEST_WIDTH-1:0] dest;
logic [AXIS_ID_WIDTH-1:0] id;
logic [TAG_WIDTH-1:0] tag;
logic [LEN_WIDTH-1:0] len;
logic [AXI_ADDR_WIDTH-1:0] addr;
} dma_read_desc_t;
typedef struct packed {
logic [TAG_WIDTH-1:0] tag;
logic [LEN_WIDTH-1:0] len;
logic [AXI_ADDR_WIDTH-1:0] addr;
} dma_write_desc_t;
typedef struct packed {
logic [3:0] error;
logic [TAG_WIDTH-1:0] tag;
} dma_read_status_t;
typedef struct packed {
logic [3:0] error;
logic [AXIS_USER_WIDTH-1:0] user;
logic [AXIS_DEST_WIDTH-1:0] dest;
logic [AXIS_ID_WIDTH-1:0] id;
logic [TAG_WIDTH-1:0] tag;
logic [LEN_WIDTH-1:0] len;
} dma_write_status_t;
endpackage