原理图设计软件:会ORCAD就可以了,支持的Netlist超多,基本是业界标准。
1、protel
现在推Al
tiumDesigner。国内低端设计的主流,国外基本没人用。简单易学,适合初学者,容易上手;占用系统资源较多,对电脑配置要求较高。在国内使用protel的人还是有相当的市场的,毕竟中小公司硬件
电路设计还是低端的居多,不过建议各位尽早接触学习别的功能更优秀的软件,不要总在低层次徘徊。
2、Mentor pads
PADS软件用的人也是相当的多,好用,易上手,个人感觉比Protel好不知多少倍。适合于中高端设计,堪称中端中之王。现在世界上使用范围最广的一款eda软件,适合大多数大中小型企业的需求。其本身没有
仿真,做高速板时,要结合其他专用仿真工具,如hyperlynx。
3、Cadence Allegro
高速板设计中实际上的工业标准。无论哪一方面都超牛。
PCB Layout工具绝对一流,稍微熟悉一点后就不再想用其他工具了,布线超爽。仿真方面也是非常的牛,有自己的仿真工具,信号完整性仿真,
电源完整性仿真都能做。在做pcb高速板方面牢牢占据着霸主地位。要知道这个世界上60%的电脑主板40%的
手机主板可都是拿Allegro画的啊!
4、Mentor WG
稍逊于CADENCE,但同样是顶级工具,针对的是高端电路设计,同样有自己的仿真工具。只不过在国内其支持商还相对少点,不如Cadence用的多。其他的就不提了,用的人很少。如果很少做高速板,建议用pads吧,毕竟学习起来相对容易。如果经常做高速板,建议还是选Cadence和MENTOR EE一个是国内做高速板用Cadence和MENTOR EE比较多,第二,因为流行,所以学习的话交流的人也多点。很多大公司都用它,会Protel和会Cadence allegro的薪水是不一样的。
5、Mentor EE
Mentor公司PCB设计工具(DxDesigner及Expedition PCB)的设计体会 Expedition的设计思想 大部分硬件工程师,PCB设计使用最多的恐怕就是protel,因此在使用Expedition做PCB设计时不自觉的就会把两者设计思想进行比较,从本质上来讲,两者并无什么不同,都是符号,封装,互连关系,但是在具体形式上,Expedition比起Protel要更为细致。
Protel在设计时只需要两个库:符号库及封装库,原理图设计时在
元件的属性中进行两者的对应,然后生成网表文件,就可以带入到PCB中进行布局布线。
与此不同,Expedition中引入了中心库(Central library)的概念,符号(Symbol)与封装(Cell)的对应是在中心库中完成,形成器件(Part)。可以说,中心库是整个设计的基础,从焊盘定义,封装制作、符号与封装的对应,都在中心库中完成。在进行原理图设计时,可以从中心库中调符号,当然也可以自己建立本地符号库,但是在进行编译之前,要用中心库中的符号代替自己建立的符号,并在符号的属性中指定与中心库中Part的对应关系,同时指定中心库路径,这样才可以完成编译,进入下一步PCB的流程。
前端输入工具DxDesigner 我购置的Mentor软件的前端管理工具是DxDesigner。由于我们手中没有现成的中心库可用,时间又比较紧张,在设计之初,我们采用的是两个人分头进行的设计方法:一个人负责建立符号库及原理图设计,另一个人则负责作封装库,到基本完成后再整合在一起。
原理图设计工具是viewdraw,在viewdraw的环境中也可以编辑制作符号,符号(symbol)创建有导航,在编辑时比较方便,也可以用VHDL或Verilog语言作为输入源,由于现在器件公司网站上一般都会提供语言的描述,所以有时候会比较快,但是用这种方式做出来的符号往往管脚排列不规则,需要改动,有时并不比手动输入时方便多少;元器件的属性种类比较丰富,但常用的基本属性就几个,只要填写正确一般也不会出大问题;他的路径设定比较麻烦,若想把在别的机器上的设计拷过来,必须先进行归档(Archive)操作,把库、设计数据进行打包,这样的工程才能在新的机器上打开;原理图编辑功能也都大同小异,总的感觉,它的原理图输入工具没什么优势可言,输入的方便性及直观性都比较一般。
库管理工具(Library Manager)主要用于中心库的创建及管理工作,它主要包括四个部分:焊盘堆(Padstack),符号 (Symbol),封装(Cell),元件(Part),分别由各自编辑器来完成编辑工作。此外,中心库管理器还提供了导入导出功能,可以与别的中心库进行较为方便的数据交换。
焊盘是封装的基础,因此一般先建焊盘,焊盘堆编辑器中提供的焊盘种类很丰富,能满足各种需求,除非特殊需要,一般情况下都选用通孔和表贴焊盘,只是孔径有所区别。封装建立时有导航器,可以根据需要选择不同的封装种类,然后选择管脚间距,确定焊盘,较快的生成封装。符号部分可以由符号编辑器完成,我们由于大部分符号在画原理图时已经建好,因此可以直接导入。最后一步就是生成元件(Part),这个过程虽然比较简单,只需在编辑器中导入相应的符号及封装进行对应,但是对于管脚比较多的器件来讲,非常容易出错,如果在原理图里管脚定义有问题,在建元件(Part)时并不容易检查出来,但在进行原理图编译时就会报错,提示为原理图的符号与中心库里的元件不匹配(Dismatch), 因为给的提示信息太少,这样的错误非常难找。我们在设计时就碰到了这样的困难,花了很多的时间和精力来解决原理图中的符号与中心库的元件不匹配的问题。
PCB设计工具(Expedition PCB) 当原理图编译成功,数据进入公共数据库,选择合适的PCB模板,就可以进行PCB设计。相比与原理图设计工具,Mentor的PCB工具(Expedition PCB)优势还是相当明显,从布局、布线到调线功能都非常强大。
在进入PCB设计环境后,先指定中心库,进行前标(Forward Annotate),将公共数据库中的数据导入到PCB的设计环境中,这时候元器件的封装及互连关系就已经确定,就可以开始着手进行布局的工作了。如果是从头开始的话,可以将所有器件一下全部放到PCB板上,也可以一个一个放,我们使用的方法则是与原理图连接的交互布局方法,就是把原理图和PCB进行连接(Connection),根据原理图来选择放什么器件,这样的好处是比较关键器件位置一开始就做到心里有数,等大的、比较关键的器件放完之后,再可以把剩下的器件都放在板子上进行调整。
在布局之前最好进行仿真确定拓扑结构,这需要仿真软件的支持,我们选用的是Hyperlynx,在后面将对仿真做专门的讨论。在确定了拓扑结构,完成器件的布局,定义了PCB的分层情况后,就可以开始布线的操作,Expedition PCB为布线提供的功能非常丰富,从手动到自动,选择很多,设置也就很多。作为初学者,并根据需要,我们没有做太多的选项设置,除了线宽、线间距、焊盘、过孔等基本设置外,主要在网络分类、线长控制上作了必要的设置,为将来的后仿真做准备。
在进行布线之前,一般对管脚比较多、比较密的封装(如BGA)先进行管脚扇出操作,这样的好处除了使过孔对的比较整齐外,也省去了从焊盘进行拉线的步骤,当然,选择每个管脚都向同一方向扇出并打孔可能会占用一些布线资源,这可以在布线之前进行一些整合,把一些相邻较近的电源、地管脚进行合并。 开市进行布线后,先进行了一次试探性的自动布线,确定各元件附近线的密度情况,从自动布线情况看,布通率还是很高。根据我们的具体情况,我们选择以手动方式为主对关键器件(如DSP)进行布线。Expedition PCB提供了一个总线布线的方法(multi-plow),对于总线众多的数字电路来讲,要方便快捷很多,同时也很大程度上避免了走线不等长的问题。在比较关键的部分用手动完成后,剩下的要求不高的部分可以由自动布线来完成,除非走线太密,一般情况下布通率还是很高,剩下的不多的几根线再用手动完成,难度也不会太大。在完成布线后,难免要进行一定的调线,Expedition PCB调线非常方便,线之间的推挤,线与过孔之间的位置互换都很灵活,另外,如果有些线之间不等长,他的tune功能可以比较方便的帮助实现。总之,在布线的灵活性及方便性来讲,确实感觉原来用的protel要高出不少。
在完成布线工作后,还有一个比较重要的工作就是电源层的生成,电源层网络的指定及划分都比较方便。电源层需要处理(planes processor),在那里定义电源的正、负片、热焊盘的形式,处理过的电源层才会有对应的电源层数据,要注意的一点是一旦设计有改动,必须要重新进行电源层处理,比方说有焊盘的位置移动过,那么在电源层对应位置的阻焊不会跟着移动,必须要重新进行电源层处理后才能和移动过的新焊盘位置对应上。
再往下的工作就是进行规则检查(DRC),Expedition PCB提供的规则检查种类很多,要根据具体情况选择,关键的是未连通、电源孤岛、悬线、环形线等,根据检查结果改动设计,当DRC没有报错时,这个PCB的设计也就基本完成了。当设计检查基本完成后,可以根据需要对PCB板上的元件标号重新定义,按照从左至右或从上到下的顺序对源器件进行重新编号,还可以根据要求给器件标号加前缀,方便将来归档和元件的焊装查找。当然,这一步完成后,要对数据库中的数据进行反标(Back Annotate),然后,用数据库中的数据对原理图再进行反标,才能使原理图与PCB对应上。反标结束后,可以根据情况修改丝印层字体的大小及位置,并用工具(silkscreen generator)处理一下,才能生成丝印层的数据。 最后一步,就是制板数据的生成,Expedition PCB中输出gerber文件,而且有gerber tool来对观察生成的gerber文件,在gerber tool中看到的数据与生产厂家看到的数据是一样的,在这里可以对你的设计进行最后一步的控制。制板需要的最少文件需要两个:gerber文件和打孔(NC Drill)文件。
仿真工具(ICX及Hyperlynx) 仿真一般包括两个部分:前仿及后仿。前仿用来确定器件的拓扑结构及走线距离,后访可以对整板进行仿真,对器件的信号完整性、时序配合进行观察,防止一些错误情况的出现,使得信号时序尽可能完成要求。当然,仿真只能是参考性的,具体的结果还要根据调试情况而定。
选择什么样的拓扑结构与PCB的最后完成情况密切相关,因此,在进行拓扑布局前,有必要进行前期仿真工作,初步确定元件的拓扑形状及距离远近。Mentor提供的仿真工具Hyperlynx可以完成这项工作,它是以器件的IBIS模型为基础,确定线长及阻抗,对不同拓扑情况下对某些关键信号进行仿真,观察不同拓扑下的信号完整性情况,从中选取一个最好的方案。当然,它的作用并不仅限于此,在PCB完成后,也可以根据实际走线情况进行具体信号的仿真,这对分析解决调试中的一些问题也会有一定的参考作用。在经过不同拓扑的仿真比较,我们最终确定了DSP与高速同步存储器之间采用菊花链的连接方式。
后仿真用于在完成布线后对信号完整性及总线时序配合进行仿真,我们用ICX对某些关键信号做了必要的仿真,ICX仿真的基础也是器件的IBIS模型,不同的是,它已经考虑到了PCB的具体布线情况、走线长度、相邻线的串扰、终端匹配情况、PCB板的材料等,对我们来说,比较感兴趣的就是一组总线到达高速同步存储器时的时序配合情况,ICX可以看出一个网络类中不同信号到达终端时的时间,通过这种方式可以判断布线能否满足时序要求。
本文小结
从使用的情况看,总的感觉Mentor的这套PCB设计工具前端设计输入比较麻烦,后端布线则比较方便。尤其是中心库,如果要从无到有的建立,是个非常艰苦的过程,可以说,没有一个强有力的中心库支持,这套软件的推广使用就会步履维艰。
从外面公司对这套软件的使用情况看,Mentor一般适于团队化设计方式:建库人员负责专门建库,并负责库的及时更新,这样中心库的器件制作会比较规范,使用起来也会得心应手;工程设计人员只负责进行原理设计,可以把主要的精力放在方案的建立和提出时序要求;PCB人员根据设计人员的要求,专门负责布线,Expedition PCB功能强大,设置很多,没有长时间的使用经验,很难完全掌握,因此有专门的人员从事这样工作才能充分发挥该工具的优势;仿真部分可以由专门的仿真人员,也可以由设计人员来完成,仿真也是一个工作量很大的工作,从器件模型的查找到建立,非常耗时,而且仿真对设计人员的要求也比较高,如何根据仿真结果进行判断,合适的修改设计,也需要一个经验积累的过程。 我所目前的组合设计,是以型号为主线,设计人员从设计到调试全部完成,好处是设计人员对自己的东西比较了解,但对于Mentor这样的大型软件来讲,后果可能是设计人员对这套工具中的每个软件了解的都不是很透彻,发挥工具的优势就会打不少折扣。另外以目前的方式,要推广使用该套软件进行设计,从实现角度来讲,首先要有一个比较完备的中心库,省去设计人员艰苦的建库、修改工作,能投入更多的精力到设计中去,这样才可能会比较快的上手使用。总的来说,自我感觉Mentor的这套PCB工具是比较完备和先进的产品,比起目前我们的设计工具要上了一个层次。从长远的角度看,数字产品的速度越来越高,信号完整性的问题越来越突出,因此该套工具在我所使用前景很广泛。虽然以我所目前的设计方式,完全熟悉整套软件,对设计人员的要求比较高,把这套软件的优势完全发挥出来尚需时日,但是相信随着今后任务要求的不断提高,大家会不断努力尝试用更先进的软件来做设计,在使用的人越来越多后,使用水平一定也会水涨船高。
6