결국 Vivado Design Suite의 단 정밀도 부동 소수점 배열로 스트리밍 인터페이스를 사용하여 하드웨어 가속기를 구축하고 싶습니다. HLS 사용 설명서 UG902에서는 다른 인터페이스를 사용하여 HW 가속기 (C, C++, SystemC, OpenCL 코드에서 시작)를 생성 할 수 있음을 보여줍니다.AXI4 스트리밍 인터페이스 : HW 가속기를 생성하고이를 안전하게 RTL 프로젝트에 연결하기 위해 HLS에서 부동 소수점 배열을 관리하는 방법은 무엇입니까?
AXI4 스트리밍 인터페이스를 사용하려면 HLS가 TREADY 및 TVALID 신호를 합성하지만 생성 된 RTL 인터페이스를 Zynq Processing System (제 경우에는 ARM9 코어)에 연결하는 데 필요한 신호 TLAST를 합성하지 않습니다. 이 문제를 해결하기 위해 자일링스는이 라이브러리를 사용할 수있는 가능성을 제공
#include "ap_axi_sdata.h"
내부 구조체가 - 템플릿 :
- :
#include "ap_int.h" template<int D,int U,int TI,int TD> struct ap_axis{ ap_int<D> data; ap_uint<D/8> keep; ap_uint<D/8> strb; ap_uint<U> user; ap_uint<1> last; ap_uint<TI> id; ap_uint<TD> dest; };
나는 두 가지 문제를 가지고는 TLAST 만 사용하고 나머지는 사용하지 않으려 고하면 U, TI 및 TD를 0으로 설정하려고 시도하지만 오류가 발생합니다.
- 'float'을 사용하고 'ap_int'를 사용하지 않고 템플릿 내부에서 변경하려고하면 다른 오류가 발생합니다.
질문 :
처리 및 부동 소수점 데이터와 HLS에 인터페이스를 스트리밍으로 관리 할 수있는 간단한 방법이 있을까요?
C와는 거리가 멀다. C는 C++가 아닙니다. – Olaf
친애하는 친구, [여기] (http://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_1/ug902-vivado-high-level-synthesis.pdf) pag 313, 중요 :이 안내서에서 사용 된 "C 코드"라는 용어는 달리 명시되지 않는 한 C, C++, SystemC 및 OpenCL API C로 작성된 코드를 나타냅니다. ' – Leos313