PCI卡的布线比较讲究,这是PCI信号的特点决定的。在常规性的高频数字电路设计中我们总是力求避免阻抗不匹配造成的信号反射、过冲、振铃、非单调性现象,但是PCI信号却恰恰是利用了信号的反射原理来传输物理信号,为使能够合理利用信号反射同时又尽力避免较大的过冲、振铃和非单调性等副作用,PCI-SIG在PCI规范中对PCB物理实现做了一些规定。
PCI-SIG推荐PCI卡使用四层PCB板,PCI-SIG规定的PCI连接器的信号分布也正是为便于四层板布线而优化定义的。PCI-SIG对PCI控制器的引脚分布也做了一个推荐性的示意图,实际上AMCC、PLX、OXFORD等PCI控制器生产商也执行了这个推荐,在这个推荐的PIN分布下,使用两层PCB板实际上也是很方便布线的,但是如果PCI卡系统硬件很复杂,需要多个电源分割层面的情况下还是多层PCB更好。
PCI卡上任何一个PCI信号仅能连接到一个负载(包括也不能另外连接到一个上拉电阻)。除了CLK,RST,INTA#~INTD#,JTAG这些pin之外,所有pin从金手指与卡座的接触点算起到负载端不得大于1.5inch;CLK信号长度为2.5+-0.1inch,这个长度有点长,所以许多情况下需要绕弯走线以达到长度要求,这就是为什么常常在PCI卡上见到CLK的蛇形走线的原因;对其余几个pin没有特殊规定。多层PCB时信号走线不要跨越不同的电源层面(至少,存在分割电源层面的那一层应位于PCB的另一面),这也就是为什么常常见到PCI卡上A面金手指走上来的所有信号往往都打个过孔走到B面(元件面)的原因。
每个PCI信号的特性阻抗为60~100欧姆,负载电容不得超过10pf,IC的IO Pad应能够承受-3.5V的下冲和+7.1V的信号过冲。对于AMCC、PLX、OXFORD等PCI控制器生产商来说,他们的控制器IC都满足这些规定,用户不必考虑,但是如果使用CPLD/FPGA来实现PCI控制器则必须考虑使用的型号是否满足这些规定,一般ALTEra、Xilinx等CPLD/FPGA厂商会在其数据手册中明确声明该型号CPLD/FPGA是否兼容PCI信号规范。