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

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

3天内不再提示

FPGA的虚拟时钟用于什么地方?

OpenFPGA 来源:OpenFPGA 作者:OpenFPGA 2022-06-23 10:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

  在我之前写的FPGA时序约束教程中,有一篇中讲到了虚拟时钟

FPGA时序约束理论篇之时钟周期约束


但文中对虚拟时钟的应用介绍的还不够详细,因此这里我们再对虚拟时钟做一个更加细致的介绍。

  首先,虚拟时钟用于什么地方?

  虚拟时钟通常用于设定输入和输出的延时,即set_input_delayset_output_delay。可能有同学忘记这两个约束的用法了,这里我们再展示一下:

set_input_delay0.5-clockclkA[get_portsA]
set_output_delay1-clockclkB[get_portsB]

其中clkAclkB就是我们使用create_clock创建的主时钟或者虚拟时钟。

  主时钟在创建的时候需要指定时钟输入端口,虚拟时钟不需要指定端口,所以称之为虚拟时钟。那什么场景下要用到虚拟时钟呢?

  1. 外部IO的参考时钟并不是设计中的时钟

下图中,外部IO的参考时钟比设计中主时钟的路径上多了一个BUFFER,因此我们需要使用虚拟时钟来进行约束。

320b7c64-f28d-11ec-ba43-dac502259ad0.png

create_clock-namesysclk-period10[get_portsclkin]
create_clock-namevirtclk-period10
set_clock_latency-source1[get_clockvirtclk]
set_input_delay-clockvirtclk-max4[get_portsdina]
set_input_delay-clockvirtclk-min2[get_portsdina]
  1. FPGA I/O路径参考时钟来源于内部衍生时钟,但与主时钟的频率关系并不是整数倍

如果I/O路径参考时钟源于内部的衍生时钟,那set_input_delayset_output_delay约束中-clock参数后的时钟不能是衍生时钟,比如下图的例子中,输入10MHz时钟经过了MMCM后去采输入的数据。

32269c7e-f28d-11ec-ba43-dac502259ad0.pngimage-20211206203529124

a) 如果MMCM没有负的相移而且输出的频率也是10MHz,那么直接使用主时钟来约束input delay。

create_clock-period100.000-nameclk[get_portsclk]
set_input_delay-clockclk-max2.000[get_portsdatain]
set_input_delay-clockclk-min1.000[get_portsdatain]

b) 如果MMCM输出频率是60MHz,那么这个衍生时钟跟主时钟并不是整数倍关系,这时就需要用到虚拟时钟了

create_clock-period100.000-nameclk[get_portsclk]
create_clock-nameclk_port_vclk-period16.67
set_input_delay-clockclk_port_vclk-max2[get_portsdatain]
set_input_delay-clockclk_port_vclk-min1[get_portsdatain]
  1. 在不修改时钟特性的情况下针对I/O指定不同的jitter和latency

这个需求我们可以在Constraints Wizards中指定,简单又方便

3233a7b6-f28d-11ec-ba43-dac502259ad0.pngimage-20211206212729797

在设置完成后,可以看到Tcl Command Preview中提示的约束指令。

审核编辑 :李倩


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

    关注

    1664

    文章

    22571

    浏览量

    640755
  • 虚拟时钟
    +关注

    关注

    0

    文章

    5

    浏览量

    6712

原文标题:FPGA的虚拟时钟如何使用?

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    光纤一般用在什么地方

    光纤因其高速、大容量、低损耗、抗干扰性强等显著优势,被广泛应用于多个领域,成为现代信息社会不可或缺的基础设施。以下是光纤的主要应用场景及其具体用途: 1. 通信网络 长途干线传输:光纤是长途电话
    的头像 发表于 05-07 09:51 294次阅读

    AD9910的SYNC_IN+、SYNC_IN-这2个LVDS输入时钟是否可以和FPGA的HP bank(1.8V供电)输出的LVDS时钟相连吗?

    你好, 想问下几个小问题,谢谢 1.AD9910的SYNC_IN+、SYNC_IN-这2个LVDS输入时钟是否可以和FPGA的HP bank(1.8V供电)输出的LVDS时钟
    发表于 05-07 07:56

    eiQ Toolkit TFLite 转换器失败问题可能出在什么地方

    the model in h5, not in keras v3 or as a saved_model. 我最近看到过其他帖子,人们在使用该工具时取得了成功,所以我不知道问题可能出在什么地方,该模型是ultralytics 的yolov8,如果这有的话。 任何见解将不胜感激。
    发表于 04-15 08:21

    Xilinx FPGA中的混合模式时钟管理器MMCME2_ADV详解

    FPGA 的浩瀚宇宙中,时钟系统不仅是驱动逻辑运转的“心脏”,更是决定系统稳定性与性能上限的“指挥棒”。对于 Xilinx 7 系列 FPGA 开发者而言,如果仅满足于使用 Clocking Wizard IP 核点点鼠标,
    的头像 发表于 04-10 11:20 350次阅读
    Xilinx <b class='flag-5'>FPGA</b>中的混合模式<b class='flag-5'>时钟</b>管理器MMCME2_ADV详解

    浅谈FPGA时钟输入要求

    Virtex-7 FPGA时钟输入主要通过其全局时钟缓冲器(BUFG、BUFH等)和时钟管理模块(MMCM、PLL)来处理。对输入时钟的要
    的头像 发表于 03-25 15:26 1068次阅读

    Xilinx FPGA中IDELAYCTRL参考时钟控制模块的使用

    IDELAYCTRL 是 Xilinx FPGA(特别是支持高速 I/O 的系列,如 Virtex-5/6/7、Kintex-7、Artix-7、Spartan-6/7 等)中用于管理和校准输入延迟模块(IDELAYE2/IDELAYE3)的必须存在的参考
    的头像 发表于 02-26 14:41 6015次阅读

    开源RISC-V处理器(蜂鸟E203)学习(二)修改FPGA综合环境(移植到自己的Xilinx FPGA板卡)

    约束文件中的外设,可以将其注释掉,比如我将RGB LED和GPIO注释掉。当然后面就需要修改FPGA顶层文件,这个后面会说。但是板卡有相应外设,自己修改管脚号就可以了 4)修改时钟 其次就是时钟,我
    发表于 10-31 08:46

    基于FPGA的高效除法器设计

    FPGA可以通过除号直接实现除法,但是当除数或被除数位宽较大时,计算会变得缓慢,导致时序约束不能通过。此时可以通过在除法IP中加入流水线来提高最大时钟频率,这种方式提高时钟频率也很有限。如果还不能达到要求,就只能把除法器拆分,来
    的头像 发表于 10-28 14:56 2579次阅读
    基于<b class='flag-5'>FPGA</b>的高效除法器设计

    时钟设计优化实战

    理解并掌握先进的时钟设计策略。 下图展示了典型的时钟树结构(Clock Tree),用于平衡时钟延迟与偏斜。 2、核心技术详解 I. CTS 优化:消除时序违例的第一步
    的头像 发表于 10-09 10:07 788次阅读

    配置了串口DMA,现在是接收可以,发送不行,是什么地方没有设置对吗?

    配置了串口DMA,现在是接收可以,发送不行,是什么地方没有设置对吗?当配置DMA_TX 不能发送数据,默认轮询发送就可以。配置如下图:
    发表于 09-28 07:41

    超级法拉电容都用在什么地方

    超级电容在能源领域发挥关键作用,应用于电动交通、电网稳定及可再生能源,提升效率与可靠性。
    的头像 发表于 09-16 09:25 1532次阅读
    超级法拉电容都用在<b class='flag-5'>什么地方</b>

    指针式时钟 单面网络子钟

    时钟
    jf_47371611
    发布于 :2025年09月12日 13:38:52

    法拉超级电容用在什么地方

    法拉超级电容在新能源领域广泛应用,提升能源效率、保障设备运行及快速充放电,成为多行业关键储能解决方案。
    的头像 发表于 09-07 09:36 1405次阅读
    法拉超级电容用在<b class='flag-5'>什么地方</b>

    AMD FPGA异步模式与同步模式的对比

    本文讲述了AMD UltraScale /UltraScale+ FPGA 原生模式下,异步模式与同步模式的对比及其对时钟设置的影响。
    的头像 发表于 07-07 13:47 1877次阅读