FPGA时钟资源与设计方法——Xilinx(Vivado)

目录

  • [1 FPGA时钟资源](#1 FPGA时钟资源)
  • [2 时钟设计方案](#2 时钟设计方案)

1 FPGA时钟资源

1.时钟资源包括:时钟布线、时钟缓冲器(BUFG\BUFR\BUFIO)、时钟管理器(MMCM/PLL)。

2.时钟类型有三种:全局时钟,可以驱动整个内核上的同步逻辑;局部时钟,可以驱动特定和相邻区域的逻辑;IO时钟,可以驱动某个IO的特定逻辑。

3.混合模式时钟管理器(MMCM)和数字时钟管理器(DCM),DCM与MMCM设计差别很大。

4.时钟复用:Xilinx提供了BUFGMUX原语,能够在两个全局时钟源之间进行选择。该原语还确保了当输入时钟选择改变时,系统能不受毛刺干扰。

5.FPGA提供专用的低偏移时钟布线资源,偏移被定义为时钟边沿到达同步逻辑元件的时间偏差。

2 时钟设计方案

1.内部产生的时钟是组合逻辑或寄存器的输出,组合逻辑产生的时钟会有毛刺,会被错误的当成有效时钟边沿触发寄存器工作,从而导致功能错误,因此,禁止使用组合逻辑的输出作为时钟。

2.内部产生的时钟使用普通布线资源,与专用时钟布线相比延迟较长,其后果是时钟偏移增加,满足时序的过程更加困难,设计中尽量减少使用内部逻辑生成的时钟。

3.使用时钟的单个边沿(单单使用上升沿或是下降沿),除了一些特殊情况,寄存数据通常总是使用时钟的上升沿或下降沿。使用两个边沿带来的问题是由于时钟占空比可能并不总是50%,这会对电路的正常工作产生影响。

4.使用差分时钟,建议在频率高的情况下使用差分时钟。通常认为频率高于100MHz以上属于高频。差分时钟相比单端时钟的主要优势是共模噪声抑制,因此抗噪声性能更好。具有PECL、LVPECL和LVDS信号电平的差分时钟是高速逻辑下时钟的首选。

5.使用门控时钟,能够禁止或允许时钟输入到寄存器或其他同步元件上的一种方法。能够有效降低功耗,被使用在ASIC中,在FPGA中尽量避免使用这种方法。

6.不建议将时钟信号作为通用逻辑的控制、复位或数据输入。

7.源同步时钟,许多与FPGA接口的外设都使用与数据一样的源同步时钟。如果接口在高速下工作,可能需要对时钟边沿进行校准,以便在数据窗口的中间捕获数据。为实现动态校准,Xilinx的MMCM原语提供了动态重新配置端口(DRP),允许时钟的可编程相位偏移。

8.Xilinx提供了能在两个全局时钟源之间进行复用的BUFGMUX原语。他还确保了当输入时钟切换后不会产生毛刺。参与复用的时钟可以毫不相关,并且建议使用专用的时钟资源实现时钟复用,确保输入和输出时钟使用专用时钟线。

9.检测时钟缺失(absence),一种方法是使用其他更高速的时钟对其进行过采样,缺点是时钟可能没有可用的高速时钟。还有一种方法是使用Xilinx的MMCM原语的locked输出。

作为曾经的初学者,在开发的过程中对于时钟资源的使用,以前也犯过一个错误,这里总结一些精练笔记,减少大家在开发的过程中少出错;如果对您有帮助,请不吝赐赞和关注,我会不断分享。

相关推荐
zlinear数据采集卡2 小时前
USB HS 480M高速传输与SRAM记录仪:DABM-D223数据存储系统全解析
arm开发·嵌入式硬件·fpga开发·开源
逻辑诗篇4 小时前
基于 XCVU13P 的 4 路 100G 光纤 PCIe 处理板 PCIE727 硬件规格全解析
fpga开发
玩嵌入式谁会脱发呀8 小时前
【FPGA】 verilog设计spi读写flash实现数据DMA搬运
fpga开发
LabVIEW开发1 天前
LabVIEW 如何把地下震源定位误差做到5米内
fpga开发·labview·labview知识·labview功能·labview程序
Dr.kangder2 天前
嵌入式处理器架构解析(十)——DSP+FPGA
fpga开发·架构·嵌入式
szxinmai主板定制专家2 天前
Zynq MPSoC实现半导体真空腔体状态监测|FPGA多传感器时序同步采集方案
fpga开发·zynq·控制器·mpsoc·半导体设备·fpga同步
学习FPGA的电气小兴兴2 天前
基于FPGA的DDS信号发生器设计,生成频率可调的正弦波、三角波、锯齿波和方波
fpga开发·数字信号处理·fpga·vivado·dsp·dds·diy
szxinmai主板定制专家2 天前
Zynq MPSoC半导体高精度运动控制方案|FPGA硬件插补实现亚微米级伺服实时控制
人工智能·嵌入式硬件·fpga开发·zynq·运动控制·ethercat
星夜离尘563 天前
ILA 在线调试:Vivado 抓取片内信号与定位下板问题(附完整实操)
fpga开发