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

    关注

    1634

    文章

    21821

    浏览量

    607550
  • 虚拟时钟
    +关注

    关注

    0

    文章

    5

    浏览量

    6617

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

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

收藏 人收藏

    相关推荐

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

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

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

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

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

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

    请问TLV320AIC3254EVM-U 开发板程序丢失,怎么通过USB重新写入,程序从什么地方可以得到?

    请问TLV320AIC3254EVM-U 开发板程序丢失,怎么通过USB重新写入,程序从什么地方可以得到,谢谢?
    发表于 11-06 06:55

    振动传感器用在什么地方

    振动传感器作为一种普遍应用的检测工具,因其成本低、灵敏度高、工作稳定可靠、振动检测可调节范围大等优点,在多个领域得到了广泛的应用。 一、工业领域 在工业领域,振动传感器主要用于机械中的振动和位移监测
    的头像 发表于 10-22 17:19 443次阅读

    110配线架可用于什么地方?rj4模块化配线架可用于什么地方

    110配线架和RJ45模块化配线架都是网络综合布线中的重要组成部分,它们各自具有特定的应用场景和功能。 110配线架可用于: 计算机网络:在大型数据网络中,110配线架能够建立和管理配线系统,确保
    的头像 发表于 09-11 09:55 820次阅读

    FPGA如何消除时钟抖动

    FPGA(现场可编程门阵列)设计中,消除时钟抖动是一个关键任务,因为时钟抖动会直接影响系统的时序性能、稳定性和可靠性。以下将详细阐述FPGA中消除
    的头像 发表于 08-19 17:58 1812次阅读

    虚拟电厂,GPS北斗卫星同步时钟守护智慧能源

    虚拟电厂,GPS北斗卫星同步时钟守护智慧能源
    的头像 发表于 08-05 11:18 432次阅读

    数字电源模块用在什么地方

    数字电源模块是一种高度集成化的电源解决方案,广泛应用于各种电子设备和系统中。 数字电源模块的应用领域 通信设备 数字电源模块在通信设备中的应用非常广泛,包括基站、交换机、路由器等。这些设备需要稳定
    的头像 发表于 07-08 11:29 861次阅读

    网络电话配线架用在什么地方

    网络电话配线架(也称为电话配线架)主要用于电话通信系统中,将各种电话设备连接在一起,实现电话线路的分配和连接。它通常具有配线、保安作用等功能。 配线功能:电话配线架能够将电话线路按照需求分配
    的头像 发表于 06-12 10:19 554次阅读

    MAX13085EESA+与MAX13485EESA+的差异在什么地方

    MAX13085EESA+与MAX13485EESA+,这两款同系列的8SO芯片的差异在什么地方,是否可以互相替代
    发表于 05-23 08:10

    FPGA开发过程中配置全局时钟需要注意哪些问题

    尽可能一致。 同步时序设计 :全局时钟资源通常用于同步时序设计。在设计过程中,需要确保所有的操作都在时钟信号的上升沿或下降沿进行,以避免时序冲突和冒险现象。 时钟管理单元的使用 :
    发表于 04-28 09:43

    FPGA时钟电路结构原理

    FPGA 中包含一些全局时钟资源。以AMD公司近年的主流FPGA为例,这些时钟资源由CMT(时钟管理器)产生,包括DCM、PLL和MMCM等
    发表于 04-25 12:58 2095次阅读
    <b class='flag-5'>FPGA</b>的<b class='flag-5'>时钟</b>电路结构原理

    什么是CBB81高压谐振电容器?CBB81电容主要用在什么地方呢?

    像我们平时使用量最大的CBB22电容,它的体积、耐压都不算太大,但CBB81电容有点不一样,它的体积相对更大,而且额定电压最高可以做到3000VDC,耐高频、高压、大电流的性能更好,CBB81电容主要用在什么地方呢?
    的头像 发表于 04-02 12:24 1588次阅读

    STM32CubeExpansion_NFC401开发板拥有手机软件进行写入数据,那数据是传输到了芯片中的什么地方了?

    请问在ST官网中下载的STM32CubeExpansion_NFC401开发板拥有手机软件进行写入数据,那数据是传输到了芯片中的什么地方了?还是说有哪个函数来定义?
    发表于 03-29 07:56