Vivado HLS合成错误

时间:2018-05-10 10:26:07

标签: vivado-hls

我目前正在尝试在Vivado HLS上做一些项目。但是,我在合成期间出现了标题中显示的错误。但是,会出现此错误:

  

错误:**二进制表达式的操作数无效(' double'和' datau32'(又名' ap_axiu< 32,2,5,6>' ))imgOut =(0.2126 * Imgin [coord] + 0.7152 * Imgin [coord + 1] + 0.0722 * Imgin [coord + 2])

这是我的HLS代码:

#include "core.h"

void imgreading(hls::stream<datau32> &inStream, datau32 Imgin[imagesize])
{
    for(int i=0;i<imagesize;i++)
    {
        Imgin[i]=(datau32)inStream.read();
    }
}

void resize_half(hls::stream<datau32> &inStream, hls::stream<datau32> &outStream)
{
#pragma HLS INTERFACE axis port=inStream
#pragma HLS INTERFACE axis port=outStream
#pragma HLS INTERFACE s_axilite port=return bundle=CRTL_BUS
    datau32 Imgin[imagesize];
    imgreading (inStream,Imgin);
    datau32 imgOut;
    int coord=0;


#pragma HLS DATAFLOW
    for (int a=0; a<240; a++) {
        for(int b=0; b<320; b++){
#pragma HLS PIPELINE II=1
            coord=6*(a*640+b);
            imgOut=  (0.2126*Imgin[coord] + 0.7152*Imgin[coord+1] + 0.0722*Imgin[coord+2]) ;
            datau32 dataOutSideChannel;
            dataOutSideChannel.data = imgOut;
            outStream.write (dataOutSideChannel);
        }
    }
}

0 个答案:

没有答案