#ifndef _COMMON_H_ #define _COMMON_H_ // Structures used by both the host and the dpu to communicate information typedef struct { uint32_t size; enum kernels { kernel1 = 0, nr_kernels = 1, } kernel; } dpu_arguments_t; typedef struct { uint64_t r_cycles; uint64_t w_cycles; uint32_t count; } dpu_results_t; // Transfer size between MRAM and WRAM #ifdef BL #define BLOCK_SIZE_LOG2 BL #define BLOCK_SIZE (1 << BLOCK_SIZE_LOG2) #else #define BLOCK_SIZE_LOG2 8 #define BLOCK_SIZE (1 << BLOCK_SIZE_LOG2) #define BL BLOCK_SIZE_LOG2 #endif // Data type #define T uint64_t #define PERF 1 // Use perfcounters? #define PRINT 0 #define ANSI_COLOR_RED "\x1b[31m" #define ANSI_COLOR_GREEN "\x1b[32m" #define ANSI_COLOR_RESET "\x1b[0m" #endif