#include "sys/alt_stdio.h" #include "alt_types.h" #include "altera_avalon_pio_regs.h" #include #include "system.h" #include #include "../../test/test_csr.h" #define test_hls_offset 0x9000 int main() { printf("Hello from Nios II\n\n"); // printf("**********************************\n"); int a = 0; int b = 0; for (a = 0; a < 10; a++) { for (b = 0; b < 10; b++) { IOWR_32DIRECT(test_hls_offset + TEST_CSR_INTERRUPT_ENABLE_REG, 0, 1); IOWR_32DIRECT(test_hls_offset + TEST_CSR_INTERRUPT_STATUS_REG , 0, 1); printf("**********************************\n"); printf(" case %d x %d \n", a, b); printf("**********************************\n"); printf("before write a is %d, b is %d\n", IORD_32DIRECT(test_hls_offset + TEST_CSR_ARG_A_REG, 0), IORD_32DIRECT(test_hls_offset + TEST_CSR_ARG_B_REG, 0) ); IOWR_32DIRECT(test_hls_offset + TEST_CSR_ARG_A_REG, 0, a); IOWR_32DIRECT(test_hls_offset + TEST_CSR_ARG_B_REG, 0, b); printf("after write a is %d, b is %d\n", IORD_32DIRECT(test_hls_offset + TEST_CSR_ARG_A_REG, 0), IORD_32DIRECT(test_hls_offset + TEST_CSR_ARG_B_REG, 0) ); printf("\n"); IOWR_32DIRECT(test_hls_offset + TEST_CSR_START_REG , 0, 1); usleep(50000); printf("return data is %d\n", IORD_32DIRECT(test_hls_offset + TEST_CSR_RETURNDATA_REG , 0)); printf("\n"); printf("%d x %d is %d\n", a, b, IORD_32DIRECT(test_hls_offset + TEST_CSR_RETURNDATA_REG , 0)); printf("**********************************\n"); } } printf("finish!!\n"); return 0; }