#include <stdio.h>
#include "platform.h"
#include "xil_printf.h"
#include "xil_io.h"
#include "xparameters.h"
void delay(volatile int a);
int main()
{
init_platform();
print("Hello World\n\r");
print("Successfully ran Hello World application\n\r");
int op1 = 30;
int op2 = 50;
int op = 0; //+
int ans = 0;
Xil_Out32(XPAR_MY_MATH_IP_0_S_AXI_BASEADDR + 0x00, op1);
Xil_Out32(XPAR_MY_MATH_IP_0_S_AXI_BASEADDR + 0x04, op2);
Xil_Out32(XPAR_MY_MATH_IP_0_S_AXI_BASEADDR + 0x08, op);
delay(100000);
ans = Xil_In32(XPAR_MY_MATH_IP_0_S_AXI_BASEADDR + 0x0C);
if (op == 0)
printf("%d + %d = %d\n\r",op1,op2,ans);
else if ( op == 1)
printf("%d - %d = %d\n\r",op1,op2,ans);
op = 1;
Xil_Out32(XPAR_MY_MATH_IP_0_S_AXI_BASEADDR + 0x00, op1);
Xil_Out32(XPAR_MY_MATH_IP_0_S_AXI_BASEADDR + 0x04, op2);
Xil_Out32(XPAR_MY_MATH_IP_0_S_AXI_BASEADDR + 0x08, op);
delay(100000);
ans = Xil_In32(XPAR_MY_MATH_IP_0_S_AXI_BASEADDR + 0x0C);
if (op == 0)
printf("%d + %d = %d\n\r",op1,op2,ans);
else if ( op == 1)
printf("%d - %d = %d\n\r",op1,op2,ans);
cleanup_platform();
return 0;
}
void delay(volatile int a){
volatile i;
while( i < a ){
i++;
}
}