FPGA时钟内部设计方案

时间:2025-04-28  作者:Diven  阅读:0

时钟设计方案 在复杂的FPGA设计中,设计时钟方案是一项具有挑战性的任务。设计者需要很好地掌握目标器件所能提供的时钟资源及限制,需要了解不同设计技术之间的权衡,并且需要很好地掌握一系列设计实践知识。不正确的设计或次优的时钟方案可能会导致在最好情况下较差的设计性能,或者在最坏情况下的随机和难以查找的错误。 FPGA时钟资源指目标FPGA中大量与时钟有关的不同资源,如时钟类型(局部的和全局的)、频率限制和不同时钟管理器的抖动特性,以及能用于单个时钟域的时钟最大数量。 本文介绍了时钟设计方案中的每个部分,并推荐了一些设计方法。  

FPGA时钟内部设计方案

内部产生的时钟是组合逻辑或寄存器的输出,如图1所示。  

组合逻辑产生的时钟可能有毛刺,会被错误地当成有效时钟边沿,在设计中会导致功能错误。不要使用组合逻辑的输出作为时钟。 内部产生的时钟使用通用布线资源。与专用时钟布线相比延迟较长。其后果是时钟偏移增加,满足时序的过程更加困难。如果大量的逻辑使用了该内部时钟,这个问题尤为突出。作为一般规则,尽量避免使用内部产生的时钟,尽可能使用专用时钟资源。  

除了一些特殊电路[如双倍数据速率(DDR)的数据捕获]之外,寄存数据通常总是使用时钟的上升沿或下降沿。使用两个边沿带来的问题是由于时钟占空比可能并不总是50%,这会对电路的正常工作产生影响。    

建议在频率高的情况下使用差分时钟。通常认为频率高于100MHz以上属于高频。差分时钟相比单端时钟的主要优势是共模噪声抑制,因此抗噪声性能更好。具有PECL、LVPECL和LVDS信号电平的差分时钟是高速逻辑下时钟的首选。 Xilinx FPGA提供了一些用于差分时钟的专用原语:IBUFDS、IBUFGDS、IBUFGDS_DIFF、OBUFDS、0BUFTDS等(见图2)。

   

时钟门控是设计中通过使用控制信号,禁止或允许时钟输入到寄存器和其同步元件上的方法。能有效降低功耗,因此被应用于ASIC设计中。在FPGA设计中应尽量避免使用门控时钟。    

不建议将时钟信号作为通用逻辑的控制、复位或数据输入。下面是这类电路的例子。  

Module clock_schemes(input clk1,clk2,clk3,clk4,clk5,input data_in,output reg data_out1,data_out2,data_out3,data_out4,data_out5,data_out6);wire data_from_clock, reset_from_clock, control_from_clock;/ / 时钟被用做数据输入assign data_from_clock = clk1;always @(posedge clkl) data out1 <= ~data out1;always @(posedge clk2) data out2 <= ~data out2 & data_from_clock;/ / 时钟被用做复位输入assign reset_from_clock = clk3;always @(posedge clk3) data out3 <= ~data out2;always @(posedge clk4, posedge reset_from_clock) if (reset_from_clock) data_out4 <= 0; else data out4 <= data in;/ / 时钟被用做控制assign control_from_clock = clk5;always @(posedge clk5) data out5 <= ~data out5;always @(*) data_out6 = control_from_clock ? data_in : data_out6;endModule // clock schemes
   许多与FPGA接口的外设都使用与数据一样的源同步时钟。如果接口在高速下工作,可能需要对时钟边沿进行校准,以便在数据窗口的中间捕获数据。为实现动态校准Xilinx MMCM原语提供了动态重新配置端口DRP),允许时钟的可编程相位偏移。图3说明了来自MMCM的时钟被移位后,使时钟的上升沿在窗口的中间位置采样数据。  

当同一个逻辑有来自不同时钟源的时钟时,需要在设计中对这些时钟源进行时钟复用(见图4)。一个例子是使用2.5MHz、25MHz或125MHz时钟的以太网MAC,选取哪种时钟取决于10Mbps、100Mbps或1Gbps的协商速度(negotiated speed)。 另一个例子是电源内置自测(BIST)电路,在正常工作期间,使用了来自同一个时钟源的不同时钟信号。   建议使用专用的时钟资源实现时钟复用,确保输人和输出时钟使用专用时钟线,而不是通用逻辑。参与复用的时钟频率可能彼此并不相关。使用组合逻辑实现的多路复用器在切换时会在时钟线上产生毛刺,从而危害整个系统。这些毛刺会被一些寄存器当成有效时钟边沿,而被另一些寄存器忽略。 Xilinx提供了能在两个全局时钟源之间进行复用的BUFGMUX原语。还确保了当输人时钟切换后不会产生毛刺。时钟复用需要对复用器中所有从输入到输出的时钟路径进行细致的时序约束

检测时钟缺失 (ABSence)的方法,是使用其更高速的时钟对其进行过采样,缺点是时钟可能没有可用的高速时钟。还有方法是使用 Xilinx MMCM 原语的 locked 输出,如图 5 所示。

审核编辑:黄飞

 

猜您喜欢

你或许听说过芯片,知道是电子设备的大脑,但你了解芯片是如何制造出来的吗?其实,在芯片复杂的制造过程中,有一项技术很重要,那就是——芯片热处理。简单来说,芯片热处...
2024-01-27 00:00:00

DCM主要功能1. 分频倍频:DCM可以将输入时钟进行Multiply或者Divide,从而得到新的输出时钟。2. 去Skew:DCM还可以消除Clock的...
2018-05-05 10:38:00

DRFM技术是随着雷达欺骗干扰技术的提高而发展起来的,具有相参捕获及复制脉冲的能力。目前除了应用于雷达欺骗式干扰外还被广泛应用于内环境雷达目标仿真实验,为电子对...
2020-01-30 17:27:00

液体胶作为高效的粘合剂,应用于多个领域。在工业制造中,液体胶被用于电子产品的组装,如手机、电脑等,确保各个组件的牢固结合。在建筑行业,液体胶用于粘接瓷砖、木材和...
2017-12-05 00:00:00

电解电容和电容是电子元件中常见的。很多人对的区别不是很了解。本文将详细阐述这两者的不同之处。定义不同电容是储存电能的元件。电解电容是特殊类型的电容。的工作原理和...
2025-03-26 10:31:39

在焊接行业中,除了传统的焊接设备,其焊接工具也展现出了显著的优势。便携性是其一大亮点。许多焊接辅助工具如焊接夹具和焊接定位器,设计轻巧,易于搬运,适合各种施工环...
2009-12-07 00:00:00

发光二极管(LED)因其高效能、长寿命和低能耗而应用于照明、显示和装饰等领域。在使用LED时,确保其正常工作非常重要。本文将介绍如何检测发光二极管,帮助您快速识...
2025-04-04 16:30:35

薄膜电容器是电子产品中重要的元件。在电力电子设备中是重要配件。尤其是纹波电流对其性能影响大。本文将介绍薄膜电容器的纹波电流。纹波电流定义纹波电流是指电流中变化的...
2025-03-24 11:01:39

DDR5 内存作为新一代内存技术,相比上一代 DDR4 内存,最显著的变化就是工作电压的降低。这项技术进步不仅带来了更低的功耗,还为内存性能的提升创造了更多空间...
2024-11-25 00:00:00

以单片机和可编程逻辑器件(FPGA)为控制核心,设计了一个程控滤波器,实现了小信号程控放大、程控调整滤波器截止频率和幅频特性测试的功能。其中放大模块由可变增益放...
2018-12-19 10:26:00