高速系统设计简介
1.1 PCB 设计技术回顾
1981 年 8 月 12 日,IBM 正式发布了历史上第一台个人电脑,自此之后,个人电脑融入了人们生活和工作的各个角落,人类从此进入了个人电脑时代。个人电脑的出现,不仅促进了电子产品在消费领域的发展,同时也极大地促进了电子产品设计技术本身的发展。电子设计技术也从此走向自动化和集成化。
电子系统设计使用的是印制电路,即在绝缘基材上,按预定设计,制成印制线路。印制元件及由两者结合而成的导电图形,然后经过腐蚀液的腐蚀,保留下需要的导电图形,形成最终的印制电路板。在早期的设计中,这个过程基本都是由设计者手工完成,只有很少的一些大型企业才使用自动化辅助工具。20 世纪 80 年代中期,随着计算机的发展应用进入各个领域,1988 年由美国 ACCEL Technologies Inc.公司推出了第一个应用于电子线路设计的软件包——TANGO,开创了电子设计自动化、EDA 工具的先河。虽然这个软件包现在看起来比较简陋,但在当时给电子线路设计带来了设计方法和方式的革命,人们纷纷开始用计算机来设计电子线路,直到今天许多资深的电子工程师,还在怀念使用这个软件的经历。
随着人们的需求,电子技术和工艺水平的提高和发展,TANGO 渐渐地不能满足精微复杂的设计的需求,在这种背景下,Protel Technology(现更名为 Altium)公司以其强大的研发能力推出了 Protel For DOS 作为 TANGO 的升级版本,从此 Protel 在业内开始流行,并随着 Windows 系统日益普及,Protel 适应时代和技术的发展变化需求,不断推出各种 Windows 版本,这些版本为用户设计电子线路带来了很大的方便。随后在 20 世纪 90 年代末,Protel 公司相继推出了全新的 Protel 98 和 Protel 99,以其出众的易用性和良好的人机交互性获得了业内人士的一致好评,并取得了 EDA 行业的绝对优势。
在这个阶段,电子工程师们几乎把他们的精力全部放在了如何保证系统的正常工作上(当然了,这也是一贯的要求)。然而,这里所说的保证系统正常工作的“唯一”条件就是原理图设计的准确性。只要保证了这一点,基本上就能设计出个正常工作的电子系统。这也就隐含了一个事实,即只要原理图正确,按照原理
图要求的连接性进行物理连接,就能保证设计出一个正常工作的电子系统,基本上不用考虑电子系统中器件之间的布局和连接性的拓扑结构。看起来,电子设计工程师的工作已经很完美了,在强大的EDA工具的支持下,我们仔细地设计原理图,就能完成我们的工作了。然而,事实却从1993年开始发生了变化。
1.2 什么是“高速”系统设计
1993 年,对于所有的电子工程师来讲,应该是另外一个值得纪念的时代。
1991 年,Intel 公司联合多家公司成立了 PCISIG 协会,致力于促进 PCI 局部总线工业标准的建立和发展。1992 年,PCISIG 发布了 PCI 局部总线规范 1.0 版,1993 年发布了 PCI 局部总线规范 2.0 版。PCI 局部总线的诞生和发展是技术发展和应用的需要,被称为第二代总线,它不同于第一代系统总线,如 ISA、EISA、VESA 总线的频率是和 CPU 保持一致的,这也极大限制了系统的性能和系统扩展性。PCI 总线之所以被称为局部总线,就是由于它的总线频率可以独立于 CPU 主频,使得 CPU 可以脱离外设的性能限制,更高效地运行。PCI 局部总线的带宽,可以在 33MHz 主频和 32 位数据通路的条件下达到峰值 132Mbps 的带宽,在 66MHz 主频和 64 位数据通路的条件下达 528Mbps。PCI 局部总线的设计是独立于处理器的,虽然它是由 Intel 公司提出的,但不局限于 Intel 系列的处理器,当今流行的其他处理器系列,如 Alpha、PowerPC、SPARC 及多处理器结构的下一代处理器都可以使用 PCI 局部总线。1993 年以来,由于 PCI 总线在高性能、低成本和开放性等方面的优势,大大地激发了制造商和用户的兴趣,使 PCI 总线架构得到迅速普及和发展。
言归正传,之所以在这里再次介绍 PCI 总线的发展过程,还有一个重要原因是 PCI 总线不仅在系统架构上不同于传统的一代总线,它的电气物理层也完全不同于一代总线的传输特性。为了适应多负载的外设总线要求,PCI 在电气物理层上采用反射传输机制。如图 1-1 所示。A 和 B 两时钟都是安全的采样时间点,然而在信号电平进行转换的 C 时间范围内,PCI 信号正处于反射叠加过程,在这个时间内,是不能对信号进行正确采样的。
PCI 信号的反射传输机制的引入对电子工程师来讲可以说具有划时代的意义,那种点到点连接即能工作的电子系统设计时代从此不再存在,PCI 总线广泛应用于使得人们在电子系统设计中第一次开始注意到信号完整性(SI:Signal Integrity)这个概念。
似乎从 PCI 系统的应用开始,我们开始进入了一个“高速”系统设计的时代,而事实也正是如此发展。20 世纪 90 年代后,现代的电子设计和芯片制造技术按照 Moore 定律的预言,取得了突飞猛进的发展,电子产品的复杂度、时钟和总线频率等都呈快速上升趋势。电子技术发展到今天,处理器的主频已经接近5GHz,高速 IO 达到 3.125Gbps,大多数系统内的各种总线也达到在几百 MHz 的工作频率,有些新型总线已经达到 Gbps 的数据传输速率。目前,PCI Express 2.0 总线的数据传输速率已经达到 5Gbps,并还将沿着这个趋势继续发展。计算机系统总线的发展过程和趋势,如图 1-2 所示。
现在回头再来看 PCI 总线,频率不过 33MHz,和现阶段的系统频率相比,似乎我们完全有自信能够掌控如此低的频率。然而事实并非如此,我们经常看到这样的例子,设计师花费了很多精力来处理一个系统中自认为“高速”的信号,可最后却因为忽略了一个几十 MHz 的多负载信号而使系统不能正常工作。这种现象让很多刚开始从事高速系统设计的电子工程师们感到困惑,到底什么样的信号需要特殊处理?信号频率到什么范围才被认为是高速信号?而更让工程师感到迷惑的是,我们从不同的信息渠道可以找到关于高速很多种不同的定义,类似于如下几种比较具有代表性的定义。
凡是频率大于 50MHz 的信号,就是高速信号;
信号是否高速和频率没有直接关系,而是当信号上升沿(或下降沿)时间小于 50ps 时,就认为是高速信号;
当信号所在的传输路径长度大于 1/6 倍传输信号波长时,信号被认为是高速信号;
当信号沿着传输路径传输,发生了严重的趋肤效应和电涡损耗时,被认为是高速信号。
以上几种定义,在某种程度上都具有其合理性。然而在实际工作中,工程师所面临的是各种各样的条件和问题纠结在一起的复杂情况,到底该使用哪一种标准来界定所谓的高速信号,依然是个难题。另外,每个工程师都必须能清醒地意识到,所谓的高速信号,或者高速系统的设计,其复杂度和难度并没有一个统一的标准,它必然随着设计者本身的经验和知识的变化,同样的一个设计在两个不同的工程师眼中必然是不同的感觉。但是,在项目实施的过程中,工程师又需要这样一个标准,方便并且快速地指导系统设计。
根据多年的实践经验,从可操作的实用角度,本书作者提出了自己的观点“对一个电子系统设计工程师来讲,当你没有足够的信心和证据保证该信号在系统中正常工作,而必须进行特殊处理,必要时还需要经过仿真以确定布局、布线、匹配和屏蔽等设计约束,这时就应该按照高速信号来处理”。按照这个观点,工程师们根据自身的经验和设计能力,应该能够很快地对系统设计任务进行分类评估,并制定相应的设计方案和得出工作量的评估。
“高频”还是“高速”?
按照上述定义,可能有人会认为高频信号和高速信号之间没有什么联系,事实上也不尽然。当信号的频率变高时,由于其上升(下降)时间也必然会相应的缩短,也可能因此引发一些高速信号特征,这样就使得设计者不得不按照高速信号来对待。比如,对于一个 100MHz 的信号,其上升沿和下降沿时间分别是 1ns,这样留给信号的有效采样时间窗就为 8ns=(10-1)ns,而当此信号的频率提高到200MHz 时,如果不减少上升沿和下降沿的时间的话,那么信号的时间窗就会变成 3ns=(5-1-1)ns。因此,当信号的频率升高时,最直接的影响就是信号的上升沿和下降沿时间会随之减小,这样也就使得设计者不能按照以前的经验来处理这个信号,必须以高速的观点来看待这个信号。因此,较高的信号频率是高速信号的充分条件,而非充要条件。反过来,对于 PCI 66MHz 的信号,我们必须小心处理,尽管频率不高,但也被当做“高速”信号。在本书中,对“高速”和“高频”术语进行了混用,读者按照上下文理解其含义即可。
然而对于信号本身的特征而言,仅仅从其时钟频率上来判断是否为高频信号也是不够的,而是应该从信号所包含的频率分量组成来看。如图 1-3 所示,图左边的是三个周期同为 100MHz 的信号,但是信号上升沿和下降沿时间不同,分别为 1000ps、500ps 和 150ps。图右边是相应信号的频谱分布,读者可以注意到,上升沿为 150ps 的信号频谱中包含了更多的高频分量,信号带宽几乎增加了一倍。所以,对于系统设计者而言,如果在设计中没有高频信号的概念,不加区别地以同样的方式对待(处理)这三个 100MHz 的信号,那么对于 150ps 上升沿的信号,其高频分量就会损失很多,从而造成信号畸变,引起信号完整性问题。因此,在高速系统设计中,应该分两步来处理。首先,对于高频信号的判别,应该从频域的角度,依据其频谱分布来做出正确判断;其次,是否对高频信号在设计中加以特殊处理,则要依据设计者的经验和系统设计要求来决定如何处理。
1.3 如何应对高速系统设计
前面已经提到,随着集成电路的工作速度不断提高,电路的复杂度不断增加,尤其是半导体技术的飞速发展,数字元器件复杂度越来越高,门电路的规模达到成千上万甚至上百万,现在一个芯片可以完成过去整个电路板的功能,从而使相同的 PCB 上可以容纳更多的功能。系统设计复杂度越来越高,这已经是不争的事实。从表 1-1 中,我们再了解一下近 20 年来,系统设计复杂度的变化情况。
从这张表中,我们明确地体会到,那种自上而下,连接即工作的设计时代已经一去不复返了。而面对这样的技术发展变化形势和复杂系统设计要求,电子工程师该如何适应这种变化,适应市场需求,快速而准确地完成一个复杂系统的设计任务,就值得我们认真思考了。本书中,作者通过对自身工作经验的总结和积累,提出做好一个复杂系统的设计,应该是如下三个方面的结合。
• 以理论知识作为基准和指导。不论系统设计多么复杂,以正确的理论作为设计基准和指导,永远都是第一位的要求。
• 积累成功项目经验,总结失败项目教训。成功的设计固然能够成为借鉴的经验,然而从失败中学习到的教训也许会让设计者终身受益。
• 掌握设计时间和效率的平衡。灵活掌握工具,学会在设计中进行合理的取舍,争取最大程度上取得投入产出比。
1.3.1 理论作为指导和基准
勿庸置疑,任何一门工程技术都有相关的理论作为指导。电子系统的设计工作,就是在多门学科的理论指导下的一种工程实践。尤其是当信号的工作频率提
高到必须以电磁波传输理论来看待的时候,仅仅固守于我们多年来的工作经验和理论知识是远远不够的。首要的问题就是要提高设计者的理论知识基础,从根本上认识到,必须掌握新的理论基础。比如,无线电和电磁波理论,作为解决新问题的根本方法和基本出发点,这是唯一能解释高速信号传输和高速系统设计中的特殊现象的理论基础。
对于非微波和无线专业的技术人员,在学习电磁波理论的过程中,最好能积极主动地把理论知识和工作中遇到的现象结合起来,或者使用仿真软件进行仿真,
以一种直观的方式来体会这些理论,也只有这样才能在设计中更好地利用理论来指导设计。
1.3.2 实践经验积累
可以说,从事高速系统设计工作,就是一个实践经验积累的过程。成功的系统设计经验会增强设计者的信心,并使设计者更加乐于接受新的系统设计任务的挑战。但面对失败的设计,也无须气馁和退缩,通过对项目失败的原因进行分析总结,学习到以前没有掌握的知识,同样能够提高设计者的设计能力,从失败中学习到的经验教训可能会使人铭记一生。
高速系统设计本身也是一个复杂的过程,没有经验的人面临一个复杂的设计,会一时找不到头绪,觉得无从下手,出了问题,也不知道该从哪里着手解决。相反,足够的设计经验会让设计者在设计的开始就能抓住主要问题,分清设计的轻重缓急,制定有效的设计策略和方案。因此对经验及时总结并再利用,将会极大地提高高速系统设计的效率和准确性。
1.3.3 时间效率平衡
在实际工作中,设计者经常会面临这样的尴尬局面,一方面,迫于激烈的市场竞争和产品压力,要尽快拿出实际的设计,向市场推出产品;另一方面,面对越来越复杂的系统,设计者又需要更多的时间寻找可行性设计方案,进行设计规划。引入高速系统设计流程(随后有专门的章节介绍高速系统设计流程)后,又要对各部分设计进行仿真和验证。因而如何在设计质量和开发进度上做好平衡,是摆在每个电子工程师面前的难题。
这同时也是一个设计方法学的问题,基本原则是上面提到的,以基本理论知识和原则作为指导基础,以实践经验和成功设计案例作为参考和借鉴,熟练掌握工具的使用方法和技巧,在项目实施的过程中,在设计效率和项目时间上做出权衡。
1.4 小结
在高速数字电路设计中,不用仿真而只凭传统的设计方法或经验,很难预测和保证信号完整性,仿真已成为高速信号设计的必要手段,利用仿真可以预测信号的传输情况和系统的整体性能,从而提高系统的可靠性。
随着集成电路的工作速度不断提高,电路的复杂性不断增加,多层板和高密度电路板的出现等,都对 PCB 板级设计提出了更新、更高的要求。尤其是半导体技术的飞速发展,数字元器件复杂度越来越高,门电路的规模达到成千上万甚至上百万,现在一个芯片可以完成过去整个电路板的功能,从而使相同的 PCB 上可以容纳更多的功能,甚至可能就是一个完整的系统。
PCB 已不仅仅是支撑电子元器件的平台,而变成了一个高性能的系统结构模块。这样,信号完整性在 PCB 板级设计中成为了一个必须考虑的问题。传统的 PCB 板的设计依次经过电路设计、板图设计和 PCB 制作等工序,而 PCB 的性能只有等到 PCB 生产加工并且组装成实际的系统之后,再通过一系列仪器测试才能被原型来评定。如果不能满足性能的要求,上述过程就需要经过多次重复,尤其是有些问题往往很难将其量化,多次反复就不可避免。
上述这些在当前激烈的市场竞争面前,无论是设计时间、设计成本,还是设计的复杂程度上,都无法满足要求,因此在现在的 PCB 板级设计中采用电路级仿真已经成为必然,基于信号完整性的 PCB 仿真设计就是根据完整的仿真模型通过对信号完整性的计算分析得出设计的解空间的,然后在此基础上完成 PCB 设计,最后对设计进行验证是否满足预计的信号完整性要求。在这个设计过程中,由于加入了性能预测分析和设计实施的束缚可控点,因此,当系统性能不能满足要求时,问题定位和分析都有章可寻,与传统的 PCB 板的设计相比既缩短了设计周期,又降低了设计成本。
本章作为高速电路设计的基本介绍,简要地描述了高速信号给系统设计带来的挑战,回顾了高速电路的发展历程,使读者对于高速电路设计有了基本的认识。在下一章中,我们遵循前面提出的系统设计方法,首先以理论知识作为设计基准和指导,介绍所要掌握的高速电路系统的基本理论。在读者充分理解并掌握了基本理论的基础之上,再结合设计实例和仿真软件来解决实际问题。