如果你被一个具有相邻高速切换输出的设计所困扰,有好几种技术能帮助你解决潜在的SSN问题。首先对你的设计进行合适的布局和去耦合。对于去耦合,使用距离尽可能近的电源和地平面对,中间用一个SMT电容隔开。使用SMT电容进行去耦合也有助于减小电感,而电感是产生系统噪声的一个主要因素。
如果你仍然觉得需要使用去耦电容(为了减小SSN),应该使得这些电容的位置尽可能靠近高速输出引脚。Altera的一项研究发现,如果这些电容到引脚的距离大于1英寸,在使用适当的SMT电容去耦时,这些电容变得效率极低。其他减小SSN或者其可能产生影响的建议包括:避免将敏感信号(复位、时钟和使能等)位于SSO附近;可能时,使用较小偏移的输出和使用最低电感的过孔;通过在合适位置插入延时使得输出信号交替出现。即使已经完成了PCB的生产,这个建议仍然可以应用。
参考将被连接到FPGA上的器件的相关资料。对于每个器件,确定最大输入低电压门限(单位毫伏)。这是FPGA驱动该器件需要的最大电压,所以该设备仍然可以检测到一个有效逻辑低状态(最大VIL值)。同样,还要确定器件可以容忍且能继续工作的最大输入负脉冲信号(单位毫伏)。
在某些情况下,最大容许的地反弹可能不是或者不仅是以上给出的值。而是要通过获得最大输入低电压门限的最小值、最大输入负脉冲信号、或者所有器件的最大地反弹来确定最大的系统地反弹。
然后,根据具有相似负载特点的网络连接的数目和种类对类似的FPGA总线进行分组。接着研究每个部分、区域或者块的电源和接地引脚数目,还有对于所使用的每个I/O标准,每个电源和接地管脚对所允许的SSO数目。这些数目可以用于计算每个组的总电容负载和每个输出驱动的电容,以确定可以容忍的SSO最大值。
你也应该咨询供应商以确定基于每个块和每一对块你是否超过了推荐的SSO数目,前提是供应商已经研究了这些问题。同时,因为有多个因素会导致SSN,所以最好建立一个具有内置抗噪声性能的鲁棒系统。否则,就使用针对每个引脚限制I/O标准的器件,这样就可以减少可能的SSN问题。