写在前面
- 文章可以学会整个PCB设计流程,具体内容不一定适合所有的板子,但是大体上差不多
- 本来是为了写一个软硬结合板设计的zone使用,后面写成了全流程,所以内容很多。
- 适合初学者,可以跟着一步一步看。了解allegro整个设计流程,算是比较规范化
- 我也算深耕allegro PCB设计8年了,但是我也不能说功能都明白,有些也是初次使用研究,甚至有的我都是skill一键完成的,比如光绘设置,丝印调整,如果有错误的,请留言斧正。
PCB软硬结合板全流程设计
- 写在前面
- 1.1设置板框
-
- [1.1.1 导入DXF](#1.1.1 导入DXF)
- [1.1.2 制作板框](#1.1.2 制作板框)
- [1.1.3 制作布局布线区](#1.1.3 制作布局布线区)
-
- [1.1.3.1. 制作布线区](#1.1.3.1. 制作布线区)
- [1.1.3.2. 制作布局区域](#1.1.3.2. 制作布局区域)
- [1.1.3.3. 返回结构](#1.1.3.3. 返回结构)
- [1.2. 导入网表放置器件](#1.2. 导入网表放置器件)
-
- [1.2.1. 网表导入导出](#1.2.1. 网表导入导出)
- [1.2.2. 放置器件](#1.2.2. 放置器件)
- [1.3. 开始布局](#1.3. 开始布局)
- [1.4. 设置软硬结合处禁布区](#1.4. 设置软硬结合处禁布区)
- [1.5. 设置层叠](#1.5. 设置层叠)
-
- [1.5.1. 设计总层叠](#1.5.1. 设计总层叠)
- [1.5.2. 设置软板层叠](#1.5.2. 设置软板层叠)
- [1.6. 设置软板区域Zone](#1.6. 设置软板区域Zone)
- [1.7. 规则设置](#1.7. 规则设置)
-
- [1.7.1. 分别建立软板规则和硬板规则](#1.7.1. 分别建立软板规则和硬板规则)
- [1.7.2. 创建Region-Class](#1.7.2. 创建Region-Class)
-
- [1.7.2.1. 创建net class](#1.7.2.1. 创建net class)
- [1.7.2.2. 创建区域规则](#1.7.2.2. 创建区域规则)
- [1.7.2.3. 创建分配Regoin-Class](#1.7.2.3. 创建分配Regoin-Class)
- [1.8. 软板区域Zone分配区域规则](#1.8. 软板区域Zone分配区域规则)
- [1.9. 开始布线](#1.9. 开始布线)
- [1.10. 丝印调整](#1.10. 丝印调整)
-
- [1.10.1. 设置字号](#1.10.1. 设置字号)
- [1.10.2. 调整位号字号](#1.10.2. 调整位号字号)
- [1.10.3. 调整文字位置](#1.10.3. 调整文字位置)
-
- [1.10.3.1. 打开Label tune调整工具](#1.10.3.1. 打开Label tune调整工具)
- [1.10.3.2. 主要调整介绍](#1.10.3.2. 主要调整介绍)
- [1.10.3.3. 高级调整设置](#1.10.3.3. 高级调整设置)
- [1.10.3.4. 开始调整](#1.10.3.4. 开始调整)
- [1.11 出钻孔表](#1.11 出钻孔表)
-
- [1.11.1. 钻孔表设置](#1.11.1. 钻孔表设置)
- [1.11.2. 生成钻孔表](#1.11.2. 生成钻孔表)
- [1.12. 光绘](#1.12. 光绘)
-
- [1.12.1. 光绘设置](#1.12.1. 光绘设置)
-
- [1.12.1.1. 基本参数设置](#1.12.1.1. 基本参数设置)
- [1.12.1.2. 添加光绘文件设置](#1.12.1.2. 添加光绘文件设置)
- [1.12.2. 光绘输出](#1.12.2. 光绘输出)
- [1.13. 输出钻孔文件](#1.13. 输出钻孔文件)
-
- [1.13.1. 钻孔参数](#1.13.1. 钻孔参数)
- [1.13.2. 输出钻孔文件 .drill](#1.13.2. 输出钻孔文件 .drill)
- [1.13.3. 输出异形孔文件](#1.13.3. 输出异形孔文件)
- [1.14. 坐标文件输出](#1.14. 坐标文件输出)
-
- [1.15. 文件打包](#1.15. 文件打包)
- [1.16. 小拓展:软板弯起来](#1.16. 小拓展:软板弯起来)
-
- [1.16.1. 设置弯曲位置](#1.16.1. 设置弯曲位置)
- [1.16.2. 选择3D锚点](#1.16.2. 选择3D锚点)
- [1.16.3. 打开3D视图](#1.16.3. 打开3D视图)
1.1设置板框
1.1.1 导入DXF
- 在菜单栏中选择file--->import --> DXF

- 设置导入的DXF层叠
一般导入的Class位置都为Board Geometry ,然后新建一个SubClass 如:DXF_20250505,然后再映射到所有层。

- 最后点击import
1.1.2 制作板框
-
先复制导入的DXF线段出来再编辑,尽量不要在导入的DXF原线段编辑,避免操作失误,可以重新做板框。

-
使用闭合shape工具,把线段更改为闭合的shape,方便其他操作和修改

-
注意1:要选择Outline层之后,再框选线条。将得到闭合属性的Outline
-
注意2:如果线段不是闭合的,将无法完成Compose Shape命令操作
-
注意3:17.2以后的版本建议制作Design outline。方便3D视图。其实后期版本都应该去做Design outline,而不是制作一个outline。软件后期的板框外形主要是识别Design outline。可以在Class Board Geometry 下的 subclass中找到Design outline。方法是与制作outline一样的。为了向下兼容,通常我是两个都画了。
1.1.3 制作布局布线区
- 提醒:此区域都是属于辅助区域,制板文件实际不需要这两个线段的,所有观察有的brd文件都没有这两个区域。个人的建议是制作并打开显示,方便约束,尤其是布线区。强烈建议制作,后续布线,铺铜皮都会使用到。
1.1.3.1. 制作布线区
- 编辑菜单中,使用Z-copy命令,复制出Route Keepin---布线区。因为之前outline使用shape制作的,所以才能使用Z-copy命令复制。
- 原因:板厂制板时候,铜皮紧贴板边会出现铜皮毛刺,卷边问题,所以都会建议内缩铜皮,一般制板厂要求至少内缩8mil,或者10mil。如果出现V-CUT等拼版工艺,该位置的内缩会更大,所以建议是直接使用20mil。

1.1.3.2. 制作布局区域
- 同样的办法,设计制作Package Keepin---布局区域。
- 原因:布局区域主要是避免器件太靠近板边,在安装或者运输过程中出现撞件风险,所以至少内缩1mm ,方便布局的时候观察到板边的距离。DRC也会有报错提示。

注意:制作的时候都可以把void勾选上,可以保证复制的外形是一致的。
1.1.3.3. 返回结构
- 制作完之后,把所有的信息都移动回结构上去。方便观察板框是否一致。

1.2. 导入网表放置器件
1.2.1. 网表导入导出
- 先在原理图中出好网表,然后在PCB界面中,点击菜单栏file---> Import ---> Logic/Netlist 导入网表。

1.2.2. 放置器件
- 菜单栏下Place---> Quickplce 快速放置器件。

1.3. 开始布局
- 这个就是根据结构和自己PCB情况自己布局了
1.4. 设置软硬结合处禁布区
- 在软硬结合板的结合区位置,需要设置禁布区域,该位置不能有铜皮和过孔。这个跟DFM和板厂工艺有关系,不展开细说。根据自己板厂工艺调整。

- 如图,画一个route keepout,top和botm都需要。位置属于软硬结合区开始,向硬板区域衍伸1mm。

1.5. 设置层叠
1.5.1. 设计总层叠
a) 点击快捷图标,打开层叠设置。先设置一个6层板。四层板也可以,个人根据自己的需求设置,材料厚度建议填写清楚。


- 把信息层叠信息都填好。

1.5.2. 设置软板层叠
a) 首先打开中间层显示模式。

b) 添加一个FPC层叠

c) 勾选软板层叠

- 注:可以在2-3层中间添加更多的材料,比如软板的覆盖膜,然后勾选,这样在3D视图中会更清晰。此处不做展示。
1.6. 设置软板区域Zone
- 在Setup菜单下,选择Zone→Create

- 绘画的铜皮框选全部软板区域。

- 如果区域是异形,可在画布空白处右键,选择Add shape,然后开始绘圈出软板区域,然后右键Close,完成FPC绘画区域。

1.7. 规则设置
1.7.1. 分别建立软板规则和硬板规则
- 根据自己的需求,建立阻抗规则
- 如图,我的FPC将会有3种阻抗,因此设计了3个规则,其他区域为常规阻抗。因为硬板和软板的板材不一样,所以每一种规则都建立两个,分别对应硬板区域规则和软板区域的规则。
- 阻抗线宽是自己根据层叠计算或者板厂提供哈。别乱写了。

1.7.2. 创建Region-Class
1.7.2.1. 创建net class
- 首先创建对应阻抗的class ,右键空白处,创建class

- 对创建好的class添加成员。


- 选择对应匹配阻抗,注意我们都默认使用的是硬板区域的阻抗。

1.7.2.2. 创建区域规则
- 右键创建区域规则,在弹出的窗口中键入区域规则名称。然后点OK


- 为FPC区域匹配一个规则,并匹配规则。如下图,匹配FPC-50。表明了,该处区域如果是控50ohm的走线,会直接匹配FPC-50 区域的线宽。

此使走线从硬板穿越到软板的时候,线宽就会自动调整了。

1.7.2.3. 创建分配Regoin-Class
- 右键选中刚刚建立的FPC区域规则

- 依次选中Class,如图,我选择了90ohm,100ohm,50ohm的Class,因为我的PCB中只有这3种阻抗。最后点击OK.

- 在匹配阻抗的位置下拉,匹配对应的FPC区域的阻抗
注意:50ohm的class可以不用添加了,因为创建FPC区域的时候默认添加了软板区域50ohm阻抗。所以不用重复了。

- 解释一下:我们已经画了一个区域规则,但是有多种阻抗线。区域规则一般只对应改变某一种线宽,比如我们最先分配的50ohm的线宽,硬板区域3mil,软板5mil,当你走线过去的时候,就会自动调整为5mil
- 但是,该区域还有其他走线,如果重复画区域规则,如下图,它不能直接清楚的知道优先那个阻抗,所以就只有一个线宽,单线可能和差分是相同线宽(当然,也可能是我技术不精,不知道怎么调整哈) 。

所以我们就建立Region-Class。 - 这个表明了,本来匹配Diff100的差分走线阻抗,出现在FPC区域的时候,会变成匹配FPC-100的差分阻抗。这个时候,一个区域规则,就可以约束多种阻抗线了。
1.8. 软板区域Zone分配区域规则
- 之前我们创建Zone的时候,系统会在该区域默认划分一个区域规则,可以打开all的区域规则查看的。

- 菜单栏Setup 进入到Zones区域规则管理中,选择对应的该位置需要对应匹配的区域规则即可

- 注1:如果先建立好的规则,可以在建立ZONES的时候就直接匹配上,不用再次进去管理再匹配了,这个自己研究一下就行了,很简单的。
- 注2:创建ZONE时建立的REGION ALL是无法手动删除的,必须通过SETUP 进入到ZONES区域规则管理中,删除对应的ZONE才能删除该区域规则。不要乱删线条,否则后面可能就直接无法删除区域规则了。
1.9. 开始布线
- 一阵操作,布线完成。

为了过回流焊,做了一个拼板,增加辅助边。

*我发现这个调丝印细说内容很多,所以就先简单说说,后面再出专题吧。本次主要是走全流程。*
1.10. 丝印调整
1.10.1. 设置字号

我一般使用2,3号字体,参数设置如下:

1.10.2. 调整位号字号
- 颜色管理器中打开位号显示

- 使用变换change功能,修改字号

然后鼠标框选画布中所有文本即可
1.10.3. 调整文字位置
1.10.3.1. 打开Label tune调整工具

1.10.3.2. 主要调整介绍
- 打开之后,在主要界面进行设置,设置内容主要是对象"refdes"、层面"silkgreen"、外框数据"Outline data"
Outline data是表示获取器件大小的,比如refdes要放置在器件中间,异形器件中间怎么获取呢?就是从装配层Assembly的数据中获得中心位置,是不同于器件原点的。

1.10.3.3. 高级调整设置
- 在高级选项中,主要是针对文字旋转的角度设置。一般Bottom面都是使用0,或者270°。具体设置可以参考下图。

1.10.3.4. 开始调整
- 配置好label tune之后,框选器件,即可调整丝印


- 调整到这个程度之后,在使用move命令,手动移动丝印即可。

1.11 出钻孔表
1.11.1. 钻孔表设置
- 首先需要检查设置一下钻孔表,点击
进入。一共四个参数类型

- 提示:一般我设置就检查3个:精度、标识、钻孔重复
- 精度这一块儿其实在设计封装的时候就应该填写清楚的。所以,有精度的钻孔我不会管,有的可能只能是正公差,所以负公差为0。其他为0,0的可以根据自己的情况去填一下,避免EQ板厂重复询问。
- 标识我会自己填字母做标识,有些也有用钻孔数字的,这个也可以自己填,其实对于生产没有什么影响。
- 钻孔重复,这是我之前工作的规范,钻孔不要出现重复,可能也不是必须。所以我还是会都检查重复,并和合并。方法如下图。

- 填好钻孔表之后就点击OK
1.11.2. 生成钻孔表
- 参照下图设置即可。其他都保持默认。

1.12. 光绘
- 关于光绘设置这个点,大概很多新接触PCB的同学都会觉得有点复杂,因为不知道究竟要怎么去分别设置这些东西。其实大体就是如下几种
线路层 ---(需光绘添加)
钻孔文件 ---(需光绘添加)
阻焊层 ----(需光绘添加)
板框 --- (需光绘添加)
丝印层 --- (需光绘添加)
钢网层 --- (需光绘添加)
坐标文件 --- (文件直出)
装配图 --- (需光绘添加)
黄色标记是制板厂需要的,无标记的是贴片厂需要的。这只是非常简单的分类,再细致一点,还需要光绘设置中把阻焊,钢网,钢网分为TOP层和Bottom层。具体分类打包可以参考下图

1.12.1. 光绘设置
1.12.1.1. 基本参数设置
- 我们需要先设置参数

- 然后返回光绘页面。我个人都是写了脚本,一键创建的光绘。所以原来默认的光绘设置我也不知道是啥样,就把之前的都删除了,重新添加。这里就教一下光绘添加的办法。
- 首先在右边设置参数。
a. 设置默认线宽5mil
b. 正负片根据自己设计图纸勾选,正片设计:✔Positive,负片设计:✔Negative

1.12.1.2. 添加光绘文件设置
- 上面设置好参数并返回光绘设置页面后,可以不关闭窗口,直接点击颜色管理器。添加什么层,就打开对应的显示。比如,添加TOP走线层。

- 添加光绘

- 定义名称TOP。然后点击OK。此时光绘层中就包含了刚刚打开显示的层面。然后就是把我刚刚说的各种层都添加上,就算设置完成了。

- 再比如添加sold层面,输入SOLD关键字,就会直接筛选与阻焊有关的层面,勾选他们之后,添加光绘。

其他添加办法也是一样的。自己摸索一下。
另外我自己一般都是outline为单独的光绘层,所以这些地方我都没添加。我的个人建议是线路层outline不要添加,因为DFM的时候,如果走线铜皮有跟outline相切,会报短路。其他的层,如果丝印,阻焊各位想添加outline就添加吧,不重要。
1.12.2. 光绘输出
- 之前设置的时候忘记提醒一个设置,就是参数设置精度咱们设置为5,5.

- 设置完之后,建议挨个检查光绘设置是否是正确的。

- 然后选择所有的光辉层,点击Create Artwork

1.13. 输出钻孔文件
1.13.1. 钻孔参数
- 依照下图步骤,对钻孔参数设置

- Automatically create...这个是自动生成铣刀定义,主要是针对异形孔,非圆形孔的辅助定义文件。
- Enhanced Excellon... 这里是丰富Excellon文件内容,使其包含刀具转速,进给速度等其他信息。
1.13.2. 输出钻孔文件 .drill
1.在菜单栏Manufacture下进入NC ---> NC Drill
- Auto tool select 强烈建议勾选,会优化钻孔排序,板厂钻孔时会减少换刀头和移动距离。
- Include backdrill 如果有背钻孔请一定勾选。

1.13.3. 输出异形孔文件
- 这个很简单,从菜单栏进去之后,直接点Route,然后点击OK。就完成了。
注意:如果PCB中没有存在异形孔,是不会有文件的。如果有,将会生成.rou文件。

1.14. 坐标文件输出
- 输出坐标文件,以供贴片厂贴片使用。
提醒:
a. 符号原点:其实就是自己建封装的时候,给封装设定的原点。
b. 器件中心:一般以封装的place bound的中心作为原点。

1.15. 文件打包
可以考虑做打包文件。方便发给板厂或者贴片厂生产。

1.16. 小拓展:软板弯起来
在3D视图中,为了更好的观察软板弯折情况,通过下面的方法,可以得到一个很好的呈现。

1.16.1. 设置弯曲位置


1.16.2. 选择3D锚点
- 设置完之后,通过setup ---> Anchor 3D view设置一个3D查看的锚点。

- 注意看命令栏提示信息。我是输入了一个坐标,由于我的原点位置,所以知道这点在design outline内。各位也可以直接打开design outline图层,然后鼠标点选一个点。

1.16.3. 打开3D视图
- 点击图标
,进入3D视图窗口。

- 在视图中右键,选择bend。

- 设置弯曲角度

