新闻中心

EEPW首页>嵌入式系统>设计应用> 艰巨的工作:软件/硬件协同设计

艰巨的工作:软件/硬件协同设计

——
作者: 时间:2005-09-21 来源:EDN电子设计技术 收藏

艰巨的工作:软件/硬件协同设计

本文引用地址://m.amcfsurvey.com/article/8738.htm

工程师们逐渐发现,他们不得不协调对一个产品的软件和硬件部分同时进行的开发工作。
 要点
  ● 工程师通过体系结构,而不只是通过应用代码来实现产品多样化。
  ● 物理原型法是微处理器时代初期使用的开发系统和在线仿真器的天然演进。
  ● 基于平台的设计通过提供已验证的硬件体系结构来简化 SOC 产品的开发。
  ● 在所有协同设计方法中,ESL 具有最好的建模灵活性,但同时也带来了复杂性。
---------------------------------------------------------------------------------------------
  在 ASIC 普及应用之前,人们都是先开发和调试执行平台,然后为它们编写软件。软件工程师到硬件健全到接近其发布的版本时,才完成大多数操作系统的开发工作。工程师开发产品时使用的是已为大家所接受的固定平台,从主机到微型计算机和微控制器,不一而足 。应用软件使产品与众不同并使之具有市场优势的部件。半导体行业在制造能力方面取得了进步,可以在一块芯片上为工程师提供几百万个晶体管。EDA行业提供的新工具和改进的工具使设计师能够高效地使用额外的晶体管。
  ASIC 使硬件结构体系定制化,因此也使相关软件只适用于某一任务。设计师创建硬件来满足要开发的产品的要求,常常创建新的计算引擎,并几乎总是设计新的外设控制器来满足终端产品的执行速度、功耗和制造成本等目标。新的硬件体系结构需从操作系统到设备驱动和总线协议的多层新软件。操作系统很少是通用的,而是专用的,公司必须为其推出产品系列中的每一种新产品修改操作系统。乍一看,似乎本来就应该先开发硬件平台,然后再编写在其上运行的软件。用这种方法,软件工程师可以更方便地调试代码,因为他们使用的是固定的执行引擎和健全的开发工具。但依次开发硬件和软件存在两个问题,其中第一个问题是依次开发周期的长度。在许多情况下,采用先开发、调试硬件,然后再开发软件的方法,开发周期很长,以至产品失去上市良机。第二个问题是发生硬件设计错误的可能性。如果你在开发软件时才检测到硬件开发中的错误,则设计小组必须返回去进行修改,这可能要花费掉好几周甚至几个月的宝贵时间。此外,在整个设计周期中,错误发现得越晚,修改就越复杂。问题的实质是:同时开发硬件与软件部分是一个必要条件,而不是一种奢侈。
  在同时开发软件/硬件的过程中,工程师可以使用许多方法(附文《SOC验证的方方面面》)。你可以把它们简化成三种方法:硬件仿真、基于平台的设计和 ESL(电子系统级)设计。这些方法仍然以硬件为中心, 尽管有些厂商声称他们的工具可提供一种评估介于功能的硬件实现和软件实现之间的折衷方案的手段。
  第一种方法在实际硬件可供使用之前为应用工程师提供一个软件模型或硬件模型,供开发软件代码时使用。第二种方法类似于建立一个供编写软件用的硬件平台目标的老方法。虽然并不是所有的硬件都有,但大部分都有,而且硬件系统符合已有的标准与协议,从而为软件开发人员提供一种结构。第三种方法在最终的体系结构方面具有最大的灵活性,但它也最复杂。它要求设计人员在不同的抽象层次上工作,并了解各种抽象模型的限制以作出正确的假设。
  顾名思义,物理原型法允许工程师使用一个原型代表目前还没有的硬件块。这一方法沿革久远,为人所熟知。很多年前,硬件系统是由标准部件组成的,工程师们会开发一块试验电路板,板上有已知的部件和一些用来模拟目前还没有的数字逻辑器件的硬件,以便在整个系统实用之前,软件工程师能对芯核进行调试。尽管物理原型法在今天实施起来与15年前有所不同,但这种方法没有多大变化。仿真产品供应商提供的一种硬件系统包括:与一个作为主机的计算系统接口所必需的电路;能使工程师配置目标数字电路硬件模型的内部通信逻辑;对一个或多个模拟目标逻辑的 FPGA进行编程的机制。
  Aptix 公司负责市场与业务开发的高级副总裁Charles Miller认为:有了一个在几十兆赫下运行的FPGA原型,操作系统引导时间只有几分钟,从而为软件开发人员提供了一个有用的工具。原型可以用实际的显示、输入设备和其它外设来驱动目标系统。在最终投片前,一个软件工程师可能要对设计运行几十亿个验证周期。如果软件工程师发现了问题,可以立即在 RTL 级进行修正,既免去开发软件变通方案的费用,也不会牺牲最终产品的性能。更好的是,软件开发是与硬件开发同时进行的,最终产品可以更快地开发出来。
  Aptix 公司提供的一整套软件和硬件产品,能使工程师将复杂设计分配给多个FPGA,并将它们与现有硬件组合在一起,以完成设计。已被 Verisity公司(www.verisity.com)并购的 Axis 系统公司利用可重配置的计算技术,在其Xcite 和 Xtreme 产品中对硬件进行仿真和加速仿真。
  Cadence 公司的 Quickturn 部门出售 Palladium 系列产品。Palladium 产品是与 Cadence 公司的 Incisive 验证平台完全兼容的,具有仿真与加速两种功能。用户们可以在网络内共享一个产品,对同一被仿真硬件进行模拟。在仿真模式下,Palladium产品只要内含外设、嵌入式处理器和嵌入式软件,就可全面支持系统的验证。EVE(仿真与验证工程)公司开发了 ZeBu,目的在于减少传统仿真器的费用,并保持所需的高性能。该产品可以对复杂度达 100 万~1200 万个门的 ASIC 设计进行仿真。
  Mentor Graphics 公司仿真产品系列中的最新产品 CelaroPro 可以应对业内最大设计的挑战。CelaroPro把仿真功能扩大到超出纯芯片仿真的范围,并生成一种强大的软硬件协同验证系统,其先进功能包括在 C 语言环境中的代码覆盖、试验平台加速、交互设计调试以及仿真等。
  为工程师提供各种可嵌入处理器芯核的公司也经常提供仿真系统。ARM 提供的 RealView Baseboard 支持围绕 ARM 芯核和 Power/VR MBX 内核的 3-D 图形应用开发。该系统提供一个 AMBA 多层原型环境,并且既有扩充存储器,又有一系列外设控制器。它支持供静态与动态存储器用的扩展模块位置,供外设和第二个处理器用的 logic-tile 扩展位置,一个 PCI 背板,时钟产生与仲裁,以及一系列 LCD 面板。
  Tensilica 提供的低价位 XT2000 开发工具,使用一个可编程逻辑器件来仿真 Xtensa 处理器配置。这种仿真工具包能使开发人员评估多种处理器配置选择方案,并在设计周期的早期就开发和调试软件(图 1)。



评论


相关推荐

技术专区

关闭