HLS debug记录

上次调试碰到了一个雷区,一点细节没注意,让我调试了一下午,这次又是这个细节,调试了整整一天。怀疑了一切之后,终于看见了她。哎,又爱又恨啊,开篇博客记录一下遇到的坑,一点点的积累。
1.现象: C Simulation正确,上板验证部分数据错误
原因: 数组空间太小,写入的数据溢出

static int input_map_buffer_temp[input_map_length_int];
memcpy(input_map_buffer_temp,(int *)input,input_map_NUM*sizeof(int));

向input_map_buffer_temp中copy的数据,千万不能超过该数组的长度。C中溢出的数据不会对数据造成影响;但是在RTL中,溢出的数据会从Bram的0地址处重新copy,导致结果错误。由于C和RTL对该指令的处理不同,会导致工程在HLS C Simulation时完美通过Test Bench,但是生成IP之后上板测试时,结果天壤之别。

©️2020 CSDN 皮肤主题: 游动-白 设计师: 上身试试 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值