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

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

3天内不再提示

剖析具有挑战性的设计时钟方案

OpenFPGA 来源:OpenFPGA 作者:OpenFPGA 2021-06-17 16:34 次阅读

时钟设计方案在复杂的FPGA设计中,设计时钟方案是一项具有挑战性的任务。设计者需要很好地掌握目标器件所能提供的时钟资源及它们的限制,需要了解不同设计技术之间的权衡,并且需要很好地掌握一系列设计实践知识。

不正确的设计或次优的时钟方案可能会导致在最好情况下较差的设计性能,或者在最坏情况下的随机和难以查找的错误。FPGA时钟资源指目标FPGA中大量与时钟有关的不同资源,如时钟类型(局部的和全局的)、频率限制和不同时钟管理器的抖动特性,以及能用于单个时钟域的时钟最大数量。本文介绍了时钟设计方案中的每个部分,并推荐了一些设计方法。

内部产生的时钟是组合逻辑或寄存器的输出,如图1所示。

fcdcedaa-ca99-11eb-9e57-12bb97331649.png

组合逻辑产生的时钟可能有毛刺,会被错误地当成有效时钟边沿,在设计中会导致功能错误。因此,不要使用组合逻辑的输出作为时钟。内部产生的时钟使用通用布线资源。因此,与专用时钟布线相比延迟较长。其后果是时钟偏移增加,满足时序的过程更加困难。如果大量的逻辑使用了该内部时钟,这个问题尤为突出。公众号:OpenFPGA作为一般规则,尽量避免使用内部产生的时钟,尽可能使用专用时钟资源。

除了一些特殊电路[如双倍数据速率(DDR)的数据捕获]之外,寄存数据通常总是使用时钟的上升沿或下降沿。使用两个边沿带来的问题是由于时钟占空比可能并不总是50%,这会对电路的正常工作产生影响。

建议在频率高的情况下使用差分时钟。通常认为频率高于100MHz以上属于高频。差分时钟相比单端时钟的主要优势是共模噪声抑制,因此抗噪声性能更好。具有PECL、LVPECL和LVDS信号电平的差分时钟是高速逻辑下时钟的首选。Xilinx FPGA提供了一些用于差分时钟的专用原语:IBUFDS、IBUFGDS、IBUFGDS_DIFF、OBUFDS、0BUFTDS等(见图2)。

fd100be0-ca99-11eb-9e57-12bb97331649.png

时钟门控是设计中通过使用控制信号,禁止或允许时钟输入到寄存器和其他同步元件上的一种方法。它能有效降低功耗,因此被广泛应用于ASIC设计中。然而,在FPGA设计中应尽量避免使用门控时钟。

不建议将时钟信号作为通用逻辑的控制、复位或数据输入。下面是这类电路的例子。

module clock_schemes(input clk1,clk2,clk3,clk4,clk5,input data_in,output reg data_out1,data_out2,data_out3,data_out4,data_out5,data_out6);wire data_from_clock, reset_from_clock, control_from_clock;/ / 时钟被用做数据输入assign data_from_clock = clk1;always @(posedge clkl) data out1 《= ~data out1;

always @(posedge clk2) data out2 《= ~data out2 & data_from_clock;

/ / 时钟被用做复位输入assign reset_from_clock = clk3;always @(posedge clk3) data out3 《= ~data out2;always @(posedge clk4, posedge reset_from_clock) if (reset_from_clock) data_out4 《= 0; else data out4 《= data in;/ / 时钟被用做控制assign control_from_clock = clk5;always @(posedge clk5) data out5 《= ~data out5;always @(*) data_out6 = control_from_clock ? data_in : data_out6;endmodule // clock schemes

许多与FPGA接口的外设都使用与数据一样的源同步时钟。如果接口在高速下工作,可能需要对时钟边沿进行校准,以便在数据窗口的中间捕获数据。为实现动态校准Xilinx MMCM原语提供了动态重新配置端口DRP),允许时钟的可编程相位偏移。图3说明了来自MMCM的时钟被移位后,使时钟的上升沿在窗口的中间位置采样数据。

fd1e4714-ca99-11eb-9e57-12bb97331649.png

当同一个逻辑有来自不同时钟源的时钟时,需要在设计中对这些时钟源进行时钟复用(见图4)。一个例子是使用2.5MHz、25MHz或125MHz时钟的以太网MAC,选取哪种时钟取决于10Mbps、100Mbps或1Gbps的协商速度(negotiated speed)。另一个例子是电源内置自测(BIST)电路,在正常工作期间,使用了来自同一个时钟源的不同时钟信号。公众号:OpenFPGA

建议使用专用的时钟资源实现时钟复用,确保输人和输出时钟使用专用时钟线,而不是通用逻辑。参与复用的时钟频率可能彼此并不相关。使用组合逻辑实现的多路复用器在切换时会在时钟线上产生毛刺,从而危害整个系统。这些毛刺会被一些寄存器当成有效时钟边沿,而被另一些寄存器忽略。

Xilinx提供了能在两个全局时钟源之间进行复用的BUFGMUX原语。它还确保了当输人时钟切换后不会产生毛刺。时钟复用需要对复用器中所有从输入到输出的时钟路径进行细致的时序约束

fd4dc174-ca99-11eb-9e57-12bb97331649.png

检测时钟缺失 (absence)的一种方法,是使用其他更高速的时钟对其进行过采样,缺点是时钟可能没有可用的高速时钟。还有一种方法是使用 Xilinx MMCM 原语的 locked 输出,如图 5 所示。

fd62738a-ca99-11eb-9e57-12bb97331649.png

编辑:jq

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

    关注

    1602

    文章

    21324

    浏览量

    593215
  • 寄存器
    +关注

    关注

    30

    文章

    5031

    浏览量

    117736
  • 数据
    +关注

    关注

    8

    文章

    6512

    浏览量

    87601
  • Xilinx
    +关注

    关注

    70

    文章

    2121

    浏览量

    119374

原文标题:FPGA时钟设计方案

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用STM8L做内部RTC做时钟时钟计时计到了超过24时怎么解决?

    我在使用STM8L做内部RTC做时钟的时候,发现了一个问题。时钟计时计到了超过24时。昨天下午我设置了一个初始时间,今天早上8:19的时候读取STM8内部RTC时间显示的是 2018.8.2932:19:05时间
    发表于 04-19 06:59

    分比式电源:为应对当前电源需求挑战而生的解决方案

    随着主板负载功率开始增加,高功率密度主板的设计变得更具挑战性,因此电源系统架构从分布式 DC-DC 转换器(或砖型解决方案)发展成了中间母线架构 (IBA)。
    的头像 发表于 12-04 16:50 412次阅读
    分比式电源:为应对当前电源需求<b class='flag-5'>挑战</b>而生的解决<b class='flag-5'>方案</b>

    IC设计:ram的应用-异步时钟域位宽转换

    在进行模块设计时,我们经常需要进行数据位宽的转换,常见的两种转换场景有同步时钟域位宽转换和异步时钟域位宽转换。本文将介绍异步时钟域位宽转换
    的头像 发表于 11-23 16:41 373次阅读
    IC设计:ram的应用-异步<b class='flag-5'>时钟</b>域位宽转换

    特斯拉的可扩展自动驾驶解决方案

    特斯拉的自动驾驶策略是仅依赖摄像头。虽然这是一个更具挑战性的问题,但如果特斯拉能够解决它,他们将拥有一个更具扩展性的解决方案。特斯拉不使用高清地图,这是一个更具挑战性的问题。
    发表于 11-10 11:29 290次阅读

    时钟与复位信号设计方案

    我们设计时要尽可能避免在内部产生时钟,如果操作不当,会导致设计功能和时序问题。总而言之,尽量在代码中避免操作时钟
    的头像 发表于 09-19 09:26 539次阅读
    <b class='flag-5'>时钟</b>与复位信号设计<b class='flag-5'>方案</b>

    Arm Cortex-R处理器对比表

    Cortex-R系列处理器提供快速、确定的处理和高性能,同时满足各种情况下具有挑战性的实时限制。 它们在性能、功率和面积优化的封装中结合了这些功能,使其成为要求高抗错的可靠系统的可靠选择。
    发表于 08-11 06:14

    如何去实现一种基于psoc6的时钟系统设计?

    近年来,随着电子产品的发展,人们对时钟的要求越来越高。时钟系统是一种用数字电路技术实现年、月、日、周、时、分、秒计时的装置,与机械式时钟相比具有
    的头像 发表于 07-31 14:51 587次阅读
    如何去实现一种基于psoc6的<b class='flag-5'>时钟</b>系统设计?

    基于单片机的DS1302实时时钟实验 实时时钟芯片DS1302的工作原理

    在许多系统当中都需要精确的时钟功能,因此时钟芯片孕育而生。其中美国达拉斯 DALLAS 公司设计的 DS1302 是一款非常流行的数字时钟芯片。DS1302 是一款具有涓细电流充电能力
    的头像 发表于 07-27 18:27 3480次阅读
    基于单片机的DS1302实时<b class='flag-5'>时钟</b>实验 实时<b class='flag-5'>时钟</b>芯片DS1302的工作原理

    动态时钟的使用

    时钟是每个 FPGA 设计的核心。如果我们正确地设计时钟架构、没有 CDC 问题并正确进行约束设计,就可以减少与工具斗争的时间。
    的头像 发表于 07-05 09:05 728次阅读
    动态<b class='flag-5'>时钟</b>的使用

    提前应对电动滑板车、电动自行车和其他位置跟踪物联网设计的电力挑战

    从电源管理的角度来看,在这些空间受限的产品中设计位置跟踪功能尤其具有挑战性。让我们仔细看看这篇文章中的电源挑战,以及如何克服它们。
    的头像 发表于 06-28 11:15 341次阅读
    提前应对电动滑板车、电动自行车和其他位置跟踪物联网设计的电力<b class='flag-5'>挑战</b>

    星形与网状网络拓扑:物联网无线连接基础

    物联网应用有多种不同的无线连接解决方案。考虑到广泛的用例,选择合适的无线连接解决方案来满足给定物联网应用的要求可能非常具有挑战性
    发表于 06-24 17:26 1311次阅读
    星形与网状网络拓扑:物联网无线连接基础

    健身房倒计时时钟开源设计

    电子发烧友网站提供《健身房倒计时时钟开源设计.zip》资料免费下载
    发表于 06-19 15:09 0次下载
    健身房倒<b class='flag-5'>计时</b>的<b class='flag-5'>时钟</b>开源设计

    为新年倒计时制作的实时时钟

    电子发烧友网站提供《为新年倒计时制作的实时时钟.zip》资料免费下载
    发表于 06-19 10:19 0次下载
    为新年倒<b class='flag-5'>计时</b>制作的实时<b class='flag-5'>时钟</b>

    浅谈芯片设计最大的挑战和机遇

    多芯片以及异构3D-IC系统既是目前最大的机遇,也是面临的最大挑战。中国公司也是一个巨大的挑战,尤其在EDA领域。他们那有很多初创公司,我们向中国销售产品也变得具有挑战性
    发表于 06-08 12:38 437次阅读

    如何使用Wemos D1 mini制作一款简单但具有挑战性的游戏?

    我使用 Wemos D1 mini 制作了一款简单但具有挑战性的游戏。 我尽量使说明尽可能详细,但如果您对此有任何疑问,请告诉我。 您所要做的就是将魔杖从电线的一端拿到另一端。它有一个 OLED
    发表于 05-23 06:14