共质心版图(common-centroid layout)
想象你和一个朋友各自在一块田里种同一种作物,而这块田有个秘密:一侧比另一侧暖。如果你占了向阳的那半边、朋友占了背阴的那半边,你的庄稼总会长得比他的好——不是因为你做了什么,而是因为这块田本身存在一道梯度。现在把你们的种植行互相交错排布,让两个人的地块都围绕同一个中心点保持平衡。这下从暖到凉的渐变会等量地灌进你们两边,平均下来正好抵消。这就是共质心版图的全部精髓:当两个器件必须高度匹配时——差分对的两半、电流镜的两只晶体管、数据转换器里的一对电容——你把每个器件都拆成若干小块,再这样摆放,使两个器件共享同一个几何中心。
在硅片上,那个“暖的一侧”是真实存在的:氧化层厚度、掺杂、机械应力、温度都会沿着芯片缓慢漂移,呈现近似直线的梯度。一对简单并排的器件之间会出现一阶(线性)差异,在放大器里表现为输入失调电压,在电流镜里表现为电流误差。由于线性梯度关于一个中心点是奇对称的——中心上方有多少、下方就有多少——把两个器件对称地环绕在同一个共同质心周围,就能让这个一阶项相减抵消,只剩下小得多的二阶曲率项。一维里常见的图案是 ABBA 交叉指状排列;二维里的经典做法是 2x2 的交叉四元组(cross-quad),A 与 B 分处对角线两端,于是两者的质心都正好落在正中心。
棘手之处在于:阵列最外圈的器件所处的“邻里环境”和藏在里头的不一样——刻蚀负载不同,旁边器件带来的应力也不同。所以你要用虚拟器件(dummy)把整个阵列围一圈:这些是额外的、电学上不起作用的副本,唯一的职责就是让每一个“真正”的指条都拥有完全相同的周边环境。共质心加上 dummy,才能把两只仅仅画得一样的晶体管,变成真正行为一致的晶体管——这也是为什么模拟匹配的成败取决于版图,而不只是电路图。
为什么共享质心能消掉主要的匹配误差:直线型工艺梯度关于中心对称,因而它对两个器件的贡献相等、彼此相减抵消。
共质心只能抵消线性梯度;对纯随机失配毫无帮助,而随机失配仍要靠增大器件面积来减小(Pelgrom 定律)——所以设计者一方面把器件做大以应对随机匹配,另一方面用共质心来对付系统性梯度。