中华小虾的笔记 https://bbs.21ic.com/?645641 [收藏] [复制] [RSS] 虾虽在江湖,江湖却没有虾的传说!

日志

合理选择SoC架构

已有 730 次阅读2010-10-29 08:59 |系统分类:EDA/PLD| SoC










合理选择SoC架构
 更新时间:2008-8-4 3:31:02  点击数:2
【字体: 字体颜色










    找到价格、性能和功耗的最佳结合点实际上就确保赢得了SoC设计,但说起来容易做起来难。
在实际可用的双芯核架构、可编程加速器和数百万门FPGA出现以前,一种80:20法则用起来很奏效:如果计算负荷的80%为数据处理,那么选择RISC架构,在RISC中实施信号处理。
而当今面临太多的架构选择,差别甚微,用单一处理器架构来解决优化问题已不可能。一种较为成功的方法是通过将计算资源与特性集匹配来实现。
将一种复杂系统映射到硅中,在相当程度上依赖于设计是在现有SoC上实现还是从头做起。对于前一种情况,系统设计师应从了解四个产品属性入手:
* 功能和特性
* 算法元件和子部件
* 在产品或产品家族中添加特性和性能的策略
* 解决设计过程中和产品寿命期内缺陷的策略
在了解了这些属性之后,将系统在功能和特性上分为以下三类:
* 熟知的功能或特性,将在产品寿命期内保持稳定,如DCT和FFT等。用固定功能的加速器对它们优化。
* 熟知但某种程度上可稍加改变的功能或特性。例如,将多个FFT蝶重组成一系列可能实现的能力。这时需要考虑可编程加速器。 
* 不定、可改变和自行设定的新特性。可编程处理器可很好地处理不确定性,应作主要考虑。
在一个预先存在的SoC上,典型的可编程处理器部件有RISC、DSP和FPGA。将一个系统理想地映射到这些处理部件中,应遵循以下思想过程:
1. 开列一张完整的系统特性和性能列表,包括在产品家族的寿命期内可能添加的特性。
2. 区别每个特性是属于数据处理还是属于信号处理。
3. 将列表分成三类(熟知且可改变的、熟知而可稍加改变的以及不确定的)。
4. 估计每项所需要的性能。
5. 估计每项的内存要求。
6. 将恰当的功能分配给现有的固定功能加速器;其余的熟知特性给现有的可编程加速器;不确定的、可改变的以及未来要加入的特性分配给合适的可编程部件(RISC或DSP)。
通过这一过程,设计师可充分利用加速器并为可编程RISC和DSP留有灵活性和空间。
将一个系统映射到一种新的SoC是同样的,不过需要考虑两个额外的边界条件:哪个算法元件是很好了解的,没有缺陷,在设计或产品家族的寿命期内不改变;以及系统的什么部件在设计或产品家族的寿命期内将可能改变。
最后一个想法要慎重:随着每一次新IC工艺技术的引入,都会有新的选择产生。如果系统今年不适合做成SoC,那就采用多个器件,然后耐心等待下一次的新工艺

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)