




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DLL( Delay-Locked Loop ) 周清海2目录nDLL作用nPLL原理n数字倍频n数字移相nDLL原理nDLL应用3DLL作用原因:FPGA芯片规模增大,工作频率高,片内时钟分配质量和时钟延迟变得重要、传统的时钟树无法保持片内高速时钟的精确同步需求作用:1、消除时钟延迟,可实现零传输延迟,使时钟输入信号与整个芯片内部时钟引脚之间偏差最小。每个DLL驱动两个全局时钟网络。2、先进的多时钟控制。对Spartan-II系列FPGA有四个DLL,可实现2倍频,以及使时钟按1.5,2,2.5,3,4,5,8 ,16分频时钟树时钟树零传输延迟零传输延迟PLL和DLL主要有三个功能:参考pa
2、ge11,消除时钟延迟;2,频率合成(包括倍率和分频);3,时钟校正(包括占空比和相移)4时钟树图示是典型的片上时钟树图,共6级时钟。先垂直方向后水平方向分配时钟,各级时钟最长线4mm。第一级时钟4mm驱动2个第二级时钟,第二级时钟用3mm匹配线驱动4个第三级时钟.(图中只画出上面部分,下部分未画出)133233554566665典型的时钟树分布图5零传输延迟零传输延迟DLL技术能够实现零传输延迟,使分布于整个器件的时钟引脚间的偏差最小。零传输延迟指前面的时钟信号经过若干延时,能够达到与后面的时钟信号的同步,最终实现零传输延迟参考时钟延迟信号信号延时同步6PLL锁相环锁相环由鉴相器、环路滤波器
3、和压控振荡器组成。鉴相器用来鉴别输入信号Ui与输出信号Uo之间的相位差 ,并输出误差电压Ud 。Ud 中的噪声和干扰成分被低通性质的环路滤波器滤除,形成压控振荡器(VCO)的控制电压Uc 。 Uc作用于压控振荡器的结果是把它的输出振荡频率fo拉向环路输入信号频率fi ,当二者相等时,环路被锁定 ,称为入锁。7下图是另一种PLL原理图,控制电路由上图的鉴鉴相器相器和低通滤波器低通滤波器组成。调整振荡器的频率和相位就可以补偿时钟分布造成的时间延迟压控振荡器控制逻辑电路时钟分布网络PLL原理图输入时钟输出时钟8DPLL数字锁相环数字鉴相器,数字低通滤波器,数字控制振荡器;DPD比较clk_dpd与D
4、ata_in相位超前或滞后关系;DPL根据DPD输出进行加/减计数,达到一定模值,产生进/借位对DCO控制,即实现对相位差控制和滤除DPD噪声,clk_DLF是clk_DPD的两倍;DCO利用外部时钟进行分频,其中分频系数由DLF产生的信号调整,从而使输出逼近输入9DLF digital low filterDPL根据DPD输出的sign,sign _ready进行加/减计数,达到模值时,产生进/借位对DCO控制,即利用相位差控制;另外,因为只有噪声连续出现的次数达到了计数器模值时才会产生对DCO的分频系统调整,故可以产生滤除DPD噪声的效果;此外clk_DLF是clk_DPD的两倍,可以提高
5、滤波精度;更智能的方法是利用锁相环状态检测电路,当没有达到锁定时,增大计数模值,使锁相器快速进入稳定;进入稳定后,再逐步减小模值,使其再度失锁,如此可得最佳模值,提高锁相精度。如下图10相比前面的DPLL,最主要的变化是增加了锁相环检测电路,用于检测是否锁定,原理如下页11锁相环检测电路由触发器与单稳态振荡器构成fin输入参考时钟,fout为锁相器振荡器输出时钟的移相90度fout对fin的抽样送入单稳态振荡器锁定状态fout与fin有稳定的相位关系 fout对fin抽样应全部为0或1这样不会激发振荡器振荡,从而lock将输出低电平;而失锁状态时fout与fin出现相位之间的滑动,抽样时就不会
6、出现长时间的0或1,单稳态振荡器振荡,使lock输出高电平。锁相环的锁定状态保持时间的认定,可以通过设置振荡器的性能。 12微分型单稳态触发器 稳态时,vi等于0,vd等于0,vi2等于vdd ,vo等于0,vo1等于vdd,电容Cd两端的电压等于0;触发脉冲到达时,vi大于vth,vd大于vth,vo1等于0,vi2等于0,vo等于vdd,电容c开始充电,电路进入暂稳态.当电容c两端的电压上升到vth时,即vi2上升到vth时,vo等于0,电路退出暂稳态,电路的输出恢复到稳态。显然,输出脉冲宽度等于暂稳态持续时间。路退出暂稳态时,vd已经回到0(这是电容cd和电阻rd构成的微分电路决定的,所
7、以vo1等于vdd,vi2等于vth+vdd电容c通过G2输入端的保护电路迅速放电。当vi2下降到vdd时,电路内部也恢复到稳态。 因为CMOS门电路的输入电阻很高,所以其输入端可以认为开路。电容cd和电阻rd构成一个时间常数很小的微分电路,它能将较宽的矩形触发脉冲vi变成较窄的尖触发脉冲vd.13数字倍频倍频器的功能即在两脉冲之间等间隔插入一定数量的脉冲,使经过倍频器的信号输出频率为输入频率的整数倍。最简单的数字倍频器可将输入时钟进行适当延迟,然后与原始时钟相异或,生成的信号为原信号的两倍频原始信号原始信号clk1延迟信号延迟信号clk2异或输出异或输出clk0输出倍频信号的脉宽由延迟器件决
8、定,同时也可输出倍频信号的脉宽由延迟器件决定,同时也可看出,这种电路也是信号边沿检测的一种电路看出,这种电路也是信号边沿检测的一种电路14另一种方法常用的倍频方法如图:fc是数字倍频器晶振的高频时钟,fi为输入,fo为倍频输出。且fo =kfi,即fo是fi的K倍频。图中,fc对fi计数Nfc /fi,再将N除以倍频系数K所得商整数部分作为下一步分频系数。则fo=fc /|N/k|.即 fo Kfi.15利用数字倍频器对信号进行延时操作可以达到可控精度的移相操作。实现原理是把输入信号的周期Tin转化为原来的1/data,Tin/data即移相精度,即data倍频。如data=360则精度为1度
9、,data=720则精度为0.5度.然后利用得到的倍频信号计数N延迟输出原信号,就可以得到原信号的(N*单位精度)的移相信号。如:精度为1度时,只要利用倍频信号计数90次,然后再输出原信号,那么此时相对原信号的相移就为90度数字移相原理16DLL原理一个最简单的延时锁相环DLL与PLL主要不同在于DLL用延时线(Delay Line)代替了PLL的压控振荡器。延时线产生输入时钟的延时输出,时钟分布网络把时钟送到内部寄存器的时钟端口,控制逻辑对输入时钟和反馈时钟抽样、比较,调整延时线。压控振荡器控制逻辑电路时钟分布网络输入时钟输出时钟PLL原理图原理图可变延时线控制逻辑电路时钟分布网络输入时钟输
10、出时钟反馈时钟反馈时钟反馈时钟反馈时钟DLL原理图原理图17DLL就是在输入时钟与反馈时钟间插入延时脉冲,直到这两个时钟上升沿对齐达到同步,DLL才能锁定。这样两个时钟没有了差别。也就补偿了时钟分配网络造成的时间延时,有效改善了时钟源与负载之间延时。区别:区别:DLL与PLL模拟电路实现时有精确的时序,而数字电路实现时:抗噪声,低功耗,抗抖动,移植性好。PLL的振荡器有不稳定,相位偏移的积累而DLL技术稳定,没有累积相位偏移,因而在延时补偿和时钟调整时常用DLL18DLL应用在virtex库中DLL简化宏符号BUFGDLL,该模块可为整个芯提供快速有效的零传输延迟的系统时钟。更多的库元件可查看
11、xilinx提供的技术资料(本文下载了一个virtex and virtex-E library guide 及using_virtex_DLL)0nsCLKINCLKOUTBUFGDLL简化宏符号简化宏符号BUFGDLLCLKFB19下图为两个DLL库原形,分别是标准的DLL宏符号CLKDLL和高频DLL宏符号CLKDLLHF,具有DLL一切特性,用于更复杂的场合。标准的标准的DLL宏宏符号符号CLKDLL高频高频DLL宏符号宏符号CLKDLLHF输入时钟输入时钟CLKIN必须在数据手册规定的低频范围必须在数据手册规定的低频范围内,只有内,只有CLK0,CLK2X可以接可以接CLKFB201
12、、on-chip synchronizationCLKFB必接由BUFG驱动的同一DLL的CLK0或CLK2X,而CLKIN接由IBUFG驱动的系统时钟nOn-chip synchronization is achieved by connecting the CLKFB input to a point on the global clock network driven by a BUFG, a global clock buffer . The BUFG connected to the CLKFB input of the CLKDLL must be sourced from eit
13、her the CLK0 or CLK2X outputs of the same CLKDLL. The CLKIN input should be connected to the output of an IBUFG, with the IBUFG input connected to a pad driven by the system clock.2、off-chip synchronizationCLKFB接由IBUFG驱动的外部时钟,CLK0,CLK2X如要用,必接OBUF用以隔离及增加驱动nOff-chip synchronization is achieved by conn
14、ecting the CLKFB input to the output of an IBUFG, with the IBUFG input connected to a pad. Either the CLK0 or CLK2X output can be used but not both. The CLK0 or CLK2X must be connected to the input of OBUF , an output buffer .21利用DLL产生4倍频(virtex-E Devices)IBUFGGNDINVOBUFBUFGCLKDLL1CLKDLL2INPUTCLKDLL
15、1没有达到稳定时LOCKED为低,则CLKDLL2的RST为高,不工 作。CLK0CLK270分别为移相输出,占比为50/50,可通过DUTY_CYCLE_CORRECTION来控制,默认为TURE,当FALSE时,输出与输入占空比相同。CLKDV为N分频输出,默认N2,可取1.5、2、2.5、3、4、5、8、16,由CLKDIVIDE设定22CLKDLL输出时序CLK0CLK90CLK180CLK270DUTY_CYCLE_CORRECTION=FALSEDUTY_CYCLE_CORRECTION=TURETURE时,输出占空比时,输出占空比50/50;FALSE时,输出具有与输入相同的占空
16、比时,输出具有与输入相同的占空比23DLL属性(properties)nDuty Cycle Correction Property DUTY_CYCLE_CORRECTION (TRUE,FALSE) 参考dll_mirror_1.vhdnClock Divide Property CLKDV_DIVIDE (1.5,2,2.5,3,4,5,8,16)nStartup Delay Property STARTUP_WAIT (TRUE,FALSE)nVirtex Series DLL Location Constraints LOC (eg. LOC=DLL2) 241.Standard U
17、sage下图是BUFGDLL宏的重新实现,以提供RST,LOCKED引脚;verilog实现/ Standard DLL Examplemodule dll_standard (CLKIN, RESET, CLK0, LOCKED);input CLKIN, RESET;output CLK0, LOCKED;wire CLKIN_w, RESET_w, CLK0_dll, LOCKED_dll;IBUFG clkpad (.I(CLKIN), .O(CLKIN_w);IBUF rstpad (.I(RESET), .O(RESET_w);CLKDLL dll (.CLKIN(CLKIN_w)
18、, .CLKFB(CLK0), .RST(RESET_w), .CLK0(CLK0_dll), .CLK90(), .CLK180(), .CLK270(), .CLK2X(), .CLKDV(), .LOCKED(LOCKED_dll);BUFG clkg (.I(CLK0_dll), .O(CLK0);OBUF lckpad (.I(LOCKED_dll), .O(LOCKED);endmodule252.Board-Level Deskew of Multiple Non-Virtex Devices用于消除virtex和非virtex芯片之间的系统时钟偏移,通常用于virtex与SRA
19、M,DRAM等标准的产品的互联module dll_mirror_1 (CLKIN, CLKFB, CLK0_ext, CLK0_int);input CLKIN, CLKFB;output CLK0_ext, CLK0_int;wire CLKIN_w, CLKFB_w, CLK0_int_dll, CLK0_ext_dll;wire logic0;assign logic0 = 1b0;IBUFG clkpad (.I(CLKIN), .O(CLKIN_w);IBUFG clkfbpad (.I(CLKFB), .O(CLKFB_w);CLKDLL dllint (.CLKIN(CLKIN
20、_w), .CLKFB(CLK0_int), .RST(logic0), .CLK0(CLK0_int_dll), .CLK90(), .CLK180(), .CLK270(), .CLK2X(), .CLKDV(), .LOCKED();CLKDLL dllext (.CLKIN(CLKIN_w), .CLKFB(CLKFB_w), .RST(logic0), .CLK0(CLK0_ext_dll), .CLK90(), .CLK180(), .CLK270(), .CLK2X(), .CLKDV(), .LOCKED();BUFG clkg (.I(CLK0_int_dll), .O(CL
21、K0_int);OBUF clkextpad (.I(CLK0_ext_dll), .O(CLK0_ext);endmodule263.Board-Level Deskew of Multiple Virtex DevicesUsed to deskew a system clock between multiple Virtex chips on the same board274.Deskew of Clock and Its 2x MultipleImplements a 2x clock multiplier and also uses the CLK0 clock output with 0 nsskew between registers on the same chip285.Generating a 4x Clock4x clock multipler with 0 ns skew between registers in the same device.When using this circuit,it is vital to use the SRL16 cell to reset the second DLL after the initial chip reset. If this is not done,the second DLL may not
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵阳人文科技学院《风景园林制图》2023-2024学年第二学期期末试卷
- 江苏理工学院《分子生物学及分子生物学实验》2023-2024学年第二学期期末试卷
- 烟台城市科技职业学院《数据库技术(一)》2023-2024学年第二学期期末试卷
- 合肥信息技术职业学院《技术经济与企业管理》2023-2024学年第二学期期末试卷
- 广州铁路职业技术学院《电气专业外语》2023-2024学年第一学期期末试卷
- 湖北文理学院《环境管理与规划》2023-2024学年第二学期期末试卷
- 广西外国语学院《基础日语》2023-2024学年第二学期期末试卷
- 吉林建筑大学《能源动力与轮机工程概论》2023-2024学年第一学期期末试卷
- 新疆科信职业技术学院《机器视觉技术》2023-2024学年第二学期期末试卷
- 2025年副主任医师报考条件解析与备考指南
- 寺院宣传法治知识讲座
- 直播带岗方案
- 瓶盖自动封装机的设计
- 无线局域网覆盖方案
- 网络安全前沿技术与未来趋势研究
- 第13课《警惕可怕的狂犬病》 课件
- 《照明线路安装与维护》课程标准
- 中医春季情志养生知识讲座
- 小儿隐匿性阴茎诊疗规范
- MSOP(测量标准作业规范)测量SOP
- 免检物料管理规范(含表格)
评论
0/150
提交评论