您当前的位置: 首页 > 

FPGA硅农

暂无认证

  • 3浏览

    0关注

    282博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

问题记录:Vivado HLS结构体作为顶层接口时cosim无法结束

FPGA硅农 发布时间:2022-04-13 17:34:58 ,浏览量:3

博主在用Vivado HLS进行开发时,用到了结构体数据类型,C仿真,综合均正常,上板测试IP核也正确,但是cosim却迟迟停不下来,最终猜测顶层接口不可以使用结构体,正确的代码写法应该如下所示: 可以看到,当设计内部用到结构体数据类型时,顶层不能直接将它作为m_axi接口,而是应该使用ap_uint*指针代替,通过ap_uint读入(或写出)数据后,再使用range方法将值赋给结构体。 采用这个方法后,该设计可以顺利通过cosim仿真!!

#include"top.h"

cdata_t cmult(cdata_t a,cdata_t b){
	cdata_t out;
	out.real=a.real*b.real-a.imag*b.imag;
	out.imag=a.real*b.imag+a.imag*b.real;
	return out;
}

void cmulter(ap_uint *a,ap_uint* b,ap_uint* out,int len){
#pragma HLS INTERFACE s_axilite port=return bundle=CTRL
#pragma HLS INTERFACE m_axi depth=200 port=out offset=slave bundle=OUT
#pragma HLS INTERFACE m_axi depth=200 port=b offset=slave bundle=B
#pragma HLS INTERFACE m_axi depth=200 port=a offset=slave bundle=A
#pragma HLS INTERFACE s_axilite port=len bundle=CTRL
#pragma HLS DATA_PACK variable=out
#pragma HLS DATA_PACK variable=b
#pragma HLS DATA_PACK variable=a
    ap_uint tmp1;
    ap_uint tmp2;
    cdata_t ctmp1;
    cdata_t ctmp2;
	for(int i=0;i            
关注
打赏
1658642721
查看更多评论
0.2516s