127 lines
3.1 KiB
C
127 lines
3.1 KiB
C
|
|
#define APM_READ_TRANSACTIONS_OFFSET 0
|
||
|
|
#define APM_READ_BYTES_OFFSET 4
|
||
|
|
|
||
|
|
#define APM_WRITE_TRANSACTIONS_OFFSET 8
|
||
|
|
#define APM_WRITE_BYTES_OFFSET 12
|
||
|
|
|
||
|
|
#define APM_PACKETS_OFFSET 16
|
||
|
|
#define APM_BYTES_OFFSET 20
|
||
|
|
|
||
|
|
#define APM_GCC_L_OFFSET 24
|
||
|
|
#define APM_GCC_U_OFFSET 28
|
||
|
|
|
||
|
|
#define CDMA_FETCH_TIME_START_L_OFFSET 32
|
||
|
|
#define CDMA_FETCH_TIME_START_U_OFFSET 36
|
||
|
|
|
||
|
|
#define CDMA_FETCH_TIME_END_L_OFFSET 40
|
||
|
|
#define CDMA_FETCH_TIME_END_U_OFFSET 44
|
||
|
|
|
||
|
|
#define CDMA_SEND_TIME_START_L_OFFSET 48
|
||
|
|
#define CDMA_SEND_TIME_START_U_OFFSET 52
|
||
|
|
|
||
|
|
#define CDMA_SEND_TIME_END_L_OFFSET 56
|
||
|
|
#define CDMA_SEND_TIME_END_U_OFFSET 60
|
||
|
|
|
||
|
|
#define DMA_ACCEL_TIME_START_L_OFFSET 64
|
||
|
|
#define DMA_ACCEL_TIME_START_U_OFFSET 68
|
||
|
|
|
||
|
|
#define DMA_ACCEL_TIME_END_L_OFFSET 72
|
||
|
|
#define DMA_ACCEL_TIME_END_U_OFFSET 76
|
||
|
|
|
||
|
|
|
||
|
|
struct image_info
|
||
|
|
{
|
||
|
|
ap_uint<32> rows;
|
||
|
|
ap_uint<32> columns;
|
||
|
|
ap_uint<64> size;
|
||
|
|
};
|
||
|
|
|
||
|
|
struct metrics
|
||
|
|
{
|
||
|
|
/*
|
||
|
|
* AXI Performance Monitor Metrics
|
||
|
|
*/
|
||
|
|
ap_uint<32> apm_read_transactions; //Offset 0 Bytes
|
||
|
|
ap_uint<32> apm_read_bytes; //Offset 4 Bytes
|
||
|
|
|
||
|
|
ap_uint<32> apm_write_transactions; //Offset 8 Bytes
|
||
|
|
ap_uint<32> apm_write_bytes; //Offset 12 Bytes
|
||
|
|
|
||
|
|
ap_uint<32> apm_packets; //Offset 16 Bytes
|
||
|
|
ap_uint<32> apm_bytes; //Offset 20 Bytes
|
||
|
|
|
||
|
|
ap_uint<32> apm_gcc_l; //Offset 24 Bytes
|
||
|
|
ap_uint<32> apm_gcc_u; //Offset 28 Bytes
|
||
|
|
|
||
|
|
ap_uint<32> cdma_fetch_time_start_l; //Offset 32 Bytes
|
||
|
|
ap_uint<32> cdma_fetch_time_start_u; //Offset 36 Bytes
|
||
|
|
ap_uint<32> cdma_fetch_time_end_l; //Offset 40 Bytes
|
||
|
|
ap_uint<32> cdma_fetch_time_end_u; //Offset 44 Bytes
|
||
|
|
|
||
|
|
ap_uint<32> cdma_send_time_start_l; //Offset 48 Bytes
|
||
|
|
ap_uint<32> cdma_send_time_start_u; //Offset 52 Bytes
|
||
|
|
ap_uint<32> cdma_send_time_end_l; //Offset 56 Bytes
|
||
|
|
ap_uint<32> cdma_send_time_end_u; //Offset 60 Bytes
|
||
|
|
|
||
|
|
ap_uint<32> dma_accel_time_start_l; //Offset 64 Bytes
|
||
|
|
ap_uint<32> dma_accel_time_start_u; //Offset 68 Bytes
|
||
|
|
ap_uint<32> dma_accel_time_end_l; //Offset 72 Bytes
|
||
|
|
ap_uint<32> dma_accel_time_end_u; //Offset 76 Bytes
|
||
|
|
|
||
|
|
struct image_info shared_image_info; // Offset 80 Bytes
|
||
|
|
|
||
|
|
/*
|
||
|
|
* Kernel and Userspace Metrics
|
||
|
|
*/
|
||
|
|
|
||
|
|
ap_uint<64> total_time_start;
|
||
|
|
ap_uint<64> total_time_end;
|
||
|
|
|
||
|
|
ap_uint<64> sleep_time_start;
|
||
|
|
ap_uint<64> sleep_time_end;
|
||
|
|
|
||
|
|
ap_uint<64> preparation_time_start;
|
||
|
|
ap_uint<64> preparation_time_end;
|
||
|
|
|
||
|
|
ap_uint<64> load_time_start;
|
||
|
|
ap_uint<64> load_time_end;
|
||
|
|
|
||
|
|
ap_uint<64> save_time_start;
|
||
|
|
ap_uint<64> save_time_end;
|
||
|
|
|
||
|
|
|
||
|
|
};
|
||
|
|
|
||
|
|
struct status_flags
|
||
|
|
{
|
||
|
|
ap_uint<32> accel_direct_0_occupied_pid;
|
||
|
|
ap_uint<32> accel_direct_1_occupied_pid;
|
||
|
|
|
||
|
|
ap_uint<32> accel_indirect_0_occupied_pid;
|
||
|
|
ap_uint<32> accel_indirect_1_occupied_pid;
|
||
|
|
ap_uint<32> accel_indirect_2_occupied_pid;
|
||
|
|
ap_uint<32> accel_indirect_3_occupied_pid;
|
||
|
|
|
||
|
|
ap_uint<32> accel_sg_0_occupied_pid;
|
||
|
|
|
||
|
|
|
||
|
|
ap_uint<32> accelerator_busy;
|
||
|
|
ap_uint<32> open_modules;
|
||
|
|
};
|
||
|
|
|
||
|
|
struct shared_repository
|
||
|
|
{
|
||
|
|
struct metrics accel_direct_0_shared_metrics;
|
||
|
|
struct metrics accel_direct_1_shared_metrics;
|
||
|
|
|
||
|
|
struct metrics accel_indirect_0_shared_metrics;
|
||
|
|
struct metrics accel_indirect_1_shared_metrics;
|
||
|
|
struct metrics accel_indirect_2_shared_metrics;
|
||
|
|
struct metrics accel_indirect_3_shared_metrics;
|
||
|
|
|
||
|
|
struct metrics accel_sg_0_shared_metrics;
|
||
|
|
|
||
|
|
struct status_flags shared_status_flags;
|
||
|
|
|
||
|
|
};
|