【FPGA开发日记——调整时序】记录调整时序过程中遇到的问题与解决方式

毕设的时候FPGA逻辑部分已经做完了,虽然毕业了,但是老师还是希望我把整个流程做完。
现在在调整时序,由于之前没有怎么接触过,也没有师兄师姐帮助,调的我是心烦意乱
有人说没有调过时序就不算做过FPGA,因此我准备记录一下调整时序的流程,日后做个纪念

最开始检查时序,基本就是一片红,200m的时钟根本满足不了,我看最多支持到120m的时钟,感觉自己之前写的代码质量太差了,将来写代码一定不能偷懒,一定要按照规矩来。【FPGA开发日记——调整时序】记录调整时序过程中遇到的问题与解决方式

day1:初探时序

翻阅了一些博客,大部分人说这里报错主要看form to这两部分,代表出问题的寄存器位置,右键打开schematic可以看连线,不过感觉没啥太大作用,看连线我也看不出什么东西啊…
由于工程量太大了,我把工程分为6部分,准备分块排查时序问题,这样也可以减少综合布线时间。
分块后,今天遇到的问题主要是:IP核内部不满足时序!
【FPGA开发日记——调整时序】记录调整时序过程中遇到的问题与解决方式
这里我问题出在一个cordic IP核,我是利用cordic核对FFT的结果进行求模,IQ两路的位宽都是32位,一共64位输入。这个问题感觉比较奇葩了,在工程中一般是为了降低时序违规才采用的,你IP内部时序违规我能怎么办呢?
百度了一下,有些人说可以调整cordic的计算结构:parallel和word serial,其中parallel的计算速度快,但是资源占用多,第二种资源占用少,但是需要时钟多。
默认情况时parallel,因此决定用word serial试一下,还没有得到结果,明天有结果再更新