4. PADS Logic与Layout同步基础:初次建立同步连接——从Logic到Layout的网表传递

好,咱们今天聊点实在的。

很多刚接触PADS的朋友,总觉得Logic画好原理图,Layout那边就能自动把板子摆好。哪有这么美的事?中间缺了最关键的一步——网表传递。说白了,就是把原理图里那些元件编号、管脚连接关系,打包成一个文件,告诉Layout:「嘿,这些零件要连起来,你看着办。」

我刚开始用PADS那会儿,就吃过这个亏。画完原理图,兴冲冲打开Layout,发现啥也没有。后来才明白,网表就是原理图和PCB之间的「翻译官」。没有它,两边各说各话。

4.1 网表传递的本质

网表是什么?你可以把它想象成一张「通讯录」。

  • 里面记录了每个元件的名字(比如R1、C2、U3)
  • 每个元件的封装信息(比如0805、SOP-8)
  • 每个管脚该连到哪根网络(比如VCC、GND、NET_SDA)

Logic把这张「通讯录」写好,交给Layout。Layout拿到后,就知道该从哪里调出封装,哪些管脚要连在一起。嗯,就是这么回事。

核心要点:网表传递不是复制粘贴,而是结构化数据交换。Logic输出的不是图片,是一份机器能读懂的关系表。

4.2 从Logic导出网表的两种方式

我个人习惯用第一种,但第二种在某些场景下也很实用。咱们都看看。

方式一:直接输出ASC网表文件

这是最传统、最稳妥的方法。我在项目中遇到过几次,用这种方式传递网表,兼容性最好,几乎不会出错。

  1. 在Logic中,打开你的原理图文件
  2. 点击菜单栏 File → Export
  3. 文件类型选择 ASCII Format (*.asc)
  4. 在弹出的对话框中,勾选你需要的内容:
    • Parts:元件信息
    • Nets:网络连接
    • Pin Names:管脚名称(建议勾上)
  5. 点击 OK,保存文件

小技巧:导出时,文件名最好和项目名一致。比如项目叫「LED_Driver」,网表就叫「LED_Driver.asc」。别问我为什么,你想想看,项目多了以后,一堆「untitled.asc」找起来多崩溃。

方式二:使用PADS Logic的OLE自动链接

这种方式更「智能」一些。Logic和Layout可以建立实时链接。你在Logic里改个电阻值,Layout那边自动更新。听起来很爽对吧?

但我得提醒你:新手慎用。我曾经在项目中期用OLE链接,结果一次误操作,把整个网表搞乱了,花了一下午才恢复。所以,初期学习阶段,老老实实用ASC文件传递,等熟练了再玩高级功能。

4.3 在Layout中导入网表

好,网表文件已经导出来了。现在轮到Layout登场。

  1. 打开PADS Layout,新建一个空白PCB文件
  2. 点击菜单栏 File → Import
  3. 文件类型选择 ASCII Format (*.asc)
  4. 找到刚才保存的网表文件,双击打开
  5. 稍等片刻,你会看到元件像变魔术一样出现在Layout的界面上

注意:如果导入时报错,别慌。最常见的原因是封装缺失。Logic里指定的封装,在Layout的库中找不到。解决办法:要么去Logic里改封装,要么在Layout里先建好对应的封装库。

为什么会报封装缺失?我遇到过好几次。有一次,我在Logic里给一个电容选了「CAP-0805」,但Layout的库里只有「0805C」,名字差了一个横杠,就报错了。所以,命名规范很重要。建议团队内部统一封装命名规则,比如「RES-0603」「CAP-0805」「SOP-16」,别搞花里胡哨的。

4.4 网表传递后的检查清单

网表导入后,别急着布线。先做三件事,能帮你省下大把调试时间。

检查项 检查内容 常见问题
元件数量 Logic中的元件总数 vs Layout中的元件总数 漏掉某个元件,通常是封装缺失导致
网络数量 检查关键网络(VCC、GND)是否存在 网络丢失,可能是Logic中未连接
封装一致性 随机抽查几个元件,看封装是否匹配 封装错位,比如电阻用了电容封装

嗯,这里要注意。检查网络数量时,我习惯用Logic的报告功能。在Logic里点击 Tools → Reports → Netlist Statistics,就能看到总共有多少网络。然后在Layout里,用 Tools → Verify Design 也能看到网络数。两边一对比,心里就有底了。

4.5 实战:一个完整的网表传递流程

光说不练假把式。咱们走一遍完整的流程。

假设你画了一个简单的LED闪烁电路,有1个单片机、2个电阻、1个电容、1个LED。

  1. 在Logic中:确保每个元件都分配了正确的封装。比如单片机用「DIP-8」,电阻用「RES-0603」,LED用「LED-0805」。
  2. 导出网表:File → Export → 选择ASC格式 → 勾选Parts和Nets → 保存为「LED_Blink.asc」。
  3. 在Layout中:File → Import → 选择「LED_Blink.asc」→ 等待导入完成。
  4. 检查:数一下元件,5个元件都在吗?网络呢?VCC和GND有没有出现?
  5. 摆放元件:把元件从界面边缘拖到工作区中央,准备开始布局。

记住:网表传递成功,只是同步的第一步。后面还有布局、布线、覆铜、DRC检查……但这一步走稳了,后面就顺了。

4.6 避坑指南

最后,分享几个我踩过的坑,你遇到了能少走弯路。

  • 我曾经在导出网表时,忘了勾选「Pin Names」,结果Layout里所有管脚都显示为「UNNAMED」,查了半天才发现是导出设置的问题。
  • 我曾经在同一个项目里,Logic和Layout的库路径不一致,导致封装加载失败。后来我养成了习惯:项目开始前,先统一库路径
  • 还有一次,我修改了原理图,但忘了重新导出网表,直接在Layout里布线。结果布到一半发现少了一根线……嗯,从那以后,我每次修改原理图,都会重新导出一次网表,并覆盖导入。

说白了,网表传递就是个「对账」的过程。Logic说我有这些零件,Layout说好的我收到了。两边对得上,才能往下走。对不上?那就回头查,别硬来。

好了,这一章就到这儿。下一章咱们聊聊正向标注与反向标注——也就是Logic改了,Layout怎么跟着改;Layout改了,Logic怎么同步回来。这个技巧在项目后期特别有用,别错过。