星空-如何正确使用FPGA的时钟资源

若何准确利用FPGA的时钟资本 时候:2024-12-17 10:49:24 手机看文章

扫描二维码随时随地手机看文章

 

[导读] 赛灵思在其FPGA中供给了丰硕的时钟资本,年夜大都设计人员在他们的FPGA设计中或多或少城市用到。不外对FPGA设计新手来讲,甚么时辰用DCM、PLL、PMCD和MMCM四年夜类型中的哪种,让他们很是猜疑。本文为您解惑......

掌控DCM、PLL、PMCD和MMCM常识是稳健靠得住的时钟设计谋略的根本。赛灵思在其FPGA中供给了丰硕的时钟资本,年夜大都设计人员在他们的FPGA设计中或多或少城市用到。不外对FPGA设计新手来讲,甚么时辰用DCM、PLL、PMCD和MMCM四年夜类型中的哪种,让他们很是猜疑。赛灵思现有的FPGA中没有一款同时包括这四种资本(见表1)。

这四年夜类中的每种都针对特定的利用。例如,数字时钟治理器(DCM)合用在实现延迟锁相环(DLL)、数字频率综合器、数字移相器或数字频谱扩大器。DCM仍是镜像、发送或再缓冲时钟旌旗灯号的抱负选择。另外一种时钟资本相位匹配时钟分频器(PMCD)可用在实现相位匹配分派时钟或相位匹配延迟时钟。

锁相环(PLL)和夹杂模式时钟治理器(MMCM)处置的工作有很多是不异的,好比频率综合、表里部时钟发抖滤波、时钟去倾斜等。这两种资本也可用在镜像、发送或再缓冲时钟旌旗灯号。

在沉思设计实现细节时,把这些凡是用法记在心里,有助在理清时钟选择的思绪。对持久产物成长计划而言,在制订适合的时钟策略时,应斟酌各个器件系列之间的兼容性。下面让我们深切领会一下这些时钟资本。

您可使用DCM将时钟源的输入时钟旌旗灯号相乘,生成高频率时钟旌旗灯号。与此近似,可以未来自高频率时钟源的输入时钟旌旗灯号相除,生成低频率时钟旌旗灯号。

数字时钟治理器

顾名思义,数字时钟治理器(DCM)是一种用在治理时钟架构并有助在时钟旌旗灯号成形和操控的模块。DCM内含一个延迟锁相环(DLL),可按照输入时钟旌旗灯号,去除DCM输出时钟旌旗灯号的倾斜,从而避免时钟分派延迟。

DLL 内含一个延迟元件和节制逻辑链路。延迟元件的输出是输入时钟延迟所得。延迟时候取决在延迟元件在延迟链路中的位置。这类延迟表现为针对原始时钟的相位改变或相移,这就是所谓的“数字相移”。图1所示的即为Virtex-4器件中的典型DCM模块。按照Virtex-4FPGA用户指南(UG070,2.6 版本)的介绍,Virtex-4中有三种分歧的DCM原语。

一般来讲,DLL与PLL近似。但与PLL分歧的是DLL不含压控振荡器(VCO)。PLL会一向存储相位和频率信息,而DLL只存储相位信息。是以,DLL略比PLL不变。DLL和PLL这两种类型都可使用摹拟和数字手艺设计,或夹杂两种手艺设计。但赛灵思器件中的DCM采取全数字化设计。

因为DCM可以在时钟路径上引入延迟,好比您便可利用DCM可以切确地为DRAM生成行和列拜候选通讯号的时序。与此近似,数据总线上的各个数据位可以在分歧的时候达到。为了准确对数据位采样,领受真个时钟旌旗灯号必需恰当地与所稀有据位的达到连结同步。假如领受器利用发射时钟,可能会要求延迟从发送端到领受真个时钟旌旗灯号。

有时设计可能需要一个更高的时钟频率来运行FPGA上的逻辑。可是,只有低频率输出的时钟源可以用。此时可使用DCM将时钟源的输入时钟旌旗灯号相乘,生成高频率时钟旌旗灯号。与此近似,可以未来自高频率时钟源的输入时钟旌旗灯号相除,生成低频率时钟旌旗灯号。这类手艺称为“数字频率综合”。

设计人员利用扩频时钟并经由过程调制时钟旌旗灯号来下降时钟旌旗灯号的峰值电磁辐射。未经调制的时钟旌旗灯号的峰值会发生高电磁辐射。但经调制后,电磁辐射被扩大到一系列时钟频率上,从而下降了所有频点的辐射。一般来讲,假如需要知足必然的最年夜电磁辐射要乞降在FPGA上履行高速处置的时辰(好比说通讯系统中领受器利用的解串器),就需要利用扩频时钟。是以,FPGA中的DCM将乘以输入扩频时钟旌旗灯号,在内部生成高频时钟旌旗灯号。DCM的输出必需正确地追随扩频时钟,以连结相位和频率对齐并更新去倾斜和相移。DCM相位和频率对齐的恶化会下降领受器的倾斜裕量。

成立时钟的镜像需要将时钟旌旗灯号送出FPGA器件,然后又将它领受回来。可使用这类方式为多种器件的板级时钟旌旗灯号去倾斜。DCM可以或许把时钟旌旗灯号从FPGA发送到另外一个器件。这是由于FPGA的输入时钟旌旗灯号不克不及直接路由到输出引脚,没有如许的路由路径可用。假如仅需要发送时钟旌旗灯号,那末利用DCM将时钟旌旗灯号发送到输出引脚,可以确保旌旗灯号的保真度。别的也可选择在时钟旌旗灯号发送之前,将DCM输出毗连到ODDR触发器。固然也能够选择不利用DCM,仅利用ODDR 来发送时钟旌旗灯号。常常时钟驱动器需要将时钟旌旗灯号驱动到设计的多个组件。这会增年夜时钟驱动器的负荷,致使呈现时钟倾斜和其它问题。在这类环境下,需要采取时钟缓冲来均衡负载。

时钟可以毗连到FPGA上的一系列逻辑块上。为确保时钟旌旗灯号在阔别时钟源的寄放器上有适合的上升和降落时候(从而将输入输出时延节制在答应的规模内),需要在时钟驱动器和负载之间插入时钟缓冲器。DCM可用作时钟输入引脚和逻辑块之间的时钟缓冲器。

最后,还可使用DCM将输入时钟旌旗灯号转换为差分I/O尺度旌旗灯号。例如,DCM可以将输入的LVTTL时钟旌旗灯号转换为LVDS时钟旌旗灯号发送出去。

相位匹配时钟分频器

设计人员可以使用相位匹配时钟分频器(PMCD)来生成相位匹配的分频输入时钟旌旗灯号。这与分频时钟的DCM频率综合类似。PMCD还能生成设计中相位匹配但有延迟的时钟旌旗灯号。在后一种环境下,PCMD可以或许在输入时钟旌旗灯号和其它PMCD输入时钟旌旗灯号之间连结边沿对齐、相位关系和倾斜。与DCM分歧的是,在分频器的值可设置装备摆设的环境下,赛灵思器件中现有的PMCD生成的时钟旌旗灯号仅按2、4和8分频。这意味着PMCD生成的时钟旌旗灯号的频率是输入时钟旌旗灯号的1/2、1/4和1/8。在如Virtex-4FPGA如许的赛灵思器件中,PMCD紧邻 DCM并与其位在统一列上。每列有两个PMCD-DCM对。是以DCM的输出可以驱动PMCD的输入。

因为DCM还负责处置去倾斜,是以只要不需要去倾斜时钟,设计人员便可以利用不带DCM的PMCD。经由过程专用引脚,还可以把一列中的两个PMCD毗连起来。图2是 Virtex-4器件中的PMCD原语。具体内容请参阅Virtex-4FPGA用户指南(UG070,2.6版本)。

夹杂模式时钟治理器

另外一种类型的时钟资本——夹杂模式时钟治理器(MMCM),用在在与给定输入时钟有设定的相位和频率关系的环境下,生成分歧的时钟旌旗灯号。不外与DCM分歧是,MMCM利用PLL来完成这一工作。Virtex-6FPGA中的时钟治理模块(CMT)有两个MMCM,而Virtex-7中的CMT有一个 MMCM和一个PLL。Virtex-6器件中的MMCM没有扩频功能,是以输入时钟旌旗灯号上的扩频不会被滤波,将直接被传送给MMCM输出时钟。但 Virtex-7FPGA的MMCM却有扩频功能。

Virtex-6FPGA中的MMCM要求插入一个校准电路,以便在用户复位或用户断电后确保MMCM准确运行。赛灵思ISE设计套件11.5版本和更高版本可以或许在设计的MAP阶段主动插入需要的校准电路。若利用赛灵思ISE 的更早版本,则需要利用赛灵思手艺撑持部供给的设计文件手动插入校准电路。最后需要留意的是,在本移植该设计,以便用ISE11.5版本或更高版本实现时,必需手动移除校准电路,或经由过程恰当设置每一个MMCM上的综合属性,禁用主动插入功能。具体介绍请参阅赛灵思回答记实AR#33849。

对7系列器件中的MMCM就不存在如许的问题,由于这些FPGA只获得ISE13.1版本和更高版本和新型Vivado设计套件的撑持。Virtex-6系列中供给的MMCM间专用走线可便在用户将全局时钟资本用在设计的其余部门。

图 3显示了Virtex-6FPGA中的MMCM原语。各个端口的具体介绍请参阅Virtex-6FPGA时钟资本用户指南(UG362,2.1版本)。图 4显示了赛灵思7系列FPGA中的MMCM原语,有关具体介绍请参阅7系列FPGA时钟资本用户指南(UG472,1.5版本)。

锁相环

设计人员利用锁相环(PLL)首要用在频率综合。利用一个PLL可以从一个输入时钟旌旗灯号生成多个时钟旌旗灯号。连系DCM利用,还可以用作发抖滤波器。Spartan-6、Virtex-5和7系列FPGA中都供给有PLL。Spartan-6和 Virtex-5中均有专门的“DCM到PLL”和“PLL到DCM”走线。Spartan-6和Virtex-5中的PLL输出长短扩频的。对这两种器件而言,假如设计利用多个分歧时钟,都可以用PLL替换DCM。PLL时钟输出具有宽范的设置装备摆设规模,而DCM的输出是预定的,不成设置装备摆设。PLL和DCM的选择仍是取决在设计的要求。不外假如相移是必须的,就应当明白地选择DCM。

同时,7系列器件中的PLL所实现的功能没有 MMCM所实现的多。是以固然MMCM是成立在PLL架构之上,但7系列器件中也有自力的PLL。图5显示了Virtex-5FPGA中的PLL原语。各个端口的具体介绍请参阅Virtex-5用户指南(UG190,5.4版本)。

设计移植

把握四种首要的时钟资本之间的差别和其在分歧器件系列中的可用性很是主要。同时,在分歧的系列中,类似的资本(好比DCM)可能在功能上其实不完全不异。例如,Spartan-6FPGA中的DCM撑持扩频时钟,但Virtex-5和Virtex-5器件中的DCM就不撑持。

在计划将来设计向更高端系列移植时,除确保功能,为给定设计选择准确的时钟资本也很主要。如表1所示,Virtex-6和7系列中的MMCM可以或许与之前系列中的DCM向后兼容。但需要判定在多年夜水平上撑持向后兼容性,由于所有这些时钟资本都具有多功能性,供给与时钟相干的多种分歧功能。在制订产物持久成长计划时,必需对兼容性洞若观火。

欲知详情,请下载word文档 下载文档

上一篇:星空-ChatGPT重大更新:新增实时搜索和高级语音 下一篇:星空-基于XILINX FPGA的硬件设计总结之PCIE硬件设计避坑