FPGA DCM时钟管理单元原理简介

发布者:自由思考最新更新时间:2012-03-27 来源: 21ic关键字:fpga 手机看文章 扫描二维码
随时随地手机看文章

DCM概述
    DCM内部是DLL(Delay Lock Loop(?)结构,对时钟偏移量的调节是通过长的延时线形成的。DCM的参数里有一个PHASESHIFT(相移),可以从0变到255。所以我们可以假设内部结构里从clkin到clk_1x之间应该有256根延时线(实际上,由于对不同频率的时钟都可以从0变到255,延时线的真正数目应该比这个大得多)。DCM总会把输入时钟clkin和反馈时钟clkfb相比较,如果它们的延时差不等于所设置的PHASESHIFT,DCM就会改变在clkin和clk_1x之间的延时线数目,直到相等为止。这个从不等到相等所花的时间,就是输出时钟锁定的时间,相等以后,lock_flag标识才会升高。
    当DCM发现clkin和clkfb位相差不等于PHASESHIFT的时候,却去调节clk_1x和clkin之间延时,所以如果clk_1x和clkfb不相关的话,那就永远也不能锁定了。呵呵。
 

如何使用DCM
    DCM一般和BUFG配合使用,要加上BUFG,应该是为了增强时钟的驱动能力。DCM的一般使用方法是,将其输出clk_1x接在BUFG的输入引脚上,BUFG的输出引脚反馈回来接在DCM的反馈时钟脚CLKFB上。另外,在FPGA里,只有BUFG的输出引脚接在时钟网络上,所以一般来说你可以不使用DCM,但你一定会使用BUFG。有些兄弟总喜欢直接将外部输入的时钟驱动内部的寄存器,其实这个时候虽然你没有明显地例化BUFG,但工具会自动给你加上的。

使用DCM可以消除时钟skew
   使用DCM可以消除时钟skew。这个东西一直是我以前所没有想清楚的,时钟从DCM输出开始走线到寄存器,这段skew的时间总是存在的,为什么用DCM就可以消除呢?直到有一天忽然豁然开朗,才明白其原委。对高手来说,也许是极为easy的事情,但也许有些朋友并不一定了解,所以写出来和大家共享。
    为说明方便起见,我们将BUFG的输出引脚叫做clk_o,从clk_o走全局时钟布线到寄存器时叫做clk_o_reg,从clk_o走线到DCM的反馈引脚CLKFB上时叫clkfb,如图所示。实际上clk_o, clk_o_reg, clkfb全部是用导线连在一起的。所谓时钟skew,指的就是clk_o到clk_o_reg之间的延时。如果打开FPGA_Editor看底层的结构,就可以发现虽然DCM和BUFG离得很近,但是从clk_o到clkfb却绕了很长一段才走回来,从而导致从clk_o到clk_o_reg和clkfb的延时大致相等。总之就是clk_o_reg和clkfb的相位应该相等。所以当DCM调节clkin和clkfb的相位相等时,实际上就调节了clkin和clk_o_reg相等。而至于clk_1x和clk_o的相位必然是超前于clkin, clkfb, clk_o_reg的,而clk_1x和clk_o之间的延时就很明显,就是经过那个BUFG的延迟时间。

对时钟skew的进一步讨论
    最后,说一说时钟skew的概念。时钟skew实际上指的是时钟驱动不同的寄存器时,由于寄存器之间可能会隔得比较远,所以时钟到达不同的寄存器的时间可能会不一样,这个时间差称为时钟skew。这种时钟skew可以通过时钟树来解决,也就是使时钟布线形成一种树状结构,使得时钟到每一个寄存器的距离是一样的。很多FPGA芯片里就布了这样的时钟树结构。也就是说,在这种芯片里,时钟skew基本上是不存在的。
说到这里,似乎有了一个矛盾,既然时钟skew的问题用时钟树就解决了,那么为什么还需要DCM+BUFG来解决这个问题?另外,既然时钟skew指的时时钟驱动不同寄存器之间的延时,那么上面所说的clk_o到clk_o_reg岂非不能称为时钟skew?
    先说后一个问题。在一块FPGA内部,时钟skew问题确实已经被FPGA的时钟方案树解决,在这个前提下clk_o到clk_o_reg充其量只能叫做时钟延时,而不能称之为时钟skew。可惜的是FPGA的设计不可能永远只在内部做事情,它必然和外部交换数据。例如从外部传过来一个32位的数据以及随路时钟,数据和随路时钟之间满足建立保持时间关系(Setup Hold time),你如何将这32位的数据接收进来?如果你不使用DCM,直接将clkin接在BUFG的输入引脚上,那么从你的clk_o_reg就必然和clkin之间有个延时,那么你的clk_o_reg还能保持和进来的数据之间的建立保持关系吗?显然不能。相反,如果你采用了DCM,接上反馈时钟,那么clk_o_reg和clkin同相,就可以利用它去锁存进来的数据。可见,DCM+BUFG的方案就是为了解决这个问题。而这个时候clk_o到clk_o_reg的延时,我们可以看到做内部寄存器和其他芯片传过来的数据之间的时钟skew。
    由此,我们可以得出一个推论,从晶振出来的时钟作为FPGA的系统时钟时,我们可以不经过DCM,而直接接到BUFG上就可以,因为我们并不在意从clkin到clk_o_reg的这段延时。

关键字:fpga 引用地址:FPGA DCM时钟管理单元原理简介

上一篇:基于FPGA和单片机的串行通信接口设计
下一篇:Verilog串口UART程序

推荐阅读最新更新时间:2024-03-30 21:53

FPGA新兴应用趋势洞悉
以市场观点来看,许多人只会重视FPGA的大量型应用,例如用FPGA取代ASIC。   但就技术角度来看,FPGA的应用拓展就更为多样且具意义,这包括用FPGA加速高效运算、用FPGA加速电路设计验证、用FPGA取代大量性的DSP运算。   由于掩膜成本的指数性攀升,许多中等用量规模(约50万颗以下)的芯片无法如过去般以ASIC方式投产,且不得不改以FPGA投产,如此使近年来FPGA的市场不断增长。   FPGA侵蚀原有ASIC市场的用量极为可观的,此也成为近年来众人关注FPGA的首要焦点,不过也因为过于聚焦在高用量、大市场的观察,使FPGA的其它新应用发展被人所忽略,但这些应用却也极具意义。所以,以下本文将针对FPGA的新
[工业控制]
新出现的SoC FPGA上的策略考虑
集成了 FPGA架构、硬核 CPU子系统以及其他硬核 IP的半导体器件 SoC FPGA已经发展到了一个“关键点”,它在今后十年中会得到广泛应用,为系统设计人员提供更多的选择。对于在 FPGA上开发的系统,这些 SoC FPGA完善了十多年以来的软核 CPU以及其他软核 IP。各种技术、商业和市场因素相结合推动了这一关键点的出现,Altera、Cypress.半导体、Intel .和 Xilinx.公司等供应商都发布或者开始发售 SoC FPGA器件。 这一关键点的主要推动因素包括:过渡到并行和多核处理,以提高功效;FPGA成为前沿的新半导体工艺技术;嵌入式系统中越来越多的使用了FPGA;摩尔定律的经济现实;CPU在体系
[嵌入式]
新出现的SoC <font color='red'>FPGA</font>上的策略考虑
基于FPGA的多路模拟量、数字量采集与处理系统
摘要:提出一种基于FPGA技术的多路模拟量、数字量采集与处理系统的设计方案,分析整个系统的结构,并讨论FPGA内部硬件资源的划分和软件的设计方案等。本设计方案外部电路结构简单可靠,特别适用于多路检测系统中,而且可以根据需要容易地对系统进行扩展,对于检测系统来讲具有一定的通用性。 关键词:FPGA A/D采集 数字量采集 VHDL语言设计 在电气测控系统中,常常需要采集各种模拟量信号、数字量信号,并对它们进行相应的处理。一般情况下,测控系统中用普通MCU(如51、196等单片机或控制型DSP)是可以完成系统任务的。但当系统中要采集的信号量特别多时(特别是各种信号量、状态量),仅仅靠用普通MCU的资源就往往难以完成任务。此时,一
[半导体设计/制造]
CPU遇摩尔定律瓶颈 FPGA混合元件或成解决方案
各科技大厂莫不希望能以更少的成本、在更小的空间里嵌入更多运算电晶体,有厂商开始转向开发现场可编程闸阵列(Field Programmable Gate Array;FPGA)平行架构,整合FPGA与处理器优势打造低功耗、高效能的Saturn 1伺服器,也打造出更易于作业的Carte开发环境,可望推动未来市场主流应用。 根据The Platform报导分析,近年处理器研发遇上摩尔定律(Moore's Law)瓶颈,厂商们想破头提升产品应用效能,业界与高效能运算市场也开始热烈讨论FPGA架构应用。业界与学界已有多年运用FPGA元件的经验,譬如超级电脑大厂Cray在2004年以1.15亿美元买下OctigaBay,利用其超
[嵌入式]
基于FPGA的FFT处理器设计
  1 引言   随着数字技术的快速发展,数字信号处理已深入到各个学科领域。在数字信号处理中,许多算法如相关、滤波、谱估计、卷积等都可通过转化为离散傅立叶变换(DFT)实现,从而为离散信号分析从理论上提供了变换工具。但DFT计算量大,实现困难。快速傅立叶(FFT)的提出,大大减少了计算量,从根本上改变了傅立叶变换的地位,成为数字信号处理中的核心技术之一,广泛应用于雷达、观测、跟踪、高速图像处理、保密无线通信和数字通信等领域。   目前,硬件实现FFT算法的方案主要有:通用数字信号处理器(DSP)、FFT专用器件和现场可编程门阵列(FPGA)。DSP具有纯软件实现的灵活性,适用于流程复杂的算法,如通信系统中信道的编译码、QA
[嵌入式]
基于<font color='red'>FPGA</font>的FFT处理器设计
基于单片机和FPGA的扫频仪设计
一个网络的频率特性包括幅频特性和相频特性,在系统设计时,各个网络的频率特性对该系统的稳定性、工作频带、传输特性等都具有重要影响。实际操作中,扫频仪大大简化了测量操作,提高了工作效率,达到了测量过程快速、直观、准确、方便的目的,在生产、科研、教学上得到广泛运用。本设计采用数字频率合成技术产生扫频信号,以单片机和FPGA为控制核心,通过A/D和D/A转换器等接口电路,实现扫频信号频率的步进调整、数字显示及被测网络幅频特性与相频特性参数的显示。 1 系统总体方案及设计框图 1.1 系统总体方案 将输出频率步进可调的正弦扫频信号源作为被测网络的激励Vi,可得被测网络的响应为V0。通过测量各频率点的幅度就可得到V0和Vi的有效值,
[单片机]
基于单片机和<font color='red'>FPGA</font>的扫频仪设计
基于SoPC的FPGA在线测试方法
  本文提出了一种基于SoPC的FPGA在线测试方法,是对现有FPGA在线测试方法的一种有效的补充。   1 在线测试数据操作流程   基于SoPC的FPGA在线测试方法的数据操作流程如图1所示。如果用户需要采集FPGA的测试数据并且上传至PC机,则用户首先要将被测试数据写入DMA读从外设,然后系统自动启动DMA控制器,将数据送入Nios II的数据存储器。再由JTAG UART控制器经JTAG接口上传至Nios II IDE(NiosⅡIntegrated Development Environment,Nios II开发环境),Nios II IDE将接收到的数据写入测量数据存储文件,从而完成了FPGA测试数据的上传。如果
[测试测量]
基于SoPC的<font color='red'>FPGA</font>在线测试方法
嵌入式系统中FPGA的被动串行配置方式
随着信息时代的到来,嵌入式系统成为继IT网络技术之后又一个新的技术发展方向。嵌入式系统以其功能强、体积小、功耗低、可靠性高以及面向行业应用的突出特征,广泛应用于各个领域。 现场可编程门阵列FPGA(Field Programmable Gate Array)是一种高密度可编程逻辑器件,其逻辑功能的实现是通过把设计生成的数据文件配置进芯片内部的静态配置数据存储器(SRAM)来完成的,具有可重复编程性,可以灵活实现各种逻辑功能。FPGA的这种特性使其在现代电子系统设计中得到了广泛应用。基于SRAM工艺的FPGA是易失性的,系统掉电以后其内部配置数据将丢失,因此需要外接ROM保存其配置数据。FPGA的配置是有时序要求的,如果FPGA本
[单片机]
嵌入式系统中<font color='red'>FPGA</font>的被动串行配置方式
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved