通常Xilinx FPGA时钟二选一用如下原语实现,其中S为时钟选择输入,I0和I1为两路时钟输入,O为一路时钟输出。


BUFGMUX #(
   )
   BUFGMUX_inst (
      .O(O),   // 1-bit output: Clock output
      .I0(I0), // 1-bit input: Clock input (S=0)
      .I1(I1), // 1-bit input: Clock input (S=1)
      .S(S)    // 1-bit input: Clock select
   );


BUFGMUX类似assign clkout = sel ? clkin1 : clkin0;这样一个功能,但是为什么不直接用assign语句呢?

因为用assign作二选一的话,会用到逻辑资源里的选择器,时钟信号会偏离全局时钟树进入选择器,这样可能会造成一些问题。

对于低速时钟可以考虑使用assign作切换,但是不建议这么做。高速时钟切换需要使用原语。在Vivado开发环境下,如果使用到时钟二选一的场景,如何对时钟进行约束有如下说明。

通常来讲,时钟二选一之后会驱动部分时序元件,也就是两个时钟具有重复时钟路径。如下图的例子。

clk125 和 clk250 是 clkcore_buf 的两个输入时钟,这两个时钟经过BUFGCTRL(在Xilinx 7系列FPGA中,直接使用BUFGMUX会消耗一个BUFGCTRL资源)后有重复时钟路径,针对这两个时钟做如下约束:


create_generated_clock -name clk125_bufgctrl \
-divide_by 1 [get_pins bufgctrl_i/O] \
-source [get_ports bufgctrl_i/I0]

create_generated_clock -name clk250_bufgctrl \
-divide_by 1 [get_pins bufgctrl_i/O] \
-source [get_ports bufgctrl_i/I1] \
-add -master_clock clk250

set_clock_groups –physically_exclusive \
–group clk125_bufgctrl \
–group clk250_bufgctrl


在clkcore_buf 的输出端上创建两个重叠的衍生钟,并将其时钟关系约束为 -physically_exclusive 表示不可能同时
通过。按照我的理解,频率稍高的一路时钟需要约束为-master_clock

xilinx FPGA时钟二选一相关推荐

  1. XILINX FPGA时钟资源

    Xilinx FPGA时钟资源 Xilinx FPGA时钟包括全局时钟资源.局部时钟资源和I/O时钟资源.Xilinx FPGA除了提供丰富的时钟网络之外,还提供了强大的时钟管理模块,并不断改进,从V ...

  2. Xilinx FPGA时钟及I/O接口规划(一)

    引言:从本文开始,我们介绍Xilinx FPGA时钟及I/O接口规划设计.I/O和时钟规划是定义和分析FPGA和印刷电路板(PCB)之间连接的过程,并将各种互连信号分配给FPGA器件的物理管脚,正确的 ...

  3. Xilinx FPGA时钟资源的使用

    赛灵思FPGA时钟资源的类型:DCM.PLL.PMCD.MMCM DCM:数字时钟管理器 PLL:锁相环 PMCD:相位匹配时钟分频器 MMCM:混合模式时钟管理器 DCM实际上就是一个DLL(延迟锁 ...

  4. Xilinx FPGA时钟及I/O接口规划(二)

    引言:Vivado®Design Suite提供了几种可能影响I/O和时钟规划的器件规划功能.例如,FPGA配置方案.约束.配置电压方式都会影响I/O和时钟规划.或者,定义与封装兼容的其他器件,以便在 ...

  5. Xilinx FPGA平台GTX简易使用教程(二)GTX时钟篇

    时钟就是脉搏,能否工作全靠它! 汇总篇: Xilinx FPGA平台GTX简易使用教程(汇总篇) 目录 一.参考时钟 1.1 收发测试能跑起来的基本参考时钟设置 1.2 继续了解时钟,走着 1.3 单 ...

  6. Xilinx FPGA DDR3设计(二)时钟介绍

    引言:本文介绍Xilinx FPGA外接DDR3时钟相关参数及配置. 1.DDR3芯片时钟.位宽和数据带宽 以MT41K256M16RH-125为例,DDR3关键时序参数如图1所示. 1.1 DDR3 ...

  7. 小梅哥Xilinx FPGA学习笔记1——二选一多路器

    二选一多路器 〇.功能介绍 1.功能描述 2.原理图 一.代码编写 1.设计文件 2.激励文件 3.仿真图 二.总结 〇.功能介绍 1.功能描述 sl为控制信号,a,b为两个输入信号,out为输出信号 ...

  8. 跟着小梅哥初学FPGA ,vivdao开发平台,二选一多路选择器。

    今天正式开始自己的FPGA自学之路,由于导师项目需要,xilinx ZYNQ 7系列的板子,vivado软件平台进行开发,所以自己也直接学习vivado软件开发的板子,我自己学习所用的开发板是xili ...

  9. (128)FPGA面试题-用一个二选一的MUX和一个非门实现异或

    1.1 FPGA面试题-用一个二选一的MUX和一个非门实现异或 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-用一个二选一的MUX和一个非门实现异或: ...

最新文章

  1. MySQL主从数据库同步延迟问题解决
  2. 机器学习模型身后的数学和统计背景:统计与信息论Probability and Information Theory
  3. 你真的了解你的手机?—麦克风降噪
  4. linux 多个定时器,timer: 一个Linux下的超级精简的多重定时器:可实现成千上万个定时任务,定时精度可达纳秒级别,且同一时间点可添加不同的任务!适用于云后台服务和嵌入式等各种环境。...
  5. includes(), startsWith(), endsWith()
  6. y空间兑换代码_loam代码解析3
  7. Pandas 列索引操作
  8. 【版本更新】CAD组件Aspose.CAD 9月新版V17.9发布 | 支持IFC格式
  9. 设置git客户端不经过代理
  10. “我创业成功的十大秘诀”
  11. 每 1000 行代码有 14 个安全缺陷,开源软件的安全令人堪忧
  12. FFmpeg源代码简单分析:结构体成员管理系统-AVClass
  13. 还原数据库时不能独占访问
  14. CAD的.net开发
  15. FreeSwitch Originate API
  16. qq企业邮箱的发送邮件服务器地址,腾讯企业邮箱注册和SMTP发件设置教程
  17. 找工作么?会坐牢的那种。
  18. 浅谈知识付费模式的兴起及意义
  19. MYSQL JDBC快速查询响应的方法,快速返回机制的实现
  20. 淘系页面详情API调用展示

热门文章

  1. 买到了翻新镜头(佳能(Canon)EF 70-200mm f/2.8L IS II USM 镜头)
  2. 终于把「内卷」和「努力」区别讲明白了!
  3. 信息安全基础—对称/非对称密码图文详解
  4. IDEA设置快捷键习惯及快捷键
  5. 有关auocad编程和CadLib4.0的相关总结
  6. 第二天 Kotlin 外卖 APP
  7. 锐龙用vm搭建linux,玩vmware的话主机千万别用AMD的芯片
  8. 大赛首单惊人:一天收益20%
  9. 伽马数据 唯一官网.html,伽马数据
  10. 大学物理实验——分光计实验