引发设计更改的因素
1. 电路板面积的限制
印刷电路板设计必须考虑到许多限制因素。包括物理尺寸、散热要求、走线长度、层数和互连的类型。随着每一代的设计都要求更多的功能,因而电路板的限制因素也越来越多。一种解决方案是使用可编程逻辑器件,如FPGA和CPLD,减少元件数量并降低电路板的复杂性。然而,采取这种方法的同时还可以进一步重新审视一下时钟分配网络。不仅因为时钟网络的各种走线长度,占用了大量的电路板面积,并且还用到大量的振荡器和时钟分配IC来产生当今设计中所需的多种频率。
2. 时钟网络性能
时钟信号及其相关的分配网络对于实现当今数字系统的高性能和高可靠性来说是至关重要的。提高同步设计整体性能的关键是要提高时钟网络的频率。然而,由于一些因素,如时序容限、信号完整性和同步相关时钟边沿,使得时钟网络的复杂性大大增加。时钟网络使用一系列单功能的组件来设计,如扇出缓冲器、时钟发生器、延迟线、零延迟缓冲器和频率合成器。任何由于走线长度不同而引起的时序错误,都可以通过蛇形线进行走线长度匹配或使用缓冲器来解决。使用试错法选择串联电阻可以缓和任何走线阻抗与输出驱动器阻抗不匹配的影响。甚至可以使用专门的转换器来匹配时钟发生器和接收器IC之间的信号接口,与多种信号标准连接。然而,传统上设计师们采用多种不太理想的解决方案,目的是为了使用尽可能少的走线和元器件,实现小规模且高性能的时钟网络。
3. 更高的FPGA I/O利用率
随着高复杂度的系统设计推动了可编程逻辑的使用,设计人员需要更多的FPGA I/O来实现更多功能。再加上由于每个系统对FPGA I/O的需求都不同,突然之间每个I/O都变得很珍贵。当I/O受限时,简单的解决方案就必须移植到较大的FPGA上。在这种情况下,“大”可能意味着更多的封装引脚数或者更多查找表(LUT)的FPGA。然而,通常“大”也意味着器件价格更昂贵。另一种解决方案是检视I/O到底是如何被消耗的,特别是在时钟分配网络中。一个带有扇出缓冲器的时钟发生器需要使用多达12个I/O,这听起来好像不多,但是考虑到在一个应用中所需要的不同时钟频率的数量。现在你可以很清楚地看到时钟分配网络用掉了多少FPGA的I/O……太多了!通过优化时钟网络,设计师们可以使用更小的FPGA或者获得免费的I/O来实现附加功能。
现代FPGA时钟分配示例
高级夹层卡(Advanced MC或AMC)是一个小型的夹层卡,符合PICMG标准定义。它是开发AdvancedTCA和MicroTCA系统时,设计师选择的夹层卡。
评估时钟源选择的方法之一是使用一块评估板,如LatticeECP3 AMC评估板。此板允许为5个时钟网络中的每一个提供多个时钟源选择。
● PCSB和PCSC——来自板上125或156.25 MHz器件的时钟源。它们还可以从AMC背板接收时钟。该时钟允许不同的速率或相同的速率时钟分别提供给PCSB和PCSC参考时钟。
● PCSD——来自板上122.88、125或156.25 MHz器件的时钟源。它们还可以从AMC背板接收时钟信号。
● 背板——连接AMC edge-finger (TCLKB)的远程通信时钟。这个时钟可以在不使用时禁用。
* 来自AMC的时钟:这个时钟能够为所有4个quad提供PCS参考时钟的驱动参考时钟源。
* 输入AMC的时钟:这个时钟能够驱动AMC模块到背板,并且可以是任意PCS quad的同一个参考时钟源。
AMC时钟网络最初通过多个时钟发生器控制,1:4个扇出缓冲器和一个2:1多路开关。该方案需要38个I/O来进行时钟分配控制,还需要占用大量电路板面积。
利用一个可编程的时钟管理器件,可以大大地优化网络。该方案仅需要18个I/O来进行时钟分配控制,节省了20个I/O可用于其他功能。此外,使用这种设计节省了超过3平方英寸的电路板面积。
这些方案通过使用两个可编程时钟管理器件来控制。有几个板上振荡器可以合成和/或扇出作为几个时钟的输入。所有的时钟变量都可以通过对时钟管理器件的编程来进行管理。
可编程性重新定义了时钟网络
一个可编程的时钟分配IC,如ispClock5406D专门为高性能的通信和计算应用而设计,如PCI Express、ATCA、MicroTCA和AMC。这些可编程IC的主要功能包括一个超低相位噪声的PLL、输出部分支持多种逻辑标准和双偏移控制。
这类可编程时钟分配IC的主要优点包括:
● 可编程偏移通过减少蜿蜒的走线从而简化了电路板布局,并有助于增加时序容限、缩短设计时间。
● 能够通过一个可编程的输出阻抗特性来匹配走线阻抗。与更高的输出VCC和接地引脚相结合,提高了时钟信号的完整性。此外,由于输出阻抗可以按每个器件来调整,器件与器件间输出阻抗的差异最小化,从而提高生产合格率。一个片上可编程输出阻抗还可以弥补使用输出阻抗匹配电阻而引起的要用更大的电路板面积的需求。
● 一个通用扇出缓冲器,可以通过编程来驱动多种信号标准,减少了对独立的(有时部分使用)信号转换器的需求,因此减少了时钟网络的层次,并且降低了整个电路板的时序要求。
● 低抖动和良好匹配的输出-输出偏移,可以提供额外的时序容限。
● 每个IC的配置可保存在片上非易失性存储器中,通过JTAG接口进行重新编程。然后器件的某些特定方面可以通过一个I2C接口进行修改。因为该器件的所有的主要功能都是可编程的,设计人员可以使用标准化的器件,如ispClock5406D以满足其系统时钟需求,并且降低成本。