原理图设计基础:符号、标号、电源、电容

咱们做高速数字设计,尤其是涉及GTY这种高速收发器,原理图就是整个项目的骨架。骨架歪了,后面布线、仿真、调试都会出大问题。今天我带你过一遍原理图设计最核心的几个要素:符号、网络标号、电源树和去耦电容。这些看着基础,但恰恰是很多新手,甚至老手翻车的地方。

原理图符号:不只是画个框

原理图符号,说白了就是芯片在图纸上的“身份证照片”。很多人觉得这个简单,从库里拖出来就行了。我一开始也这么想,直到有一次项目里,我把FPGA的电源管脚和地管脚在符号上放反了,板子回来一上电,芯片直接冒烟……

我个人习惯,做原理图符号时遵循三条铁律:

  • 管脚分组要按功能:BANK区分开,电源和地集中放在顶部或底部。
  • 信号流向要明确:输入在左,输出在右,这是基本规矩。
  • NC管脚一定要处理:不用的管脚要么接地,要么悬空并做好标注,别让菜鸟接手时一脸懵。

举个例子,GTY收发器的原理图符号,我一般会把这几个关键分组标清楚:

<?-- 原理图符号示例(非完整VHDL/Verilog) -->
GTY_X0Y0 : entity work.gty_channel
port map (
  -- 时钟域
  gt_refclk  => refclk_p,   -- 输入
  gt_txp     => tx_p,       -- 输出
  gt_txn     => tx_n,       -- 输出
  gt_rxp     => rx_p,       -- 输入
  gt_rxn     => rx_n,       -- 输入
  -- 电源域
  avcc_vcc   => vcc_1v0,    -- 模拟电源
  avcc_gnd   => gnd,        -- 模拟地
  -- 控制
  tx_rstn    => rst_n,      -- 复位
  rx_ready   => rx_done     -- 状态指示
);
避坑提醒:我曾经见过一个项目,原理图里把1.8V和1.0V的管脚画反了。芯片竟然能跑,但高速信号眼图全塌了。查了三天才发现是符号搞错了。所以符号画完后,一定做一次管脚交叉检查,对照芯片的datasheet一行一行对。

网络标号:信号的名字就是他的身份

网络标号(Net Name),就是给连线起名字。你想想看,一张复杂的原理图,密密麻麻全是线,没有名字哪行?命名规范极其重要。

我踩过这个坑。之前手下的一个工程师,给差分信号命名,正端叫“C1”,负端叫“D1”。结果布线的人根本不知道这是差分对,愣是走了两条相差500mil的路径,信号完全没法用。

信号类型 推荐命名方式 错误命名
差分对(P/N) TX0_P / TX0_N TXP / TXN(混淆索引)
时钟 CLK_125M CLK1(靠猜频率)
复位 RST_N(低有效) RESET(不明确电平)
电源 VCC_1V0 VCC1(不知道电压)
全局信号 GLB_xxx xxx(容易本地冲突)
一个小习惯:我习惯在信号名里加上电压域信息。比如一个3.3V域的使能信号,叫“EN_3V3”。这样布局布线时,跨电压域连接一眼就能看出来,方便加电平转换。

电源树:你的芯片需要喝什么样的水?

电源树(Power Tree),说白了就是把板子上所有电压轨画成树形结构,搞清楚每一路电从哪来、去哪了、电流多大。高速设计里,电源是噪声的放大器,一点马虎不得。

我记得做一个GTX项目时,GTY收发器要求1.0V模拟供电,纹波要小于10mV。我们用了普通的LDO,结果眼图测试总通不过。后来换成超低噪声的LDO再加一级π型滤波,才勉强过关。教训就是:电源树设计时,不光看电压和电流,还要看噪声指标。

一个典型的电源树包含这些要素:

  • 源端:板级输入(12V、5V等)
  • 转换级:DCDC或LDO,注意效率vs噪声的权衡
  • 分配级:磁珠、π型滤波、电源分割
  • 负载端:各芯片和模块,注意去耦

我一般会在原理图里附一张电源树表格,标清楚每路电源的功耗估计,方便做热仿真和电流密度检查。

电源轨 电压(V) 最大电流(A) 噪声要求(mVpp) 供电方式
VCC_1V0_GTY 1.0 6.0 < 10 LDO + 滤波
VCC_1V8 1.8 2.5 < 30 DCDC (同步降压)
VCC_3V3 3.3 1.0 < 50 DCDC
VCC_0V75 0.75 0.5 < 20 LDO
关键点:GTY这类高速收发器,模拟电源和数字电源必须物理隔离。我用磁珠或者0欧姆电阻隔开,同时保证模拟电源的回流路径不穿过数字区域。这一点在原理图阶段就要规划好,等PCB布线时再改,就要大动干戈了。

去耦电容:给信号一个干净的家

去耦电容(Decoupling Capacitor),又叫退耦电容。它的作用,是为芯片瞬间的大电流需求提供一个低阻抗的本地电荷池。

你想想看,芯片在每个时钟沿都会抽取大量电流,如果依赖远端的电源,走线上的电感和电阻会导致电压塌陷。电压一塌,时序就乱,高速信号更是直接罢工。

我个人习惯,去耦电容选型有几点:

  • 容值搭配:大电容(10~100µF)应对低频波动,小电容(0.1µF~10nF)应对高频噪声。这叫多级去耦。
  • 封装越小越好:0402甚至0201,因为寄生电感小。
  • 靠近管脚放置:距离不超过50mil,越近越有效。

我曾经在项目中为了图省事,把所有去耦电容都放在芯片同一侧,离管脚远的有200mil。结果信号抖动大得很,后来换到背面靠近电源管脚的位置,问题才解决。这个坑让我记忆犹新。

为什么需要不同容值?你看这个阻抗曲线就明白了:

阻抗 (Ω)
  |
  |  10µF    0.1µF    10nF
  |   \        \        \
  |    \        \        \
  |     \        \--------\ <-- 并联后,宽频带低阻抗
  |      \--------\--------\
  +--------------------------> 频率 (Hz)
      1k   100k    10M    1G
重要提醒:不要只靠原理图里放电容。去耦电容的效果,严重依赖PCB布局和过孔位置。你在原理图里放再多,如果PCB上走线绕了一个圈,那也是白搭。所以,原理图阶段就要和layout工程师商量好电容摆放规则。

本章知识体系

下面这张图,把本章四个核心部分的关系串起来了:

原理图设计基础 核心知识体系 原理图设计基础 原理图符号 网络标号 电源树 去耦电容 符号要点 • 管脚功能分组 • 信号流向分明 标号规则 • 差分对命名一致 • 标明电压域 电源树要点 • 电压/电流/噪声 • 模拟数字隔离 电容关键 • 多级容值搭配 • 靠近管脚放置 基础打牢,高速设计不翻车

这四个部分不是孤立的。符号画不好,后续布局就乱;标号不规范,团队协作就乱;电源树不做仔细规划,供电就是隐患;去耦电容放不对,再好的电源也白搭。所以做原理图时,四个环节要一起考虑,反复迭代。