首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

QuartusII增量编译的个人学习(一)

QuartusII增量编译的个人学习(一)

前几天老师需要一个设计数据,是有关一个大的FPGA工程中小模块的编译报告,由于时间有点久远,之前的小模块工程已经不知道在哪里了(自己也觉得这里做的很不好,虽然模块小,但设计之初也都是经过仔细设计仿真验证的,应该做好存档才对)……好吧,虽然没了也没关系,其实也很简单,把大工程copy一下,然后把子模块置顶,重新编译不就好了嘛。
可编译后问题来了,报错了!而且有点莫名其妙,一开始有点懵,不知道出在哪里……

Error: Partition hierarchy "PN_gen:inst2" does not exist in the current design or refers to an inferred hierarchy
Error: Partition hierarchy "TS_gen:inst5" does not exist in the current design or refers to an inferred hierarchy

几个错误都很相似,大致的意思就是说划分的“****”这些模块不存在当前的设计里面。这里就觉得奇怪了,出现错误的这些模块本来就是原来大工程下的其它子模块,当然不包括在现在的设计里面了,怎么还报错呢??
双击红色的ERROR提示没有反应,于是又再右键错误->help:

大致意思就是设定的区域划分没有实体……建议删除或者重建区域划分。看完之后,还是一头雾水……原本该是个很简单的操作,怎么出现这样的错误呢?首先静下来想想,不能慌,总结下这个问题,我个人获得以下这些信息:
(1)双击红色ERROR提示没反应,说明肯定不是设计文件出的错,应该是某个编译设置或者是综合设置不对;
(2)help和ERROR提示中有个关键词——“Partition”,中文解释也就是区域划分的意思,总觉得在哪里见过,可又想不太起来。
怀疑是编译设置部分出的问题那就先打开qsf文件看看!(qsf属于命令行文件,我们通过Quartus软件上进行的设置操作都会以命令的形式写入到这个文件里)虽然里面大部分内容可能大家不是很熟悉,不过不要紧,通过单词和变量大致猜猜某个命令是和什么有关的还是没问题的。打开后我就看到下面一堆的命令:(图中为之后注释掉的内容)

为什么会注意到这些?很简单,关键字PARTITION,还有出错的各个模块名称。然后分析下这些命令才让我想起来,原来这些是当时由于工程较大,采用了Quartus的增量编译时进行逻辑区域划分时设置的
找到错误就好办了,把这部分命令注释掉,再编译就没有问题了。
本文暂时先不对Quartus的增量编译介绍了,想先总结总结在这个问题里面,出现错误时应该遵循的某些分析方法和流程。
第一、出错后我们的第一反应都会是双击ERROR提示看看会跳到哪里……的确,这是最直接的方法,而且一般设计上的大部分问题都可以通过这种方法来解决;
第二、当自己对这个错误不熟悉的时候,可以在ERROR提示处右键->help,然后会弹出Altera给出的关于这类错误的解释,不过它能做的只是解释这个错误类型,但肯定不可能针对你的工程给出什么解释;
第三、对于错误提示的内容,在不熟悉的时候应该要看出里面的“关键词”,进而缩小我们分析的范围;
第四、学会查看qsf文件的命令内容,当设计文件没问题的时候,很可能是里面的某个命令导致了你的错误;
最后,呵呵,大家都知道,利用网络资源,有海量的大牛们都在网上呢!!你解决不了的问题,肯定有人已经遇到过或者解决了~~
sofa~~~~~~~好舒服啊
www.jnfsyy.com济南类风湿医院
www.jnjdyy120.com www.55707776.com
返回列表