资料介绍
Altera Nios嵌入式处理器大赛知识讲座 办公室的故事 ( Incremental Compilation)
我们总是在想,有没有那么一种可能,让我可以少花力气多赚钱,我们这里就开始讨论这样
一个问题。
好比你现在有一个很大的公司,你有一个办公室,里面空空的,你可以有很多方法把你的员
工放在里面。当然你可以一股脑儿的把所有人全部很随意的放在里面。 但是导致的结果会是
什么样的呢?你会发现两个工作关系很精密的人, 每天需要从这头走到那头的交流。这样的
工作效率不可能好的。所以我们会比较希望把他们整合在一起。 至少可以让一个部门坐在一
起。然后我们再在这个相对比较小的区域里面做调整来提高工作效率,这样会容易很多了。
每个部门当然就是公司的一部分(design patition),我们需要把这个部门的人都放在一个限定
的空间里面,而给每个部门提供的空间,我们定义为 Logic Lock. 空间是一个物理的概念,
而部门是一个人为理念造成的一个概念。我们并不是一定要把他们俩结合起来。但是,如果
结合起来会有这样一个好处。
好比,我有五个部门 A,B,C,D,E。而不给他们限制空间,他们可能随意的去做。也许相对来
说部门内的人士坐在一起了,但是这中间留下的空间变得很没规律。两种情况下会有问题,
一个是,需要加一个新的部门,那么这个部门就需要拆开放,另外就是某些部门扩张了,新
人就没地方放了。所以,宏观调控是非常重要的。所以我们需要把设计理念的分割和物理空
间的分割紧密的结合在一起。
增量编译的思想和这个故事是完全一致的。我们需要把设计分成一些相对比较大的部分,然
后给他们安排相应的位置去放置。这样有非常多的好处:
1. 关系相对精密的电路的位置比较接近,减少了连接线上的延迟。
2. 对一些已经表现很好的模块可以保留他们的编译结果。这样可以获得最大的好处。每一
次编译都获得一个比较好的结果加以保留,