1.1 Altium关于电子设计的方法论
当今世界科技发展日新月异,技术创新层出不穷,但绝大多数行业都离不开电子设计,可以说电子设计制造技术是一个国家工业发展、经济繁荣的强大技术基础和根本研发动力。如今电子元件集成度越来越高,电子产品的复杂化、智能化程度与日俱增,加工精度越来越高,这就要求设计工具和设计理念要与时俱进。Altium Designer电子设计工具正是目前行业中的领先技术,体现了电子设计技术的发展方向。
1.1.1 电子系统设计技术的发展
随着电子工业和微电子设计技术与工艺的飞速发展,电子信息类产品的开发明显地出现了两个特点:一是开发产品的复杂程度加深,即设计者往往要将更多的功能、更高的性能和更丰富的技术含量集成于所开发的电子系统之中;二是开发产品的上市时限紧迫,减少延误,缩短系统开发周期以及尽早推出产品上市是十分重要的。
1.电子设计技术现状
当前电子设计三大主要工作为板级设计、可编程逻辑设计和嵌入式软件设计,如果设计工具能有效实现三者之间的进一步融合,则设计者把几个重要“零件”组合起来就能完成产品,便能有效解决电子系统开发的复杂程度与上市时限性的矛盾。
1)板级系统中元件技术的演变 通常人们会将电子设计等同于设计电路印制板——一个基于特定产品内的电子元件集合。因此,设计PCB(Printed Circuit Board,印制电路板)的工具和方法的演变取决于电子元件应用技术的发展进程。从分立式元件到集成电路元件,再从微处理器元件到可编程器件,元件设计技术越来越向高度集成、微型封装、高时钟频率、可配置等方向发展;系统设计更多地从硬件向软件过渡。板级系统中元件技术的演变如图1-1所示。
图1-1 板级系统中元件技术的演变
正如微处理器最初只是被开发用于增强个人计算器产品的运算能力,随后伴随着性能的增强和价格的下降,微处理器的应用扩展到更广阔的领域,这也就直接引发了后来的基于微处理器的嵌入式系统取代基于分立式器件通过物理连线组成系统的设计技术变革。而这一变革的关键并不在于微处理器件本身,而是微处理器将系统设计的重心从关注器件间连线转变到“软”设计领域。基于这一观点,伴随着FPGA(Field Programmable Gate Array,现场可编程门阵列)技术的发展,电子设计中更多的要素将通过“软”设计实现。
在大规模可编程逻辑器件出现以前,人们在设计数字系统时,把器件焊接在电路板上是设计的最后一个步骤。当设计存在问题并得到解决后,设计者往往不得不重新设计PCB。然而PLD(Programmable Logic Device,可编程逻辑器件)的出现改变了这一切,由于具有在系统编程或在线重配置功能,因此在电路设计之前,就可以把PLD焊接在印制电路板上,然后在设计调试时用下载编程或配置方式来改变其内部的硬件逻辑关系,而不必改变电路板的结构,从而达到设计逻辑电路的目的,如图1-2所示。
图1-2 PLD编程操作过程示意图
2)传统的系统设计流程 传统上,包含FPGA器件设计和嵌入式软件设计的系统开发流程需要经历FPGA设计、PCB设计、嵌入式软件设计三个阶段,如图1-3所示。
图1-3 电子系统设计流程
每个阶段相互衔接、逐次实现,由于需要在设计初期完成元件选型(包括FPGA和微处理器),因而必将降低整体方案实现的灵活性;对于设计后期可能在器件性能及功能扩展等方面出现的问题,需要耗费设计者更多的精力才可能弥补,或者只能将现有方案推倒重来。
物理板级电路设计、FPGA片上组合逻辑系统设计和面向软处理器内核的嵌入式软件设计是“软”设计SoPC(System on a Programmable Chip,可编程片上系统)系统开发的三个基本流程阶段,如图1-4所示。
图1-4 “软”设计系统开发流程
以“软”设计为核心的SoPC系统具有结构简单、修改方便、通用性强的突出优点。
3)创新性的系统设计流程 纵观电子设计技术的发展,EDA(Electronic Design Automation,电子设计自动化)技术及软件开发工具成为推动的关键因素。与此同时,基于微处理器的软件设计和面向大规模可编程器件FPGA的广泛应用,正在不断加速电子设计技术从硬件电路向“软”设计过渡。于是现代电子产品设计流程被简单地分成两个阶段:一是器件物理连线平台的设计,即PCB板级电路设计;二是“软”设计,即在器件物理连线平台上编程实现的“智能”。
长久以来,板级设计、FPGA设计和软件开发被看作三个不同的独立设计环境。然而,在将来这种“点”工具形式将逐渐成为有效开发电子产品的阻碍。作为全球EDA技术的领导者,Altium公司从满足主流电子设计工程师研发需求的角度,跟踪最新的电子设计技术发展趋势,不断推陈出新。Altium最新版本的一体化电子产品设计解决方案——Altium Designer 10将帮助全球主流电子设计工程师全面认识EDA技术发展的最新趋势和电子产品更可靠、更高效、更安全的设计流程,如图1-5所示。
图1-5 创新性的系统设计流程
通过一体化的设计,工程师团队在内部和外部的合作中能够更有效地配合,从而缩短整个设计周期。一个一体化的设计环境,无论是现在还是将来,都能够保证设计师拥有创新所需的自由度,并使用到新的电子设计方式,从而实现对于最新技术和产品的开发。
Altium Designer与当前电子设计工具的关键差异就在于可实现平滑的中央数据管理,相对于重新设计或设计实现后软件或固件设计更容易被移植。
? 在硬件平台实现之前,可以开展“软”设计;
? 在硬件设计之后,得以持续“软”设计;
? 在硬件制造之后,得以继续“软”设计;
? 在硬件交付给客户之后,得以持续完善“软”设计;
? 系统调用的设计IP(Intellectual Property,知识产权)更易于保护;
? 只需要提供相应的功能,而非设计源代码;
? “软”设计将为通过器件建立设计师与厂商间的协作提供标准处理模式。
通过提供用于PCB版图设计的高级功能和用于FPGA片上设计的IP内核,Altium公司力图帮助每位电子产品设计者摆脱烦琐的元件连线和外围接口部件设计的纠缠;Altium Designer将为设计创新提供源源不断的支持,使“软”设计处于系统设计流程的核心地位。在FPGA设计完成之后,Altium Designer还提供一个快捷的方法,可将FPGA工程直接转换到相应的PCB工程,并进行工程之间数据的同步更新。
总之,Altium Designer在FPGA以及SoPC方面提供了强大且便捷好用的功能,包括统一完整的设计环境、多种设计输入方式、独立于处理器的灵活代码、“C”到硬件、可重构的验证平台、独立于FPGA原厂商的设计、设计仿真、虚拟仪器及LiveDesign交互式调试,以及方便快捷的FPGA工程到PCB工程数据同步功能。这些强大的软件功能连同可重构的系统验证平台NB2一起为用户提供了一个功能强大的创新平台,在这个创新平台上,设计者可以尽情放飞设计灵感,来创造更有价值的设计。
2.Altium技术的发展演变
在电子技术发展进入21世纪后,由于单位面积内集成的晶体管数急剧增加,芯片尺寸日益变小;同时低电压、高频率、易测试、微封装等新设计技术及新工艺要求不断出现,另外IP核复用的频度需求也越来越多,这就要求设计师不断研究新的设计工艺,运用新的一体化设计工具。
Altium自创立至今,一直致力于打破阻碍技术创新和进步的壁垒,为每一位电子设计工程师提供简单易用的设计技术和最佳的解决方案。从Protel到Altium Designer,Altium公司与全球电子设计工程师们一同见证了EDA技术20多年来的发展和变化。Altium Designer与早期的电子设计软件版本相比,增加了对于FPGA和嵌入式设计的支持,将原理图设计、PCB设计、基于FPGA设计的嵌入式系统设计,以及现场调试、电路板的制造加工集于一体,为提升电子设计水平和工业制造能力提供了可能性和必要保证。
1)产品的发展历程 1985年Nick Martin在澳大利亚塔斯马尼亚州的首府霍巴特创设了Protel国际有限公司,致力于开发基于微型计算机的软件,为印制电路板提供辅助的设计。最初的DOS环境下的PCB设计工具在澳大利亚得到了电子业界的广泛接受。
20世纪80年代晚期,Protel公司意识到在开发利用Microsoft Windows作为平台的EDA软件方面存在商机。虽然Windows平台在处理性能和可靠性上取得了进步,但当时很少有用于Windows平台的EDA软件,而当时越来越多的设计工程师使用基于Windows的操作系统。于是在1991年Protel公司发布了世界上第一个基于Windows的PCB设计系统——Advanced PCB。在后来的几年里,凭借Protel 99/99SE等产品的附加功能和增强功能所带来的好处,Protel公司占据了具有创新意识的EDA软件开发商的地位。
2000年8月,Protel公司成功地整合了多家EDA软件公司,并改名为Altium公司。与此同时重新设计了Design Explorer(DXP)平台,随之又开发了基于DXP技术平台的新一代板卡级设计软件Protel DXP,它以全新的设计理念拓展了Protel软件的原设计领域,保证了从电路原理图设计开始直到印制电路板生产制造和文件输出的无缝连接,真正实现了多个复杂设计功能在单个应用程序中的集成。2005年年底,Altium公司推出了Protel系列电子设计软件的高端产品——Altium Designer 6.0,推动了Protel软件向更高端EDA工具的迈进,它的很多新增功能可以使工程师们的工作更加便捷、有效和轻松,可以解决工程师们在项目开发中遇到的各种挑战。
2011年1月,Altium推出具有里程碑意义的Altium Designer 10,同时推出Altium Vault和AltiumLive,从而满足每个期望在“互联的未来”大展身手的设计人员的需求。Altium Vault是Altium Designer 10全新的设计数据管理功能的核心新技术。Altium Live是一个为电子设计专业人员提供的在线生态系统,能够实现设计人员与合作者、供应商、制造商以及在未来与客户之间的连接,可以将其视为AltiumDesigner前端用户应用的后端平台。利用Altium Designer 10,客户能够解决设计流程复杂性、业务系统整合、供应链整合、外部生产制造以及竞争压力不断加剧的问题,从而释放创新力。
2)产品技术的延续性作为Protel 99SE产品后续的EDA工具升级版本——Altium Designer继承了Protel 99SE软件全部优异的特性和功能。Altium Designer从设计窗口的环境布局到功能切换的快捷组合按键定义均保持了与Protel 99SE很多完全一致的元素。Altium Designer中仍然延续了传统的原理图设计模块、电路功能仿真模块、PCB版图设计模块、信号完整性分析模块和CAM(Computer Aided Manufacturing,计算机辅助制造)制板数据输出模块,仍然提供与多款第三方工具软件间良好设计数据的兼容性。Altium Designer对于之前的版本Protel 99SE是向下兼容的,因此,原来的Protel 99SE用户若要转向AltiumDesigner进行设计,可以将Protel 99SE的设计文件及库文件导入Altium Designer中来。
3)产品技术的创新性作为Altium公司电子自动化设计技术战略转变的主打产品——全球首个一体化电子产品开发平台,Altium Designer从系统设计的角度,将软硬设计流程统一到单一开发平台内,保障了当前或未来一段时间内电子设计工程师可以轻松地实现设计数据在某一项目设计的各个阶段(板级电路设计—FPGA组合逻辑设计—嵌入式软件设计)无障碍地传递,不仅提高了研发效率,缩短产品面市周期,而且增强了产品设计的可靠性和数据的安全性。
所谓一体化设计,Altium Designer提供了三项主要特性:
? 电子产品开发全程调用相同的设计程序;
? 电子产品开发全程采用一个连贯的模型的设计;
? 电子产品开发全程共用同一元件的相应模型。
统一设计可以极大地简化电子设计工作,利用新技术(如低成本、大规模可编程逻辑器件),整合企业级产品不同的开发过程,从而使板级设计工程师和嵌入式软件设计工程师在一个统一的设计环境内共同完成同一个项目的研发。
3.Altium Designer平台性能特点
1)Altium Designer平台的功能 Altium Designer为用户提供了一个统一的电子产品开发平台,综合了电子产品一体化开发必需的所有技术和功能,还集成了现代设计数据管理功能,使用户可以在单一的设计环境中完成电子设计。
【板级设计】Altium Designer统一了板卡设计流程,提供单一集成的设计数据输入、电路性能验证和PCB设计环境。用户通过强大的规则驱动设计、版图和编辑环境可完全控制电路物理实现的所有方面。Altium Designer还保留了层次化设计和在物理领域的设计功能的分割,可方便地基于物理约束去驱动版图设计和布线过程。通过目标设计规则可完全支持高速设计、差分对管理以及集成的信号完整性分析。其混合信号仿真是一个与输入过程统一的部分,完全集成了原理图编辑环境。
【管理库】Altium Designer提供完整的管理器件信息,帮助用户控制设计中零部件的用量。灵活的集成化库搜索功能确保用户能快速便捷地从部件集合中找到器件。Altium Designer可快速便捷地生成综合报告,详细描述特定库中的所有器件。
【设计到制造】Altium Designer把完整的制造文件验证和编辑集成进设计环境中,还提供很多输出选择,可生成满足任何制造要求的合适文件;可完全配置材料清单的信息和格式,并以多种格式生成BOM列表;可精确定义想要打印的PCB层组合,设置比例和方向,在打印前可在页面上进行精确预览。Altium Designer提供广泛的接口,支持大量MCAD工具。另外,还提供强大的Smart PDF向导和免费的Viewer Edition,支持同事间安全的协同工作。
【可编程器件】Altium Designer支持各大厂商的可编程逻辑器件,在Altium Designer原理图编辑器内,可以利用预验证逻辑模块组合连接成数字系统电路。还可方便地进行可编程器件转移,并具有与板级开发相同的技巧和便捷。
【FPGA/PCB集成】Altium Designer解决了使用大规模可编程器件的问题,实现了板卡设计与FPGA设计工程的无缝链接,并可进行基于FPGA应用的快速开发。同时,还可轻易地在开发流程中更改和更新软件,可在目标运行平台上交互地调试。
【设计管理】Altium Designer可在单一环境中创建并链接构成最终产品的所有不同工程。其存储管理器可查看并管理与工程有关的所有设计文档,与版本控制系统一起无缝地工作。具有强大的图形化数据比对引擎,可从空间上和连接性级别比较文件版本。
2)Altium Designer平台的特点AltiumDesigner在单一设计环境中集成了板级设计和FPGA系统开发、基于FPGA和分立处理器的嵌入式软件开发及PCB版图设计、编辑和制造,并集成了现代设计数据管理功能,使得Altium Designer成为一个电子产品开发的完整解决方案,一个既满足当前也能适应未来开发需求的解决方案。
【统一设计流程管理】开发电子产品在本质上包含两个设计层次。第一层是使用安置在印制电路板上的分立器件搭建物理平台。第二层涉及设计中可编程部分的开发,在设计中或制造后它们将“装载”进物理设计。这些可编程部分基本上包括可以运行于微处理器上的嵌入式软件,以及在FPGA等器件上实现的可配置逻辑电路。
随着越来越多的功能从分立器件转移到可编程领域中,涉及的各种设计流程也要融合在一起。将来有效的电子产品开发需要将板卡设计、可编程逻辑设计和软件开发集成在一起,并且融入设计流程管理中。
创建更加智能的电子产品需要融合不同的设计流程。越来越多的硬连接设计正转到软连接的可编程器件领域中。硬件平台、软件和软件执行平台设计必须更加紧密地联系在一起。Altium Designer统一了所有这些方面的设计,创建了高效、完整的电子产品开发系统。
使用Altium Designer,用户在整个开发流程中都处于单一的一个完整的环境中,可以方便地同步原理图设计和PCB版图设计,维护FPGA设计及其板卡间的I/O口的同步,自动确保设计中硬件和软件之间内存与外设定义的一致性。这给用户带来了前所未有的自由,使用户可以在设计流程的任何阶段,在工程的任何文档中进行设计更改。
Altium Designer会确保将这些变化反映到工程中的所有设计文档中,确保全部设计的完整性。
【统一数据模型】Altium Designer提供了创建和管理所有不同工程类型的一体化环境,这些工程类型构成了完整的电子产品。此外,Altium Designer可把这些工程链接起来,定义设计的整体结构。不同工程类型可独立工作,但它们均被逻辑地链接在一起。例如,PCB工程链接到包含可编程逻辑器件的FPGA工程,嵌入式软件工程链接到FPGA工程内的软处理器内核,该工程定义运行平台。由于Altium Designer了解工程间的结构链接,所以它可以智能并自动地管理工程间的核心数据流。例如,在板级改变FPGA的引脚分配时,Altium Designer了解该数据必须在PCB与原理图和驱动FPGA布局及布线的FPGA工程约束之间保持同步,因此用户无须在不同设计环境间手工地传播此数据。
单个设计产品开发项目确切地说可生成上百个与设计相关的文档。而在开发过程中,每个文档都会有许多版本。当设计复杂性增加时,系统跟踪和控制设计文档存储与版本的需要也随之增加。Altium Designer完全支持外部文档版本控制和本地文档历史管理,可方便地在本地跟踪工程的文档历史。每当用户保存文件时,都将自动创建文档更新的完整历史。用户可以对重要版本做标签,添加注释到历史文件中以记录改变,兼顾了设计文档的灵活性和安全性。
【集成化模块式设计】Altium Designer统一了板卡设计流程,为电路设计数据输入、电路性能验证和PCB设计提供了单一集成的环境;在AltiumDesigner中,所有设计数据都由单一的PCB工程管理,确保了板卡设计数据的完整性。
Altium Designer统一了板卡和FPGA设计流程,把可编程器件集成到了物理平台上。Altium Designer通过FPGA器件实现了最优板卡布线方案,同时可自动维护I/O的同步。这就加快了设计周期,减少了差错并有潜力降低制造成本。
电子产品功能越来越多,设计时间也越来越紧张。用户不能依靠通过松散连接的单点工具来完成某个项目。而Altium Designer以单一、统一、约束驱动的设计环境从概念阶段到产品完成阶段进行设计,提供了满足现在和将来物理设计挑战所需的集成功能。
Altium Designer还在单一设计环境中集成了板级和FPGA系统设计、基于FPGA和分立处理器的嵌入式软件开发,以及PCB版图设计、编辑和制造。这种集成功能与现代设计数据管理功能一起,使得Altium Designer成为电子产品开发的完整解决方案。
Altium Designer 10一系列的增强功能包括交互式PCB布线功能、内电层分割加速改善、3DPCB全景视图、弹出式的多边形铺铜管理器、输出Output Job编辑器、Atmel QTouch支持、自定制的笛卡儿直角和极坐标栅格、增加CPU调试功能、智能的数据管理、高度整合的发布、Aldec HDL仿真功能以及云优选存储及对于Windows 7的支持,而且其平台稳定性也得到了增强。概括地说,这个新的版本改变了用户管理器件和设计数据的方式,确保了用户的设计能够完整地被生产。
1.1.2 Altium的统一设计理念
Altium一直认为设计过程应该从整体上考虑设计方案而不是将其作为几个联系松散的子部分。正如一个产品的不同元素之间互相依存,在一个设计域所做的设计也会影响到其他的设计域,不同设计域之间也有传承的内部依存关系,能够解释和管理这些依存关系的唯一方法是使用一种全盘的方法进行设计。这个衍生出来的设计概念将会引出Altium方法论的两个关键点:统一数据模型和统一设计环境。
1.统一数据模型
统一数据模型将不同设计域的特定模型集中到一个单一的统一元件中,并在所有的设计域中保持其独特性。这个模型在整个设计工程中有效,所以任何一个设计域的改动都会自动传递到其他设计域,从而保证设计的一致性。Altium的统一数据模型允许不同领域的单个部件在整个设计领域中保持其独特的身份和同步性,这些模型不仅包括原理图和PCB领域,也包括基于FPGA的设计、嵌入式软件以及PCB三维模型等。如图1-6所示。
图1-6 Altium的统一数据模型
2.统一设计环境
如果只能通过若干互不相关的单点工具来编辑统一数据模型是无济于事的,对于统一设计概念而言它必须包含一个设计工具,这个工具允许设计师在单一的设计环境中在不同的设计域中工作。Altium Designer已经首次创建了一个真实的统一设计环境(如图1-7所示),使得多个编辑器在一个单一的应用中运行,从而使设计工程以及原理图、PCB、FPGA和嵌入式代码拥有完全的可见度。Altium Designer还首次实现了FPGA开发环境的统一,用户通过掌握Altium Designer就可以完成多类FPGA系统的设计;同时也实现了设计在不同FPGA平台的无缝移植,大大减小了代码的移植难度,加快了设计进程。
图1-7 统一设计环境使得设计人员在单一的应用程序中实现各个领域的设计
3.统一设计的好处
Altium所采用的统一平台的做法在业界是独一无二的。也许有人说他们的产品也采用了统一的做法,其实只有Altium解决了将设计数据进行统一所面临的根本问题。这一点非常重要,因为它影响了设计过程的每一步骤,并且以多种方式带来一连串的好处。
1)统一的设计使得设计文档更加可视化统一设计意味着整个设计团队可以看到所有设计文档。一旦设计的Project(工程)被打开,就可以体现出Altium统一数据模型。【Projects】面板列出了当前Project下所有的设计文档,如图1-8所示。只要双击就可以在Altium中打开相应的编辑器,看到每个文档的内容。
图1-8 当前Project的所有设计文档
要想同时打开多个不同类型的设计文档,用户无须分别使用不同的应用程序。无论是原理图、PCB、库编辑、HDL源代码,还是嵌入式源代码,Altium Designer都可以在同一个应用程序中对整个设计的信息进行交互访问,如图1-9所示。
图1-9 使用一个应用程序打开任意的设计文档
【统一数据模型拓展到库的范畴】Altium统一数据模型全面拓展到了器件库的范畴。使用集成化的库可以将原理图符号、PCB封装、电路仿真和SI(Signal Integrity,信号完整性)模型全部捆绑在一起。因此一旦从集成库中选择并放置一个器件到原理图中,便可以确信所有的封装和模型信息都会自动被包含到设计中,如图1-10所示。
图1-10 从集成库中选择一个器件
集成库的应用在指定和管理封装的时候显著地节约了时间。它省去了对原理图进行后处理来寻找和关联封装信息的时间,同时也避免了人工指定封装所带来的出错概率。
【交叉选择】由于AltiumDesigner使得用户可以在单一的设计环境中处理所有的设计信息,用户可以同时打开很多原理图和PCB,并且在它们之间进行交叉选择。当PCB中某个器件布局有麻烦的时候,用户可以在原理图中选中,它同时会在PCB中被选中,如图1-11所示。
图1-11 交叉选择就是当用户在某一边选中一个器件,另一边也同时被高亮显示
同样,如果用户对PCB中某一个模块中器件的功能不是很清楚,用户可以在PCB中选中它,通过“交叉探针(Cross Probe)”的功能回到原理图进行研究。
【使用统一设计来改进器件布局】在PCB中对器件进行布局时,经常可以从原理图中器件之间的逻辑关系得到一些参考。比如,原理图中的旁路电容通常都会紧跟在它所要处理的器件周围。
Altium Designer的交叉选择功能使得用户可以在原理图中按顺序选中一些器件,然后在PCB布局时让选中的器件依次附着到光标上,使得摆放元件非常方便。
2)统一设计消除了同步的困难 集中的设计数据对于设计同步有着非常好的影响。因为所有的设计编辑器都可以访问整个的统一数据模型,不同编辑器之间使用文件来传递信息的做法已经成为过去。统一设计工具可以将修改进行双向同步,如图1-12所示。将原理图的修改传送到PCB,或者反过来将PCB的修改传送到原理图,都可以自动实现。
图1-12 统一设计工具可以将修改进行双向同步
Altium Designer的同步机制在不同的编辑器中对每个器件采用唯一的ID来跟踪和管理同步。所以一旦设计中的器件链接建立起来,即使器件的位号全部改变,也不用担心同步信息的丢失。这对于双向同步,尤其是在PCB中按照位置进行位号重标并反向同步到原理图来说,是非常重要的,如图1-13所示。
图1-13 统一设计工具在复杂的位号更改后仍然保持同步
3)统一设计有助于数据管理 集中的设计数据围绕着单一的统一数据模型给设计数据的发布管理和版本控制带来了很大好处,如图1-14、图1-15所示。在Altium Designer中,设计文档的版本控制状况可以在【Projects】面板中显示,用户可以从版本控制工具中检入(Check-In)和检出(Check-Out)整个Project,而无须离开设计环境。
图1-14 统一数据模型提供版本控制的集中管理操作
图1-15 统一数据模型支持自动化的设计发布
4)统一设计带来更好的设计输出 几乎所有的设计,在某些阶段都需要输出设计文件用于文档归档管理或生成Gerber文件用于电路板生产。如果采用一系列不同的应用程序来实现这些动作,就需要分别打开每个设计应用程序,分别输出相应的文件。在某些团队中,为了节约软件许可证(license),不同的设计子工具都限制给特定的使用者,这时候做一次设计输出可能需要牵涉到好几个人。
Altium Designer的统一数据模型使得设计归档和生产文档输出的一系列过程以最小的代价来完成。其实,将通常的输出要求保存在Output Job文件中,可以以批处理的方式生成一个完整的文件包。用户甚至可以将不同的输出信息放到同一个PDF文档中并做出目录,这样非常方便传递,如图1-16、图1-17所示。
图1-16 Altium统一数据模型可以支持一组不同的设计文档放到同一个PDF文件里
图1-17 在BOM中可以从原理图中得到器件数量信息,从PCB中得到位置和旋转角度信息
5)统一设计可以很好地升级将数据模型进行统一有一个最大的好处就是可以很容易地添加新的功能。统一数据模型是完全可以升级的,因为Altium只需要在一个地方添加新的功能。比如Altium最近添加的版本控制功能,如果在传统的一系列不同设计工具的方案中将会很难实现,但是由于Altium是在一个单一的、统一的平台下建立的,版本控制功能只需要加在这一个地方,就可以被所有的编辑器所使用。
6)统一设计为问题提供了新方法 有了统一的数据模型,我们就可以很容易地将不同领域的设计问题放到最适合解决的地方去处理。一个很好的例子就是对于那种几百个引脚的FPGA的布线。
从PCB版图设计层面上看,由于FPGA器件封装的引脚排列很密集,将对PCB层数定义和信号走线间距设置造成严重制约。但是FPGA内部的布线却是由自动的布局布线工具来完成的。由于FPGA的可编程性,统一设计系统可以在PCB这一级使用“Pin Swapping(引脚交换)”的功能,把PCB领域的布线难题推给FPGA领域,由它们的自动工具来完成。
7)统一设计为外部工具提供了更好的接口 如果没有统一数据模型,要想将外部工具连接到电子设计中是很困难的。而统一数据模型为外界数据的介入提供了一个集中的连接点,一个很好的例子就是Altium将器件的三维数据引入到PCBLayout工具中来的做法,如图1-18所示。
图1-18 机械CAD与电子CAD的完美结合
统一数据模型很容易将结构设计这样的外部工具和电子设计统一起来。通过引入器件和板子的3D STEP模型,设计者不仅可以对最终产品有一个非常好的视觉体验,而且可以对三维的位置冲突进行全面的检查,同时还可以跟结构设计那边的更新保持同步。
具体来说,将PCB外壳的模型连接到PCB上,如果外壳的结构有了更改,Layout工程师就可以同步得到更改信息,外壳的模型会自动在Altium的PCB编辑器中得到更新,Layout工程师马上就可以看到是否会有违规或者产生了新的Layout空间。
8)关键的数据关系 如果不了解数据之间的关系,数据本身并没有什么意义。Altium在概念层面上就收集数据之间的关系,这些关系决定了数据将会面临什么样的操作。统一数据模型是设计数据的概念库,而贯穿其中的数据关系才真正给Altium Designer赋予了超强能力。
1.1.3 Altium的系统级设计方法
Altium Designer提供了统一的方法学来处理系统级设计。特别是设计者能够使用可复用的设计模块来建立系统,这些模块可以像器件一样单独进行版本控制和生命周期管理。使用数据保险库(Vault)和托管图纸而不是从底层构建所有的事情,设计者可以工作在更高的抽象层次上,因此可以在较短的时间内构建整个系统,钻研底层详细设计的工作将大大减少。
使用可复用的模块构建原理图,可以为设计者节省时间、降低设计风险,同时把设计者从采用相同的方法构建相同电路的重复劳动中解放出来,投入到能够带来创新价值的其他设计部分,因为这个电路已经由全球其他的设计者构建过上百次了。
1.自顶向下设计
工程师和设计者往往为自己独特的技能而感到自豪,所以他们一直在努力地获取。他们认为利用电路模块,而不是自己亲手绘制有些像“欺骗”,这实际是对于实用主义的一种情感反应。没有人阻止设计师尽职尽责,但是我们更应该站在前人的肩膀上。
在其他设计领域,设计人员使用抽象概念来帮助管理设计细节和复杂性是很普遍的。就像软件开发人员使用高级代码和面向对象的库来隐藏底层代码,同样可以完成设想的功能。相同思路同样可以应用于硬件设计中,事实上大部分硬件设计者在设计中已经采用了高度的设计抽象,例如使用集成电路(IC)。
Altium Designer充分利用了设计抽象和复用的概念,并把它拓展到管理电子设计子系统这种方式中。由于复用电路采用了标准化的结构,设计者可以使用托管图纸来抽象出一个子系统的细节,并把它作为一个元单位。托管图纸在版本控制和生命周期工具中维护。此外,托管图纸保留了它的贯穿到BOM表的生成过程的结构完整性,所以我们可以追踪它们在哪几个不同的工程中使用过,如图1-19、图1-20所示。
图1-19 托管图纸可以在版本控制和生命周期中管理,也可以追踪在哪几个工程中使用过
图1-20 托管图纸可以作为一个层次块在BOM追踪
2.为了复用的设计
利用可复用的设计模块,可以在更高的抽象层面上构建系统,同时也需要改变设计方法。不再需要从底层构建每个电路图,设计者需要养成首先在不同的保险库中搜索设计的习惯,找到他们需求的电路。
如果设计者没有找到他们需要的电路,接下来就要创建它。在这种情况下,考虑如何设计新电路使它可以更多地被复用是非常有好处的。当然不是说每个新电路都必须创建成托管图纸,但是小小的努力把一个功能电路变成可复用的模块,它的长期好处在于可以加速未来产品的创建。每一个设计师头脑中都应该牢记,他们设计的电路要有益于他人。
1)设计分割 如何使设计的电路可以重复使用,要从分割电路开始。不良的电路分割经常会把通用的和特殊元素混合在一起,这使得它很难在多个设计中复用。所以关键在于在早期要识别出可以在多个应用中使用的关键元素,并把它作为创建可复用子系统的基础。
作为设计的起点,把电路考虑成为一个可以在更大设计中放置的黑盒,对于设计是非常有帮助的。例如电源供电电路,在高级抽象中最重要的信息就是输入和输出电压。因为它提取出了更高层次抽象中用到的信息,这为如何分割电路提供了指示。这样,一种广义的供电电路就可以创建了,如图1-21所示。
图1-21 电源供电电路的抽象
【可配置的电路】这种方法对于简单的电路是有效的,但是总会有复杂的情况。例如使用电源调整器IC做的供电电路,如何使它可以用于不同电压输出的应用?如何设置参数?
在这种情况下,电压调整电路中固定的部分和可调整的部分要分别创建为独立的托管图纸。在以后的应用中我们可以组合相同的固定部分的托管图纸和不同的可调整部分的托管图纸,成为不同的电压输出的供电电路。固定部分的托管图纸和可调整部分的托管图纸可以组成新的托管图纸,在设计中作为一个元素放置,如图1-22所示。
图1-22 把电压调整电路分割为固定(左)和可调整(右)两个部分
【使用连接器】创建一个仅仅包含单个元件(诸如连接器)的托管原理图看起来是非常奢侈没有必要的,但作为一个常用规则,通常会把连接器放到单独的原理图页上。
连接器用于将信号移出PCB电路板的界限,偶尔也用于定义贯穿其中的信号,对于给定的一组信号可以用若干连接器。USB是一个很好的例子,有多种不同样式的USB连接器,但它们携带的都是相同的信号集。
如果设计者希望创建一个包括连接器在内的可以重复利用的USB接口,这可能会限制该电路的可重复利用特性。一个比较好的选择是将连接器从电路中隔离,这样用户可以根据不同的应用选择合适的连接器,如图1-23所示。
图1-23 使用单个连接器创建托管原理图
2)可互换的设计块 如果设计块可以相对容易地互换,那么最好可以分割这些设计块。例如,将一个线性调节电源换成一个开关电源会非常简单,就像删除一个托管原理图并用另外一张代替一样。
对于两个不同的连接器也是如此。将一个直角连接器变成直槽连接器也是非常简单的,只要删除直角连接器对应的托管原理图,并用另一张托管原理图代替即可。在这里可以使用信号线束,因为它允许各种信号被抽象到一个单独的线束连接器中。所以不管连接的信号用于何处和引脚数目如何,托管原理图的接口都可以使用同一个信号线束。