# Thread: Integer vs Arbitrary Precise Integer Intel HLS

1. Altera Scholar
Join Date
Jan 2018
Posts
22
Rep Power
1

## Integer vs Arbitrary Precise Integer Intel HLS

Hello all great people and Anand,

Below is the code snippet. I am using Intel HLS tool. The data type used in below given code is integer. I want to compare the result of integer data type with arbitrary precise integer represented as ac_int <W> in Intel HLS tool through AC data type library of Intel HLS tool. My question is what should be the exact representation of ac_int <W> in terms of 'W' for input arrays, dout, acc, a_reg, sub and sub2 for less latency and less resource utilization.
I want to use the exact code for precise integer type instead of native integer and later compare the results of integer and arbitrary precise data type.

void diff_sq_acc(int a[N], int b[N], int *dout)
{

unsigned char i;
int acc= 0;
int a_reg, b_reg, sub, sub2;

for(i=0; i<N; i++)
{

a_reg = a[i];
b_reg = b[i];
sub = a_reg - b_reg;
sub2 = sub*sub;
acc += sub2;
}

*dout = acc;
}

2. Altera Guru
Join Date
Nov 2017
Posts
258
Rep Power
1

## Re: Integer vs Arbitrary Precise Integer Intel HLS

Hi,

You can try to optimize as per you design requriments.
Code:
```#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[N], fixed_8_t b[N], 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[i];
b_reg = b[i];
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[N]={128,128};
fixed_8_t y[N]={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.

Best Regards,
Anand Raj Shankar
(This message was posted on behalf of Intel Corporation)

3. Altera Scholar
Join Date
Jan 2018
Posts
22
Rep Power
1

## Re: Integer vs Arbitrary Precise Integer Intel HLS

Dear Anand,

thanks ! it works...i think there was a type error in your code... *dout should be fixed_16_t..... right ?

4. Altera Guru
Join Date
Nov 2017
Posts
258
Rep Power
1

## Re: Integer vs Arbitrary Precise Integer Intel HLS

Hi,

There was no error in code.
Yes logically it should be fixed_16_t .

let me know if you need any further assistance.

Best Regards,
Anand Raj Shankar
(This message was posted on behalf of Intel Corporation)
Last edited by Anand Raj Shankar; February 12th, 2018 at 05:08 AM.

5. Altera Scholar
Join Date
Jan 2018
Posts
22
Rep Power
1