欢迎来到天天文库
浏览记录
ID:5185817
大小:34.00 KB
页数:11页
时间:2017-12-05
《fpga设计中跨时钟域问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、FPGA设计中跨时钟域问题 摘要:随着FPGA设计中的时钟频率越来越高,时钟方案越来越复杂,跨时钟域问题变成了设计和验证中的关键点。为了解决跨时钟域问题对FPGA设计造成功能错误,对跨时钟域信号采用两级寄存器或多级寄存器同步、握手协议和异步FIFO等同步方法;同时还提出了不检查时序、修改SDF文件和添加约束文件三种仿真中的技术,解决了跨时钟域产生的亚稳态现象对FPGA仿真验证造成的影响。关键词:CDC;亚稳态;同步;仿真中图分类号:TN710?34文献标识码:A文章编号:1004?373X(2014)07?0151?03Problemofclockdomaincrossi
2、nginFPGAdesignYUFan,ZHANGWei?xin(ShanghaiAerospaceElectronicTechnologyInstitute,Shanghai201109,China)Abstract:WiththeincreasingclockfrequencyintheFPGAdesign,theclockschemeismoreandmorecomplex,andtheissueofcrossingtheclockdomainbecomesakeypointindesignandverification.Inordertocorrectthefunc
3、tionerrorinFPGAdesigngeneratedbycrossingclockdomain,two?stage11registerormulti?stageregistersynchronization,hand?shakeprotocolandasynchronousFIFOareusedforthesignalcrossingtheclockdomain.Atthesametime,sometechnologiesofno?timingcheck,SDFfilemodificationandconstraintfileadditionareproposed,
4、whichovercomeinfluenceofmetastablestatephenomennonproducedbyclockdomaincrossingonFPGAsimulationandverification.Keywords:CDC;metastability;synchronization;simulation0引言在FPGA(FieldProgrammableGateArray,现场可编程门阵列)设计中往往存在多个时钟域,这就会带来跨时钟域(ClockDomainCrossing,CDC)问题。如果对跨时钟域产生的亚稳态等问题解决不当,就有可能造成设计功能
5、错误。本文就跨时钟域问题产生的原因、在设计中的解决方法和仿真验证中的相关技术进行阐述和讨论,这对提高FPGA设计的可靠性有着重要的意义。1亚稳态在数字集成电路中,寄存器要满足建立时间(setuptime)和保持时间(hold11time)的时序要求。建立时间是指在时钟沿到来之前,寄存器输入数据信号必须保持稳定的时间。保持时间是指在时钟沿之后,数据信号必须保持稳定的时间。亚稳态(Metastability)现象就是如果寄存器数据端的变化与时钟的有效沿很近(不能满足建立时间或保持时间要求),其输出信号就会在一段不可预知长度的时间内处于一个非“0”非“1”的中间状态(这段时间称为
6、亚稳态恢复时间),之后可能稳定在“1”状态,也可能稳定在“0”状态。而且这种亚稳态可能向后传播,造成后级出现逻辑错误。亚稳态的形成过程如图1所示,时钟域aclk的输出信号adat从高到低的变化与时钟bclk的上升沿非常接近,不满足建立时间或保持时间的要求,输出信号bdat1就会有亚稳态产生,经过一段时间后随机稳定在“1”或“0”上。当亚稳态产生的不确定电平被后续电路采样时,就可能发生功能错误。图1亚稳态示意图亚稳态现象是寄存器的一个固有特点,由于亚稳态恢复时间的不确定性,不能根本的去除亚稳态的影响。通过在设计中预留一定的亚稳态恢复时间,使信号恢复到确定的电平后参与逻辑运算,
7、降低亚稳态的影响。MTBF(MeanTimeBetween11Failure,平均无故障时间)是衡量一个设计的可靠性指标,MTBF的值越大,则出现亚稳态问题的概率越小。一个高的平均无故障时间表明一个设计是可靠的。MTBF的计算公式如下所示:[MTBF=eTmetC2C1?fclk?fdata]式中:[Tmet]为寄存器从时钟上升沿触发后的时序余量时间;[fclk]为接收时钟域的时钟频率;[fdata]为数据的变化频率;[C1]和[C2]为与FPGA器件有关的参数。可以通过延长[Tmet]的时间或降低[fclk]和[
此文档下载收益归作者所有