2
호스트 메모리에서 내용을 읽고 호스트의 다른 위치에 다시 쓰는 FPGA 용 C++에서 일반적인 대역폭 커널을 작성하고 있습니다. 구조체를 사용하고 있는데 그 중 하나의 요소는 입력 및 출력 버퍼의 주소입니다. 상위 수준 합성 도구는 다음 코드에서 마지막 줄에 오류를 제공합니다.오류 : 표현식을 할당 할 수 없습니다. C++ struct
struct addr_struct {
ap_uint<64> address;
ap_uint<32> size;
ap_uint<16> type;
ap_uint<16> flags;
};
struct addr_struct CA_INPUT;
struct addr_struct CA_OUTPUT;
din_mem = 0x00;
dout_mem = 0x00;
ap_uint<32> i;
ap_uint<512> temp;
ap_uint<512> *din_mem;
ap_uint<512> *dout_mem;
for(i=0; i<2048; i++){
temp= (ap_uint<512> *)(din_mem + CA_INPUT.address + i*64);
(ap_uint<512> *)(dout_mem + CA_OUTPUT.address + i*64) = temp;}
노트이 엄격한 앨리어싱 위반이다 –