利用最新开发的软件技术可以完成高效的并行电路板设计。这种新的技术能使多个设计师、多个进程和不同种类的工具同时工作于同一个设计数据库,并能显著地提高设计生产力。
与将设计分成若干部分并独立地完成各个部分的传统方法不同,此新技术能在一个公共数据库上创建并行进程,并能自动同步进程的变化、解决相互间可能发生的冲突。这在EDA行业是首创。
自从20世纪90年代在电路板设计中广泛采用CAD以来,制造领域通过自动化和工艺优化手段一直在不断地提高设计生产力。不幸的是,随着电路设计软件技术的不断创新,要求支持新的信号、元器件或板级制造技术的呼声也在日益高涨,因此整个设计时间几乎没有缩短(甚至更长)。
如果设计方法学没有根本性改变的话,软件将始终扮演硬件技术的跟随者角色,而不会成为发展曲线上的领先者。多位工程师从事同一设计的并行工程技术一直是生产力突破的有效法宝。传统的分而治之法将设计分成若干个部分并分配到各个工程师手上,最后把各个部分联接起来,并通过强制措施(根据预先定义好的规则自动做出决定)或巧妙手段(让工程师逐个解决冲突)解决所有的冲突。
这种方法对于电路的原理图设计来说是相当有效的,因为它可以根据功能直接把设计分割成多个模块和页。虽然如此,但这种方法仍需要相当多的人工操作才能解决模块间的互连问题,如信号名冲突、元件遗漏等等。只要设计师相互间看不到对方在做什么,上述这些失误就很有可能发生。
如果一个并行设计方法允许多个设计师能够在同一时间同时做同一个设计,能看到其他设计师做的编辑内容,能实时自动地管理各种潜在的冲突,那么这种并行设计方法才能获得最佳的灵活性和生产力。
并行设计架构
新的并行设计技术需要在网络环境中运行的一个设计进程管理器(服务器)和多个设计客户端。服务器软件的主要工作是从每个客户端接收更新请求,并对请求实施检查以确保没有违反设计规则,然后根据更新内容使每个客户端同步。
每个客户端必须拥有自己专用的处理器和存储器。新的并行设计架构还假设通信系统能够支持客户端与服务器之间实时高效交换信息所需的最小带宽和最大延时。每个客户端都能看到整个设计,并在服务器处理它们时观察到其它客户端的编辑。设计数据库允许存储于网络上的任何地方。
这种并行设计架构允许多个设计师同时做同一个设计,而无需以逻辑或其它任何方式分割设计。这是一个真正实时的合作设计环境,在这种环境下所有与分割边界以及分割-联接操作期间管理数据完整性相关的问题都不会出现。
由于多个设计师能够以并行方式无任何限制地做同一个设计,因此能够显著地缩短整个设计周期。
每个设计都有相关的设计团队,只有团队的成员才被允许访问设计数据。任何一个团队成员都能在服务器和单个客户端上启动一个设计会议。其它客户端可以在任何时候参与该会议。
设计最开始时是装载在服务器上的,当客户端加入会议并将服务器设计的当前状态自动下载到客户端的存储器内后,客户端就得到初始化并获得同步。一旦客户端加入设计会议,它就可以使用应用程序中可用的标准编辑工具对设计进行编辑。
编辑事件是由客户端发起的一项独立活动,它作为一个更新请求发往服务器。例如将一个器件从A点移动到B点就组成了一个编辑事件,事件的开始是选取器件,事件的结束是以鼠标点击(或等效的输入)指示新位置。编辑事件作为一个事务处理被发往服务器,它描述了要删除的东西和要添加的东西。
每次客户端产生的编辑事件在发送到服务器之前必须先执行本地的设计规则检查(DRC),然后设置好编辑请求的优先级并根据先进先出的原则进入输入消息队列。服务器接收到编辑请求后先将它整合进设计数据库,然后执行DRC。如果没有发现什么问题,编辑请求就被批准,并通过输出消息队列发往所有客户端,用于客户内部核心数据库的同步。
大多数计算时间花费在本地客户端上。在客户端目标对象被增加、编辑和删除,同时执行所有与那些编辑相关的自动化操作(如推、挤和平滑)。与客户端相比,服务器的负载相对要轻一些,因此不会影响到系统性能。对该环境的测试表明服务器的响应速度非常快,不会降低客户端的速度。
电路板的自动布线
并行设计技术的第二个应用是电路板的自动布线。多年来分布式自动布线一直是电路板布线软件的“强大武器”。以前IC布线器已转换到分布式环境运行。然而,电路板布线问题有很大的不同,直到现在人们还是认为必须改编自动布线器才能充分利用多个计算机共同完成同一设计的优势。软件供应商和第三方工程师们在试图获得可接受的性能提升方面也作过多次尝试,但都以失败告终。
新的并行设计技术所采用的架构能够解决分布布线环境下的大多数关键问题,它知道如何防止或解决冲突。同样,服务器担当设计进程管理角色,来自每个自动布线器客户端的请求在服务器中被整合、检查并广播到其它客户端。所有自动布线器客户端保持同步,因此当在本地增加新的布线路径时,布线路径冲突的机率很小。
整合高效工具
由于电路设计是包含了众多步骤和规则的一个过程,因此要想获得优良的生产力,必须紧密地整合最高效的点式工具。在整个设计过程中数据和规则必须能顺畅的流动。
在过去20年中,EDA工业发生了规模空前的合并和收购,结果软件供应商的设计流程都依赖于众多工具的整合。除此之外,大型公司要求众多软件供应商的工具能集成到自己独特的设计流程中。
做的话会生成上百个ASCII接口,每个接口用于克服常见的数据模型和规则不兼容问题。
这种整合方法的基本要求是所有应用必须拥有完全兼容的数据模型。每个应用程序处理数据时可能使用不同的工具和不同的自动化水平,但每个应用程序必须能够接收改动并加以识别,从而知道下一步该做什么。
也可能使用并行设计技术整合某个应用以执行一组特定的任务,如创建、布局、布线和编辑嵌入式器件。如果这样,那么那个应用程序就能被自动限制成只允许使用那些特定的功能。
电路和板设计
将并行版图和并行整合所需的技术结合起来可以形成这样的环境,即设计流程中的多个不同应用可以被整合在一起,并供多个设计师同时使用。
例如,原理图设计、约束管理、版图设计、三维机械设计仿真和制造等应用程序能以某种方式整合起来,从而允许所有这些应用程序被同步投入使用,同时在整个设计流程中更新和同步所有的编辑事件。甚至在混合环境中可能出现多个相似的应用,比如多个版图工具。
由于多个应用程序在同时运行,工程师就能快速理解所增加路径的信号完整性效应。如在蜂窝话机设计的三维机械系统中,器件在版图中的移动能够立即获得更新和被检查。