基于Actel反熔丝FPGA的高速DDR接口设计
扫描二维码
随时随地手机看文章
0 引言
随着航天技术的发展,FPGA 等大规模逻辑器件越来越成为不可缺的角色; 同时处理数据量的增大、以及各类型接口电路的交叉使用,使得合理、可靠的高速接口设计成为衡量设计优劣的关键。而由于空间环境的特殊性,导致近年来在轨卫星产品中单粒子翻转( SEU) 频发,使得设计人员必须考虑将以SRAM 为基础的FPGA 设计移植到更为可靠的ASIC或反熔丝FPGA.
DDR( Double DataRate) 是双倍速率读写技术的意思。传统的数据处理方式在1 个时钟周期内只传输1 次数据,是在时钟的上升期进行数据传输; 而DDR 内存则是1 个时钟周期内传输2 次数据,能够在时钟的上升期和下降期各传输1 次数据,因此称为双倍速率读写技术。采用DDR 技术可以在相同的总线频率下达到更高的数据传输率。
文章根据实际的背景应用提出一种基于Actel公司RTAX-S 系列耐辐射反熔丝FPGA 芯片RTAX250S 的高速DDR 接口设计方法,并通过Actel公司IDE V9. 0 编译软件和Modelsim 6. 5d 仿真软件进行了仿真验证。该方法已用在某星载GMSK 调制器上,获得了良好的效果。
1 DDR 高速接口设计
1. 1 RTAX – S 系列反熔丝FPGA 的特点
对于卫星应用,设计人员在选择可选的技术时一向十分为难。在可编程器件领域,其中就包括了专用集成电路( ASIC) 、以SRAM 为基础的现场可编程门阵列FPGA 和以反熔丝为基础的FPGA.由于没有一种技术是万能的,卫星设计人员与所有设计人员一样面对同样的挑战,需要针对特定的应用权衡取舍各种特性以找出最佳方案。
以往的设计中,以SRAM 为基础的FPGA ( 以Xilinx 产品为代表) 有着更多的应用,其优势在于拥有高逻辑密度和高灵活性,而作为航天应用,其致命的缺点是所有SRAM 都易受高强度宇宙辐射所影响,来自宇宙射线中的重离子很容易在SRAM 单元中或附近沉积足够的电荷导致单一数据位出错即单粒子翻转( SEU) ,而且由于SRAM 型FPGA 在SRAM开关中存储其逻辑配置,因此很容易出现配置扰乱导致电路的布局和功能受到破坏,这些错误非常难以检测和纠正,并且几乎不可能预防,因为配置开关在SRAM FPGA 的整个SRAM 数据位中超过90% ,辐射诱发的配置扰乱可导致系统失效。
对于卫星设备,ASIC 是具有最高密度最小重量和最低功耗的解决方案,然而却缺乏FPGA 所提供的灵活性。而且当把设计工具成本、校验时间和非经常性工程费用( NRE) 一并考虑之后,ASIC 也是成本较高的解决方案。
与可重新配置的SRAM 型FPGA 不同,基于反熔丝解决方案的FPGA 采用一次性编程( OTP) .其优点为固有的非挥发性以及在每次启动时无须进行强制性的器件配置。与ASIC 一样,反熔丝FPGA 的上电即行功能使其成为真正的单芯片解决方案。在各种学术会议上已发表了许多辐射测试数据,如IEEE 的核空间辐射影响会议( NSREC) 、NASA 的军事和航天可编程逻辑器件国际会议( MAPLD) ,事实上,多年的测试证明,耐辐射的反熔丝FPGA 具有SEU 免疫力,其性能也不会因TID( 总电离剂量) 随时间积累而发生劣化。众所周知,逻辑触发器中的数据易被宇宙辐射线所破坏,与SRAM 方案采用软TMR( 三模冗余) 方法不同,Actel 开发的耐辐射反熔丝FPGA RTAX-S 系列通过架构的提升解决了这个问题,其中每个触发器实际上是由3 个触发器和1个表决电路组成,此举可让设计人员获得优于63MeV-cm2 /mg 的LETth,可以满足大多卫星项目的TID 要求。
1. 2 典型高速接口电路应用目标
文章中高速接口方案的应用目标为GMSK 调制器中基带数据的数字高斯滤波。
GMSK 调制是一种典型的恒包络数字调制技术,实现方法的流程图如图1 所示,一路待调制的基带数据从A 处进入FPGA,FPGA 内部通过查表的方式得到量化后的波形数据,并分别从B 处和C 处将其送给2 片DAC,得到需要的I、Q 路波形,从而完成基带数据的数字高斯滤波。
硬件电路的关键是高速DAC 器件的选择。方案中需要DAC 实现4 倍采样,即图1 中A 处每输入1 个码元,B 处和C 处都要分别产生4 个点的量化信息给DAC.以115Mbps 码速率为例,DAC 的采样时钟应当为115MHz × 4 = 460MHz,如果使用传统的单路DAC,则FPGA 主时钟工作在460MHz,目前宇航级FPGA 无法满足这一速率。方案中选择了TI 公司最新的高速DAC 产品DAC5670,它在最高采样频率达到2.4GHz 的同时,内部集成了并串转换模块,这使得FPGA 的处理速率至少可以降低一半,即230MHz.
图1 应用目标实现流程图DAC5670
DAC5670 器件手册推荐的接口框图如图2 所示。
器件工作原理如下: 频率源输出400MHz 采样时钟,通过变压器进行单端转差分输入DAC 采样钟输入口( DACCLK) ,DAC 内部进行2 级2 分频并延迟后得到LVDS 电平115MHz 时钟( DLYCLK) 输出给FPGA 做数字处理,FPGA 处理完成后输出LVDS的100MHz1 路时钟( DTCLK) 和2 路14bit 的量化数据( DA( 13: 0) 和DB( 13: 0) ) .时钟与数据的关系必须满足图3 所示的时序。DAC 内部的锁相电路将DTCLK 与器件内部的100MHz 进行鉴相,如果存在相差则调整DLYCLK 的延迟量,直到同步,从而保证采样钟DACCLK 能够对DA( 13: 0) 和DB( 13: 0) 进行正确采样。
1. 3 高速接口方案设计
本应用目标对FPGA 和DAC 之间的高速接口提出如下要求:
( a) DAC 输出1 路115MHz 时钟给FPGA;( b ) FPGA 输出1 路115MHz 时钟和2 路230Mbps 数据给每片DAC.
针对这一需求,考虑到FPGA 资源余量较大,为了降低系统运行速率,程序设计中遵循了用面积换取速度的原则,先采用115MHz 时钟进行并行处理,产生4 路115Mbps 的14bit 量化数据,在输出接口处将其转换为2 路230Mbps 的14bit 量化数据,这样可以使系统时钟的速率降低一半。处理流程如图4 所示。
输出端接口变换部分是我们讨论的重点,它对数据进行4 路到2 路的转换,量化数据从115Mbps提高到230Mbps,有2 种方式可以实现:
方式一: 对输入115MHz 时钟进行2 倍频得到230MHz 时钟,使用异步FIFO 对数据进行4 路写入,2 路读出,写钟为115MHz,读钟为230MHz.
方式二: 将4 路14bit 的量化数据分为2 组,每一组均使用115MHz 时钟进行DDR 输出接口处理,从而使每一组的输出均达到230MHz.
下面对2 种方式的可行性进行分析。
对于方式一,实现的关键在于2 倍频时钟的产生。按照手册描述,Actel 公司AX 系列芯片作为反熔丝FPGA 中处理能力最强的器件,内部处理时钟最高可以达到350MHz,且芯片内部集成了PLL( 延迟锁相环) 资源,可以实现对数字时钟信号的倍频和分频。而选择RTAX-S 系列在AX 的基础上进行了耐辐射能力加强,同时去掉了PLL 资源,原因是Actel公司通过实验证明PLL 资源在空间环境中使用是不可靠的,这意味着倍频无法在FPGA 内部实现。
因此,如果采用方式一,需要在FPGA 外部增加一个2 倍频的器件,还要增加相应的电平匹配的电路,这一切对于230MHz 的数字时钟信号实现上难度较大。
对于方式二,实现的关键在于DDR 输出。通过查阅器件手册可知,Actel 公司的RTAX – S 系列与Xilinx 公司SRAM 型FPGA 不同,其内部并没有现成的DDR 输出模块可以调用,但是其内部有一种叫做Multiplexor 的多路选择器资源,可以实现多路输入到多路输出的选择控制,如图5 所示。
如果将其输入Data 设置为2 路,输出Result 设置为1 路,而时钟作为控制信号SEL,则应当可以实现DDR 的效果。具体实现框图如图6 所示。
图6 框图实现的时序如图7 所示,从图7 可以看出两路数据在DDR 变换后交替输出,速率提高一倍,其中DR( 数据1) 先输出,DF( 数据2) 后输出。[!--empirenews.page--]
2 仿真及优化
在Actel 公司的编程环境IDE V9. 0 中进行编程仿真。使用Modelsim 6. 5d 进行行为仿真,仿真波形如图8 所示。由图8 可见变换后数据符合预期,功能实现正确。
使用Modelsim 6. 5d 进行布局布线后仿真,仿真波形如图9 所示。由图9 可见各路数据均存在毛刺,毛刺的最大宽度达到了1. 8ns,这超出了DAC 器件对于输入并行数据相位差小于1ns 的要求。可能导致DAC 采样错误。
分析最终输出数据毛刺产生的原因,应当是每路数据的14bit 单独信号之间路径的延时不同导致的。而数据在输出之前大部分环节都是由全局时钟进行同步处理,可以保证严格的同步,除了选择器Multiplexor 输出到IO 端口部分走线,因为在Multiplexor的输出环节不会再有时钟采样,因此该部分多路信号延迟差异无法消除。检查布局布线后底层的布局图,如图10 所示,深黑色的单元即为Multiplexor,显然各个Multiplexor 与对应IO 口的距离差别较大,验证了之前的分析。
根据前段分析,对Multiplexor 的位置进行手动优化,即在底层布局图中将所有Multiplexor 均调整到尽量接近IO 端口的位置,保证多路信号在Multiplexor后端延迟尽量一致,优化后锁定这些Multiplexor的位置,如图11 所示。
优化Multiplexor 布局后重新进行后仿真,仿真结果如图12 所示。由图12 可见,最大毛刺宽度仅为500ps 左右,完全满足DAC 要求的1ns.可见,优化后的方案合理、可行的实现了要求的功能。
图12 优化底层布局中Multiplexor 位置后的后仿真
文章中阐述的方法不仅仅局限于FPGA 与DAC之间的接口设计,也适用于FPGA 与其他高速芯片的通信,例如FPGA、DSP、SDRAM 等等支持DDR 接口的器件,同时,对于板级及单元级的通信,使用该方法可以有效降低线缆传输信号速率,使得系统各个环节的设计更为简单。
3 结束语
文章分析了Actel 公司反熔丝FPGA 相对于常用的SRAM 型FPGA 在卫星产品中应用的优点,并就一种常见的应用目标,提出基于Actel 公司RTAX-S 系列抗辐射反熔丝FPGA 的高速DDR 输出接口的设计方法,并通过优化得到符合要求的结果,为反熔丝FPGA 在卫星产品中的高速设计、应用提供了技术保障。