Chinaunix首页 | 论坛 | 博客
  • 博客访问: 244214
  • 博文数量: 18
  • 博客积分: 445
  • 博客等级: 下士
  • 技术积分: 270
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-28 13:59
文章分类

全部博文(18)

文章存档

2013年(2)

2012年(16)

分类: 嵌入式

2012-04-29 17:56:17

写在前面的一些话:
    本人在大学时代Layout都是用的Protel,画出的电路只是热转印过,从没有打样过,毕业之后在南方一家IC公司从事系统软件方面的工作,不过闲暇之余还是学习了一下Layout,毕竟不想让大学的知识白白地丢掉。
    公司系统级的Layout部门人不多,工作也就是负责将原理图转换成PCB版图。但ARM SOC毕竟和大学时的单片机不是一个等级的,牵涉到高速设计、BISI建模仿真。公司的Layout部门用的是Cadence系列的软件,实在佩服Cadence公司在CAD领域的强大,因为IC版图也是用这个软件设计的。
     综上原因本人开始了对Cadence软件的学习,电子书、视频。。。。。。反正网上的资料其实并不缺,缺的是坚持下去的恒心,看来武士道的精神确实很有必要,不光是使用这个软件,还有信号完整性方面的知识,我的终极目标是用公司的IC Layout出一个MP4送未来的妹子,看来有加把劲了。
     以下的文章不是我写的,是网上找的,觉得很经典,与大家分享一下,也感谢作者的无私精神。

软件版本:
     Allegro SPB 15.5

一.原理图

1.建立工程
      与其他绘图软件一样,OrCAD以Project来管理各种设计文件。点击开始菜单,然后依次是所有程序--
Allegro SPB 15.5--Design Entry CIS,在弹出的Studio Suite Selection对话框中选择第一项
OrCAD_Capture_CIS_option with capture,点击Ok进入Capture CIS。接下来是File--New--Project,在弹出的对话框中填入工程名、路径等等,点击Ok进入设计界面。

2.绘制原理图
     新建工程后打开的是默认的原理图文件SCHEMATIC1 PAGE1,右侧有工具栏,用于放置元件、画线和添加网络等等,用法和Protel类似。点击上侧工具栏的Project manager(文件夹树图标)进入工程管理界面,在这里可以修改原理图文件名、设置原理图纸张大小和添加原理图库等等。

1) 修改原理图纸张大小:
     双击SCHEMATIC1文件夹,右键点击PAGE1,选择Schematic1 Page Properties,在Page Size中可以选择单位、大小等;

2) 添加原理图库:
     File--New--Library,可以看到在Library文件夹中多了一个library1.olb的原理图库文件,右键单击该
文件,选择Save,改名存盘;

3) 添加新元件:
     常用的元件用自带的(比如说电阻、电容的),很多时候都要自己做元件,或者用别人做好的元件。右键单击刚才新建的olb库文件,选New Part,或是New Part From Spreadsheet,后者以表格的方式建立新元件,对于画管脚特多的芯片元件非常合适,可以直接从芯片Datasheet中的引脚描述表格中直接拷贝、粘贴即可(pdf格式的Datasheet按住Alt键可以按列选择),可以批量添加管脚,方便快捷。
 
4) 生成网络表(Net List):
     在画板的时候需要导入网络表,在这之前原理图应该差不多完工了,剩下的工作就是查 缺补漏。可以
为元件自动编号,在工程管理界面下选中.dsn文件,然后选   Tools--Annotate,在弹出的对话框中选定
一些编号规则,根据需求进行修改或用默认设置即可。进行DRC检测也是在生成网络表之前的一项重要工
作,可以避免出现一些不必要的设计错误。DRC之后可以尝试去生成网络表了,还是在工程管理界面下,
选Tools--Create Netlist,可以在弹出的对话框中选择网络表的存放路径,其他默认设置即可,生成网
络表的过程中如果出错,可以通过Windows--Session Log查看出错的原因,比如说有元器件忘了添加封装
等。
5) 更新元件到原理图:
     当元件库中的某个元件修改后需要原理图也同步更新时,可以不必重新放置元件(万一有100个或更多该元件岂不是要疯了),在工程管理界面下,双击Design Cache文件夹,选中刚才修改的元件,右键单击选择Update Cache,一路yes下去即可将原理图中该元件全部更新。

6) 一些细节:
     画原理图时的放大和缩小分别是按键“i”(Zoom In)和“o”(Zoom Out)和Protel有所区别;在创建元件封装的时候,除了GND可以同名以外,不能有其他同名的管脚,否者报错,不过貌似报错也没有影响,因为打开OrCAD自带的元件库时(比如Xilinx的FPGA),也有除GND外的同名管脚;添加网络标号的快捷键是“n”,不过在OrCAD中网络标号无法复制,记得Protel中是可以通过复制已有的网络标号来添加新的网络标号的。

二.PCB

1.建立电路板
      首先是打开PCB编辑器——开始--所有程序-- Allegro SPB 15.5--PCB Editor,在弹出的对话框中选择
Allegro PCB Design 610(PCB Design Expert),然后点击Ok进入PCB编辑器。接下来就是利用向导建立电路板了,包括确定板子的大小、层数、形状等等参数,用向导比较方便。点击File菜单,选择New,在
弹出的对话框中的Drawing Type选择Board(wizard),然后确定文件名,存盘路径等,最后点Ok进入向
导。在Import Data这一步可以一路Next下去,用默认的参数就行。到了Parameters,首先可以选择画板
时使用的单位(Select the units for board drawing),即用的是mil、mm或是其他,这个根据个人习
惯了,一般选mil;接下来是选择图纸大小(Drawing size,注意不是板子的大小);第三项是选择图纸
的坐标原点(是在左下角还是在中心,之后可以更改),可以选择中心作为坐标原点,这个根据需求而定
。设置完后点击Next,接着设置其他Parameters。设置格点大小(Grid spacing)为10mil,设置走线层
数(Etch layer count)为2(2层板),然后又是一路Next,直到Custom Data的Spacing Constraints(
距离参数限制)。在这里设置最小线宽(Minimum Line width)、最小线间距(Minimum Line to Line
spacing)、走线到焊盘的最小间距(Minimum Line to Pad spacing)和焊盘的最小间距(Minimum Pad to Pad spacing)均为8.00mil,Default via padstack选择via,之后点击Next。此时选择PCB的外形为Rectangular board(矩形),点击Next进入矩形PCB的参数设置界面,主要设置的是板子的宽(Width)和高(Height)以及一些限制区域,包括布线允许区域与板子边框的距离和允许摆放元件区域与板子边框的距离(可以分别设置为50和100mil),设置完成后Next,最后点Finish,这一步大功告成。

2.导入网络表
      接上一个步骤,将网络表导入到刚建好的PCB中。在此之前还有一个很重要的工作要做,就是指定PCB封装的路径。记得在画原理图时仅仅只是在元件属性中填了元件的封装名,还没告诉Allegro元件的PCB封装在何处,不指定封装路径的话,导入网络表的时候将会出错。点击Setup--User Preferences,在弹出对话框中的Categories中选中Design_paths,分别为padpath和psmpath指定路径,即将PCB元件封装路径添加到padpath和psmpath中,以告知Allegro从你指定的路径寻找封装。Allegro的一个PCB元件封装会包含几个文件(有些是网络表必须的,有些不是),而不像Protel那样一个PCB元件库文件可以包含许多的元件封装。如何获得元件的PCB封装呢,老办法,自己做或是直接用别人做好的。有牛人为Allegro专门做了一个PCB封装生成器——FPM(Footprint Maker,目前版本是0.0.8.0),可以生成绝大数常用的PCB封装,十分好用(真是造福道上兄弟们的壮举)。用FPM选好你需要的封装,Make一下,封装就自动做好了,之后还会自动将做好的封装用Allegro打开,便于检查生成的封装对不对。封装准备好了,可以开始往PCB中导入网络表,点击File--Import--Logic,在Import directory中指定在原理图部分生成的网络表文件路径,其他设置使用默认值即可,点击Import Cadence即可导入网络表。导入失败的话可以通过log文件查看出错原因,改正错误后重复刚才的过程,直到成功导入网络表。

3.放置元件
    成功导入网络表之后,可以开始放置元件。点击菜单Place--Quickplace,在弹出的对话框中使用默认设
置,点击Place按钮即可完成元件的放置。如果遇到有未成功放置的元件,在Place按钮上方将出现未成功
放置的元件计数,形如:Unplace symbol count:4。通过点击右侧的Viewlog查看有那些元件未成功放置。例如PCB元件封装缺少焊盘将导致放置失败,通过修改封装之后再次重新放置即可。

4.布局
     现在可以根据实际需求在PCB上摆放元件,此时的元件基本上都放在了板子的外边,并且有密密麻麻的飞线(Rats)。为了能更好的摆放元件,可以暂时将飞线去掉,方法是点击工具栏中的Unrats All按钮即可
,恢复的方法是右侧的Rats All按钮。要移动元件时,必须先点击工具栏中的Move按钮或使用Shift+F7,
进入“移动”命令模式,同时在界面右侧控制面板中的Find标签中勾选Symbols,然后单击想要移动的元
件,移动鼠标(元件跟着鼠标移动)至新位置,再次单击鼠标完成放置。此时仍处在Move命令模式下,用
同样的方法可以直接移动别的元件,按F2或右键菜单Done均可退出Move命令模式(回到Idle模式)。元件的旋转比较有意思,在移动元件的时候,右键选择Rotate,元件中心与鼠标指针拉出一条线,此时用鼠标指针以元件中心画圈,元件跟着开始旋转,转到合适的位置单击鼠标即可确定摆放的方向。布局的时候可
以直接从原理图中直接定位某个元件,因为开始的时候元件都是堆在一块了,即设置原理图到PCB的交互
。方法是在Orcad Capture CIS中选择菜单Options--References,在Miscellaneous标签下勾选Enable
Intertool Communication即可。当在原理图中选择某个元件后,在PCB中将直接能定位到该元件上(必须
是在Idle模式下)。有时候需要把某个元件放在底层,方法是点击菜单Edit--Mirror,进入该命令模式,
然后点击想要放到背面的元件即可。

5.布线
    初次使用Allegro画PCB感觉很不习惯(可能是因为习惯了Protel的缘故),例如其放大和缩小PCB快捷键不是PageUp和PageDown了,而是F10和F11;再如在Protel中移动PCB图纸可以用鼠标滚轮(上下移动)或是Shift加鼠标滚轮(左右移动),或是鼠标右键或中键按住不放亦可,在Allegro中,只剩下按住鼠标中键还好使,或是使用方向键。当然这些都可以通过相关设置改成自己习惯的方式,“Cadence系统是一个比较开放的系统,它给用户留了比较多的定制空间”。还有一个比较不习惯的地方就是颜色的设置,因为默认设置实在是太烂,必须改了才看得惯(否则将会崩溃)。点击工具栏中的Color按钮或Ctrl+F5或是菜单Display--Color/Visibility,在弹出的对话框中可以看到,Allegro将颜色设置分了好几个Group,根
据个人习惯分别设置,例如Stack-Up中,可以设置Top(顶层)或Bottom(顶层)的Pin(管脚)、Via(
过孔)和Etch(走线)为红色和蓝色(Protel中的默认的颜色设置);Geometry中设置Skillscreen_Top
(顶层丝印)为黄色;Components中设置Skillscreen_Top的Ref Des(元件的标号)一栏的颜色为黄色。经过一番设置之后,才能感觉比较友好,开始布线……点击菜单Route--Connect或是快捷键F6即可,可以在右侧控制面板中随时更改线宽。在布线的时候通过右键菜单Add Via命令来随时添加过孔,让布线穿梭于顶层和底层之间。还还有一个不习惯的地方,焊盘(带孔的)和过孔都是实心的(何以能称之为“孔”
),为了是“孔”,点击菜单Setup--Drawing Options下的Display标签,选上Display plated holes即
可。布线的时候自动推挤布线,很不错,另外,可以根据需求设置一些规则约束,点击Setup--
Constrains,在弹出的对话框中点击Set standard value按钮可以设置焊盘间距、线宽等参数。

6.制板
     制板就是给PCB生产商提供Gerber文件让其把板子给洗出来(类似于洗照片,Gerber文件类似与底片)。在出Gerber之前还必须做一些必要的检测工作,比如封装有没有画错(主要检查对象),有无未连接的网络等等……不仔细检测的话到时候极有可能会欲哭无泪的。发现PCB封装错了,修改之,然后在PCB中更新改好的封装,Place--Update Symbols,在Package symbols中选上需要更新的封装,选好之后还要选上Update symbol padstacks,最后点击Refresh即可。另外如果打开了On-line DRC(在规则约束中,默认是打开的),也需要特别留意一下出现DRC不过的地方,必要的话也要改之。一切无误之后,可以给PCB铺铜,在铺铜前可以对铺铜的参数进行设置,点击菜单Shape--Global Dynamic Params,在Shape fill 标签页中的Dynamic fill选项选择Smooth平滑填充,打开Void controls标签页,Artwork format选择 Gerber RS274X。然后,点击菜单Shape--Rectangular(辅矩形),此时可以在右侧控制面板的Option中设置要铺铜的层,并选择铺铜对应的网络,铺完之后记得删除铺铜死区,Shape--Delete Islands。至此,画板的工作算是完成了,可以出Gerber了。点击Manufature--Artwork,在弹出对话框中打开General Parameters标签, Device type选择Gerber RS274X,Format Integerplaces:3,Decimal places:5,然后打开Film Control标签,添加完成所需的film,一般两层板的话需要TOP(顶层走线层)、BOTTOM(底层走线层)、SOLDERMASK_TOP(顶层阻焊层)、SOLDERMASK_BOTTOM(底层阻焊层)、SKILL_TOP(顶层丝印)和SKILL_BOTTOM(底层丝印),添加完所需的底片文件后,设置Undefine line width为8(不知道为何是这个值),其他设置使用默认值,最后点击Create Artwork即可,同样可以通过Viewlog按钮查看在生成Gerber文件时的相关记录
阅读(4565) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~