目前,意法半导体已经将这种架构应用到了IEEE802.11a物理层转发及收发电路中。这种结合UML建模的方法在实际芯片设计应用中已经体现出较大优势。采用该UML架构为芯片建模,使
SOC设计(特别是硬件部分)的流程更进一步从RTL的抽象上升到系统级抽象。与RTL级的直接描述方法相比,建模使硬件设计更系统化,而且具有软件设计一样的灵活性和IP(知识产权)可复用性。在支持SystemC的UML架构中,功能模块的仿真和检测可以在直观的建模层次上进行,使芯片的错误比在RTL级上更容易被发现和纠正。除此以外,使用UML建模的设计方式更适用于芯片模块在多人协作开发下的统一。由于UML语义是标准化的,而且最后的目标代码由系统自动生成,这就消除了由于设计人员之间编程风格不同而造成的代码的不连贯。

由于支持SystemC的UML架构是目前EDA领域较新的技术,其功能还在不断的扩展和研究中。目前,法国INRIA公司的开发小组发表了利用序列图等表现并行及实时特性的UML扩展标准“MARTE”;比利时Katho-lieke Universiteit Leuven公司也提出了能够表现SoC硬件性能要求的扩展标准“SysML”;意法半导体则准备进一步实现由SystemC程序到UML的逆向转换功能。这些工作都将进一步扩大UML对SoC的建模能力,使抽象建模在芯片设计中应用更加广泛。
4 层次化的分组协作管理方法
UML建
模在SoC设计流程中的应用,有效提高了EDA工程中软硬件的设计效率。然而,现在的EDA工程对复杂系统的设计是通过专业分工(如功能划分、模块设计、仿真测试、版图规划、封装布线等)后形成多个小组共同协作完成的。为了协调多组之间的分工,确保芯片各个模块在多人设计下的兼容性和质量稳定性,人们通常采用层次化的分组协作管理方法进行复杂系统的设计管理。这种层次化的分组协作管理方法主要包括以下4个方面:
(1) 工程中芯片开发人员实行分级权限控制。工程管理者可以设置整个工程,查看各小组的进度和IC设计流程各个环节的执行情况,对数据库有全权的读写权利。而小组管理员为组内每个成员进行具体分工,分配资源(如设计工具,数据文件等),负责本组和其他小组之间的进度协调。
(2) 多组之间的通信平台采用实时的工程信息管理机制。管理员享有芯片版本和修改方案的发布权,处理由其他成员提交的资源申请,设计方案等,而其他成员可以定制自己的信息处理方式,以便最快地获得工程信息。
(3) 采用分层的文件系统存放工程信息(包括芯片设计数据、软硬件资源数据、成员信息等),并且为每个开发小组提供独立的工作区和资源库,使设计人员在自己的工作目录下工作。文件系统里还预定义了一系列功能扩展规则,设计人员可以按照这些规则对自己的工作区进行需求设计,例如修改子目录格式,创建信息发布形式,自定义EDA工具等。
(4) 对于资源库,包括芯片的数据信息库、工程人员分工信息库、建模工具库(如rose系列的UML建模软件)、电路设计工具库(如Cadence系列工具软件)、元件信息库等,实行分级共享和管理。允许多个EDA工程连接到某些共同的资源库,而工程内部成员对资源库的连接范围和使用权限,由管理员根据成员的分工权限给予分配。
这种层次化的分组协作管理方法使设计人员之间权限明确,互不干扰,提高了项目开发的安全性。其中实时的信息管理加强了分组成员之间的协作,分层的文件存放系统使工程数据更易于查询和使用,资源库的连接控制和共享提高了资源的利用率和使用的安全性。当前的许多EDA公司(例如Cadence、Synopsys公司等)都推出了基于该方法的分组协作管理软件(例如Cadence的Team De-sign Manager等)。一些EDA实验室和EDA平台的建设也开始使用层次化的管理方法,以提高团队的科研和开发效率。
目前,层次化的管理方法主要适用于使用同一公司的EDA工具的开发团队。而在大规模的芯片设计流程中,设计人员有可能混合使用不同公司(例如Cadence、Synop-sys和Mentor Graphics公司)的EDA工具。这些工具的接口标准不一定相同,所以用一种分组管理软件中的层次化管理方法对跨公司的工具进行管理还存在一定的困难。因此,我们将这种层次化的管理方法与UML结合,使用UML描述分组协作层次化机构和EDA工具之间的调用,同时利用UML的语义的统一性可以生成一致的标准,或在文件之间进行标准转换,以解决不同工具的协作问题。