来源:EDACN
摘要:在使用FPGA时,经常忽略了它的一个优点——能够集成时钟解决方案。这种集成能力不但降低了系统成本,而且最新的65-nm Altera®Cyclone®III FPGA支持高级时钟管理和锁相环(PLL)技术,因此,还极大地提高了设计灵活性。设计人员利用Cyclone III时钟管理功能,管理整个FPGA和电路板的时钟系统。而且,由于Cyclone III PLL集成在FPGA中,可以利用Altera 的Quartus®II设计环境,轻松进行设置和配置。
关键词:FPGA,Cyclone III FPGA PLL,集成度
引言
在使用FPGA时,经常忽略了它的一个优点——能够集成时钟解决方案。这种集成能力不但降低了系统成本,而且最新的65-nm Altera®Cyclone®III FPGA支持高级时钟管理和锁相环(PLL)技术,因此,还极大地提高了设计灵活性。设计人员利用Cyclone III时钟管理功能,管理整个FPGA 和电路板的时钟系统。而且,由于Cyclone III PLL集成在FPGA中,可以利用Altera的Quartus®II 设计环境,轻松进行设置和配置。
Cyclone III PLL时钟合成器体系结构
图1所示为Cyclone III PLL结构图。PLL是一种反馈环路,主要组成包括相位频率探测器(PFD)、电荷泵(CP)、环路滤波器(LF)、压控振荡器(VCO)和反馈计数器M。PFD探测输入时钟和反馈时钟之间的相位差,相位失配时,向PLL发出信号。CP和LF接收来自PFD的信号,将控制电压提供给VCO,以得到所需的输出频率和相位。PLL含有三种类型的计数器:预调整N计数器、后调整C计数器和反馈M计数器。
图1. Cyclone III PLL结构图
结构图中高亮显示的模块表示Cyclone III PLL的用户编程部分,该部分给用户带来了很大的灵活性。PLL中所有的计数器都是用户可编程的,几乎可以合成任意的输入输出时钟频率比。它还支持大范围输入频率,并能够产生大范围输出频率。可编程输出C计数器支持从一个时钟输入中产生不同的频率和相位时钟输出。PLL的可编程环路组件实现了对PLL的带宽控制,能够滤除或者接受不同范围的输入抖动频率。可以通过软件自动配置这些用户可编程组件,利用Quartus II设计环境很容易配置整个PLL。
使用Cyclone III PLL的优点——灵活性、集成和使用方便
一个Cyclone III PLL是完整的时钟合成器,能够产生5路时钟输出。这些时钟可以输出给器件的任意引脚,大大提高了电路板上其他器件时钟的灵活性。时钟补偿模式使设计人员能够调整PLL输出时钟和输入时钟的相位关系。利用PLL提供的不同时钟补偿模式(参见表1),以及专用时钟输出引脚,设计人员可以针对具体应用定制电路板时钟方案。在所有器件中,除了最小的器件,Cyclone III FPGA每个器件都提供4路PLL。此外,多个PLL可以级联,更灵活地满足系统时钟要求,例如粒度更大的时钟频率。
Cyclone III器件还能够灵活地处理各种不同的I/O标准,把它们转换成其他的I/O标准。这样,一个时钟输入就可以和电路板的其他芯片实现接口,包括使用SSTL的DDR2 SDRAM以及使用LVTTL的LED驱动器。这避免了采用外部元件,例如时钟驱动器、电压转换器或者分立的PLL,从而减少了材料,降低了成本,缩小了电路板面积。
表1. 时钟补偿模式
为用户带来灵活性的另一特性是Cyclone III PLL的重新配置功能,它能够在器件工作时动态改变PLL状态。可以在片内存储器中存储多个PLL状态配置,根据系统建立的触发条件而动态进行加载。图2所示为这种系统的一个例子,根据一组固定输入或者用户建立的触发条件而采用了3种不同的频率模式。一个Cyclone III PLL便能够支持所有3种模式,每一模式对应一种PLL 状态配置,可以实时进行动态加载。这样,设计人员能够针对多种不同的应用建立一个设计,从而节省了宝贵的工程资源,将产品迅速推向市场。
图2. PLL重新配置方案
PLL重新配置特性能够动态调整PLL参数,在很宽的输入时钟频谱范围内进行锁定。这一特性在显示应用中非常有用,在这类应用中,时钟速率随系统以及选用的刷新率而变化。在这种情况下,Altera提供的IP被用于控制重新配置,自动调整PLL参数,锁定在指定输入频率上。
动态相移实现了对PLL输出时钟的任意调整,以及电路板制成后对系统时序的调整。此外,向DDR2 SDRAM等外部接口发送数据时,它还可以用于动态确定数据窗口的中心位置。
由于存储器的高速宽带接口提高了适时采样的难度,因此和快速DDR存储器的接口需要较长的时间。接口还必须能够适应工艺、电压和温度(PVT)的变化,但是很难找到合适的数据采样点使存储器能够正常工作。Altera提供自动校准PHY,随PVT变化来调整PLL输出时钟,从而简化了这一过程。这一IP利用Cyclone III PLL的动态相移特性调整时钟相位,对接口进行校准。这样,实现了设计中的最佳时序余量,和其他方式相比,接口能够工作在更高的数据速率上,如图3所示。在非自动校准系统中,由于数据窗口的移动,数据有效窗口实际变小,而采样点没有变。自动校准系统对移动进行补偿,因此有效地增大了采样窗口。
图3. 在DDR SDRAM接口中利用动态相移来提高时序余量
Cyclone III FPGA PLL的灵活性和易用性并不以牺牲PLL性能为代价。表2列出了重要的Cyclone III PLL性能参数,系统时钟方案可以只采用一个晶振。这种PLL能够产生片内功能需要的所有时钟,以及电路板上其他芯片需要的时钟,避免了采用多个晶振、其他时钟驱动器或者功能有限的分立PLL。
表2. 关键的Cyclone III PLL性能参数
通过Altera的Quartus II设计软件很容易充分发挥Cyclone III PLL的优势。使用软件直观的MegaWizard®插件来配置PLL,设计人员只要输入所需的输入和输出频率以及相位关系,软件会自动生成满足设计要求的PLL。图4为PLL MegaWizard配置过程的截屏显示。可以在这一界面下控制PLL的所有特性,包括设置所需的输入时钟频率、补偿模式、乘除因子,以及每一输出时钟的相移和占空比。根据设计需要设置好PLL后,设计人员单击“Finish”,在设计中例化PLL,编译,对器件进行编程。
图4. PLL MegaWizard插件
LCD设计实例
图5所示为采用改进Cyclone III PLL的典型应用实例。系统驱动一个LCD显示器,将时序控制器、视频处理和存储器控制器等功能集成在一片Cyclone III FPGA中。
图5. LCD显示器设计实例
这一例子利用了Cyclone III PLL的多种特性。首先是能够驱动多个时钟。这一应用有FPGA必须产生的多个时钟域。它必须从视频源获得时钟频率,为存储器接口和FPGA内部逻辑生成时钟,以及LCD显示器需要的多路时钟。取决于LCD的大小和分辨率,面板可能需要多路时钟驱
动。使用大量输出和多个PLL可以生成内部和外部需要的所有时钟。
第二个特性是重新配置能力。在很多情况下,并不知道时钟速率。视频源可能会有不同的格式和不同的时钟频率,不同的面板也有不同的LCD刷新率和分辨率,并且会随时改变。宽频PLL支持采用多种不同的源,随时对频率进行切换和重新调整。在其他FPGA体系结构中,需要对整个FPGA进行重新配置,以产生合适的时钟,但是这种重新配置非常耗时,而且需要特殊的设计考虑。Cyclone III PLL重新配置特性保证了这一切能够顺利进行,从而缩短了停机时间。
这一设计还利用了动态相移功能。视频处理的数据量很大,用户可能需要在片外存储大量的数据。利用器件中的第二个PLL以及Altera的自动校准PHY IP,FPGA能够针对PVT进行调整,在最佳数据窗口采样,简化了与DDR和DDR2存储器的接口。
Cyclone III器件的逻辑容量,结合PLL技术的进步以及大量的PLL,整个系统可以集成在一片Cyclone III FPGA中,从而大大降低了成本。
总结
和Cyclone III中的其他特性一样,PLL性能大幅度提高,设计人员在一片FPGA能够比以前实现更多的功能。PLL和FPGA架构相结合提高了集成度,从而降低了成本。定制实现PLL多路输出使设计人员有更多的选择进行设计,更加灵活。而且,由于Altera非常重视FPGA的软件设计,因此,设计人员能够在系统中轻松地配置PLL。
详细信息
■使用免费的Quartus II网络版软件设计Cyclone III器件:
www.altera.com/support/software/download/sof-download_center.html
致谢
■Jim Foroudian,组件应用工程经理,Altera公司。
■Stephen Lim,低成本产品营销经理,Altera公司。
Cyclone III FPGA 图下载本文