0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何把握FPGA的数字时钟管理器

电子设计 来源:EDN 作者:Sharad Sinha 2021-02-13 17:02 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

把握DCM、PLL、PMCD和MMCM知识是稳健可靠的时钟设计策略的基础。

赛灵思在其FPGA中提供了丰富的时钟资源,大多数设计人员在他们的FPGA设计中或多或少都会用到。不过对FPGA设计新手来说,什么时候用DCM、PLL、PMCD和MMCM四大类型中的哪一种,让他们颇为困惑。赛灵思现有的FPGA中没有一款同时包含这四种资源(见表1)。

pIYBAGASfNeAQqQkAAJNt6n9Y2w556.png

这四大类中的每一种都针对特定的应用。例如,数字时钟管理器(DCM)适用于实现延迟锁相环(DLL)、数字频率综合器、数字移相器或数字频谱扩展器。DCM还是镜像、发送或再缓冲时钟信号的理想选择。另一种时钟资源相位匹配时钟分频器(PMCD)可用于实现相位匹配分配时钟或相位匹配延迟时钟。

锁相环(PLL)和混合模式时钟管理器(MMCM)处理的工作有许多是相同的,比如频率综合、内外部时钟抖动滤波、时钟去歪斜等。这两种资源也可用于镜像、发送或再缓冲时钟信号。

在深思设计实现细节时,把这些通常用法记在心里,有助于理清时钟选择的思路。对于长期产品发展规划而言,在制定合适的时钟策略时,应考虑各个器件系列之间的兼容性。下面让我们深入了解一下这些时钟资源。

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

数字时钟管理器

顾名思义,数字时钟管理器(DCM)是一种用于管理时钟架构并有助于时钟信号成形和操控的模块。DCM内含一个延迟锁相环(DLL),可根据输入时钟信号,去除DCM输出时钟信号的歪斜,从而避免时钟分配延迟。

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

o4YBAGASfOWAFhlAAAHeJ6zFnro831.png

一般来说,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版本)。

pIYBAGASfPOAAAfYAAGeOTfnu2U634.png

混合模式时钟管理器

另一种类型的时钟资源——混合模式时钟管理器(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版本)。

o4YBAGASfQGAfU_sAAPQoBTAu3Q768.png

o4YBAGASfQ6AX1HgAAOctHZeckI770.png

锁相环

设计人员使用锁相环(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版本)。

pIYBAGASfR2AU-qbAAL-T1HJSrM250.png

设计移植

掌握四种主要的时钟资源之间的差异及其在不同器件系列中的可用性非常重要。同时,在不同的系列中,相似的资源(比如DCM)可能在功能上并不完全相同。例如,Spartan-6FPGA中的DCM支持扩频时钟,但Virtex-5和Virtex-5器件中的DCM就不支持。

在规划未来设计向更高端系列移植时,除了确保功能,为给定设计选择正确的时钟资源也很重要。如表1所示,Virtex-6和7系列中的MMCM能够与之前系列中的DCM向后兼容。但需要判断在多大程度上支持向后兼容性,因为所有这些时钟资源都具有多功能性,提供与时钟相关的多种不同功能。在制定产品长期发展规划时,必须对兼容性了如指掌。

(作者:Sharad Sinha,南洋理工大学)
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1655

    文章

    22283

    浏览量

    630227
  • 时钟管理器
    +关注

    关注

    0

    文章

    3

    浏览量

    5410
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【产品介绍】Altair PBS Professional HPC工作负载管理器和作业调度管理系统

    AltairPBSProfessional行业领先的HPC工作负载管理器和作业调度管理系统PBSProfessional是一款快速、强大的工作负载管理器和作业调度管理系统,旨在提高生产
    的头像 发表于 09-19 17:03 381次阅读
    【产品介绍】Altair PBS Professional HPC工作负载<b class='flag-5'>管理器</b>和作业调度<b class='flag-5'>管理</b>系统

    rt-thread studio v2.2.7 SDK管理器无法下载怎么解决?

    使用rt-thread studio v2.2.7中sdk管理器下载包时,资源下载源已切换到gitee,但是下载时仍使用github源。 rt-thread 包还不支持导入功能,哎!!!!!
    发表于 09-16 08:08

    K230设备管理器里面没有COM是怎么回事?

    我的K230连接电脑后,设备管理器里面没有新的USB串行设备(COMx),电脑也没有弹出CanMV设备,我看设备管理器里面只有一个“其他设备-K230 USB Boot Device”有个三角形
    发表于 08-04 08:04

    k230弹出windows资源管理器无法识别usb设备怎么解决?

    k230弹出windows资源管理器无法识别该usb设备
    发表于 07-31 08:28

    protel 99 se的设计管理器找不到

    求哪位高手指点一下,我打开protel 99 se时,窗口上不显示设计管理器,点击Design Manager和图标都不行,重新从网上下载protel 99 se也是打不开。
    发表于 07-11 10:25

    ADI创新电源管理器件介绍

    在电子系统中,电源管理器件担负着电能的变换、分配、监测等工作,为系统中不同的用电组件提供持续充足的能量,确保其稳定可靠工作,是不可或缺的存在。因此,对于硬件工程师来说,电源管理器件的选型和应用,是产品开发中重要的一环。
    的头像 发表于 05-30 14:18 1298次阅读
    ADI创新电源<b class='flag-5'>管理器</b>件介绍

    CY4500设备管理器黄感,显示没有安装驱动是怎么回事?

    CY4500 设备管理器黄感,显示没有安装驱动
    发表于 05-27 06:48

    昂科烧录支持Maxim美信半导体的数字电源系统管理器MAX34451

    芯片烧录领导者昂科技术近期宣布了其烧录软件的最新迭代,并公布了一系列新增兼容芯片型号。在此次更新中,美信半导体(Maxim)推出的数字电源系统管理器MAX34451已被昂科ic烧录脱机编程
    的头像 发表于 03-06 09:47 581次阅读
    昂科烧录<b class='flag-5'>器</b>支持Maxim美信半导体的<b class='flag-5'>数字</b>电源系统<b class='flag-5'>管理器</b>MAX34451

    hyper管理器,Hyper管理器管理工具使用指南

    随着大数据、云计算等新兴技术的不断发展,数据的规模呈指数级增长。在这样的背景下,批量管理工具的价值愈发凸显,它成为了我们在数据管理领域的重要利器。今天就为大家介绍Hyper管理器管理
    的头像 发表于 02-08 09:57 1526次阅读
    hyper<b class='flag-5'>管理器</b>,Hyper<b class='flag-5'>管理器</b>:<b class='flag-5'>管理</b>工具使用指南

    KiCad 9 探秘(五):敷铜管理器

    “  KiCad 9 中新增了敷铜管理器的功能,可以让您更方便的查看或编辑 PCB 中的敷铜。   ” 敷铜管理器有什么用? 敷铜管理器(Zone Manager)可以帮助您在同一个对话框中查看或
    的头像 发表于 02-06 11:15 3395次阅读
    KiCad 9 探秘(五):敷铜<b class='flag-5'>管理器</b>

    基于FPGA数字时钟设计

    本次的设计的数字钟思路描述如下,使用3个key按键,上电后,需要先配置数字时钟的时分秒,设计一个按键来控制数字时钟的时,第二个按键来控制
    的头像 发表于 01-21 10:29 1200次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>数字</b><b class='flag-5'>时钟</b>设计

    EE-146:为ADSP-218x系列DSP实施启动管理器

    电子发烧友网站提供《EE-146:为ADSP-218x系列DSP实施启动管理器.pdf》资料免费下载
    发表于 01-14 14:58 0次下载
    EE-146:为ADSP-218x系列DSP实施启动<b class='flag-5'>管理器</b>

    XQR5VFX130-1CN1752V:现场可编程门的FPGA芯片FPGA中文资料书

    管理:集成数字时钟管理器 (DCM)、锁相环 (PLL) 时钟发生器和高级配置选项。 连接选项:兼容 PCI Express® 的集成端
    的头像 发表于 01-11 10:01 779次阅读

    bq40z60可编程电池组管理器技术参考手册

    电子发烧友网站提供《bq40z60可编程电池组管理器技术参考手册.pdf》资料免费下载
    发表于 12-18 16:38 3次下载
    bq40z60可编程电池组<b class='flag-5'>管理器</b>技术参考手册

    全功能-48V热插拔电源管理器(TPS2392和TPS2393)

    电子发烧友网站提供《全功能-48V热插拔电源管理器(TPS2392和TPS2393).pdf》资料免费下载
    发表于 12-16 09:17 1次下载
    全功能-48V热插拔电源<b class='flag-5'>管理器</b>(TPS2392和TPS2393)