【发布时间】:2021-03-29 10:04:22
【问题描述】:
我有两个变量:
void func1(hls::stream<ap_axiu<8,1,1,1>> &a);
void func2(hls::stream<ap_uint<8>> &b);
其中ap_axiu定义为:
template<int D,int U,int TI,int TD>
struct ap_axiu{
ap_uint<D> data;
ap_uint<(D+7)/8> keep;
ap_uint<(D+7)/8> strb;
ap_uint<U> user;
ap_uint<1> last;
ap_uint<TI> id;
ap_uint<TD> dest;
};
我想在func1中调用func2,使用func1的参数a的数据(见ap_axiu的定义)。所以func 看起来像这样:
void func1(hls::stream<ap_axiu<8,1,1,1>> &a) {
func2(???);
}
其中??? 应该是变量hls::stream<ap_axiu<8,1,1,1>> a 的ap_uint<D> data 部分,被hls::stream< > 包围。
如何在 C++ 中做到这一点?我对模板没有太多经验,在 Google 上也找不到。
【问题讨论】:
-
您是否阅读过您正在使用的库的文档? xilinx.com/html_docs/xilinx2020_2/vitis_doc/…
-
是的,但对我帮助不大
标签: c++ templates xilinx vivado-hls