嵌入式产品设计放眼未来
| 和较小的器件;甚至能以比较低的时钟速度运行处理器,以避免寄生效应降低功耗。这时需要认真地在设计文件资料中加以注明,并且充分说明对这特殊指令的假设,否则当需要提升时钟速度时可能遭遇失败,甚至必须重新进行设计。随着灵活性而来的是更大的机遇,那就是优化你的系统,消除一级制约因素,但是付出的代价是提高责任性和前瞻性,并要考虑到定制化会如何影响你的下游支持工作。 哪一种实现方法适应产品的要求? 你应该选择哪一种实现策略?影响你做出选择的是你产品特有的几个彼此互相独立、而又互相矛盾的要求,以及你使产品与众不同的方法。你应当考虑的这些因素包括上市时间、系统性能、系统成本、功耗、尺寸限制、外围设备支持以及产品陈旧过时程度。 上市时间是一把双刃剑。如果在辅助基础设施不足,或者由于文化方面的习惯性,客户对你产品所代表的革命性变革没有准备的情况下将产品上市,或交货时间推迟,那你可能是在为竞争对手铺路,让他来收获果实。如果由于开发时间长,导致失去市场窗口,就有可能降低产品在其整个生命期限内的盈利率。交货时间推迟对盈利的影响要比开发费用超支或制造成本超支大。 产品供应商推出指令集结构体系的重要方法是:用人们所熟悉的开发工具包支持这些结构体系,从而保持使用方便不变,并减少要学习材料数量。强有力的工具支持链之所以能缩短上市时间,是因为它能够使众多的有经验、有技巧的设计师设计出的产品能够支持强大的第三方的开发基础设施,能够方便自动化设计流程的使用,并且有助于移植遗赠代码。重复使用是一种有效缩短产品设计时间的方法,因此使用方便的软件算法、外设驱动程序、操作系统可出让使用许可的IP模块的市场正在不断扩大,上市时间是你的主要动力时,则一种采用标准器件的方法因具有明确的性能和接口特性、能通过重新编程或者更换元器件来缩短迭代周期、能实现电路板级对芯片级的集成、可使用遗赠的或者购买的软件模块和能快速提高产量而减少风险。由于ASIC开发时间很长,使得PLD成为一种用来制作不能用标准器件实现的许多产品的样品,并使之及早上市的可能方法。 要求具有很高系统性能的产品,或者依次快速地执行多项任务,或者缓慢但并行地执行多项任务。超标量结构体系和流水线结构体系,都是通过维持很高的时钟速度并在每个时钟周期内部分执行多个指令来获得高性能的。高的时钟速度,意味着较多的逻辑状态变换、更大的功耗和需要补偿寄生效应。PLD实现方法和ASIC实现方法也都能提供较高性能,因为这两种方法能形成并行的数据流,并行执行指令,能实现多处理器模块,并能采用先进的制造工艺。究竟采用那种实现方法合适,取决于数据和处理的特性。例如,利用Reed-Solomon算法进行前向纠错有助于并行计算,而比较多的递归算法,例如最小二乘方递归算法,则受益于用来处理顺序指令的较高时钟速度。 对系统高性能来说,要考虑的另一制约因素是芯片外的接口速度较慢和I/O带宽受限制。处理器可以使用一系列特殊总线、DMA引擎和多级高速缓冲存储器来使这两方面的制约减至最小程度。如果有一种软件实现方法可以妥善地保持系统性能,那就要考虑继续用软件来保持灵活性。从另外一个角度看,使用硬件模块,例如使用一个浮点运算单元,也是一种折衷方案,可为你的软件留有改善的余地。 系统成本不只是材料零部件费用与装配费用的总和;它是一个函数,还包括设计费用、NRE费用(它使设计迭代的费用大大增加)、生产维护费用以及特许使用费(如果有的话)。使用标准器件可降低前期开发费用,也可避免NRE费用,但是一个产量很大的产品用ASIC来实现还是合适的。一个产量较低的产品,如果具有很高的利润率,又不能用标准PLD来实现,那么用ASIC来实现也是明智的。专用器件可使一种用标准器件来实现的产品中通常未使用的逻辑器件减至最小或根本没有,但系统成本分析还应该包括最小订货批量、库存零部件的维护费用和损坏消耗费用,特别是对于专用的器件,还应该考虑预订时间长、单个货源、需求上升,以及寿命接近终了时的购买等因素。 功耗对于靠电池供电的便携式产品和高密度产品(如功率预算和热管理都很重要的中心局联网设备)来说是很重要的。除了用降低时钟频率的办法来减少功耗之外,具有功率管理功能的标准器件都能有选择地使芯片上的逻辑模块和集成外设不工作。通过软芯核或可重新配置的芯核设计的专用产品,能实现另外的节能模式,能去掉不需要的模块,以缩小所需的芯片面积和降低功耗。PLD是耗电比较大的器件,在互连点处起缓冲作用,因此在瞬变时要多消耗一些功率,但是,使用PLD器件能使一个采用分立器件的系统中的足够多的器件合并,又能将足够多的器件取消,从而降低系统的功耗。 缩小器件尺寸,就能在愈来愈多的受尺寸限制的产品(如闪速存储器卡)中采用嵌入式控制与信号处理技术。在这类产品中,器件的面积制约着成本。将分散的控制器安放在靠近传感器和控制点的地方,可以减少不必要的连接线,也可以降低装配与修理费用。采用最先进的制造工艺是缩小器件尺寸的一个途径。一个具有支持代码压缩的指令集结构体系的处理器,如果能将其所需的存储器容量减至最小程度,那就是另一种缩减器件尺寸、降低成本、减少功耗的办法。集成外设能减小系统尺寸并降低系统成本。8位处理器的选用主要取决于集成外设。PLD器件能使你的产品采用专用数字外设,但是,如果你的产品需要集成模拟外设,那你就应当考虑采用ASIC。 依靠一种产品设计实现方法来获取收益,这是一种梦想。事实真相是竞争使这种情况不会发生。你的实现方法将会过时。因此,你应该考虑当今天所作的决策,将会对你过渡到下一代产品产生什么影响。不管你做出什么样的努力来使产品具有灵活性和扩展性,产品一般都会陈旧过时,其原因是人们要求产品改变功能,增加新功能,降低成本以顺应价格下降的压力。在产品设计完成时,选择一个具有不同封装尺寸并超前于你需求的器件系列能节省时间与金钱。一个器件系列具有变换封装能力的价值在于在封装占用相同的电路板面积内可获得更多的资源。 如果你不需要最高的性能,那么一个速度较快的处理器可以补偿可移植和可编译遗赠代码的不大理想的转换效率。重新编译有可能使遗赠代码重新优化。重复使用已经集成在产品系统中的软件,与从头开始编制或改写软件再予以确认相比,可能更为安全、更为快速、也更为经济划算。使用可移植代码可以扩充支持你下一代产品设计的有经验的设计师队伍,因为无法保证你将拥有原班人马去更新产品设计。如果你设计专用硬件逻辑,你就要考虑可升级问题及其对于遗赠软件的影响。还要考虑到,如果在寄存器文件中设置了许多端口,这将使超标量多流水线方法实现起来非常困难。 当你的产品具有曾经是非常独特的功能变成为一种商品性能,而且人人都有时,就出现一种非常严重的产品淘汰形式。在这种情况下,如何保护专有IP投资和产品寿命,就成为一个要认真考虑的问题。除非你将关键元器件的标识都去掉,否则,复制一个内含标准元器件的传统电路板级的产品是比较容易的。相比之下,从专用集成器件获取并复制某些功能的各种方法,从经济上说,通常都是不划算的。 从全局考虑做出抉择 我们要利用能够获得的信息做出尽可能最好的决定,但是,市场并不总长久地支持我们的各种假设。当市场改变你的抉择的可行性时,请记住,改变产品的实现方法或改变你的与众不同的重点,也许最终是明智的。应该避免关键解决方案过于狭隘,应该使你的实现方法成为一代代产品赖以发展的平台或框架。开发产品的投入是一笔不小的遗产,或者将是一笔不小的遗产,如果你能在战略上加以利用,那就能成为一种有竞争力的资源。开发工具、设计过程、开发基础设施以及上述三者能产生的成果等的质量,在许多方面都是与你当前实现的产品的价格与性能一样重要的,因为它们将影响未来的考虑因素。 如果你不知道你要到哪里去、你将干什么以及你穿过什么其他衣服,你就不要选择你的鞋子。同样,选择合适的处理器和逻辑实现方法也要求你确定产品的前景,不仅要考虑硬件和软件,而且还要考虑它在系统中的什么地方适用、它将起什么作用,以及你的产品如何发展。把各种功能集成在一起并不局限于电子元器件。有时候,去掉系统中一个可移动机械部件,换取电子电路更高的复杂性,也是很有意义的。你对系统的设想应当超越现有的产品,应当包括有组织的股份持有人,如工程人员、采购人员、生产人员、质保人员、销售人员和技术支援人员。你对实现方法的决策可能会影响所有这些群体,反过来,他们也会影响到你的产品的成功与否。 |
