侵权投诉
当前位置:

OFweek电子工程网

接口/总线/驱动/时钟/开关

正文

免费的 I/O:改进 FPGA 时钟分配控制

导读: 本文将探讨FPGA时钟分配控制方面的挑战,协助开发团队改变他们的设计方法,并针对正在考虑如何通过缩小其时钟分配网络的规模来拥有更多的FPGA I/O,或提高时钟网络性能的设计者们提供实用的建议。

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

  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时钟网络控制

1  2  下一页>  
声明: 本文由入驻OFweek公众平台的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

我来说两句

(共0条评论,0人参与)

请输入评论

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码: