Cadence设计流程

发布时间 2023-10-13 09:46:14作者: Raspberryhulu

目录:

一、ORCAD部分

二、ALLEGRO部分

ORCAD

1.1 打开软件

  • 软件目录下-> ORCAD CAPTURE CIS
  • 弹出选择框后选择 ORCAD CAPTURE CIS

1.2 新建工程

  • File -> New -> Project

1.3 添加原理图页面

  • 右键点击schematic文件夹 -> New page
  • 可以添加后修改page名,可添加多个

1.4 设置page环境参数

  • 进入page,Options -> Schematic page properties
  • 设置页面大小等基本参数

1.5 放置器件

  • 在page中Place -> part
  • 放置时按R键,可旋转器件

1.6 新建库

  • File -> New -> Library(后缀.olb)
  • 在工程里新建器件的原理图库,并命名

1.7 新建器件

  • 右键点原理图库,New part
  • 编辑属性
  • 绘制框图,添加引脚
  • Name里编辑器件名
  • PCB Footprint里添加对应的PCB封装名
  • 如果是器件较大,可以分页设计,part里编辑页数

 

1.8 绘制原理图

  • 放置器件
  • 放置连线(Place -> Wire:注意是wire不是line)
  • 放置总线(Place -> Bus和Bus Entry)
  • 放置网络标号(Place -> Net Alias)
  • 放置跨页的网络连接(Place -> Off-page Connector 或 Port)
  • 放置其他注释(Place Text)
  • 不同页面之间的关联网络需要放置 offpage connector或者port
  • port也可以用于复杂系统的层次化设计,但常用的还是offpage connector

1.9 DRC检查

  • Tools -> Design Rules Check
  • 下面的sessions信息打印窗会有反馈信息

1.10 修改错误

  • 根据sessions里的DRC错误提示去修改
  • 再次DRC直至没有错误

1.11 器件自动编号

  • 左键点中DSN文件
  • Tools -> annotate
  • 先复位所有位号:Reset part referrences to "?",然后确认
  • 重新排列序号:Incremental reference update,然后确认
  • 添加offpage_connector页码显示:Add Intersheet References
  • 如果后续有不断调整,可以随时先清掉位号或者页码,然后自动重新排序

 

1.12 生成网表

  • 左键点中DSN文件
  • Tools -> Create Netlist
  • 选择输出路径
  • 如果生成失败,可以看下面的sessios信息打印窗里的错误信息,修改后再次生成,直到成功为止

 

1.13 生成BOM

  • 左键点中DSN文件
  • Tools -> Bill Of Materials
  • 添加必要的器件属性
  • 选择输出路径
  • 在默认属性基础上建议添加PCB Footprit属性

 

ALLEGRO

2.1 制作PAD

  • Cadence -> Release 16.6 -> PCB Editor Utilities -> Pad Designer
  • 设置Hole Type
  • Plating(通孔时金属化或非金属化)
  • Drill Diameter设置孔径
  • 在layer窗口设置每一层的参数
  • 一般soldermask和pastemask比焊盘实际尺寸大0.1mm
  • 不同类型的焊盘、过孔,不清楚怎么设计时,可以打开同类型的焊盘或者过孔进行参考,改下参数即可

 

2.2 新建Symbol

  • 打开PCB Editor,选择Allegro PCB Design GXL
  • File -> New,然后选择下拉框中Package symbol
  • 命名并选择存储路径

 

2.3 制作Symbol

  • 设置基本环境(mil mm,栅格大小,库的路径等)
  • 绘制器件的物理外形,用add line方式(一般在 Package Geometry的silkscreen top层)
  • 放置引脚(Layout Pins)
  • 右边option选项里选择引脚PAD
  • 放置一个shape或者方框到Place Bound Top层,大小要基本上略大于芯片在PCB板上的占用面积
  • 放置文字注释到REFDEF层的silkscreen top层,这一层是位号的意思
  • 最后File下面save或者create symbol,都可以
  • 可以将pad、symbol等文件全部保存在同一个lib目录下,方便调用

2.4 新建PCB

  • 打开PCB Editor,选择Allegro PCB Design GXL
  • File -> New,然后选择下拉框中Board
  • 命名并选择存储路径
  • 也可以通过PCB Wizards方式按照模板来新建PCB

2.5 设置环境参数

  • Setup -> Design Parameter
  • Display类目下设置通孔的显示方式
  • Design类目下设置mils或者mm,然后依次设置版图尺寸,设置原点位置
  • 设置颜色(Display -> Color visibility),按照个人喜欢和视觉习惯来设置不同的颜色
  • 版图尺寸不是PCB尺寸,相当于画布尺寸,它必须大于PCB尺寸

 

2.6 库路径设置

  • Setup -> User preferences
  • 左侧选择Paths -> library
  • 在右侧依次设置devpath、padpath、parampath、psmpath的路径,设置为实际放置lib文件夹的路径,并在右侧相应勾选

 

2.7 叠层设置

  • Setup -> Cross-Section
  • 在中间层右键选择add layer
  • 每一个介质层的材质,厚度都可以设置
  • 每一个导体层的厚度也可以设置
  • 中间层也可以设置成plane层,意为电源层或者地层
  • 每增加1层,需要增加一个介质层和一个导体层
  • 叠层顺序需要根据实际经验来排列,敏感信号尽量要贴近完整的plane层,并且高速信号在走线下面的参考层位置尽量不要有分割

 

2.8 PCB外框绘制

  • Add Line
  • 在Options里选择Board Geometry的Outline层
  • 在Options里设置line width 为合适的宽度,比如0.2mm
  • 绘制外框
  • 倒角工具(Manufacture -> Drafting -> Fillet,然后Options里设置好半径)
  • 通过在命令框输入x 设置起始点,ix iy增加相对长度来完成
  • (也可通过Setup -> Outline工具来自动生成外框)

2.9 布线范围设置

  • Edit -> Z-copy
  • Options里设置好Route keepin ,范围为All
  • Size选Contract,意为内缩
  • Offset设置好内缩距离,比如2mm
  • 鼠标左键点击之前画好的Outline
  • Z-copy同样可应用于其他地方,是Allegro里很实用的工具之一

2.10 导入网表

  • File -> Import -> Logic
  • Import logic type里选择Design entry CIS(Capture)
  • Import directory选择之前原理图生成的netlist路径
  • 点击右边的Import Cadence
  • 导入网表后如果没有窗口弹出,即完全导入
  • 若有问题,会有错误窗口显示,可根据错误信息进行调整,并再次导入,直至完全正确位置

 

2.11 调入器件

  • Place -> Quick Place
  • Place
  • 可以根据喜好,以不同方式进行放置
  • 也可以看到放置进度,有些器件未能放置的,可以点击Viewlog来检查问题

2.12 布局

  • Edit -> Move
  • Options里只选择Symbol
  • 点击器件并进行移动
  • 预先放置好定位孔和MARK点,并用fix命令将他们固定
  • 推荐在Placement Edit模式下进行放置,效率会提高很多

2.13 线宽和过孔设置

  • Setup -> Constraints -> Physical
  • 左侧 Physical Constrait Set -> All layers
  • 设置需要的线宽,以及添加过孔类型
  • 若有多种线宽,可以右键Create Physical Cset,来新建不同的线宽规则
  • 左侧 Net -> All layers
  • 对需要改变线宽的网络选择不同的现款规则
  • 也可以在Net -> All Layers下选择任意网络对其进行单独设置

 

2.14 spacing设置(间距)

  • Setup -> Constraints -> Spacing
  • 左侧 Spacing Constraint Set -> All layers
  • 设置不同对象之间的间距属性
  • 若有多种间距要求,可以右键Create Spacing Cset,来新建不同的间距规则
  • 左侧 Net -> All layers
  • 对需要特别注意距离的对象配置好特殊的间距规则
  • 间距对象包括线、过(通)孔、shape(铺铜)、引脚等

 

2.15 差分对设置

  • Logic -> Assign Differential Pair
  • 在Net框里依次点选需要设为差分对的2个网络
  • 在Diff Pair Name里对该差分对命名
  • Setup -> Constraints -> Electrical
  • 左侧Net -> Routing -> Differntial Pair
  • 选择差分对,在Static Phase里的Tolerance里设置差分对走线误差,比如5mils
  • 在Min Line Spacing、Primary Gap 里设置差分线距
  • 在Coupling Parameters的Prim.Width里设置差分线宽
  • 试着去走差分线,可以看到2根线会按照规则一起走线
  • 走差分线时,右键选择single mode可以单根独立走线,一根走完走另一根,适用于特殊场合

 

 

2.16 预布线(介绍一些实用操作)

  • unrats all/rats all 是不显示/显示任何网络线
  • Display -> Show Rats -> 目录下有针对不同对象的
  • Display -> Status,可在这个工具下查看当前的布线完成率
  • 布线时优先对关键信号,比如,复位,时钟、差分、敏感的高速信号先进行布线
  • show rats下可以只显示与某个器件相关的网络显示,也可以只显示某个网络,对不同网络设置不同颜色,这个在布线时尤其便利

 

2.17 等长设置

  • Setup -> Constraints -> Electrical
  • 左侧 Net -> Routing -> Relative Propagation Delay
  • 点击选取右侧需要做等长的信号,依次右键Create Pin Pair
  • 按住Ctrl键,然后依次点中需要做等长的Pinpair
  • 选好以后,右键Create Match Group,然后命名
  • Deita:tolerance里一般设置成 0 Mil:xxxMIL(其中xxx为允许误差)
  • 右键点击这个Matchgroup,点击Analyze操作,可以看到该组下所有线的长度
  • 选择最长的那根走线,在Delta:Tolerance栏右键,Set As Target
  • Setup -> Constraints -> Modes,在左侧选择Electrical Modes,右侧Relative propagation delay的ON选中,这样接下来的拉蛇形线时右下角会有误差范围提示,以及DRC提示
  • 先把等长的网络引脚对归到一个组里,然后设置好误差,然后以最长的那根线做为目标线

 

2.18 等长拉线

  • Route -> Delay Tune
  • 选择需要蛇形走线的线
  • 右侧Options里设置蛇形线属性
  • 拉线直至右下角线长提示框变为绿色(红色为不在允许误差范围内)
  • 直至拉完所有的等长
  • 蛇形线属性有样式、间距、转弯角度等
  • 在空间允许下,尽量用宽间距

 

2.19 铺铜

  • Shape -> Polygon 为多边形铺铜
  • 在绘制shape操作时要在右侧Options选项里选择好该铺铜的网络
  • Shape -> Merge Shapes :可以合并有交集的同一个网络的铺铜
  • Shape -> Delete Islands :可以删除死铜,操作时在右侧选项里选择死铜所在层

2.20 完善和调整

  • Route -> Slide :左键点击就能调整、拖动走线和过孔
  • 系统默认是打开大部分DRC在线检测的
  • 检查PCB各处是否有DRC标记,然后依次查找问题并修改完善
  • DRC在线开关在 Display -> Status下,有一个勾选项,可以勾上表示 online DRC

2.21 系统检查

  • Tools -> Database Check
  • 勾选所有选项,进行系统自检
  • 如果有问题,会提示错误信息,查找并解决问题

2.22 完善丝印

  • 重新摆放位号等使之美观明了
  • 调整字体,Edit -> Change,在options里设置好层属性,然后设置字体号,然后点击或者框选所有改变的对象
  • 这里千万要注意层属性,比如不要把top丝印由于不小心change到bot层

2.23 生成钻孔文件

  • Manufacture -> NC -> NC Parameters 在窗口里设置好mm或者mil单位和精度
  • Manufacture -> NC -> NC DRILL 生成钻孔文件
  • Manufacture -> NC -> DRILL Legend 生成并摆放钻孔表
  • 最好在生成之前把BRD文件单独保存到一个命名为GERBER的文件夹,后续的所有gerber文件会生成到这个目录下

 

2.24 生成ART文件(gerber

  • Manufacture -> Artwork 进入ART WORK窗口
  • 新建或者修改各个Art的内容
  • 右键点击某一Art,通过Match Display来捕获当前各层到该Art
  • 右键点击某一Art,通过Display Visibility来显示该Art下所有的内容
  • 设置完每一个Art后,在General Parameters窗口下,设置好mm或者mil制式,精度与前面NC Parameters下保持一致
  • Device Type选择Gerber RS274X
  • 回到Film Control下,勾选所有的Art,然后执行Create Artwork
  • 具体需要哪些层,可以参考画好的一个板子来做

全部流程,其实我本来是写在一个表里的,内容和上述的完全一样: