你的位置:EETOP 赛灵思(Xilinx) 社区 >> >> 全部 >> 详细内容

I/O改进 FPGA 时钟分配控制

发布者:jackzhang 时间:2011-05-31 11:54:34

同步数字系统中的时钟信号(如远程通信中使用的)为系统中的数据传送定义了时间基准。一个时钟分配网络由多个时钟信号组成,由一个点将所有信号分配给需要时钟信号的所有组件。因为时钟信号执行关键的系统功能,很显然应给予更多的关注,不仅在时钟的特性(即偏移和抖动)方面,还有那些组成时钟分配网络的组件。


FPGA开发团队不断面临过于繁琐、复杂的时钟网络的挑战。各种因素,包括不断增加的I/O需求、降低成本的要求和减少印刷电路板设计更改的需要,迫使设计人员重新审视时钟网络。本文将探讨FPGA时钟分配控制方面的挑战,协助开发团队改变他们的设计方法,并针对正在考虑如何通过缩小其时钟分配网络的规模来拥有更多的FPGA I/O,或提高时钟网络性能的设计者们提供实用的建议。

引发设计更改的因素
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个时钟网络中的每一个提供多个时钟源选择,如图1所示。

图1 AMC时钟网络

图1中,FPGA的SERDES/PCS核可以使用几种可选的连接。PCS quad可用于多种、双工SERDES通道,连接到各种千兆以太网接口或AMC背板。


● PCSA——来自板上122.88、125或156.25 MHz的时钟源。但是,如果使用了122.88 MHz,这将禁止PCSA上任何非CPRI接口。PCSA也可以接收来自AMC背板的时钟。


● 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的同一个参考时钟源。
如图2所示,AMC时钟网络最初通过多个时钟发生器控制,1〜4个扇出缓冲器和一个2:1多路开关。该方案需要38个I/O来进行时钟分配控制,还需要占用大量电路板面积。

图2 传统AMC时钟网络机制


利用一个可编程的时钟管理器件,可以大大地优化网络(如图3所示)。该方案仅需要18个I/O来进行时钟分配控制,节省了20个I/O可用于其他功能。此外,使用这种设计节省了超过3平方英寸的电路板面积。
这些方案通过使用两个可编程时钟管理器件来控制(见图4)。有几个板上振荡器可以合成和/或扇出作为几个时钟的输入。所有的时钟变量都可以通过对时钟管理器件的编程来进行管理。

图3 优化的AMC时钟网络设计

图4 AMC时钟网络控制

 

可编程性重新定义了时钟网络
一个可编程的时钟分配IC,如ispClock5406D专门为高性能的通信和计算应用而设计,如PCI Express、ATCA、MicroTCA和AMC。这些可编程IC的主要功能包括一个超低相位噪声的PLL、输出部分支持多种逻辑标准和双偏移控制。


这类可编程时钟分配IC的主要优点包括:
● 可编程偏移通过减少蜿蜒的走线从而简化了电路板布局,并有助于增加时序容限、缩短设计时间。


● 能够通过一个可编程的输出阻抗特性来匹配走线阻抗。与更高的输出VCC和接地引脚相结合,提高了时钟信号的完整性。此外,由于输出阻抗可以按每个器件来调整,器件与器件间输出阻抗的差异最小化,从而提高生产合格率。一个片上可编程输出阻抗还可以弥补使用输出阻抗匹配电阻而引起的要用更大的电路板面积的需求。


● 一个通用扇出缓冲器,可以通过编程来驱动多种信号标准,减少了对独立的(有时部分使用)信号转换器的需求,因此减少了时钟网络的层次,并且降低了整个电路板的时序要求。


● 低抖动和良好匹配的输出-输出偏移,可以提供额外的时序容限。


● 每个IC的配置可保存在片上非易失性存储器中,通过JTAG接口进行重新编程。然后器件的某些特定方面可以通过一个I2C接口进行修改。因为该器件的所有的主要功能都是可编程的,设计人员可以使用标准化的器件,如ispClock5406D以满足其系统时钟需求,并且降低成本。

综述
可编程时钟器件集成了主要的时序元件,如一个PLL、分频器、扇出缓冲器、零延迟缓冲器,从而节省电路板面积、降低成本,并提高性能。使用诸如ispClock5400D系列器件,设计人员可以更好地规划其特定系统的理想时钟产生和分配电路,更好地利用其FPGA上的I/O。

最新课程

  • 深入浅出玩儿转FPGA

    本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念

  • 从零开始大战FPGA基础篇

    本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“

  • Verilog基础及典型数字

    课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了