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

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

3天内不再提示

FPGA原型平台门控时钟自动转换

冬至子 来源:芯播客 作者:Jacky Yu 2023-05-23 17:38 次阅读

现代FPGA综合工具会自动执行门控时钟转换,而无需更改RTL代码中的设计,然而,我们可能需要适当地手动指导综合工具执行门控时钟变换。需要注意的是,在这项任务中,各种综合工具的能力是不一样的,这是综合工具效果的一个展示功能。

以下是使综合工具成功转换门控时钟的一些简单的指导。

识别基准时钟,并通过添加频率或周期约束将其定义到综合工具中,例如vivado或者synplify。

不要将下游门控时钟定义为时钟。去掉在SoC设计流程中可能指定的门控时钟的任何周期或频率限制。

在综合工具中设置任何必要的控件,以启用门控时钟转换。

识别设计中由门控时钟驱动的任何黑盒。要修复驱动黑盒的门控时钟,必须识别黑盒的时钟和时钟启用信号输入。应使用特定于综合工具的指令来识别它们。

如果在时钟门控逻辑中存在组合回路,则组合回路应该被断开。这可以通过插入一个通路黑盒来实现,该黑盒是一个具有一个输入和一个输出的黑盒,位于组合环路路径中,如图所示。然后,我们可以为黑盒创建一个单独的网表,输出仅连接到输入。然后,必须在放置和布线期间将为黑盒创建的网表添加到设计中。

image.png

当遵循上述所有准则时,综合工具可以自动转换所有可转换门控时钟。

当满足以下所有条件时,门控时钟可转换。

1 对于选通信号的某些组合,选通时钟输出必须能够被禁用。

2 对于选通信号的其余组合,选通时钟输出应等于基准时钟或其反相值。

3 门控时钟仅基于一个基准时钟导出。

image.png

为了使SoC设计在基于FPGA的原型验证平台上可靠地工作,设计中的所有门控时钟都应该被转换。如果门控时钟是基于多个时钟导出的,或者门控逻辑是复杂的,那么合成工具不能进行门控时钟转换。然而,这些场景有时在SoC设计中很常见,这会导致许多设置和保持时间冲突。以下是处理这些场景的一些方法。如果适用,请共同使用所有这些方法。

如果在由基本时钟驱动的时序元件和未转换的门控时钟之间没有路径,则后者将不会产生任何跨域时序冲突。然而,它们在FPGA中的布线可能需要仔细控制,以避免上述竞争。

设计中的中间节点可以被识别并定义为基准时钟,使得由该节点驱动的门控逻辑是可转换的。通常,SoC设计将具有时钟生成逻辑块crg模块,该逻辑块具有复杂的逻辑以生成一个理想的时钟。该时钟将基于许多不同时钟之间的切换而创建。该生成的时钟将用作设计中具有单独选通逻辑的其余块的基准时钟。在时钟生成逻辑块的输出上定义时钟将确保基于该时钟创建的所有门控时钟将由FPGA综合工具转换。

image.png

如果一个基本时钟与其复杂门控时钟之间存在有效的定时路径,则尝试手动平衡这些路径之间的时钟路径。通过在

其中一个时钟路径中引入馈通LUT、时钟缓冲器、PLL和数字时钟管理器,可以实现平衡。

如果仍有一些门控时钟未被转换,并且存在巨大的有效时序冲突,则尝试以非常高的频率运行FPGA中的所有时序元件——大约是设计中最快时钟的10倍。对于设计中的所有门控时钟,插入相对于较快时钟的上升沿检测器。

该上升沿检测器可以通过使用更快的时钟对门控时钟信号进行双重注册(例如clk_reg1和clk_reg2),然后形成逻辑以检测从低到高的变化(~clk_reg2和 clk_reg_1)来设计,如果原始时钟驱动也在负边缘上工作的FF,则也需要负边缘检测器电路。

image.png

在放置和路由期间,必须注意这些边缘检测器的布局,以避免在路径clk_reg1和clk_reg2之间引入差分延迟。使用这些边缘检测器的输出作为所有顺序元件的启用,这些顺序元件最初由相应的门控/生成时钟驱动。

这样,整个FPGA由一个更快的时钟源驱动,如图所示。该时钟将使用FPGA中的专用全局路由资源,因此相关的时钟偏差将非常小,并且可以很容易地满足时序要求。

image.png

image.png

时钟门控在SoC设计中很常见,为了在FPGA上成功原型化SoC设计,应谨慎处理门控时钟。当受到适当约束时,现代FPGA综合工具会自动处理大多数的门控时钟。

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

    关注

    2

    文章

    84

    浏览量

    50742
  • SoC设计
    +关注

    关注

    1

    文章

    147

    浏览量

    18693
  • RTL
    RTL
    +关注

    关注

    1

    文章

    382

    浏览量

    59259
  • FPGA开发板
    +关注

    关注

    10

    文章

    120

    浏览量

    31375
收藏 人收藏

    评论

    相关推荐

    XOR自门控时钟门控的不同之处

    时钟XOR自门控(Self Gating)基本思路和时钟门控类似,都是当寄存器中的数据保持不变时,通过关闭某些寄存器的时钟信号来降低设计的动
    的头像 发表于 01-02 11:34 780次阅读
    XOR自<b class='flag-5'>门控</b>与<b class='flag-5'>时钟</b><b class='flag-5'>门控</b>的不同之处

    门控时钟与多扇出问题解决方案

    FPGA设计中,经常会出现由于设计不合理产生的布线问题,较为突出的一点就是门控时钟和多扇出问题。门控时钟指的是不用
    发表于 01-12 10:40

    fpga门控时钟问题

    我在一个图像项目里用来很多的门控时钟来产生需要的时序波形,这样程序很不稳定,图像晃动很大,我猜想是不是因为门控时钟太多,程序不稳定,但是又没有方法替代
    发表于 10-28 22:39

    GSPS ADC的最理想时钟源高速数字转换器应用平台

    描述ADC12D1600RFRB 参考设计提供了展示高速数字转换器应用(其中整合了时钟、电源管理和信号处理)的平台。此参考设计利用 1.6 GSPS ADC12D1600RF 器件、板载 FP
    发表于 12-17 16:16

    FPGA时钟门控是好还是坏?

    喜我对时钟门控有一些疑问。从我所读到/学到的东西 - 时钟门控可用于低功率fpga设计(关闭时钟
    发表于 02-21 10:21

    高频RFID芯片的FPGA原型验证平台设计及验证

    。基于FPGA原型验证方法凭借其速度快、易修改、真实性的特点,已经成为ASIC芯片设计中重要的验证方法。本文主要描述高频RFID芯片的FPGA原型验证
    发表于 05-29 08:03

    什么是时钟门控?如何去实线时钟门控的设计呢

    ,所以应用有效性的开销是最小的。有效性不仅仅是关于时钟门控。可以说,它有助于是否有意义。例如,前面的CPU波形是来自TL-Verilog模型。调试变得更容易了,因为我们已经自动过滤掉了大部分的信号值,将它
    发表于 12-19 17:09

    基于FPGA时钟设计

    FPGA设计中,为了成功地操作,可靠的时钟是非常关键的。设计不良的时钟在极限的温度、电压下将导致错误的行为。在设计PLD/FPGA时通常采用如下四种类型
    发表于 09-21 18:38 3603次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>时钟</b>设计

    WP370 -采用智能时钟门控技术降低动态开关功耗

    赛灵思推出业界首款自动化精细粒度时钟门控解决方案,该解决方案可将 Virtex-6 和 Spartan-6 FPGA 设计方案的动态功耗降低高达 30%。赛灵思智能
    发表于 01-17 15:34 34次下载
    WP370 -采用智能<b class='flag-5'>时钟</b><b class='flag-5'>门控</b>技术降低动态开关功耗

    低功耗时钟门控算术逻辑单元在不同FPGA中的时钟能量分析

    低功耗时钟门控算术逻辑单元在不同FPGA中的时钟能量分析
    发表于 11-19 14:50 0次下载

    门控时钟

    门控时钟的资料,关于FPGA方面的资料。有需要的可以看看
    发表于 05-10 16:31 11次下载

    什么是门控时钟 门控时钟降低功耗的原理

    门控时钟的设计初衷是实现FPGA的低功耗设计,本文从什么是门控时钟门控
    的头像 发表于 09-23 16:44 1.3w次阅读
    什么是<b class='flag-5'>门控</b><b class='flag-5'>时钟</b> <b class='flag-5'>门控</b><b class='flag-5'>时钟</b>降低功耗的原理

    门控时钟实现低功耗的原理

    只有当FPGA工程需要大量降低功耗时才有必要引入门控时钟,若必须引入门控时钟,则推荐使用基于寄存器的门控
    的头像 发表于 07-03 15:32 1840次阅读

    什么是门控时钟?如何生成门控时钟

    由于门控时钟逻辑具有一定的开销,因此数据宽度过小不适合做clockgating。一般情况下,数据宽度大于8比特时建议采用门控时钟
    发表于 12-05 12:28 2598次阅读

    FPGA原型验证系统的时钟门控

    门控时钟是一种在系统不需要动作时,关闭特定块的时钟的方法,目前很多低功耗SoC设计都将其用作节省动态功率的有效技术。
    的头像 发表于 04-20 09:15 901次阅读