当前位置: 首页 > article >正文

Cadence学习笔记3

设置 PCB 层叠

初始我们有一个两层板,如果需要添加层叠怎么办?

点击进入层叠设置

首先右击 TOP 层下面的空白,然后鼠标右键进行 add layer

然后选择 Plane(一般层就是这个) 就好

然后 add就行

设置光标显示形式

setup -> User preference -> Display cursor -> pub cursor就好了

有三种模型可以选择:

  • 米 octal
  • 小十字 cross
  • 大十字 infinite
设置自动保存

setup->User preferences -> File Manegement -> autosave

todo 改变原点位置,显示关闭原点

调整亮度

这直接看图就行了,根据自己想法设定。

显示和隐藏网络面层

如果在 setup -> User Preferences -> Display -> opengl

同样网络就看不到了

Z-copy routekeepin 使用

routekeepin 表示允许布线区域,一般要内缩 20 mil ,内缩 20mil 的好处就是在制板或者后期拼板的过程中都不容易损伤到板子里面线过孔或者其他的一些电气对象。

使用 z-copy 命令绘制 route keepin 区域(line 或者 shape)的时候必须是封闭的,可以是矩形,也可以是划线,但必须要进行封闭。

操作:edit -> z-copy

上面是 shape 的 rectangle

下面看一下是 line 的

导入 orCAD 网络表

注意导入的时候,一定要注意文件夹是这个我的图片中没有显示,是因为 .已经是 allegro文件夹下面了。

同时在导入的时候,还会出现一个可能的错误,就是没有设置好封装库的路径,所以导入的时候要去检查一下自己封装库路径是否已经设置好了

快速放置封装

PS:放置封装的前提条件是什么?你已经画好了原理图,并且所有元器件都已经画好了封装,如果要尝试放置这个操作的话,可以在网上找一个画好的项目来进行操作,所以上面的导入网络表就很重要,不然无法生成封装之间的关系。

添加 mark 点封装

这个封装其实没有任何电气性质的,只是起下面所说的一些作用,比如打孔,固定螺丝孔之类的,这个也需要自己的封装库内有这个封装。

操作:

点开以后首先要把下面图片中的开关打开:

这样才能去库里进行筛选,直接把原理图中没有的器件加入到 PCB 中。

Mark点封装是电子制造中的一种工艺,用于在PCB(印刷电路板)上精确定位元件。以下是关键点:

定义
Mark点是PCB上的小圆形标记,通常由铜制成,表面镀锡或金,用于辅助设备识别和定位。

作用

  • 定位:帮助贴片机等设备精确找到元件位置。
  • 校准:确保设备与PCB对齐,减少误差。
  • 检测:用于自动光学检测(AOI)等环节,提升检测精度。

封装类型

  • 单Mark点:用于简单PCB。
  • 双Mark点:用于复杂PCB,提供更高精度。
  • 多Mark点:用于高密度PCB,进一步提升定位精度。

设计要求

  • 尺寸:通常直径1mm左右。
  • 位置:对称分布在PCB边缘或角落。
  • 材料:高反射率材料,便于设备识别。

应用
广泛应用于消费电子、汽车电子、工业控制等领域,确保高精度组装。

总结:Mark点封装通过精确定位和校准,提升PCB组装精度和效率,是电子制造中不可或缺的工艺。

关于栅格大小设置

一般设置为 5mil ,也就是 0.127 mm,这样子设置话比较方便,问就是经验。

显示布局相关的 subclass

PS:因为要进行布局,所以显示布局相关的 class 就好了

一开始导入封装的时候是这样的

所以我们要进行一个清理:

  1. 清除飞线
  2. 清除所有 subclass

  1. 加入需要的 subclass
    1. 打开板框
    2. 打开焊盘
    3. 打开 TOP and Bottom 面的丝印
color 命令使用(需要在底部的 command 区域输入命令)
  1. colorview create命令解释:创建一个当前 subclass 显示的缓存,方便后续直接复现当前显示
  2. colorview load命令解释:加载创建的 subclass 显示缓存,直接显示原来缓存好的显示 subclass
  3. colorview restore命令解释:返回上一个 subclass 显示的内容

演示:

1 ===>

2===>

3====>

move 移动命令

移动命令的话主要注意的是选择点击移动的器件以后,光标会在哪里的问题

有四种

  • Sym Origin 元器件的原点位置
  • Body Center 元器件的几何中心
  • User Pick 由用户点击的位置确定,这个的话需要用户点击两次,已经进入的话只要一次。
  • Sym pin# 相关 PIN 号所在位置
交互布局

原来交互布局是这样的。

  1. 首先你要在 OrCAD 中设置允许交互布局
  2. 在 OrCAD 或者 PCB Editor 中选择的时候才会相互映射。

如下图,我点击原理图中的器件我就可以移动 PCB 中的器件了。

当我点击器件的时候原理图也可以进行反馈

旋转 spin 与 move 命令

注意多个器件同样可以操作

首先简单的旋转,直接在 edit -> spin就可以了点击器件进行旋转了,旋转的控制由鼠标环绕进行完成。这里的旋转是不能进行移动了。

但是我们可以先选择移动,然后移动到位置以后右键器件,然后选择 Rotate 就可以旋转了。

镜像

镜像的话就是把器件进行一个翻转。操作位置:edit -> mirror

原来的样子:

注意点击了 mirror之后需要去选择元器件进行移动,然后再次点击进行放置,后面元器件就会进行镜像了。

fixed 和 unfixed

固定和取消固定是为了防止误操作的选项。把物体固定了以后就不能进行一些移动旋转操作了。

我对 U8 器件进行了固定,我想去移动但是移动不了:

查找器件

直接在 Find 选项框中进行查找就好了,然后软件会帮忙快速定位到器件。

高亮了我查找的器件:

一次性移动不规格区域的多个元器件

首先选择移动命令,edit -> move 然后右键点击 select polygon

绘制 package keepout 区域

有时候绘制板子的时候,我们会要求不允许放置元器件,这个时候 keepout 就要发挥作用了。

Cadence中的keepout区域是PCB设计中的重要概念,主要用于限制特定区域的布局或布线行为,确保设计符合电气和物理规则。以下是对keepout区域的详细解读:

  1. 定义与作用
    keepout区域是设计中禁止放置元件、走线、过孔或其他对象的物理范围。其核心作用是防止信号干扰、满足散热需求、避开机械结构冲突或确保高频信号完整性。
  2. 类型区分
    • 布线禁止区:禁止在该区域布线(Route Keepout)
    • 过孔禁止区:禁止打孔(Via Keepout)
    • 元件禁止区:禁止放置器件(Package Keepout)
    • 混合禁止区:可同时设置多种限制条件
  3. 设置方法
    • 物理层设置:通过菜单栏的Shape或Add命令手动绘制多边形区域,指定所在层(如顶层、内层、全层)。
    • 约束管理器:在Constraint Manager中定义区域规则,关联特定网络或元件,支持动态规则应用。
    • 属性绑定:对已有图形(如铜皮、板框)添加Keepout属性,快速生成对应限制区域。
  4. 优先级与冲突处理
    • 局部keepout规则优先级高于全局规则。
    • 不同类规则冲突时,按约束管理器中的层次结构逐级生效(如网络级>板级)。
    • 可通过DRC(设计规则检查)实时验证冲突,错误提示会明确违反的规则类型。
  5. 常见问题与对策
    • 规则未生效:检查约束管理器是否启用规则、区域是否绑定正确网络/层。
    • 误触发DRC:确认区域边界是否与焊盘/过孔存在公差范围内的重叠。
    • 柔性规则需求:使用“软keepout”(如允许短距离穿越)需结合区域规则与间距约束配合实现。
  6. 高级应用场景
    • 高速信号防护:在敏感信号线周围设置带状keepout,控制参考平面连续性。
    • 散热管理:禁止在大功率器件散热路径上放置其他元件。
    • 拼板设计:在板边设置V-cut或邮票孔区域的keepout,避免布线影响分板工艺。

总结:合理使用keepout区域能显著提升设计可靠性,需结合具体设计需求选择类型和设置方式,并通过DRC验证确保规则正确实施。

看画完以后中间的元器件在的话就会报错,DRC 会检查出来。

批量更新封装

在更新之前,首先要设置好封装库路径,然后在 place 中选择更新元器件,然后选择要更新的元器件,进行更新就好了。

最后点击 Refresh 就好了。

快速重建元器件

如果遇到元器件不小心某些部分(丝印等)被破坏了,可以选择更新元器件恢复回来。

原来的:

删除了某些丝印

进行恢复:

恢复回来了:

器件对齐操作

原来器件的位置:

然后框选中四个,然后进行右键,就可以选择 Align 进行对齐操作,options 中可以选择对齐方式。

测量器件之间的距离

首先选择测量命令,然后选择位置即可,会出现一个 Measure 的框框,其中有信息可以直接查看。

布局模块复用

什么时候会用这个东西呢?

就是在某几个布局原理图类似的时候就可以使用布局。

这里我暂时不演示,因为没有好用的案例。只简单讲述一下大概的过程。

首先进入 setup -> Application Mode -> Placement Edit -> 把复用的模块进行框选 -> 右键-> 选择 Place replicate create -> 然后就会创建一个文件->然后框选要进行复用目标模块 -> 右键 -> place relicate apply -> 选择创建的文件

关于 CM 约束管理器

简单的一个介绍的把,如果具体有需求,具体来进行使用学习

其实就是一些约束,之类的,用到的时候进行修改,约束即可。

Electrical约束类型:

  • Electrical:包含电气相关规则(如信号完整性、阻抗控制)。

Physical约束类型:

  • Physical Constraint Set:定义物理规则集合(如线宽、过孔类型)。
  • Net:针对特定网络的约束(如特殊线宽或间距要求)。
  • Region:区域约束(如局部区域的布线或布局规则)。
  • Spacing:不同对象间的安全间距(如线到线、线到焊盘)。
  • Same Net Spacing:同一网络内部的间距限制(如导线拐角间距)。
  • Assembly:装配规则(如元件布局间距、方向限制)。
  • Manufacturing:生产相关规则(如钻孔尺寸、阻焊开窗)。
  • Properties:对象属性配置(如网络名称、层分配)。
  • DRC:设计规则检查(验证设计是否符合所有约束)。

注:列表中重复的“All Layers”通常表示规则适用的层范围(如全局层或特定层),而非独立约束类型。

创建 Net class

创建了 Netclass 以后在约束中的一些属性,可以更随网络变更!插个点,以后有需要在具体来进行

创建Net class(网络类)是指将PCB设计中具有相同特性或需求的一组网络归类,并统一设置设计规则的过程。其核心目的是简化约束管理,确保同类网络的电气、物理规则一致。以下是关键点:

作用与场景

  • 统一规则:对同一类的网络(如电源、时钟、差分信号)批量设置线宽、间距、阻抗等参数。
  • 高效管理:避免逐个网络配置规则,减少重复操作。
  • 特殊需求处理:为高速信号、敏感信号等定制规则组。

创建步骤(以Cadence为例)

  1. 打开Constraint Manager:在PCB Editor中进入约束管理器(CM)。
  2. 选择网络:在“Net”或“Electrical”分类下,筛选目标网络(如通过名称或属性)。
  3. 新建Net class
    • 右键点击网络列表,选择“Create Net Class”。
    • 输入类名称(如PWR、CLK、USB_DIFF)。
  4. 分配网络:将需要归类的网络拖拽到新建的Net class中。
  5. 绑定规则:为该Net class分配约束集(如线宽、间距、差分对规则)。

常见应用示例

  • 电源类(PWR):设置较宽线宽(如20mil)以承载大电流。
  • 高速差分类(USB/HDMI):定义阻抗匹配、等长公差和间距规则。
  • 时钟类(CLK):限制布线长度、禁止靠近干扰源(通过间距规则)。

注意事项

  • 规则优先级:Net class规则优先级高于全局规则,但低于单个网络的独立设置。
  • 冲突检查:通过DRC验证不同Net class间的间距、层分配是否冲突。
  • 复用性:可将定义好的Net class保存为模板,供后续项目直接调用。

通过创建Net class,可显著提升复杂PCB设计的规范性和效率,尤其适用于多组高速信号或高密度布局场景。

创建 DDR3 差分对

创建DDR3差分对是指在PCB设计中,将DDR3内存接口中的差分信号(如时钟信号CK/CK#、数据选通信号DQS/DQS#)定义为成对的网络,并设置特定的电气与物理规则,以确保信号完整性和时序一致性。以下是具体内容:


为什么需要创建DDR3差分对?

DDR3接口使用差分信号传输数据(如CK/CK#、DQS/DQS#),这类信号具有抗干扰能力强、时序精度高的特点。创建差分对后,设计工具会强制两信号线满足以下要求:

  • 等长匹配:两线长度差控制在公差内(如±5mil),避免相位偏移。
  • 对称布线:保持线宽、间距、参考平面一致,确保阻抗匹配(通常100Ω差分阻抗)。
  • 同步走线:并行布线,减少串扰和延迟差异。

在Cadence中创建DDR3差分对的步骤

  1. 识别差分信号对
    • 在原理图或PCB中确认DDR3的差分信号网络名称(如DQS0_P/DQS0_N)。
  2. 进入Constraint Manager
    • 打开Allegro PCB Editor的约束管理器(Tools > Constraint Manager)。
  3. 定义差分对规则集
    • Electrical Constraint Set中新建规则集(如DDR3_DIFF)。
    • 设置参数:
      • 差分阻抗(如100Ω,需参考叠层计算结果)。
      • 相位公差(如±5mil,控制两线长度差)。
      • 布线间距(如线间3W规则,即间距≥3倍线宽)。
  4. 绑定差分对网络
    • Net > Differential Pair中,选择目标网络(如DQS0_P和DQS0_N)。
    • 右键点击Create Differential Pair,命名并关联规则集(如DDR3_DIFF)。
  5. 配置Xnet(跨器件网络)
    • 若差分对经过端接电阻/电容,需合并为Xnet:
      • Signal Analysis > Xnet中定义跨接器件模型。
      • 确保端接前后的网络统一视为完整路径。
  6. 设置等长组(Match Group)
    • Electrical > Relative Propagation Delay中,将差分对加入同一等长组。
    • 定义组内最大长度差(如±10mil),确保时序同步。
  7. 布线与验证
    • 使用差分对布线工具(如Auto-interactive Diff Pair Routing)完成走线。
    • 运行DRC检查,查看Electrical DRC中的差分对违规项(如相位超差、间距不足)。

关键注意事项

  • 阻抗控制:差分阻抗需与PCB叠层设计匹配,避免反射和信号衰减。
  • 参考平面连续性:确保差分线下方有完整参考层(如GND),减少阻抗突变。
  • 等长优先级:差分对内等长 > 与其他信号的等长,优先满足差分对自身公差。
  • 端接处理:靠近接收端放置端接电阻,避免信号振铃。

常见问题与解决

  • DRC报错“Phase Tolerance Violation”:检查两线长度差,使用Tuning工具(如Delay Tune)蛇形绕线调整。
  • 阻抗不连续:避免差分对换层时缺少伴随过孔(如地孔),换层处添加回流过孔。
  • 串扰干扰:与其他高速信号(如地址线)保持3倍线宽间距,或通过屏蔽地线隔离。

通过正确创建和约束DDR3差分对,可显著提升信号质量,确保DDR3接口在高频下的稳定工作。

设置区域规则

设置区域规则是指在PCB设计中,为特定区域(如高密度布线区、散热区或敏感信号区)定义独立于全局的设计规则,确保该区域内的布局布线符合特殊需求。以下是关键内容:

定义与作用
通过区域规则,可局部调整线宽、间距、过孔类型或禁止特定操作(如布线、打孔)。例如:在CPU周围设置更严格的线距以防止干扰,或在散热片下方禁止放置元件。

设置步骤(以Cadence为例)

  1. 绘制区域形状
    • 使用PCB Editor的Shape命令(如Z-Copy或Add Rectangle)绘制多边形区域,定义作用范围。
  2. 绑定规则类型
    • 在Constraint Manager中,选择Physical或Spacing规则集,右键创建新区域约束(如Region_Constraint)。
    • 指定规则参数(如区域内线宽4mil,线距3mil)。
  3. 关联区域与约束
    • 在Constraint Manager的“Region”分类下,将绘制好的物理区域与规则集绑定。
    • 支持多层规则(如仅在顶层应用特殊间距)。
  4. 优先级配置
    • 区域规则默认优先级高于全局规则,可通过调整约束管理器中的顺序修改优先级。

常见应用场景

  • 高速信号区:在差分对或时钟线周围设置更小线距,控制串扰。
  • 散热区域:禁止在散热路径上布线,或限制元件高度。
  • 连接器周边:增加焊盘与走线的安全间距,防止装配冲突。
  • 拼板工艺区:在V-cut或邮票孔附近设置禁止布线区域。

注意事项

  • 规则冲突:若区域规则与网络类(Net Class)规则冲突,需在约束管理器中明确优先级。
  • 层设置:确保区域规则仅应用于目标层(如All Layers或指定信号层)。
  • DRC验证:完成布线后必须运行DRC,检查区域规则是否被正确遵守。
  • 动态更新:修改区域形状或规则后,需同步更新约束管理器并重新验证。

通过灵活使用区域规则,可针对复杂设计中的局部需求进行精细化控制,平衡全局效率与特殊场景的可靠性。

创建 Xnet

创建Xnet是指在PCB设计中,将跨越无源元件(如电阻、电容、磁珠)的多个物理网络合并为一个逻辑网络,从而统一管理端到端的电气规则(如时序、阻抗、等长)。以下是关键内容:

作用与场景

  • 跨元件信号路径:例如,信号从驱动端经过端接电阻后到达接收端,Xnet将其视为单一网络,便于时序分析。
  • 统一规则管理:对跨越元件的路径设置整体约束(如总长度、延迟),而非分段控制。
  • 信号完整性优化:仿真时识别完整路径,准确评估反射、串扰等影响。

创建步骤(以Cadence为例)

  1. 识别目标网络
    • 确认需合并的网络路径(如U1引脚→电阻R1→U2引脚)。
  2. 定义元件模型
    • 在Constraint Manager的Signal Analysis > Xnet Models中,为电阻/电容指定模型(如理想电阻、具体阻值)。
  3. 生成Xnet
    • 右键点击主网络(如U1的引脚网络),选择Create Xnet,工具自动合并跨元件的网络。
    • 验证Xnet是否包含正确分支(如两端网络及中间元件)。
  4. 绑定约束规则
    • 为Xnet分配电气约束集(如时序延迟、差分对规则),而非单独设置各物理网络。

关键注意事项

  • 元件模型准确性:电阻/电容的模型参数(如阻值、容值)需与实际一致,否则时序计算会偏差。
  • 拓扑结构影响:Xnet仅支持简单串联结构(如驱动→电阻→接收),复杂分支需手动调整。
  • 仿真与验证:使用Sigrity等工具仿真时,需确保Xnet路径被完整识别,避免分段分析。

常见问题与解决

  • Xnet未生成:检查元件模型是否正确定义,或网络连接是否断开。
  • 时序超差:通过绕线工具调整Xnet总长度,而非仅修改单段网络。
  • 阻抗不连续:在跨元件处优化参考平面,确保阻抗一致性(如电阻下方保留完整地平面)。

通过创建Xnet,可简化高速信号(如DDR、PCIe)的约束管理,确保端到端信号质量与时序可靠性。

设置规则开关

设置位置:

这里一般全选

全部勾选

一般全部不选


http://www.kler.cn/a/586860.html

相关文章:

  • 读 Gemma 3 二分
  • 《Python全栈开发》第10课:数据库入门 - SQLite与SQLAlchemy
  • 利用 OpenCV 库进行实时目标物体检测
  • 大数据-spark3.5安装部署之standalone模式
  • uniapp报毒
  • lanqiaoOJ 1180:斐波那契数列 ← 矩阵快速幂
  • 找工作、创业的思考和出路
  • JVM之工具篇
  • 华为手机助手输入连接码时光标乱跳
  • 数据结构(C\C++)——算法复杂度
  • Django 分页操作详解
  • 【CodeMirror】系列(一)官网文档学习(二)核心扩展列表
  • Jetson Nano NX 重装系统
  • CSS3学习教程,从入门到精通, CSS3入门介绍的语法知识点及案例(1)
  • ssh通过22端口无法连接服务器问题处理
  • Python----数据可视化(Pyecharts三:绘图二:涟漪散点图,K线图,漏斗图,雷达图,词云图,地图,柱状图折线图组合,时间线轮廓图)
  • Java方法继承、方法重载、方法覆盖总结
  • Hive SQL 精进系列: IF 函数的强大功能与高级应用
  • Qlik Sense New Install with Restore
  • 【PlatformIO】基于Arduino的ESP8266 锂电池电压、电量测试