在对Virtex系列FPGA进行充分理解和研究的基础上,结合对XC4000系列FPGA和DSP背板开发设计经验,研制出了基于XCV200/300PQFP240和TMS320C40的可编程嵌入式高速信号处理背板。背板采用了针对系统需求自行开发的XPCI总线,背板可脱离实际应用系统进行独立的面向应用的设计和调试,也可按照XPCI总线标准方便地嵌入到实际应用系统中,成为系统的一部分进行联合调试。
对可编程嵌入式信号处理背板进行全面综合测试的结果表明,背板性能达到了预期设计要求,工作状态稳定。我们还针对实际应用开发了一些FPGA模块和DSP程序。
1Virtex系列FPGA性能简介
在前几代FPGA开发的基础上,Virtex系列FPGA结合了多种可编程系统的特征,采用了快速灵活的层次性互连布线资源和先进的处理技术,提供了高速度、大容量的逻辑解决方案,进一步缩短了数字信号处理系统的开发周期。与前几代FPGA相比,Virtex系列FPGA的特性主要体现在以下几个方面:
(1)更高的处理速度和更高的逻辑门密度。Virtex系列最大系统门数高达100万门,系统性能可达200MHz,其中比较常用的几个功能模块性能如表1所示。
表1Virtex系列FPGA几个常用功能模块的性能
(2)更多可兼容的I/O接口标准。Virtex系列可兼容16种高性能接口标准,可直接与ZBTRAM器件接口,且其独特的I/O分组方式可使多种不同电压标准接口在同一片FPGA上实现。
(3)片内时钟管理电路。Virtex系列内部包含4个灵活的延时锁相环用于高级时钟管理,可实现倍频、分频、锁相等功能,此外还有4个主全局时钟网络和24个从本地时钟网络,以实现高速时钟的传输。
(4)层次性存储管理系统。Virtex系列内部查找单元可配置为16bit和32bitRAM、16bitDPRAM或16bit移位寄存器,其BlockRAM资源可配置为4kbitDPRAM或FIFO、CAM等存储器件,且提供了高速外部RAM接口。
(5)更加灵活的系统结构。复杂的进位逻辑链提高了算术逻辑性能,复杂的乘法器支持,级联链支持宽位输入模块,丰富的带时钟使能的寄存器和锁存器,支持异步和同步复位及置位,支持IEEE1149.1边界扫描逻辑。
(6)基于SRAM的在系统可重构技术。可无限次重复编程,包含主串、从串、SelectRAM和JTAG四种配置模式,支持部分重构。
2基于Virtex系列FPGA的可编程嵌入式信号处理背板的设计
由于对Virtex系列FPGA进行了充分理解和熟悉,我们研制了基于自行开发的XPCI总线的可编程嵌入式信号处理背板。由于Virtex系列FPGA内部结构相同,外部引脚兼容,只是在系统门数上有所区别,我们采用了XCV200PQ240-4作为可编程嵌入式信号处理背板的主处理芯片,与FPGA接口的DSP采用功能强大、接口灵活的TMS320C40DSP。背板中DSP的应用目的是对FPGA进行管理和控制、对FPGA处理结果进行分析、通过DSP软件实现其他相关功能,以提高系统设计的灵活性。C40DSP具有两组外部总线资源和6个高速通信口,能方便灵活地实现系统扩展。背板中FPGA可根据设计需要选择不同规模的芯片。
可编程嵌入式信号处理背板结构如图1所示。背板上主要包含1片XCV200PQ240FPGA、1片TMS320C40DSP、1片XC9536CPLD、1片EDI8L512SRAM(512K×32bit)、1片AT49020Flash?2Mbit、DSP调试JTAG接口、FPGA调试X_Checker接口、CPLD调试JTAG接口、自行开发XPCI接口及5个独立DSP通信口。背板所有器件除DSP外均采用贴片封装、双面装焊,使得背板的尺寸较小(76mm×127mm×12mm),DSP外围512K×32bitSRAM使得背板系统能够满足大部分应用程序的要求。2MbitFlash用于固化FPGA配置和DSP应用程序代码。背板系统既可以独立工作(Standalone方式),也可以通过XPCI总线嵌入系统工作(Plug_in方式)。
背板系统以40MHz晶振输出作为时钟,C40DSP工作在40MHz时钟下,XCV200FPGA以40MHz时钟作为输入,在内部通过DDL电路可将内部工作时钟倍频到180MHz。DSP通过本地总线(LA0..30、LD0..31)以TTL兼容方式与FPGA接口,占用FPGA65biTI/O资源;DSP通过本地总线对FPGA进行配置、参数设置及数据交换,实现软硬件之间的协同处理。
Virtex系列FPGA内部供电电压为2.5V,I/O通过VCCO和VREF控制实现与各种电平接口之间的兼容;与TTL兼容的VCCO控制电压为3.3V,VREF作为一般I/O使用;Virtex的I/O分组方式实现使得不同电平接口得以在同一芯片设计中共存。
背板通过168线XPCI总线与外部系统接口,XPCI总线主要包含三大部分:电源接口、FPGA的可编程I/O口、DSP接口。电源接口包括给DSP、CLPD、SRAM及其他TTL逻辑供电的5V电源,给XCV200PQ240等Virtex系列FPGA内部工作逻辑供电的2.5V电源,I/O接口供电电平VCCO和分组参考电平VREF(Bank0~Bank7FPGA可编程I/O接口主要提供了64个从Virtex系列FPGA引出的可编程I/O引脚,用于设计特定逻辑;DSP接口提供了TMS320C40DSP主总线接口、中断口和通信端口0及TCLK0和TCLK1,用于系统扩展及与用户程序之间的数据交换。
背板有丰富的配置及调试接口。Virtex系列FPGA在板上可实现三种配置方式:从串方式(通过Xlinx专用X_Checker接口)、JTAG方式(通过XPCI接口提供给用户)、Select_RAM方式(通过DSP和XC9536CPLD实现);DSP调试通过专用14芯JTAG接口完成;CPLD逻辑可通过标准JTAG电缆实时修改配置。DSP其他5个通信口通过5个IDC14插座输出,可根据系统实际需要选用。
3基于Virtex系列FPGA的可编程嵌入式信号处理背板的调试
在信号处理背板制作完成之后,我们对背板进行了调试,并开发了一些背板专用配置程序。
在调试过程中我们使用了WhiteMount公司的CodeComposerDSP开发调试软件和Xilinx公司的FoundaTIon2.1IFPGA&CPLD开发调试软件。为全面验证我们预期的设计效果,调试按以下过程进行:
(1)利用FoundaTIon2.1I通过X_Checker接口向FPGA下载测试配置,FPGA响应结果正确。
(2)利用CodeComposer通过JTAG电缆对DSP内部RAM和外部SRAM进行测试,测试表明硬件设计正确。
(3)利用FoundaTIon2.1I通过标准JTAG电缆对XC9536下载测试配置,CPLD响应结果正确。
(4)利用Foundation2.1I通过标准JTAG电缆对XC9536下载自行设计的FPGA专用配置,利用CodeComposer通过JTAG电缆对DSP加载专用配置程序,使得DSP完成对Flash烧录FPGA配置数据和DSP的Bootloader数据。
(5)脱离开发系统,背板上电通过Flash内的配置数据自行FPGA配置和DSP的Bootloader?运行结果正确。
4应用设计实例
为进一步验证背板的通用性,我们根据实际课题需求,在背板上开发了两个应用设计实例。一个是320MHz32bit高速计数器。我们在以前开发的200MHz高速计数器的基础上,基于多路均匀相差时钟信号在TOA时刻进行逻辑译码获得高速计数效果的原理,通过外部40MHz输入时钟,利用VirtexFPGA内部DDL电路产生4路相差90°的80MHz信号,形成320MHz32bit高速计数器,使得时间测量精度达到3ns左右。该设计可用于高精度TOA、PW、RF等参数的测量。
另一个是基于内容可寻址存储器(CAM)的关联比较器。我们在充分分析Xlinx提供的CAM_Core设计的基础上,自行设计了一种基于CAM的可编程关联比较器。该比较器采用中值比较法,可通过控制线控制比较范围,并设计了一种专门对付捷变参数的多值比较逻辑。我们利用XCV200PQ240实现了上述设计,通过测试母板上的UART从控制台微机上接收模拟辐射源数据。测试结果表明,在辐射源参数空间重叠不太严重的情况下,该设计可同时处理80个以上的装定辐射源参数(128bitPDW可包含捷变参数),且能达到较好的分选效果,可见它在侦察信号处理领域的应用前景是非常广阔的。