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
    +关注

    关注

    1655

    文章

    22283

    浏览量

    630292
  • 虚拟时钟
    +关注

    关注

    0

    文章

    5

    浏览量

    6697

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

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

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

    Xilinx Ultrascale系列FPGA时钟资源与架构解析

    Ultrascale是赛灵思开发的支持包含步进功能的增强型FPGA架构,相比7系列的28nm工艺,Ultrascale采用20nm的工艺,主要有2个系列:Kintex和Virtex
    的头像 发表于 04-24 11:29 2079次阅读
    Xilinx Ultrascale系列<b class='flag-5'>FPGA</b>的<b class='flag-5'>时钟</b>资源与架构解析

    FPGA时序约束之设置时钟

    Vivado中时序分析工具默认会分析设计中所有时钟相关的时序路径,除非时序约束中设置了时钟组或false路径。使用set_clock_groups命令可以使时序分析工具不分析时钟组中时钟
    的头像 发表于 04-23 09:50 967次阅读
    <b class='flag-5'>FPGA</b>时序约束之设置<b class='flag-5'>时钟</b>组

    6类4对utp电缆用于什么地方

    六类4对UTP电缆也被称为六类非屏蔽双绞线(Category 6 Unshielded Twisted Pair,简称CAT6 UTP),主要用于以下场景: 高速数据传输:六类4对UTP电缆支持高达
    的头像 发表于 03-04 10:02 1200次阅读

    单模光纤lc-lc用到什么地方

    单模光纤LC-LC跳线因其卓越的性能和灵活性,被广泛应用于多个领域,以下是对其具体应用场合的详细归纳: 一、数据中心 服务器与交换机连接:在数据中心内部,服务器之间、服务器与交换机之间、存储阵列
    的头像 发表于 02-28 10:18 1062次阅读

    用TVP5150做得视频解码芯片然后过FPGA处理,有黑线怎么处理?

    的,速度已能更上去,FPGA已是正常的,都能工作。我现在不知道问题出在什么地方,是我的处理有问题,什么地方出了问题呢。还忘各位高手帮忙分析一下,谢谢了。 注:我看过你们的使用手册,说这个问题是奇偶场没有处理好,我当独用过奇场或偶
    发表于 02-12 08:43

    基于FPGA的数字时钟设计

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

    使用DS90CR286A输入稳定的40M差分时钟,输出时钟时有时无,为什么?

    原因是什么。输出时钟的信号质量不好使因为我通过了一个FPGA在测量的,在FPGA中会出现一段时间的时钟无法锁定,就是在图中电平突然变高的地方
    发表于 01-07 07:25

    基于FPGA的实时时钟设计

    接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
    的头像 发表于 01-06 16:06 1778次阅读
    基于<b class='flag-5'>FPGA</b>的实时<b class='flag-5'>时钟</b>设计

    请问ADC32xx的时钟FPGA直接输出吗?

    大家好,我的ADC32XX 采样率为125M,将转换后的数据发送给FPGA,请问ADC32xx的时钟FPGA直接输出吗?FPGA IO口是3.3V的,如果是这样的话是不是得电平转换
    发表于 01-02 08:30

    如果用FPGA采集AD1672,如何保障FPGA时钟同1672时钟一致?

    第一次用这种AD芯片,买了个开发板,发现,开发板母板上没有晶振。请教几个问题。 1。母板上用的时钟是SCLK作为源时钟吗? 2、如果用FPGA采集AD1672,如何保障FPGA
    发表于 12-24 06:17

    ADS58C48的输出给FPGA时钟怎样产生的,是只要有输入时钟,就有输出时钟吗?

    最近采用ADS58C48采集数据,ADS58C48的时钟FPGA差分提供。上电后,FPGA首先给ADS58C48配置。ADS58C48输出时钟作为
    发表于 12-20 06:32

    ads1259EVM-PDK在第几位电压不跳的?输入信号接在什么地方

    就想知道1259在第几位电压不跳的输入信号接在什么地方
    发表于 12-12 07:45