Прагма ошибка в Vivado HLS при синтезе
Процесс моделирования выполнен без ошибки 0, но показывает ошибку во время синтеза. Я не могу найти ошибку.
Я получаю ошибку, как это в инструменте HLS во время синтеза:
"В файле, включенном в E:/thaus/fact_L/facoriall/solution1/.autopilot/db/fact.pragma.1.cpp:1"
Заголовочный файл
include "factorial.h"
include "ap_int.h"
typedef ap_int<128> in1_t;
typedef ap_int<1024> out_t;
int factorial(in1_t N);
endif
Исходный файл
include "factorial.h"
int factorial(in1_t N)
{
pragma HLS INTERFACE s_axilite port=N bundle=a
pragma HLS INTERFACE s_axilite port=return bundle=a
int i;
out_t fact;
fact=1;
for (i=1; i<=N; i++)
{
fact=fact*i;
}
return fact;
}
Испытательный стенд
include <stdio.h>
include <stdlib.h>
include "ap_int.h"
include "factorial.h"
int main()
{
in1_t N=50;
out_t fact=1;
int i;
fact=1;
factorial(N);
for (i=1; i<=N; i++)
{
fact=fact*i;
}
cout << "cout of fact: " << fact;
}
Результат симуляции
make: `csim.exe' is up to date.
cout of fact: 30414093201713378043612608166064768844377641568960512000000000000
@I [SIM-1] CSim done with 0 errors.