接上一篇文章的第10节
之前完成了功能仿真,下面我们进行综合实现。
10.1.1 综合
综合成功。
实现试试
这真是令人悲伤……找Bug吧。
我们看看综合后的门级网表。
发现综合后的并不是我们想要的……看了看可能是综合的目录错误,我们再试试。
不是这个原因……
单元测试每一个模块,综合都没问题,为啥连起来就不行了?
可能因为没有输出??
我们先把之前的寄存器堆初始化该回去,默认全0.
再让ALUresult暂时作为输出试试。
没有输出的模块是没用的!也可能是把synthesis搞傻的原因…… 就像是算法要求至少一个输出,没用输出的话没得玩了。我们改改试试。
比之前好一些,但是还是有问题,没有控制器……
不知道为啥……
10.1.2 实现
继续进行,先实现试试看。
居然成功了,就是不知道对不对,之后还得实现验证,也没准可能synthesis的时候将控制器弄没了?不得而知……
关于实现这些,我们后面再说。
小结
行为仿真正确后进行综合,之后要查看相关报告,看看对不对,没问题之后,再进行实现,再查看对不对,最后再下载实现验证。
既然每个单元都可以综合,那就是顶层文件设计有问题!去哪里找找。
进一步测试
之后发现,综合之后,不是实现,而应该进行综合仿真。
- 综合后功能仿真
- 综合后时序仿真
然后发现,虽然控制器消失了,但是没什么问题,结果依然正确,
- 功能仿真与之前的结果一样
- 时序仿真有些不同
注意点
- 综合的是top设计文件
- 仿真的是top仿真文件
需要更改顶层文件,可以右键单击,然后点set as top
最后,时序仿真有什么问题呢?
出现了很多诡异的点,可能是毛刺,也可能是变化不同步……
以后再解决吧!目前知识水平达不到这个地步,先放放
实现之后管脚分配,还有下载验证……以后再说。
目前来说,这些可能的毛刺,不影响结果,但是会影响主频提升,那就是高端操作了,现在不合时宜。