Cadence 17.4 PCB操作记录

2024-03-21 18:40
文章标签 操作 记录 pcb cadence 17.4

本文主要是介绍Cadence 17.4 PCB操作记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 画板子边框
    • 设置路径
    • 导入网表
    • WARNING(SPMHNI-192).
    • WARNING(SPMHNI-194)
    • ERROR(SPMHNI-196)
    • WARNING(SPMHNI-337)
    • Fix/Unfix
    • 设置元件高度
    • 刷新焊盘
    • 修改并更新封装
    • 隐藏某一层
    • 对齐元件
    • 打过孔
    • 铺铜连接方式
    • PCB翻转
    • 设置旋转快捷键
    • 开窗
    • allegro统一更改丝印字体大小
    • 走线部分删除
    • 蓝色三角形错误
    • 负片层网络分割
    • 查看布线或者DRC状态
    • 导出Gerber
    • 导出坐标文件
    • PCB生成封装库
    • 微信公众号

画板子边框

Board Geometry / Design_Outline, 添加矩形, 右边Options->Corners->选择圆角Round, 倒角3mm, 然后输入左下角坐标(x -45 -20.9)和右上角坐标(x 45 20.9), 这样, 板子边框就生成了.

在这里插入图片描述
接着画出Route Keepin(铺铜/负片之类的必须有, 比Outline内缩10mil以上) 和 Package Keepin, 当然也可以用Z-Copy命令.
在这里插入图片描述
在这里插入图片描述

设置路径

在这里插入图片描述
在这里插入图片描述
主要是焊盘(pad)和Symbol(psm)的路径.

导入网表

在这里插入图片描述
在这里插入图片描述

导入网表后, netrev.lst文件列出了错误和警告.

WARNING(SPMHNI-192).

WARNING(SPMHNI-192): Device/Symbol check warning detected.
下面一般会给出解释, 继续往下看.

WARNING(SPMHNI-194)

WARNING(SPMHNI-194): Symbol 'DO-214AC' used by RefDes D1 for device 'DIODE_ZENER_DO-214AC_SS54' not found.
The symbol either does not exist in the library path (PSMPATH) or is an old symbol from a previous release.
Set the correct library path if not set or use dbdoctor to migrate old symbols.

到psmpath文件夹下去查看, 发现只有DO-214AC.dra文件, 没有.psm文件, 这个好办, 打开.dra文件, File->Creat Symbol…, 创建同名的.psm文件即可.
在这里插入图片描述
一般来讲, 编辑.dra后保存会自动生成.psm文件, 但难免出现些上面的意外吧…

ERROR(SPMHNI-196)

ERROR(SPMHNI-196): Symbol '2-406549-1' for device '2-406549-1_2-406549-1_2-406549-1' has extra pin '0'.

这个是因为封装中多了一个引脚0(用作固定孔, 原理图文件没有对应引脚), 参考这一篇文章:
ERROR(SPMHNI-196)

When netlisting between Capture and PCB editor the total pin count has to match. If the package symbol (footprint) has 39 connect pins, the Capture part has to have 39 pins. Mechanical pins in the package symbol do not count. When you add pins in the package symbol you can choose to add then as connect or mechanical in the Options Tab. You can convert a connect pin to a mechanical by deleting the pin number. The pin number is text so Edit>Delete set the find filter to text and select the text to delete, select another pin or Right Mouse Done.

删除引脚号, 把引脚改成机械孔即可:
在这里插入图片描述
然后File->Creat Symbol.

WARNING(SPMHNI-337)

WARNING(SPMHNI-337): Unable to load symbol 'SOT-23-3' used by RefDes Q1 for device 'NPN_SOT-23-3_MJD44H11T4G': WARNING(SPMHUT-127): Could not find padstack R110_60. [help]

这个是少了焊盘, 把焊盘复制到padpath路径下即可.

Fix/Unfix

在这里插入图片描述
固定接口,Shape或者关键芯片, 发现删除移动不了需要先Unfix, 再操作

设置元件高度

画完Package_Geometry -> Place_Bound_Top后, 可以设置下元件高度: Setup -> Areas -> Package Height, 点选 Package_Geometry -> Place_Bound_Top 的Shape, 可以在Options中修改:
在这里插入图片描述

刷新焊盘

直接用:
在这里插入图片描述
配合Find -> Pins查看引脚焊盘名称, 复制这个名称:
在这里插入图片描述
使用everything之类的搜索这个焊盘, 修改保存, Tools -> PadStack -> Refresh:
在这里插入图片描述
在这里插入图片描述

修改并更新封装

某个接插件的焊盘有些问题, 修改了封装, 如何更新到PCB呢?

Place -> Update Symbols...:
在这里插入图片描述
点击Refresh, 弹出log提示:

------ Symbol Refresh Messages ------
‘1318772-2’ symbol starting to refresh:
ERROR(SPMHDB-243): Cannot modify element; the object or a parent has the FIXED property. [help]
ERROR(SPMHNI-254): Unable to load symbol, ‘1318772-2’: ‘Cannot modify element; the object or a parent has the FIXED property.~
[help]’.

引脚被我固定了, 点击Unfix重新解固定:
在这里插入图片描述
然后重新操作刷新即可.

隐藏某一层

比如我想把恶心的Assembly_TopAssembly_Bottom隐藏:
在这里插入图片描述

对齐元件

切换到Placement edit模式, 按住Ctrl连续选中元件, 右键Align components:
在这里插入图片描述
然后可以在Options中选择水平/竖直, 中心/座/右对齐, 还有间距等.
在这里插入图片描述

打过孔

只打过孔不走线, 还是点击Add Connect图标:
在这里插入图片描述
然后双击, 右键Done即可.

批量放置过孔可以用 Place -> Via Array.

自定义过孔后, 在Setup->User Preferences -> Paths -> Library中设置好过孔的路径, 这里我把自定义的过孔放到了padpath中:
在这里插入图片描述
然后在Cmgr中添加自定义过孔:
在这里插入图片描述

铺铜连接方式

Shape -> Global Dynimic Shape Paramerters
在这里插入图片描述

PCB翻转

元件右键Mirror, 可以把元器件放到底层, 然后进行底层布线, 一般会把PCB翻转到背面布局和布线, 这时需要 View -> Flip Design .

设置旋转快捷键

右键spin, rotate…被折磨的痛不欲生, 其实是可以设置旋转快捷键的, 如直接在Command里面输入:

funckey ' ' iangle 90      #按空格以90度旋转选中的物体, 但单引号里面是空格
funckey ~R iangle 45       #按ctrl+R以45度旋转选中的物体

当然, 这种方法下次打开就没了, 得重新输入. 如果想一劳永逸, 更改安装目录 Cadence_SPB_17.4-2019\share\pcb\text下的env文件, 加上 funckey ' ' angle 90 这一句:
在这里插入图片描述
这样, 就可以在移动的时候按空格旋转了.

开窗

Board Geometry 下 Soldermask_Top 或者 Sodermask_Bottom 画 Line 或者 Shape, 就可以让铜皮裸露.
参考 Allegro中设置开窗的方法

allegro统一更改丝印字体大小

Edit -> Change, 然后在Options选项卡中, Silkscreen_Bottom是底层丝印, Silkscreen-Top是顶层丝印:
在这里插入图片描述
之后那鼠标框选整个PCB, 就可以把丝印统一更改成想要的Text block的大小(默认的Text block的3号字体还可以, 与嘉立创的32mil高/6mil线宽相去不远).
在这里插入图片描述

走线部分删除

这个需要用到Cut, 直接看图:
在这里插入图片描述

蓝色三角形错误

如下图中的直角三角形顶点 3V3_1:
在这里插入图片描述
乍一看不知所措, , 走线的时候要把Options面板中的PIN/Vias勾上,这样才会自动捕抓PIN/Vias的中心连接,不然即使线走到焊盘上了也是没连接上, 所以删除原有线, 重新连线, 要勾选Pins和Vias:
在这里插入图片描述
下面这个Shape显示未连接也是类似:
在这里插入图片描述

负片层网络分割

Add Line, 在Anti Etch画线分割:
在这里插入图片描述
可以Find中只勾选Nets选中某一电源网络高亮作为分割参考:
在这里插入图片描述
分割完后, Edit -> Split Plane -> Creat, 选中Power层, Creat开始给分割出的负片绑定网络:
在这里插入图片描述
依次绑定分割负片的网络:
在这里插入图片描述

查看布线或者DRC状态

Display -> Status:
在这里插入图片描述
都搞到0才好. 点击左侧颜色小格子(有的可以点有的不能点)弹出未布线引脚, 点击蓝色坐标直接跳转到位置:
在这里插入图片描述

导出Gerber

设置Gerber导出路径: Setup -> User Preference…:
在这里插入图片描述
这样Gerber文件会导出到当前PCB所在目录下的Gerber文件夹.

先确保 Display->Status没有错误, 然后Manufacture->Artwork…:
默认的4层板有TOP/GND/POWER/BOTTOM, 右键Add手动添加(此处如有错误, 烦请指正):

Film NameSubclasses
TOPBOARD GEOMETRY/DESIGN_OUTLINE
ETCH/TOP
PIN/TOP
VIA CLASS/TOP
GND(用的正片)BOARD GEOMETRY/DESIGN_OUTLINE
ETCH/GND
POWER(用的正片)BOARD GEOMETRY/DESIGN_OUTLINE
ETCH/POWER
BOTTOMBOARD GEOMETRY/DESIGN_OUTLINE
ETCH/BOTTOM
PIN/BOTTOM
VIA CLASS/BOTTOM
TOPPASTEBOARD GEOMETRY/DESIGN_OUTLINE
PIN/PASTEMASK_TOP
TOPSOLDERBOARD GEOMETRY/DESIGN_OUTLINE
BOARD GEOMETRY/SOLDERMASK_TOP
PACKAGE GEOMETRY/SOLDERMASK_TOP
PIN/SOLDERMASK_TOP
VIA CLASS/SOLDERMASK_TOP
TOPSILKBOARD GEOMETRY/DESIGN_OUTLINE
BOARD GEOMETRY/SILKSCREEN_TOP
PACKAGE GEOMETRY/SILKSCREEN_TOP
REF DES/SILKSCREEN_TOP
BOTTOMPASTEBOARD GEOMETRY/DESIGN_OUTLINE
PIN/PASTEMASK_BOTTOM
BOTTOMSOLDERBOARD GEOMETRY/DESIGN_OUTLINE
BOARD GEOMETRY/SOLDERMASK_BOTTOM
PACKAGE GEOMETRY/SOLDERMASK_BOTTOM
PIN/SOLDERMASK_BOTTOM
VIA CLASS/SOLDERMASK_BOTTOM
BOTTOMSILKBOARD GEOMETRY/DESIGN_OUTLINE
BOARD GEOMETRY/SILKSCREEN_BOTTOM
PACKAGE GEOMETRY/SILKSCREEN_BOTTOM
REF DES/SILKSCREEN_BOTTOM
DRILLBOARD GEOMETRY/DESIGN_OUTLINE
MANUFACTURING/NCDRILL_FIGURE
MANUFACTURING/NCDRILL_LEGEND
OUTLINEBOARD GEOMETRY/DESIGN_OUTLINE
BOARD GEOMETRY/CUTOUT

除了OUTLINE, 其他Film Name的BOARD GEOMETRY/DESIGN_OUTLINE可以不写, 注意下图中Undefined line width可以写个2, 以免板子外形生成不了(参考 关于板外框和Photoplot outline):
在这里插入图片描述
导出的是一堆.art文件, 接下来导出钻孔文件:
在这里插入图片描述
先点Parameters…, 设置后, 点Drill, 生成.drl文件:
在这里插入图片描述
NC Route也导一下, 有时候是没有的:
在这里插入图片描述
在这里插入图片描述
把整个Gerber文件夹压缩一下.

导出坐标文件

Setup -> Design Parameters, 设置单位为mm:
在这里插入图片描述
File -> Export -> Placement:
在这里插入图片描述

还有一种方法, 也参考自 Allegro 中导出坐标文件的方法
Tools -> Reports:
在这里插入图片描述
弹出页面, 自己点击保存命名为.xls文件即可

PCB生成封装库

.brd 是PCB文件, 可以导出焊盘封装等文件, File -> Export -> Libraries…
在这里插入图片描述
然后就生成了一大堆文件:

  • .dra 文件是上图中的Device files, 可以由这个生成.psm文件
  • .pad 文件是上图中的Padstacks, 焊盘
  • .psm 文件是上图中的Package symbols
  • .txt 文件
  • .ssm 文件是上图中的Shape symbols, 焊盘覆铜层, 用于不规则焊盘
  • .fsm 文件是上图中的flash symbols, 热风焊盘, 负片层中会用到
  • .map
  • .log

微信公众号

欢迎扫描关注我的微信公众号, 及时获取最新文章:
在这里插入图片描述

这篇关于Cadence 17.4 PCB操作记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/833555

相关文章

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage

使用JavaScript将PDF页面中的标注扁平化的操作指南

《使用JavaScript将PDF页面中的标注扁平化的操作指南》扁平化(flatten)操作可以将标注作为矢量图形包含在PDF页面的内容中,使其不可编辑,DynamsoftDocumentViewer... 目录使用Dynamsoft Document Viewer打开一个PDF文件并启用标注添加功能扁平化

JavaScript DOM操作与事件处理方法

《JavaScriptDOM操作与事件处理方法》本文通过一系列代码片段,详细介绍了如何使用JavaScript进行DOM操作、事件处理、属性操作、内容操作、尺寸和位置获取,以及实现简单的动画效果,涵... 目录前言1. 类名操作代码片段代码解析2. 属性操作代码片段代码解析3. 内容操作代码片段代码解析4.

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

Python使用asyncio实现异步操作的示例

《Python使用asyncio实现异步操作的示例》本文主要介绍了Python使用asyncio实现异步操作的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录1. 基础概念2. 实现异步 I/O 的步骤2.1 定义异步函数2.2 使用 await 等待异

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6

python与QT联合的详细步骤记录

《python与QT联合的详细步骤记录》:本文主要介绍python与QT联合的详细步骤,文章还展示了如何在Python中调用QT的.ui文件来实现GUI界面,并介绍了多窗口的应用,文中通过代码介绍... 目录一、文章简介二、安装pyqt5三、GUI页面设计四、python的使用python文件创建pytho

MyBatis框架实现一个简单的数据查询操作

《MyBatis框架实现一个简单的数据查询操作》本文介绍了MyBatis框架下进行数据查询操作的详细步骤,括创建实体类、编写SQL标签、配置Mapper、开启驼峰命名映射以及执行SQL语句等,感兴趣的... 基于在前面几章我们已经学习了对MyBATis进行环境配置,并利用SqlSessionFactory核

Java操作xls替换文本或图片的功能实现

《Java操作xls替换文本或图片的功能实现》这篇文章主要给大家介绍了关于Java操作xls替换文本或图片功能实现的相关资料,文中通过示例代码讲解了文件上传、文件处理和Excel文件生成,需要的朋友可... 目录准备xls模板文件:template.xls准备需要替换的图片和数据功能实现包声明与导入类声明与