Forum Discussion
Altera_Forum
Honored Contributor
8 years agoHi,
You can try to optimize as per you design requriments.
# include "HLS/hls.h"
# include <stdio.h>
# include "HLS/ac_int.h"
# include "HLS/ac_fixed.h"
# include "HLS/extendedmath.h"
# include "HLS/math.h"
typedef ac_int<8, false> fixed_8_t;
typedef ac_int<16, false> fixed_16_t;
# define N 2
component void dut(fixed_8_t a, fixed_8_t b, fixed_8_t *dout)
{
unsigned int i;
fixed_16_t acc= 0;
fixed_8_t a_reg, b_reg, sub;
fixed_16_t sub2;
for(i=0; i<N; i++)
{
a_reg = a;
b_reg = b;
sub = a_reg - b_reg;
sub2 = sub*sub;
acc += sub2;
}
*dout = acc;
}
int main() {
fixed_8_t z;
fixed_16_t ip = &z;
fixed_8_t x={128,128};
fixed_8_t y={128,128};
dut(x,y,&z);
return 0;
}
let me know if this has helped resolve the issue you are facing or if you need any further assistance. PS:Same as thread https://alteraforum.com/forum/showthread.php?t=57668&page=2 Best Regards, Anand Raj Shankar (This message was posted on behalf of Intel Corporation)