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

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

3天内不再提示

FPGA虚拟时钟的使用方法

C29F_xilinx_inc 来源:赛灵思 作者:赛灵思 2022-02-16 16:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

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

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

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

set_input_delay 0.5 -clock clkA [get_ports A]
set_output_delay 1 -clock clkB [get_ports B]

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

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

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

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

FPGA虚拟时钟的使用方法
create_clock -name sysclk -period 10 [get_ports clkin]
create_clock -name virtclk -period 10
set_clock_latency -source 1 [get_clock virtclk]
set_input_delay -clock virtclk -max 4 [get_ports dina]
set_input_delay -clock virtclk -min 2 [get_ports dina]

2. FPGA I/O路径参考时钟来源于内部衍生时钟,但与主时钟的频率关系并不是整数倍

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

FPGA虚拟时钟的使用方法

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

create_clock -period 100.000 -name clk [get_ports clk]
set_input_delay -clock clk -max 2.000 [get_ports datain]
set_input_delay -clock clk -min 1.000 [get_ports datain]

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

create_clock -period 100.000 -name clk [get_ports clk] 
create_clock -name clk_port_vclk -period 16.67
set_input_delay -clock clk_port_vclk -max 2 [get_ports datain]
set_input_delay -clock clk_port_vclk -min 1 [get_ports datain]

3. 在不修改时钟特性的情况下针对I/O指定不同的jitter和latency

这个需求我们可以在Constraints Wizards中指定,简单又方便
FPGA虚拟时钟的使用方法

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

审核编辑:汤梓红

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

    关注

    1664

    文章

    22504

    浏览量

    639318
  • 端口
    +关注

    关注

    4

    文章

    1110

    浏览量

    34051
  • 虚拟时钟
    +关注

    关注

    0

    文章

    5

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    FPGA 的浩瀚宇宙中,时钟系统不仅是驱动逻辑运转的“心脏”,更是决定系统稳定性与性能上限的“指挥棒”。对于 Xilinx 7 系列 FPGA 开发者而言,如果仅满足于使用 Clocking Wizard IP 核点点鼠标,
    的头像 发表于 04-10 11:20 190次阅读
    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 916次阅读

    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 4926次阅读

    RTL9301管理型交换机DHCP Server使用方法

    RTL9301管理型交换机DHCP Server使用方法
    的头像 发表于 02-01 10:52 1500次阅读
    RTL9301管理型交换机DHCP Server<b class='flag-5'>使用方法</b>

    ups电源的作用和使用方法详解

    UPS(不间断电源)是一种重要的电力保护设备,主要用于在电网供电异常时提供临时的后备电源,并改善电源质量。以下是其核心作用和使用方法的详细介绍:一、UPS的主要作用核心:提供不间断电力断电保护:在
    的头像 发表于 01-08 09:21 1839次阅读
    ups电源的作用和<b class='flag-5'>使用方法</b>详解

    UV三防漆的使用方法

    ,紫外线照射下秒级固化成膜,大幅提升生产效率,广泛应用于汽车电子、工业设备、医疗器械等领域。UV三防漆的使用方法UV三防漆的核心原理UV三防漆内含光敏剂,在特定波
    的头像 发表于 12-31 17:19 1693次阅读
    UV三防漆的<b class='flag-5'>使用方法</b>

    易灵思FPGA DSP原语使用方法

    在现代数字信号处理(DSP)应用中,FPGA(现场可编程门阵列)凭借其高度并行性、可定制性和灵活性,已成为加速信号处理任务的核心硬件平台之一。
    的头像 发表于 12-10 10:32 5800次阅读
    易灵思<b class='flag-5'>FPGA</b> DSP原语<b class='flag-5'>使用方法</b>

    数字IC/FPGA设计中的时序优化方法

    在数字IC/FPGA设计的过程中,对PPA的优化是无处不在的,也是芯片设计工程师的使命所在。此节主要将介绍performance性能的优化,如何对时序路径进行优化,提高工作时钟频率。
    的头像 发表于 12-09 10:33 3556次阅读
    数字IC/<b class='flag-5'>FPGA</b>设计中的时序优化<b class='flag-5'>方法</b>

    芯源IR调制器都有哪些具体使用?使用方法是怎样的?

    芯源IR调制器都有哪些具体使用?以及使用方法是怎样的?
    发表于 12-02 06:33

    堆栈的定义,堆栈的使用方法

    和使用; 对于8086CPU,进出堆栈的只能是2字节的数据。 2 堆栈的使用方法 常用的堆栈相关指令包括PUSH POP PUSHF和POPF,语法如下: PUSH 源操作数;将指定操作数入栈保护 POP
    发表于 11-21 06:49

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

    ,所以我喜欢折腾,因为折腾迫使我不断去解决问题,在解决问题的过程中会思考很多细节,而且印象更加深刻。当然这是我个人的学习方法。 如果手上有Xilinx的 FPGA板卡,可以一起学习一下怎么将e203
    发表于 10-31 08:46

    E203软核提高CPU时钟频率方法

    运行时,无法达到100MHZ的时钟速度,超过33MHZ左右就会出现时序约束违例。 因此我们通过修改IP_MMCM中的16MHZ的clk输出,将其修改为32MHZ,重新综合,实现,烧写到FPGA。即可
    发表于 10-29 06:19

    条码扫码设备的使用方法

    使用方法,能让其充分发挥价值,为各行业的规范化管理提供有力支撑。一、条码扫码设备的主要类型不同场景对条码扫码设备的需求存在差异,目前主流类型可分为四类,适配不同工作
    的头像 发表于 09-17 16:15 1165次阅读
    条码扫码设备的<b class='flag-5'>使用方法</b>

    锡膏的储存及使用方法详解

    锡膏是一种常用的焊接辅助材料,广泛应用于电子、电器、通讯、仪表等行业的焊接工艺中。正确的储存和使用方法对于保证锡膏的品质和焊接效果至关重要。本文将就锡膏的储存和使用方法进行详细介绍,希望能对广大焊接工作者有所帮助。
    的头像 发表于 07-18 17:36 1660次阅读
    锡膏的储存及<b class='flag-5'>使用方法</b>详解

    LCR测试仪的使用方法与注意事项

    LCR测试仪的使用方法、操作注意事项及常见故障处理,帮助读者高效、安全地掌握这一仪器的使用技巧。   二、LCR测试仪的基本使用方法 1. 准备阶段 (1)设备检查:确保测试仪电源线、连接线完好,电源开关关闭。检查测试夹具或探针
    的头像 发表于 04-29 10:36 2w次阅读
    LCR测试仪的<b class='flag-5'>使用方法</b>与注意事项