62航天返回与遥感SPACECRAFTllRECOVERYR}:MOTESENSING第3l卷第2期2010年4月一种现场可编程门阵列门延时精确调整时序的方法万昊包斌成桂梅(北京空间机电研究所,北京10(所6摘要通过FPGA(现场可编程门阵列时序模型分析得出FPGA门延时的方案,综合利用FPGA各种布局布线EDA工具,摸索出一套人工干预FPGA布局布线的方法,使FPGA门延时能够有效地用于时序调整,调整精度可达到纳秒级。该方法具有不增加任何额外器件,成本低、高效方便的特点。关键词现场可编程门阵列门延时时序调整:V443+.5文献标识码:A:1009—8518(201002一0062—07AFPGABasedGateDelayPreciseTimingAdjustMethodWanMinBaoBinChengGuimei(Beij吨InstituteofSpaceMechanicsElectricity,Beijing100076,ChinaAbstractThetextgetatimingmethodbyanalyseFPGAtimingmodel.InstudyingtheFPGAEDAtools,authorexploreamanualintervenelayoutandmutingmethod.WeCanuseittoadjustavailablyinnanosecond础.Thismethodhaveacharacterfornotaddingextracomponent,lowcost,hi29hconvenience.KeywordsFieldprogramgatearrayGatede蛔Timingadjust1引言在开发CCD时序过程中发现CCD的两相电荷转移时序与CCD电荷转移效率密切相关,直接影响CCD最后输出信号的品质。但另一方面从FleA(现场可编程门阵列产生信号到焦面,其间往往要经过传输、放大、驱动等多个环节,不町避免地对时序产生延迟,导致信号品质下降。为了消除这些偏差,通常需要将相位进行1~10ns的调整,需要200MHz以上时钟;但为r控制高频干扰,一般会限制高频信号通过,由此引入固定门对信号进行调整。本文阐述了一种使用FPGA内部门的固定延时进行时序调整的方法,该方法不需要额外的硬件支持,只需通过FPGA软件对FPGA的综合、布局、布线的过程加以干预就可以实现。2FPGA时序模型分析FPGA在结构上由逻辑功能块排列为阵列,并由可编程的内部连线连接这些逻辑块,来实现一定的功能。在FPGA中,这些逻辑功能块基于查找表(Look—Up-Table,LUT结构,其本质就是一个随机存储器RAM[1—2l。目前,FPGA中多使用4输入的LUrI',所以每个LUl.有4位地址线的16×l的RAM。当用户通过电路原理图方式或HDL语言描述方式完成一个逻辑电路没计以后,FPGA首先要用综合工具(如synplify将用户输入翻泽成由FPGA的各种逻辑功能块表示的形式(瞰治中称之为宏模块。然后用FPGA布局工具根收稿日期:2010—02—03基金项目:中国空间技术研究院自主研发课题航天返回与遥感2010年第3l卷表2信号推延转化为占空比调整及相位调整的方法4控制FPGA的布局布线若仅仅像本文卜述一样加入同定f、】延时,每次不同的布局与布线,延时效果不一样,加入延时可控性不好。它主要是由于布局的位置不|一j而引起走线延时发生变化,要想最小限度减小走线延时的影响,必须充分利用!,ibero套件布局布线工具designer,人工干预布局布线过程。4.1布局布线工具在designer中与布局相关的工具有NetlistView、ChipEditor及Layout。Nellistview是用米将FPGA最终实现设汁用原理图的形式展现出米,使设计者更容易对设汁进行调试。能直观看出设计中的网格标号,端口及实例化的元器件,并跟踪信号的路径。与ChipEditor联用,有助于确认需要手T布局的宏单元。ChipEditor[8]是一个图形化的工具,也可直观的夼看和分配各种宏模块的位置。如需要最大限度控制设计中宏单元的布局,此工具l‘分有用;手T布局完后,可以将其锁定,使之小会因为每次伽线而发生变化。Layout【91是约束最终完成伽局佰线的一个工具,它里面有一个锁定布局斫j线选项十分有用。4.2控制布局布线的原则为消除每次布局布线中的走线长短不一,给FPGA内部同定门延兀寸带来不确定性。应该确定如下布局布线的原则:1此次布局布线必须是在卜次布局布线的基础上进行增量布局布线。2上次布局lfI小需要调整的信号必须保持原来位置,包括IOu位置和各种逻辑单元的位置。3新增加固定门之间的走线应该等长。41.ayout中的Placeincrmentallv与Lockexistingplacemerit选项,ChipEdit的锁定功能,及时序驱动的布局,它们有效的优先级递减。5防止buffer被进行吸收合并类刑的优化,延时尊元换成BUFD(延时缓冲器宏模块即可。4.3具体操作步骤1记住需要涮整...