双屏设备来了!微软将以 1,399 美元的价格发布 Surface Duo
06-17
摘要:延迟锁相环(DLL)是一种基于数字电路实现的时钟管理技术。
DLL可用于消除时钟偏差并执行输入时钟的分频、倍频和移相等操作。
本文介绍了FPGA芯片中DLL的结构和设计方案,并在此基础上提出了一种可实现快速锁定的延迟锁相环OSDLL设计。
在中芯国际0.25μm工艺下,设计并完成了OSDLL测试芯片。
其工作频率为20~MHz,锁定时间较传统架构显着缩短。
关键词:延时锁相环; FPGA;快速锁定 微电子技术的不断发展使得FPGA具有更高的系统集成度和工作频率。
系统性能很大程度上取决于系统的时钟延迟和偏差。
由于FPGA拥有丰富的可编程逻辑资源和时钟网络,由此带来的时钟延迟问题大大降低了用户设计的性能。
FPGA中的DLL模块提供零传播延迟并消除时钟偏差,进一步提高FPGA性能和设计灵活性。
PLL是常用的时钟管理电路,主要基于模拟电路设计实现,而DLL主要基于数字电路设计实现。
虽然在时钟合成能力方面比PLL差,但DLL由于设计仿真周期短、抗干扰性能强、工艺可移植性强,非常适合在数字系统架构中使用。
这就是FPGA使用DLL作为时钟管理的原因。
。
本文将介绍传统FPGA片上延迟锁相环设计,并在此基础上提出一种锁定速度更快的新型延迟锁相环架构OSDLL。
1 FPGA片上DLL结构及工作原理 1.1 DLL架构设计 图1是FPGA片上DLL结构框图。
图1中,用户设计的FPGA芯片中的时序逻辑部分经过布局布线后位于芯片的中间,对应的时钟走线也比较长。
为了缓解由于时钟缓冲、重负载时钟线的大电容以及线路传播延迟等因素引起的时钟偏差,可以选择使用DLL模块进行时钟优化管理。
图1中,DLL主要由相位检测器(PD)、可调延迟链、数字控制逻辑和时钟生成模块组成。
CLKOUT为DLL输出时钟,即时钟发生模块的输出时钟; CLKS是经过时钟线后到达时序电路的skew时钟; CLKFB为CIKS,反馈时钟CLKFB反馈给DLL。
DLL的作用是通过在时域调整CLKOUT的相位来同步CLKFB和CLKIN,即消除时钟偏移。
1.2 DLL的工作原理 DLL的工作过程取决于控制逻辑的设计。
DLL的控制逻辑主要包括SHIFT控制逻辑和SYN控制逻辑,如图2所示。
DLL的工作过程首先进入SHIFT阶段,然后进入SYN阶段。
从图2中可以看出,总共有5个可调延迟链,即一个主可调延迟链(延迟链0,延迟单元),4个子可调延迟链(延迟链1~4)。
延迟单元)。
如图 2 所示,四个子延迟链、SHIFT 逻辑和相位检测器 (PD2) 构成移相器。
在SHIFT阶段,移相器工作。
移相器采集第一级子延迟链的输入时钟clk_ph_0和最后一级延迟链的输出时钟clk_ph_,并根据相位检测结果同步调整四个子可调延迟链的延迟,直到clk_ph_O 和 clk_ph_ 同步。
。
移相器之后的时钟延迟为一个周期,使得移相器中每个子延迟链的输出时钟相位偏移90°,分别对应图2中的clk_ph_O、clk_ph_90、clk_ph_、clk_ph_、clk_ph_。
时钟生成模块可以根据实际需要生成相移时钟。
可以使用所需的分频(CLKDV)、倍频(CIK2X)或相移时钟作为输出时钟。
关于分频和倍频电路,参见文献。
SYN逻辑用于控制反馈时钟和输入时钟的调整以达到同步。
整个SHIFT阶段和SYN阶段在各自的控制逻辑模块的控制下工作,并按照一定的工作节奏进行调整,如图3所示。
图2中,工作节奏模块生成工作节奏信号(SHIFT_C、SYN_C)。
在工作节奏下,状态机处于某种状态,根据该状态的调整要求进行如下操作:相位检测,判断输入时钟与反馈时钟的相位关系是否超前或滞后( SHT_U_D)或SYN_U_D),同时,指示两个时钟是否进入锁定窗口(SHT_WIN,SYN_WIN),如图1所示。
相位检测器将此信息发送到控制逻辑模块。
在SHIFT阶段,4个延迟链对应各自的可逆计数器,负责控制延迟单元的延迟链加减。
每个计数器工作在自己的时钟域中,如图2所示。
根据相位检测的结果和状态机的状态,计数器进行计数,并将计数结果作为延迟链的译码地址。
最后,延迟链通过地址译码增加/减少一个延迟单元,完成工作节奏调整。
然后继续下一步调整,直到状态机进入锁定状态。
SYN 阶段的工作原理类似,但仅调整主延迟链。
为了实现DLL锁定,同步建立必须满足公式,如公式(1)所示。
DSYN+SKEW=mult(P) (1) 式中,DSYN为主延迟链能够提供的延迟; SKEW是时钟偏差; muh(P) 是整数输入时钟周期。
1.3 抗抖动设计 如图2所示,控制逻辑中的JF counter1和JF counter2功能模块。
用户可以设置抗抖动值d1和d2,如图1所示,为这两个模块中的计数器设置一个计数周期。
DLL锁定后,两个模块开始工作,根据计数设定值的周期检测锁定时钟。
即当计数器达到设定值时,检测锁定反馈时钟与输入时钟的相位,判断相位关系,控制可逆计数器对锁定时钟进行周期性微调干预。
如图4所示,当系统存在干扰时,就会出现时钟抖动。
如果抗抖动模块检测到反馈时钟超前于输入时钟,则会进行微调以消除抖动的影响。
抗抖动设计有助于减少抖动的影响。
同时,由于计数周期可以设置,用户可以在不同的系统工作环境下使用不同的防抖设置,以达到最佳的防抖效果。
2 OSDLL架构设计 以上介绍的是传统DLL架构下的设计,具有设计周期相对较短、工艺可移植性、抗干扰能力强等特点。
由于其控制逻辑的工作特点,从复位状态开始,延迟链复位为O,即可逆计数器从0开始计数。
DLL根据工作节拍信号逐节调整节拍(假设6个节拍)。
每节拍的周期)。
当输入时钟频率较低或时钟差较大时,其锁定时间会大大增加。
采用任意固定值作为延迟链的复位值也存在在一定频率范围内锁定时间较长的问题。
为了解决这个问题,采用了一次性延迟计算机制,即在完成SHIFT阶段后,首先使用主延迟链来计算反馈。
OSDLL的特点是复用了传统DLL的延迟链,一次性解码逻辑比较简单,不会增加太多硬件开销。
同时保持了原有DLL架构的优点。
可提高多个频段的锁定速度,频率适应性强。
与传统DLL的锁定时间对比,如图6所示。
图6中,纵坐标表示锁定时间,横坐标表示仿真频率,百分比表示锁定时间上升沿与锁定时间的相位差。
输入时钟的上升沿(假设有效沿为上升沿)。
该延迟值由延迟单元的数量来表示。
计算结果作为SYN逻辑中可逆计数器0的初始值,如图2所示。
解码后,主延迟链就有了合理的延迟初始值。
然后DLL进入SYN阶段,按照上述过程进行同步调整。
由于当一次性计算结果支付给可逆计数器时,大部分相位差已经消失,因此DLL只需要很短的调整周期即可实现同步。
具有这种结构的DLL称为OSDLL。
该设计在执行一次性计算时重用了主延迟链。
图 5 显示了一次性结构。
SHIFT阶段完成后,图中的开关在单触发控制逻辑的控制下首先变为1。
主延迟链采用8个延迟单元作为一次性延迟计算单元,可以简化解码电路规模并计算出合理的粗略延迟值,实现硬件增加和功能实现之间的折衷。
。
当一次性工作时,主延迟链首先被重置。
然后发出START信号。
START 信号的上升沿与 CLKFB 同步。
STOP 信号的上升沿与 CLKIN 同步。
START(上升沿后恒定为“1”)信号被发送到延迟链的输入端。
各延迟计算单元的输出端作为解码器的解码输入,STOP为解码器的采样信号。
由于延时单元具有一定的延时值,当STOP信号有效时,译码电路会采集一系列“0...”的译码输入值。
通过译码电路计算出“l”的个数,从而计算出两个时钟沿之间的延迟单元的个数。
将计算出的延迟单元数DELAY_NUM发送到数字控制模块的可逆计数器0,如图2所示,开关拨到0,CLKIN输入到延迟链,启动SYN阶段,开始工作。
例如,可以看出OSDLL可以显着减少每个频率范围内的锁定时间。
基于SMIC O.25 μm工艺,设计OSDLL测试芯片。
OSDLL的工作频率在20~MHz之间,工作电压为2.5V。
布局图如图7所示,布局后的仿真结果如图8所示。
3 结论 介绍了DLL的架构和工作原理,并在原有DLL结构的基础上增加了快速锁定one-shot模块。
新的DLL结构OSDLL在不过度增加硬件资源的情况下提高了DLL锁定速度,并保持了原有DLL的时钟合成能力和抗抖动功能。
在中芯国际0.25μm工艺下,设计并完成了OSDLL测试芯片。
其工作频率在20~MHz之间,锁定时间较传统架构显着缩短。

OSDLL架构集成到FPGA芯片中,可以有效优化设计时序,增强系统性能。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-17
06-18
06-18
06-21
06-17
最新文章
使用电子管有哪些注意事项?如何检查电子管之间是否短路?
博通支付1200万美元和解SEC财务欺诈指控
八名运营商高管确认加入虚拟运营商
内蒙古农牧区雷电灾害成因分析及防雷对策
北京联通将5G应用于世园会远程医疗急救
TD-SCDMA最后一轮冲刺测试启动,产业前景更加光明
专访阿里云总裁王健:云计算服务平台梦想成真
USB2.0控制器CY7C68013的接口设计与实现