资源描述:
《fpga中数字时钟管理模块的设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、摘要摘要随着现场可编程逻辑器件(programmablelogicdevice,PLD)快速的发展,系统设计也进入"片上可编程系统"(systemonprogrammablechip,SOPC)的时代;芯片朝着高密度、低电压、低功耗、高速度方向前进。可编程逻辑器件的高密度,高速度的发展对可编程逻辑器件的系统时钟管理也提出了更高的要求,如何在芯片系统密度和速度逐渐增加的情况下更好的管理时钟系统?DLL(delaylockedloop)、PLL(phaselockedloop)、DCM(digitalclockmanagement)等系统时钟管理模块就相应的被提出。本篇论文重点研究
2、的是华微电子科技有限公司的HWD2V1K芯片的数字时钟管理。数字时钟管理模块主要有三个方面的功能:DCM主要提供三个主要的功能:去时钟偏移,进行频率综合以及提供相位调整。这三种功能分别是由延迟锁相环,数字频率合成器(digitalfrequencysynthesiser,DFS)以及数字相移器(digitalphaseshifter,DPS)来实现的。本文重点对这三个模块如何实现其功能进行了详细的分析。FPGA内有大量的时钟缓冲器以及分布到FPGA内部各个模块的时钟布线,时钟在经过缓冲器和时钟线时不可避免的会产生时钟偏移,这样就会影响系统的同步性能,DCM通过对可变延迟线的控制
3、插入相应的延迟以抵消时钟传输过程的产生的延迟,从而消除时钟偏移。我们知道FPGA的应用范围非常广,因此用户可能会用到各种不同的时钟。例如有的需要对时钟进行分频,有的需要对时钟倍频,这些都对时钟的多样性提出了更高的要求。DLL能够很好的实现分频,然而如果让DLL提供4,8,16倍频是很困难的,DCM中的频率合成器通过对参数的设置能够提供最高为32倍的倍频。随着时钟频率的提高,输出时钟的相位要求越来越高。DLL提供的四个CLK0、CLK90、CLK180、CLK270时钟相位已经不能满足用户的要求。这时DCM中的数字相移器就相应的被提出,它能够为用户提供精度时钟周期的1/256任意
4、的相位。DCM的输入时钟频率范围为:在低频模式下,24~230MHZ;在高频模式下,48~450MHZ。单个DCM模块所占用的芯片面子为615μm*530μm,其工作温度为-40℃~125℃,输入时钟最大抖动为300ps,输出时钟的最大抖动为300ps。I摘要关键词:时钟偏移,数字频率合成器,延迟线,数字相移器IIABSTRACTABSTRACTWiththerapiddevelopmentofPLD(programmablelogicdevice),systemdesignentersthetimesofSOPC(systemonprogrammablechip).Thede
5、signofchiptrendshighdensity,lowvoltage,lowpower.Atthesametime,wemeetwithmanyproblemsthatwehavetosolve,suchasclock;weshoulddesignhighspeed,lowskewclocktosatisfytheseconditions,that’swhywewritethisarticle.ThisarticleemphasisesonCSMT’sHWD2V1Kchip’sDCM(digitalclockmanager).DCMhasthreeimportantfu
6、nctions:de-skew,frequencysynthesis,phaseshift.ThesefunctionsarecarriedoutbyDLL(delaylockedloop),DFS(digitalfrequencysynthesis),andDPS(digitalphaseshift),respectively.Wewilldiscussthethreemodulesindetailinthisarticle.First,weshouldknowwhyweshouldde-skew,andhowtode-skew.WeknowFPGAhaslotsofcloc
7、kbuffersandclockrouting.Whenclockpassesthesebuffers,itwillproducedelay.Sometimesthedelayissobigthatwecan’tignore,becauseitmayproducefatalerror.DCMbyinsertingdelayindelaylinecansolvethisproblem.WeknowFPGAcanbeusedinmanyfiled,usercanusedifferentclock