改变设计方法
扫描二维码
随时随地手机看文章
智能且长期的解决方案
在良好的设计实践和公司业务之间保持平衡以保护公司未来的发展,是一个充满挑战的过程。以前,电子设计人员通过洞察本行业将要发生转变的时机并在成为开发人员和系统架构师之前首先成为精明的生意人来保持其竞争优势。然而技术创新一直不断地推动着设计工艺的发展,在其成为主流技术之前仍然必须被行业广为接受才行。
发生变化的是所有这些创新所带来的复杂程度。电子产品设计更为成熟,产品技术市场化的动力增加了。压力不仅仅来自于应对这种日益增加的复杂性,而且还来自于寻找到更为智能且长期的解决方案,以保持这种竞争优势并保护这种增长性。
改变设计方法
由于微处理器的出现,许多改进使得产品具有更小的体积、更快的速度,而设计的复杂程度也随之增加。由此带来的结果是设计电子产品不再是一件容易的事情——现已成为一个如何创新地管理不断增长的设计复杂程度的问题。不幸的是,电子设计和开发工具并未经历如此空前快速的变化。昔日的解决方案已不能满足我们的需要,而今天的设计方法即将达到收益递减点。
我们面临的危险情况是:对复杂性的管理已经转移了我们进行创新设计的注意力。这种影响是多重的,因为当前可用的器件技术和市场需求一并将我们转移到现有的设计方法和工具可扩展性之外。寻遍现有选项,我们仅有几种选择,其中的大多数并不依赖于对未来增长或增长潜力的任何形式保护。提高现有工具的特性集只会使集成过程更为复杂和困难,而雇佣具有适当技能的工程师费钱又耗时。
着手电子开发重新评估为时过晚。也许,最大的障碍是在我们的心里,还有就是我们如何感知硬件和软件之间的差异。
一切归结:软件问题
解决方案的复杂开发问题在于通过隐藏设计器的复杂程度,提高板级工程师们进行设计工作的抽象级别。于是,可以全新的方法来处理较大的系统,并且不会延长相同集成电路的开发时间,如:在板级和简化软件工程师们开发工作的高级编程语言级别上降低复杂性所带来的那样。其中的创新也就是将集中于硬件上的注意力转到软件上来,而开发时间并未因此而延长。
图1 到FPGA流程图
由于硬件同软件之间的界线日益一体化,从而使得设计不再是单独地基于硬件。通过使作为物理硬件的组成部分被一次性集成至器件中的东西,成为现在的可编程部分,低成本、高容量的 FPGA 便具有了改变我们设计方法的潜力。这种“软设计”将注意力集中在电子产品开发上,因此符合逻辑,其将器件智能分离于被编程的物理硬件,并且避免了许多长久以来同依赖硬件的解决方案有关的电子陷阱,例如,无法轻易在开发末期作任何改变。
于是,同硬件结合的软件就成为新型统一设计范例的一个固有部分。诸多可重新配置硬件平台正推动对电子开发范例进行重新定义,并说明了“软设计”潜力日益增长的重要性。
电子产品的进化见证了分立器件使微处理器直至FPGA成为可能。最近可编程硬件的大发展具有将更为一体化的概念扩展到更广泛的电子产品应用的潜力。
以一种新视角看待硬件
此类方法可以让我们探索许多现有技术以外的技术,而所需要的就是一个合适的设计环境。到目前为止,对于电子设计的观点并未统一,并且都将注意力集中于器件,因此开发工具发展也是遵循这一模式。一般的印刷电路板设计观点均是基于选择配置在其上面的处理器或 FPGA。例如,使用传统的硬件方法和工具,并且不用经过重写低级代码或带入高效运算法则这一不可避免和令人痛苦的过程时,尝试提升系统的性能。这样做既费时又费钱。但是到目前为止,硬件平台(即合并所有预构建电路,包括微处理器和逻辑芯片)的设计已成为一个独立于实际器件智能创建的过程。
采用“软”方式带来了一些主要优点,例如,更全面的设计同步、设计复用和一个统一的方法。由于设计人员可以在不必构建硬件来支持设计功能性并且不必对其做太多考虑的情况下,混用其硬件及软件方法,因此更高一层次的抽象和设计自动控制可以得到较为高效的运用。在软件开发工作开始之前,不再需要“固定”硬件平台设计,也不再需要在一个紧促的开发周期内费时费力地做一些微小的改动。取而代之的是一个互动的设计方法,在不增加设计时间情况下容许进行多次试验及开发的种种“如果”假定。注意力、努力及资源可以转移到更高一层次的设计实践中,而这才是其价值所在。实现这一研发过程所须的只是合适的设计环境。
尽可能通用的解决方案
在可选用的解决方案中,大多数都是一些针对具体厂商的点工具,如果这些工具的部署是作为公司中一个统一、集成设计流程的组成部分,其潜能几乎都没有完全发挥出来。电子设计的确可以受益于新思维,例如,将互利技术集成到一个单一设计环境中,而非数个单独的设计环境中。通过容许在一个单一系统中对电子产品开发的所有方面进行设计和管理,极大地促进了主流开发工作,从而加速设计到产品的转化。使用传统的点工具不能实现新型创新设计,同时,应考虑运用更多的全新设计流程。
一个更为统一的方法容许设计人员将注意力集中于更高层次的应用,并在不牺牲创新或增加设计次数的情况下重复使用其已有工作以及第三方技术。为了实现这个概念,必须具有支持其设计的系统和基础架构,并需要重新定义我们对设计流程的看法。