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

第七篇 - 办公室的故事

第七篇 - 办公室的故事