一点小结fpga仿真实测不一致

本文记录了一次FPGA与DSP联调过程中遇到的问题及解决办法,详细讲述了如何定位和解决block RAM读写不稳定的问题,并对后续可能出现的时钟频率问题进行了初步探讨。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这周fpga这边和dsp联调,fpga这边算法的计算结果需要送到dsp计算,之前由于接口没打通,这条路一直都没测过,只是单纯的看了下chipscope出来的数据,觉得差不多就一直没管它了,因为仿真时的数据是可以完成算法功能的,所以以为没有问题。但是接到dsp之后,发现fpga过来的数据不稳定,跳变很厉害。然后再次用chipscope看,每一帧图计算结果都不一样,而我的输入测试数据是完全一样的。仿真来看,但是数据不变,但是仿真数据与chipscope数据对不上。也找不到代码有什么错误,怀疑是时序跑不上去,但是降低频率后依然如此,只好一步一步倒退回去看每个节点的数据流,最后发现block ram数据读写不稳定,开始怀疑是组合逻辑产生的控制信号有毛刺造成读写不稳定,具体没看到,但是之后把组合逻辑信号全部打一拍然后去控制,不稳定的问题消失了。

总结来看,存在的问题有1、没有一个完整的流程,没有想办法前期就去测试 2、代码风格的问题,感觉是摸着石头过河,没有人教。3、写代码不要求快、可能后期的调试时间比写代码时间长得多,代码尽量加注释。

后面的问题,CORDIC核的时钟跑不上去,但文档的时钟频率是满足要求的,不知道为什么,换成pipeline有太多级了,不是很好的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值