6 层高速 PCB 设计实战:逻辑派 FPGA-G1 开发板布局布线详解
详细记录了基于 EDA 工具进行 6 层高速 PCB 设计的完整流程,涵盖逻辑派 FPGA-G1 开发板的原理图导入、模块化布局、叠层设置、阻抗控制、DDR/HDMI 等高速信号布线及等长处理。内容包括电源树分析、DCDC 模块布局、差分对规则设置、DRC 检查优化及 Gerber 文件导出等关键步骤,旨在为 FPGA 开发板的高速 PCB 设计提供实践参考。

详细记录了基于 EDA 工具进行 6 层高速 PCB 设计的完整流程,涵盖逻辑派 FPGA-G1 开发板的原理图导入、模块化布局、叠层设置、阻抗控制、DDR/HDMI 等高速信号布线及等长处理。内容包括电源树分析、DCDC 模块布局、差分对规则设置、DRC 检查优化及 Gerber 文件导出等关键步骤,旨在为 FPGA 开发板的高速 PCB 设计提供实践参考。

立创·逻辑派 FPGA-G1 是一款面向学习和开发的国产 FPGA 开发板,采用 FPGA 与 ARM Cortex-M 内核相结合的异构架构。
主控: GW2A-LV18PG256C8/17、GD32F303CBT6
(1)FPGA 芯片:高云 GW2A-LV18PG256C8/I7
ARM 微控制器:兆易创新 GD32F303RET6
c) 存储芯片
需要多种电压轨:
新建图页,重命名为电源树。从官网获取原理图并导入 EDA 工具。
找到电源源头(通常为 5V_IN),放置矩形框和文本标识。根据电流大小绘制折线引出。查看芯片数据手册确认最大输出电流。
记录电源转换路径,例如 3V 未进行转换则结束,继续查找 1.5V 转 VTT_DRAM 等。
创建 PCB 工程,更新转换原理图到 PCB,检查器件是否遗漏。
全选器件,点击布局,使用元件区域分布功能使元件分布整齐。
从开源硬件平台获取 DXF 文件,导入文档层。选择导入文档层以包含结构信息。
导入后会有顶层和底层两个 DXF 线条。选中线条,将其转换为板框层。打开 3D 预览查看板子大小。
导入官方设置的快捷键配置文件,提高操作效率。
隐藏所有飞线,开始模块化布局。
按模块进行布局分割:
总体预览,确保布局清晰,进行模块化布局。
DXF 包含地层和定位层。直接移动可能导致孔位不重合。需选中按下 X 进行镜像,然后吸附圆心移动到顶层圆心处。
进行结构基线的摆放,吸附 GND 孔、排线、HDMI 接口、USB 接口、JTAG 下载口、TF 屏幕座子、TF 卡座、按键等固定位置。
注意引脚方向和位置,MCU 下载口也需吸附好。
遵循先大后小的原则。先放大器件,小器件稍后调整。
ESD 器件要靠近 HDMI 端子。将所有器件抓起,除了接口。抓取电容和二极管进行布局。将 GND 设置为灰色以便识别。调整位置保证线路顺利。0Ω电阻摆过来,一一对应。上下拉电阻靠近各自管脚放。
晶振电路已摆放,处理复位电路。按键已固定,移动其他元器件。放在复位引脚附近。
抓取 TFT 底座。先放滤波电容,放在 3.3V 的位置。顶层放不开可放在底层,管脚对齐。
一个 3.3V 对应一个滤波电容。抓取测试点,合理布局。
抓取下载接口,先抓取电容,布局剩下的测试点。
打开飞线进行布局,按照飞线摆放。
按键固定,抓取其他三个元件。
为了防止静电,靠近接口去放。
先把模块都抓取过来,根据飞线位置进行布局。
找个 3.3V 的地方放下,不好走线再调整。
抓取电阻、电容。顶层器件太多可先放在底层。
打开飞线,按照飞线摆放元器件。以底下为基准布局,让上面元件对齐。
布置按钮边上的元件。剩下的三个是另一个按钮的保护电路。
根据飞线暂时放置,有问题再放到底部。剩下测试点放在一边,等电源模块重新布局时放在电源模块边上。
RRD 元件布局规则:一片 DDR 不用对称,尽量靠近 CPU。两片 DDR 需对称布局。滤波电容一定要靠近引脚放置。串联端接电阻一般放在 CPU 端,并联端接电阻一般放在 DDR 端。T 端结构串联端接电阻放在 T 点,并联端接放在最后一片 DDR 后面。
DDR 元件的摆放:抓取滤波电容,暂时不摆放(后续扇出过孔)。抓取端接匹配电阻(单端 50Ω,差分 100Ω)。给 VTT 电源网络更改颜色。打开飞线布局,多余的放在底部。
布局规则:找到主干道(5V 和 3.3V 输入输出)。部件紧凑,电源路径尽量短。布局时电容靠近主干道,先大后小。电感垂直放置。反馈路径框起来。
DCDC 模块布局:抓取 3.3V、1.5V 输出电源、1.0V 电路。抓取滤波电路,放在 FPGA 下面,打过孔后放在 FPGA 旁边。
5V 进来经过元件优先摆放。靠近 5V 进行摆放。经过 ESD 器件之后经过滤波电容。找到差分元件的 ESD 器件,跟差分线对齐。CC 管脚的下拉和上拉根据管脚布局。
1.5V 布局:输入和输出回路的电容抓出来。顶层不好布局直接放在底层,贴着引脚放。反馈电容电阻抓起来,利用空间。自举电容放在合适位置。
1.0V 布局:复用布局布线,选择参考对象。相邻电感摆放需要垂直。更改颜色区分。
3.3V 布局:最终布局,放置 DDR 模块电源。
电源布局:VREF_DRAM 和端接电阻靠近。抓取滤波电容。抓取 DDR3 电源,先抓输入,后抓输出。抓取电阻按照管脚摆放。抓取输入输出。VREF_DRAM 电容抓取,剩下三个按照连接摆放。测试点一个电源一个地。滤波电容等扇孔时摆放。
3D 预览:查看布局情况。
更改排针模型:搜索 H5,设置 Z 为 1.8,Y 旋转 180°。更新后 H6 一样设置。排针都在下面了。
多层板层数选择看元件飞线最密的地方。DDR 工作频率最高。四层板可能放不下,六层板正好有三个走线层。
方案一:顶层、GND、信号层、电源层、GND、底层。有两个 GND,吸收噪声干扰。 方案二:假八层,四个走线层。适用于逻辑派 FPGA 板子。注意相邻走线层串扰,介质层拉大一点。 方案三:GND 和电源层互换。底层器件无法参考 GND。 方案四:比第三个差,信号层跨分割会造成阻抗不匹配。
暂定方案一。改为对应的层数和配置,直接铺铜。
传输线与平面之间形成寄生电感、电容、电阻。特性阻抗是综合参数。
高速线路中不能单纯当作理想线路。
嘉立创阻抗神器计算阻抗:常见单端 50Ω,差分 90Ω/100Ω。修改参数为板子厚度 1.6mm。查看结果,按生产完成后的板子数据进行设计。
应用计算好的阻抗:将线宽设置为 50Ω阻抗线宽,让板厂调节。
安全间距:按照最小安全距离开始。 过孔直径,外径设置:控制过孔尺寸以符合免费打板规则。
添加电源网络类,电源线加粗。设置电源规则,绑定电源网络。调节 POWER 导线规则。
依次添加差分对规则,命名为 FPGA_IOT24 等。共二十多对差分对。
点击自动生成,改为 N,P。选中所有差分对,点击应用。添加 USB 90Ω差分对。确定差分对规则,将 USB 这对差分改为 90Ω。
选择元件,右键扇出布线。操作类型新增,点击应用。
1.0V 滤波电容摆放:抓取 1.0V,按照引脚放置。一大一小电容为一组。调整过孔,选择参考点移动。抓取其他电容暂时放起。 3.3V 滤波电容的摆放:抓取 3.3V,按照 Bank 去放置。找到 FPGA 的 BANK3 的 3.3V 去放置电容。 1.0V 滤波电容的摆放:把 bank7 的抓出来,找到 bank7 的引脚放置电容。开启 bank5 和 bank6,将线拉出。
找到 DDR 模块,扇出布线。类型选择新增。
尽量一个管脚匹配一个电容。两个 VREF 也塞进来。
抓取 DDR3 的级联电阻,下面的也抓出来。找到自己的位置进行连接。为了好走线,放在 top 层。按照位号全都连接到一起。电源填充,方便底层和顶层连接。接地两两组成一个。顶层也是填充区域。
先将其他的 HDMI 线连接完成,然后进行差分对的连接。GND 和差分线打出过孔。电源也打出过孔。后面的差分要有伴随地过孔。复制粘贴。
把 5V 的电源补上铜皮。补两个地过孔,对高速信号进行屏蔽。
电源线连接上之后,要地过孔处理。接地的也一样。可以直接连接的信号线直接连接。连接上测试点,放上过孔。
连接晶振,给晶振进行包地处理。按照 MCU 的管脚连接。
电源线能加粗的就加粗一下。绕一下完全连接好。拉出线方便对 TF 卡和 ESD 器件连线用。
对按钮进行打孔。
做 LCD 屏幕的扇孔。扇出孔来方便布线。调整过孔。管脚交叉打两排孔。连番调整布局和布线。飞出并连接上。填充区域增大载流能力。
设置 MSD 通过调整飞线位置和距离。短线已经链接完成,长线需要链接。
差了一个地过孔没有摆出,给扇出然后和下面的对齐。尽量每一个 GND 都留有一个回流地过孔。从按键开始一步一步与 FPGA 进行扇出布线。尽量连接成串联的形式。每一个接地都给一个回流地过孔。按键区域连接完成。调整 LED 灯的电路,元件占位置,再调整一下。扇出打孔再进行连接。
进行晶振处理和包地,晶振线能尽量加粗就加粗。
模块基本完成。略微修改之前的布局,进行连接根据扇出的引脚。
找到数码管,把线都拉出来。下面的线也拉出来,拉成一排。依次连接然后进行扇出过孔。
将 JTAG 接口的 5V 电源进行填充,然后放上过流孔。GND 也是如此。将测试点进行连接。远处的信号线打过孔,然后扇出。GND 扇出回流孔进行回流。FPGA 的外设部分基本扇出完成。
尽量采取铺铜处理,还要打孔过流。电感下面不要去走线,还要进行挖空防止电磁干扰。
电源多给几个扇孔。进行铺铜和多加几个地过孔增加过流能力。调整模块位置,开始连线。进行一个包地处理。差分线的初始。将 5V 电源的 GND 填充,进行回流孔。将输入的 5V 进行填充处理因为过孔多,增大过流能力。包裹上。地也给包裹上。顶层也进行连接。
输出的 3.3V 也需要进行填充。输入的电感也需要进行填充。3.3V 的电源增加几个地过孔。GND 也包起来。连接反馈。最终样子。后续优化布线。复用布局布线,然后再慢慢调整。
将电感旋转之后,删除报错的填充区域,然后从新填充。重新将电感填充起来。将 1.0V 的电源填充。镜像一下,将 GND 也给包裹上。连接一下反馈。将顶层也包裹好。
复用布局布线,把 1.5V 电源拉过来,慢慢调整。复制这个填充区域。和前两个电源模块一样进行扇出。1.5V 的电源模块完成。电流不大,进行两个扇孔就好,和下面的对齐。进行填充。
GND 的回流进行填充。 1.5V 供电:最好是一块铜皮。电源模块的线进行加粗处理。打好孔,站好位置。1.5V 的直接复制位值就好。输入进行铺铜。填充完了也进行连接。调整一下,让输入和输出的地都流回到芯片内部。将回流孔和电源全部都圈起来填充。电源部分的扇孔完成。
保证特性阻抗,单端 50Ω,差分 100Ω。打开差分对,DDR 的差分线有三对(时钟、LDQS、UDQS)。数据线分三个组,高 8 位,低 8 位。设置 3W 规则(导线中心到导线中心有 3 倍线宽的距离)。嘉立创 EDA 线距是导线边缘到导线边缘,所以应该是 4.3×2。
DDR 高八位数据的正负线。LDM 也是低位的。低八位所有的线。高 8 位所有的线。打开原理图看到地址线。新建网络命名为 DDR3,搜索。把所有的都添加进来。设置分类可以更快找到需要连接的线和更改线的颜色。
低 8 位更改颜色。打开飞线。
ADDR 地址线给一个颜色。将 ADDR 安全间距修改为 3W 规则。D0-D7 也是 3W 原则。D8-D15 也是 3W 原则。
优先走第三层,参考地层。先从低 8 位开始布线。
来到第三层,优先走差分线。布线模式调成忽略,强行连接。不能强行连接的拉出来。调整过孔位置。查看走线。
布线 DDR3 的高八位数据线。调整过孔。有错误一点一点改正,直到 DRC 没有报错。调整地址线的走线。上面的线在第三层也可以走。修改后这几层的连线。DDR3 的地址线完成。
打开 HDMI 模块的飞线,更改网络颜色。如果直接拉过来发现交叉。FPGA 输管脚有对应的电容,放在 3.3V 的输出进行滤波。把孔扇出到中间。调整过孔为 N,P 为一对。不断调整过孔,走线。终于把 HDMI 和 USB 的差分引出来了。
每个 Bank 的线都要做等长调节。Ctrl+R 打开飞线。Bank 0-7,其中 4,5,6,3 的 Bank 线已扇出完成(DDR 的线)。
设置 Bank0 的网络类,设置颜色。引出管脚做等长调节。找到管脚号一一找到。打开飞线。新加一个网络类起名 Bank0。截屏悬浮,一个一个找到 Bank0 的网络类加入。设置颜色。进行等长调节。先把线都拉过来,一个一个对齐。阻碍地电容调换位置。将两队差分对换层,方便布线。修改规则让一个通道可以走两根线。放置约束区域,选择第三层。创建完成差分对区域。调整完线路后,把约束条件搞小一点。
截图,一一对照将 Bank7 的差分对进行添加网络。更改 Bank7 颜色。打开飞线进行布局。处理回流地过孔。修出来方便 Bank7 走线。先连接上,报错以后修理。一边等长一边调节 DRC 报错。
悬浮起来,一一对照导入 Bank1。添加完成后下一步。打开飞线。调整过孔。先走完线,等到等长调节时候再去调整 DRC 错误。
进行分类和添加。LVDS 当做单端处理。添加完成。打开飞线。这边可以出两根线,因为是单端信号。在 FPGA 里面满足不了 3W 原则,出来了尽量满足 3W 原则。Bank2 的线完成。暂时这样子,后面等长调节时候进行 DRC 修改。
依旧依次加入。IOR35 不需要添加。带字母的是外设的线。设置一个颜色。打开飞线进行布线。在 FPGA 里面无法进行 3W 间距,在外面尽量满足 3W 间距。妨碍的电容先放在电源的输入。先把所有的线都拉出来。这一组线完成,后续调整差分对等长时候再去详细调整 DRC。
打开所有飞线,关闭电源和 GND 的飞线。大多数飞线集中在 FPGA 上方,优先级不高,保证连通就好。除了电源基本上都布置完成了,等修改完电源,就进行 DRC 检查和等长调节。
输入进来的 5V 和 1.0V,3.0V,1.5V 是重要的四个电源。第 3 层信号参考第 2 层,第 4 层信号参考第 5 层。
放置铺铜区域在第 4 层。都是 5V 的网络。板框边走一圈地。选择铺铜区域,最小优化宽度更改为 5mil。点击设置。连接方式更改为直连。铺铜间距修改一下。Shift+B 重建铺铜区域。铺上铜,载流可能会不够,来到底层。多出走线加填充区域,增大载流量。添加 10mil 的斜角。一根 40mil 的线直接拉到底下的 5V 输入。距离板框有一个地过孔的距离。这边的 5V 直接填充就行。
处理 DDR 的线,第 4 层处理不完,用第 5 层处理。先铺铜,再去考虑信号划分割。第 4 层发现有导线,需要包裹起来。尽量让第 4 层的线不要化分割。修补一下,让 1.5V 全都连接上。
将 VREF 电源连接上。连接完成。
绕开信号线。补充地过孔,修改铜皮。防止干扰重要线给两个过孔。修改铺铜区域,确保不会影响信号线走线。DDR 区域的电源 5V 处理完了。
1.0V 的线在底层。先一个包地处理。进行铺铜。选中两个铺铜区域,布尔运算,合并铺铜区域。将妨碍铺铜的电容拿到电源输入的地方。最后一个 1.0V。选中这两个区域,进行铺铜合并。
第 5 层电源层将整个平面全部铺铜为 3.3V。还有几个 3.3V 的在 1.5V 的电源内没有铺上,修改一下。用铺铜区域圈起来。打开工具,铺铜管理器。让第 5 层的 3.3V 优先级最高。稍微修改让 3.3V 都铺铜完成。电源完成连通性处理,接下来进行布线优化。
修改 DRC 报错的一部分,先简单修理。
修改 DDR3 的 DRC 报错。进行 Bank0 的修线,把 DRC 修没,到时候再做等长调节。
Bank-7 布线优化:第三层修完,修第四层。这些线大多数是单片机那边的,相对没那么重要,只要连通,避开晶振信号。 第三层信号层布线优化:修第三层剩下的线。走线时候一定要避开晶振和电感。再去修改 DRC。调节一下这块方便以后进行等长调节。新建约束区域。改为 100ohm-BGA,进行 FPGA 内部 4 对 4 的差分布线。让差分对好出线。 剩余飞线处理:处理剩下的十根飞线。基本上都是电源的飞线。小的飞线很好连接,一个一个找到连接。连接完成剩下电源线进行处理。1.5V 是滤波电容没有连接上。在这里填充,让 3.3V 也包裹进来。修改 5V 的铺铜,当时通道太小。改变 1.5V 电源过孔的位置方便 3.3V 的铺铜。把 3.3V 进行铺铜处理。修正细的地方。尽量让完整的铜皮足够大。 GND 飞线处理:飞线除了 GND 基本完成。在第 2 层进行对地的铺铜。地过孔最后修正,先进行差分对的等长调节。
新建等长网络组:添加等长网络组。 添加 D0-D7 地址线:将 D0-D8 都加进来。还有 DQS 以及 LDM。 等长要求:最长 878.2mil,DDR3 等长范围±10mil。 设置等长规则:打开设计 - 设计规则 - 网络长度。名字 D0-D7,最大 850,最小减去 10mil。 应用规则:保存,找到网络规则,应用新设置好的规则。找到等长网络,开始优化。 设置等长网络组规则:点击布线,等长调节。按下 Tab 参数设置。3W 原则,线宽 4.3,间距 12.9。 差分线等长调节:差分对误差设置为 5mil。先调节差分对等长,再调整别的。 差分对等长调节:布线里面专门有差分对等长调节。按下 Tab 改参数。保证 3W 间距。 差分对时序等长调节:等长调节。D0-D7 数据线等长完成。线大多数在 840mil 左右。
新建等长网络组并添加 D8-D15 高八位地址线:最长 650mil,最短 200 多 mil。 等长要求:新建 D8 到 D15 的网络新规则。设置最大和最小值。最长差分正好不用调整。最不好调整的是 200 多 mil 这根,需要调整过孔。 新建等长网络组:起图片上的名字。 添加 D8-D15 高八位地址线:一共十一根线。 应用规则:应用规则。应用我们的规则。 差分线误差调节:修改一下差分对要不不能过线,规则也得改变一下。改为差分对一样长。一根一根修线。最短的线利用所有可利用的空间。 单端线及差分对时序等长:一个个进行微调。都在范围内。能包地的进行包地处理。DDR3 数据线等长完成。
添加焊盘对组:地址线有端接电阻,等长时候不把端接电阻的线算进来,需要调整。添加焊盘对组。添加 T8 焊盘。添加这两个焊盘。一个一个搜索。左面看到所有地址线。选择焊盘时候不要选带 R 的。一共 14 根地址线 A0-A13。BA0-BA2 也要记得添加。WEN 读写也要记得添加。 删除多余连接导线:先把上面的线先删除,要不等长时候会一直占据长度。 时序等长进行优化:先找最长的线看看可不可以优化短了。沿着这跟线向上或者向下修理线。修理下方的线路。最长的是 875-25=850,修到 850mil 就好了。先让这条线符合差分对的规则,然后去进行长度调整。利用好空间,不妨碍别的线情况下,空间利用最大。不影响红色线走的情况下,预留出红色线足够的时序等长空间。一根接着一根线去找,找到我们的线进行等长调节。一层一层调节。地址线基本都在 870mil 左右,最小差分在 867mil,最大 872mil,差了 5mil 左右,要求 25mil 已满足。调节完成,接下来去连接电阻。 端接电阻的连接:连接上线路。DDR3 地址线的时序等长完成。
修理一下线,电感是敏感器件,差分最好在电感内部走,都避开。两个数字一是大电感。
添加等长网络组。选择 LVDS 的所有线。最长 2100mil,最短 1241mil。
先调整差分对的误差让我们差分对先时序等长。
新建一个网络规则。最长 2122.6mil,最短 1279mil。设置一下最大最小。尽量让一样长。
将网络规则应用。
依次进行差分对时序等长调节。误差都在 3mil 左右。HDMI 接口的 LVDS 信号线的时序等长调节完成。
有的信号线差距非常小。Bank 线按照 20mil 左右的一个误差去等长就行。实时长度可以看到。将最短的线放在第四层,把底层让出来。还要保证不会切割 5V 的电源。把最短的差分进行多去绕线,让他在合理的范围,再去等长调节。Bank 线的差值很好调整。调整这两对差分线。让他符合长度。
差分线和差分对调节以及 3W 间距:先让差分对相等,然后再去时序等长差分对的长度。一定要满足 3W 间距。FPGA 里面不好走满足不了间距,在 FPGA 外面一定要满足。其实差分最好是满足四倍间距。绕完了之后,最后给他在进行布线和布局优化。最短的线 2549.3mil,最长 2552mil 差了 3mil 符合规则。Bank0 的线时序完成。
直接对照左边的网络组进行等长调节。最长的在底层。大多数长的在这一层。
差分线及差分对和 3W 间距:先等长单个差分,再去时序等长差分对的线。调节,最重要的是 3W 间距一定要保持。下面的三对差分已经完成,都是 1847mil 左右。接下来调别的差分。来到第三层,还是进行差分对调节,在进行时序等长。所有 Bank0 的线基本都是 1847 左右差值不过 1mil。Bank0 的差分对线时序等长完成。高速线必须避开晶振,其次要保证 3W 间距。
按照最短的先去等长。先调节差分对误差,再去差分对时序等长。缩小差分对的误差。Bank1 的线基本都在 923mil 到 924mil 之间。Bank1 的线时序等长完成。接下来等长 Bank3 的线。
Bank3 信号线修线:最长的 Bank3 的线 1295mil,最短 711mil。堆在一起不好调整,只能往外面去修线。调整过孔位置。重新走线,让短的线去外面绕圈。 Bank3 信号线时序等长:顶层的 Bank0 时序等长完成。合理利用空间,满足 3W 间距。来到三层后,先找最短的这根。合理利用空间,满足 3W 间距。顶上难走的线绕一绕。合理利用空间 +3W 原则。时序等长调节时候,能离同网络远一点就尽量离同网络远一点。像这种可以绕远,但是不要在同网络里的很近的地方进行时序等长。修改最开始等长的线,紧凑一点不要太松散。Bank0 的线时序等长完成。最长 1295.5mil,最短 1294.5mil 差了 1mil。接下来等长 Bank2 的线。
找到最短的这一根进行等长调节,同时要注意 3W 间距。并且一定要避开电感。不能忘记 3W 间距。调节时候避开电容 +3W 间距。改一下,尽量把等长都在一个区域内。Bank2 最长的线 1513.8mil,最短 1513mil 差了 0.8mil。慢慢微调,总是能把线都调整好。并且满足 3W 间距。调整这根线,让他完全避开电感。
避开晶振:电感和晶振区域是没有走线的。电感和晶振都是敏感器件,而且晶振还需要禁止铺铜处理。
TF 卡需要时序等长。这里有 4 个信号,走 SPI 协议。添加一个新的网络类。
来到原理图,看看是哪几个信号需要添加。来到网络类,把需要添加的网络加进去。搜索 SPI2,将 SPI 协议线加入网络类。
打开设计 - 设计规则。找到网络规则,安全间距。把 3W 规则驱动起来。在 TF-CARD 中,因为这些线是在 FPGA 外面的,驱动 3W 规则。
修理一下线,因为驱动了 3W 规则,修理一下保证没有错误在进行等长调节。
依旧找到最短的,从最短的开始调节。尽量在一个地方给他等长调节完成。TF 卡信号线的时序等长调节完成。TF 卡的 SPI 协议线,误差在 50mil 左右就行。我们都是 1233mil,只有一个是 1231mil。
SPI 只有四根线很好等长。DAT1 和 DAT2 也连接的话,DAT1,DAT2 也是需要进行时序等长的。线基本上都完成了。
PCB 展示图。
到这里布线基本完成,接下来进行 PCB 的后期处理,缝合地过孔和优化 PCB 以及修改 DRC 的问题。
信号线挤满了,在板子外围添加一圈缝合地过孔。提高信号完整性,抗干扰能力。找到放置 - 缝合孔 - 线条。因为打板边一条的,选择线条,一条边一条边的去打。选择网络和间距。
绕着板框进行铺铜一圈。有的地方有,有的地方没有,因为有的会有 DRC 报错,自动忽略。这时手动添加一下。复制一个,逐个去添加。有报错先忽略,等调节 DRC 时候再调整。
修整 DRC 时候,一个一个错误的去修改,一边修改,一边优化布局布线。
检查 DRC 一个一个错误进行修改。按下 Shift+B 重建铺铜区域发现减少了不少错误,再进行调整。这么多报错是因为这里的线因该都是 4.1mil 结果用成了 4mil,重新改为 4.1mil 在进行 DRC 检查。差分线的话 100ohm 是 4.1mil,50ohm 是 4.3mil。
再次检查发现只有 177 个错误了,慢慢修改就好。查找发现还有好多错误是因为线宽问题可能连接时候未驱动规则,再改一下。
约束区域的添加:之后就只有 67 个错误了,依次改正。这个错误需要添加一个约束区域,因为这里是 3W 间距,空隙太小,基本满足不了,所以放置约束区域。选择矩形。安全间距选择默认的。点击检查 DRC。错误清除了。
这四个错误是重要的。因为这个器件是一个非金属的,没有电气属性。但是他这个空间只能让我们贴在一起。不用管,要是管理这个报错可以放置一个约束区域在这里。设计 - 设计规则。添加一个 TF-机械孔安全间距的设计规则。看到错误是贴片焊盘到挖槽区域。将挖槽区域全部改为 0mil 就不会报错了。放置约束区域。放置在顶层,安全间距选择 TF-机械孔。
右面的同理。再次检查 DRC 发现就消失了。也可以查找数据手册。可以看到这两个孔是没有电气属性的,单纯起到固定作用。而且是不会穿过来的,不会顶到器件。这个错误也是一样的,可以添加一个约束区域。因为是板框到贴片焊盘,修改一下。还是 TF-机械孔规则,将板框到贴片焊盘距离改为 0mil。放置一个约束区域。一定要把焊盘包裹住,选择约束区域为底层。
解决办法 2:如果约束区域不起作用,可以修改一下元件的封装。经过计算,将焊盘改为 2.1mm 的长度,宽增加到 2mm 多加点焊锡保证牢固。两个都是,保存封装。看到也不会报错了。
直接重建所有铺铜区域就好了。有的没有进行重新铺铜对地进行连接。一个两个的错误单独找到然后修改。
再次检查 DRC,发现错误都消失了。看到 3.3V 的填充区域有一个尖角修理掉。放置一个禁止区域。禁止铺铜。Shift+B 重建铺铜区域,发现修理掉了。
USB 差分线,能包地处理最好包地处理一下。减小信号之间的串扰。将所有的 GND 连接之后,再次检查 DRC 发现没有错误了。检查 DRC 也是 0 错误。接下来进行 PCB 的优化,比如铜皮什么的进行修正,完事就可以进行打板子焊接了。
虽然是差的很多,这是加入了端接电阻的。应该看的是焊盘对。发现焊盘对差的不多。在 25mil 的一个误差范围内。
Bank0 是第三层,参考第二层 GND。不用担心信号跨分割。左边长度可以看到 Bank0 的线误差在 3mil 左右,远远小于 20mil 的范围,符合设计。
Bank1 也在第三层,有一部分在 FPGA 里面,没有办法满足 3W 间距原则。所以在外面尽可能满足 3W 间距。看左边也满足,也满足 20mil 的差值。也可以测量一下,看看是否满足 3W 间距,不满足再调整。
Bank2 也是单端的也在第三层,不需要考虑划分隔因为有完整的参考平面。看左边误差在 5mil 的一个范围内,控制的很好。
Bank3 也是第三层的线,不需要考虑划分隔,因为有第二层完整的 GND 参考面。左边误差控制在 1mil 左右。
Bank7 的线有两层,第三层可以不考虑,需要看一下第四层。第四层的 Bank7 的线基本都在 3.3V 的电源范围内。看左边误差基本都在 5mil 左右,符合误差范围。
也是第三层不考虑电源切割。看左边控制在 5mil 误差范围内,符合规则。
在底层,也在 3.3V 范围内,不需要电源分割。看左边长度。控制在 2mil 的一个范围内,符合规定。
左边误差在 2mil 左右也是符合范围的,并且在顶层有第二层 GND 层参考。
板子最大电流能跑到 2A。2A 的话 12/0.3 的过孔打两个就够了。
5V 电源载流检查:5V 电源的过孔基本都在两个以上那么 5V 电源是可以的。窄的地方拉开一点,有更多的通道,提升载流能力。把上面的下载口的 5V 输入给调整线宽为 40mil,增大载流能力。这里再加入一个通道,因为一条线宽是 15mil 三条线宽 45mil 就够通过这个电流通过了。也可以将这里全部铺铜,然后更大的增加载流能力。能加宽就进行加宽。
5V 输入后 1.0V 输出检查:5V 输入后 1.0V 的输出接着来看一下。检查完没问题之后改为铺铜区域然后和上面的铜皮合并。关闭制造优化。关闭之后可以加宽铺铜区域,要不然 FPGA 里面的区域铺铜是过不去大电流的。还要为了美观。
1.5V 电源检查:检查 1.5V 的 DDR 的电源。3.3V 的是有电源层最后再看。1.5V 的通体的电源层,需要注意所有的 DDR 信号线有没有在完整的 3.3V 的范围内。主要看第四层,第四层才是完整参考电源平面的。发现 DDR 的线在完整的 3.3V 范围内,而且 Bank7 的线也在,说明没有跨分割。
1.5V 电源修改:更新 1.5V 铜皮使其不会跨分割信号线。修改一下 1.5V 的铜皮沿着这块从新铺一个。一定要把信号线全部包括进来,这个 3.3V 我们在另想办法。放置整体铺铜区域。
3.3V 电源检查:3.3V 是整版的电源,好检查。3.3V 铺的是整版的铜皮,基本不用考虑宽度。因为整版的铜皮基本上是够的宽度。
3.3V 电源修改:来到底层,把这个电源换个位置。放置一个铺铜区域。并且关闭优化。用地线包裹起来我们的电源,因为 DDR 的电源非常重要。给上几个导流孔。确保导流孔在 3.3V 范围内。
顶层 GND 铺铜:来到顶层,然后对顶层一圈进行 GND 铺铜,注意不要在电感底下铺铜。将铺铜到板框的距离修改为 15mil。顶层就对地铺铜完成。因为顶层元件比较密集,对外围进行铺铜处理。
第二层 GND:一整层的 GND,不用修改。
第三层 GND 铺铜:来到第三层放置一个整板铺铜,因为 DDR 走了很多线,可以进行包地处理的话,就进行一个包地处理。但是看到 DDR 区域有很多碎铜,需要给消除掉,沿着 DDR 区域放置一个禁止区域。清理完碎铜。边上能补上的,都尽量补充上。这块也给修正,放置一个禁止区域,禁止铺铜。能包上地的暂时不修理,只修理不能包地的尖角铜,这种尖角铜和碎铜会影响信号质量,需要处理。有尖角的一定要去修理。注意不要放错,放置为挖槽区域。清理碎铜皮。这里也是一样,可以包地的就包地处理,不去动他,不能包地的,就清理掉。上面的线一样进行禁止铺铜。这一层完成,接下来到第四层。
第四层 GND 铺铜:先进行一个整版的铺铜,在去修整尖角铜。先全部禁止,然后在去修整边边角角。能包地就进行包地处理。完事修理一下。在底下补充一圈包地,放置信号干扰,以及回流。第四层 GND 的铺铜完成。
第五层为电源层无需对 GND 铺铜。
底层 GND 铺铜:先在底层整体铺铜。然后再进行修改。先调整大的区域,小的区域慢慢去改。能包地的都进行包地处理。调整一下线,让 GND 区域可以把线包裹起来。并且还要确保板子周围有一圈地。电源处理完成,进行一次 DRC 检测,看看修线的过程中有没有出现错误。
发现是不小心挪动了孔位,一个一个修理就好。最后 DRC 检查就会发现 0 错误了。电源检查完了,等长也检查完了,GND 也优化了,尖角铜也处理了。电源载流能力,容量,还要板边包地也完成了。
电源层也需要一圈地过孔,防止电源受到干扰。Shift+B 重建铺铜区域。相当于电源层内缩。
检查一下 DRC 发现没有问题,就可以进行丝印操作了。PCB 板子基本完全完成。将 TF 卡底下的元件调整出来,要不然影响 TF 卡座安装。卡座下不要有元件。排针的电阻也是,要远离排针,方便排针的安装。
最后再检查一遍 DRC。发现没有问题了。
排针丝印添加:在顶层把排针引线的丝印添加。 HDMI 丝印添加:HDMI 丝印添加。 USB 接口丝印添加:USB 接口。 电源测试点丝印添加:测试点的引出。 功能按键丝印添加:按键控制丝印。 LED 灯丝印添加:LED 丝印。 JTAG-下载口,TFT 屏幕座丝印添加:JTAG-下载口,和 TFT-屏座丝印。 boot 和 res(复位)按键丝印添加:Boot 按键和复位按键。 电源指示灯丝印添加:电源指示灯。 MCU 单片机测试点丝印添加:测试点。
下载口和 TF 卡座丝印添加:下载口和 TF 卡座。其余的没用的丝印删除。 自己的图片丝印添加:自己的丝印随便添加,底层空间很大,可以添加自己喜欢的。
到这里 PCB 的板子就画完了。逻辑派-FPGA-G1 开发板就完成了。接下来进行 PCB 的下单以及资料准备。
辅助焊接工具位置。左边是元件,右边是电路板的 3D 模型。可以看到所有元件的位置。勾选上代表已经焊接。右面的 PCB 也会标明。勾选上已焊接的话,只会显示已经焊接的元件。
SMT 贴片的坐标文件,供 SMT 贴片使用。通过导出选项进行导出。
例如制板的信息,比如阻抗线路,以及阻抗的线宽线距。只要有阻抗就需要在这里说明一下,这样板厂才会按照阻抗线宽去制作 PCB 电路板。
创建 Gerber 文件夹:首先创建一个 Gerber 文件夹。 导出 3D 模型:首先导出 3D 文件。点击导出。时间可能会有点长。螺丝孔,以及测试点不需要绑定 3D 模型,不用管,直接点击,处理完成,继续导出。放在 Gerber 中。 导出物料清单:导出物料清单。导出 BOM。选择 Gerber 文件夹。 导出 PCB 制版文件:接下来导出 PCB 制版文件。导出 Gerber。是,检查 DRC。DRC 没有错误的话就会直接导出,也是 Gerber 文件夹。 导出辅助焊接工具:考虑到没有网的情况,导出一个离线的模式。进来之后点击离线。点击确定。保存到 Gerber 文件夹。 导出源文件:接下来保存文件。可以设置密码。保存在 Gerber 文件夹。 导出 SMT 坐标文件:导出 SMT 贴片坐标文件。默认就行。放在 Gerber 中。 导出 PCB 坐标信息:先将单位改为毫米。然后点击导出,导出 PCB 信息。就可以看到 PCB 信息。根据信息进行填写。因为有 FPGA 所以建议做沉金的。线宽是自己调整的,不添加阻抗计算神器的截图。要是按照嘉立创制作的,一定要添加截图。线宽阻抗在右边写上,还有参考层信息,以及参考的哪一层。线宽线距就在设计规则里面。50ohm 是 4.3mil 的线宽。100ohm 是 4.1mil 线宽。线距是 7.9mil,满足 3W 间距。90ohm 线宽是 4mil,线距是 5.3mil。最后把所有网络颜色更改为默认颜色,方便板子好看。全是根据个人喜好就行。
点击嘉立创下单助手。
来到用户中心-PCB 免费券。领取 6 层沉金免费券。
上传 Gerber 文件。等待检查完成。
选择 5 块板子数量。点击立即下单。
选择 FR-4 材质。
板子的详情信息。写出与 2 层板不同的地方,相同的直接一样就行。不需要 - 单片 -1.6- 不指定。层压顺序看自己,都可以,选择不清楚,厂家就会看你的板子,从而确定层压顺序。然后选择需要阻抗,选择免费的±20%。选择别的颜色会加钱,绿色可以免费用卷。盘中孔,过孔塞树脂 + 电镀盖帽。选择沉金,因为板子有 FPGA,推荐 FPGA 的板子都用沉金的,因为有高速信号线,沉金更好的耦合和抗干扰,以及焊接。剩下的默认就好。孔径特意设置的免费的规则。要是怕刻字影响丝印,可以自己指定一个位置,进行添加。最后使用 PCB 免费券。如果出现弹窗说明选择的是别的颜色板子,得改为绿色板子。这样子就是免费的了。有钱充足的情况下可以选择 SMT 贴片,因为板子器件多,而且封装小,手动焊接很难。
提交订单时候,还会看到提示,跟着提示照做就好了。到这里 6 层板就完成了基于立创 EDA 的逻辑派-FPGA-G1 开发板我们就画完了,这块板子画了 6 天也是很长的时间,而且笔记内容大概在三万多字左右,大家可以看看笔记,有不会的,可以定期看一下,巩固一下内容,毕竟温故而知新嘛。
使用立创 EDA 绘制像立创 - 逻辑派-FPGA-G1 这样的 6 层高速板,确实是一次非常锻炼人的经历。
(1)绘制电源树:明确从 5V 输入到 3V3、1V5、1V0 等各级电压的转换路径。理清电源流向,为后续电源模块布局和载流能力评估打好基础。
(2)DCDC 电源模块布局要点:
差分走线是重中之重:像 HDMI、USB、DDR 时钟这类高速差分信号,必须严格控制阻抗(例如 HDMI 差分 100Ω,USB 差分 90Ω)。
等长与间距并重:以 HDMI 为例,4 对差分走线,对内等长误差建议小于 5mil,组间(对间)误差建议小于 10mil。同时,与其他信号线间距保持至少 15mil,以减少串扰。
为 BGA 扇出与内层布线做准备:FPGA 的 BGA 封装引脚密集,扇出阶段就要规划好内层布线。可以借助 EDA 工具的差分规则,在扇出时就直接应用预设的线宽线距。
模块化布局与结构导入
(1)交叉选择与模块抓取:利用 EDA 工具的'交叉选择'功能,可以快速选中原理图中的模块对应到 PCB 的器件,实现模块化布局。
(2)遵从'先大后小'原则:先放置接口、主芯片、电源芯片等大器件,再摆阻容感等小器件。布局时可以打开单个 PIN 的飞线,观察连接关系,使走线方向顺畅。
(3)重视结构导入:导入 DXF 结构文件时,注意板子外形、定位孔位置、关键器件(如接口)的位置和禁布区。可以将 DXF 文件放在文档层,方便修改后再转到板框层。
(1)选择合适的层叠方案:6 层板常用方案有多个,逻辑派 G1 开发板采用的'假八层'方案(Top, GND01, Signal02, Signal03, PWR04, Bottom)提供了 4 个走线层,但需注意相邻走线层(如 Signal02 和 Signal03)之间的串扰,可通过十字交叉走线或加大介质层厚度来缓解。
(2)利用阻抗计算工具:在 EDA 工具的层叠管理器或相关工具中,根据板厂工艺和叠层信息,计算并设定关键网络的阻抗参数,如单端 50Ω,差分 90Ω/100Ω等。
(3)提前设置设计规则:在布线前,务必在'设计 - 设计规则'中设置好安全间距(如 4mil)、线宽范围、过孔尺寸(如 8/16mil, 12/18mil)等。可以为电源网络创建网络类,统一设置更宽的线宽。
布线后检查与优化
(1)DRC 检查必不可少:完成布线后,务必运行 DRC,检查开路、短路、未连接网络及违反设计规则的情况。一位开发者曾因疏忽 DRC,导致滤波网络的 GND 未实际连接,耗费大量时间排查。
(2)检查信号跨分割与电源载流:仔细观察是否有信号线跨地平面或电源平面分割的情况。同时,确认电源通道的线宽和过孔数量满足载流能力要求。
(3)优化丝印与输出文件:调整丝印,确保清晰、朝向一致且不上阻焊。最后,输出 Gerber 等光绘文件并打包交付板厂。
(1)导入快捷键:提供了快捷键的.json 文件,导入后可极大提升操作效率,例如使用单个按键而非组合键。
(2)模块复用:对于相同电路(如多个 DCDC),可以使用 EDA 工具的'创建组合'和'组合复用'功能,快速布局布线,之后'取消组合'进行微调。
(3)网络颜色区分:给不同电压等级的网络赋予不同颜色,布局布线时一目了然。
FPGA 开发板的 6 层高速 PCB 设计,确实挑战不小,尤其需要注意电源完整性、高速信号质量和整体电磁兼容性。充分利用官方文档、数据手册和社区经验至关重要。
请记住,优秀的 PCB 设计往往是在理论指导、实践摸索和细致检查中打磨出来的。不要害怕修改和优化,多利用 3D 预览和 DRC 工具辅助检查。相信通过这些努力,你也一定能绘制出性能稳定、值得信赖的 FPGA 开发板。
希望这些心得和注意事项对你有帮助。欢迎各位大佬指点,交流心得体会,我还会继续砥砺前行。
这块 PCB 画了 6 天,算上修改加写博客的时间大概是 7 天,希望这篇笔记能更好的帮助你,给予你画 PCB 时候的思路,以及平时的温习,希望对大家有所帮助。也是写了三四万字左右,记录的还算是详细,到这里就完结了。再次谢谢大家可以对我进行指导和建议。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online