thank you for your comment. I digged and found one of the benchmarks.

Even for Vivado HLS 2013.2 (latest that I have), SystemC-VHDL cosimulation does not work.

Please find the benchmark’s code as below; use -DTEST to compile:

/*

* Filename: perfect.c

* Purpose : C implementation of a naive algorithm for detecting perfect

* numbers. A perfect (positive integer) number is equal to the sum of

* its divisors. The first members of this sequence are:

* 6, 28, 496, 8128.

* Author : Nikolaos Kavvadias (C) 2010, 2011, 2012, 2013, 2014

* Date : 17-Apr-2010

* Revision: 0.3.0 (17/04/10)

* Initial version.

*/

```
```#ifdef TEST

#include

#include

#endif

`void perfect(unsigned int value, unsigned int *isperfect)`

{

unsigned int factorsum = 1, i;

for (i = 2; i < = value/2; i++) {
if (value % i == 0) {
factorsum += i;
}
}
if (factorsum == value) {
*isperfect = 1;
} else {
*isperfect = 0;
}
}
#ifdef TEST
int main(void)
{
FILE *fp;
unsigned int i;
unsigned int result;
fp = fopen("out.dat", "w");
for (i = 2; i <= 65535; i++)
{
perfect(i, &result);
if (i <= 6 || i == 28 || i == 496 || i == 8128) {
fprintf(fp, "%08x %08x\n", i, result);
}
}
fclose(fp);
printf ("Comparing against reference data \n");
if (system("diff -w out.dat perfect_test_data.txt")) {
fprintf(stdout, "*******************************************\n");
fprintf(stdout, "FAIL: Output DOES NOT match the golden output\n");
fprintf(stdout, "*******************************************\n");
return 1;
} else {
fprintf(stdout, "*******************************************\n");
fprintf(stdout, "PASS: The output matches the golden output!\n");
fprintf(stdout, "*******************************************\n");
return 0;
}
}
#endif