系统分区
映射
概念
从上图我们可以看到一共有三种方法去提高系统的性能:架构提高,重写应用,使用不同的策略。
映射(mapping)就是把行为级转换为结构和执行。
最后综合的时候,是包括分区和映射两个部分。其中分区就是分配(选择模块)和绑定(把一些函数给部件);映射就是包括绑定和调度(执行顺序)。最后综合的结果就会被执行。其实就是我们选择什么器件,它要执行什么函数,执行顺序是什么。就这样的过程。
抽象层次
低层次:RTL或者网表。将数字电路映射到具体设备上(FPGA,ASIC);系统参数(比如面积,延时)相对容易去决定。
高层次:系统层次。选择最优设计(比如空间大小);难以了解或者决定的系统参数(通过一些模型,分析,模拟,原型来实现)。
就比如我们遇到下面一个题目:我们是把所有的task放在一个CPU上还是均衡负载呢?最后发现均衡负载是最节约功耗并能实现较好的并行化的。但是,当然不能说这样均衡之后效果会大大提高n倍,还有很多问题。比如数据一致性,所以在task分配的时候得十分注意这个问题。
就上图其实就是表现了映射关系:N对一和一对一。
在这里我们要考虑的问题有:成本:用多少处理器呢?延时:就是频率,当然是越快越好。能以最短的时间解决问题。但是这两个东西是矛盾的,我们要使得成本提高,延时就降低;反之亦然。我们设计的时候就需要提出一些约束才能使得设计求出最优解。
用下图展示一下: