基于HAPS52开发平台的复杂数字接收机实现
杜永久 Yongjiu Du
THOMSON宽带研发(北京)有限公司
Thomson Broadband R&D(Beijing)Co.Ltd.
YongJiu.Du@thomson.net
Abstract
This paper introduces an implementation example of the HAPS52 FPGA platform, which is a product of Synopsys. Based on the 2 xilinx FPGAs on the platform, we successfully completed a complex digital receiver implementation and algorithm validation. In this paper, we mainly focus on the hardware architecture and the user partition of the FPGAs, as well as the design and implementation flow.
Key words: HAPS,Digital Receiver, prototyping
摘要
本文介绍了一个基于HAPS52开发平台实现复杂数字接收机的实例. HAPS52开发平台,带有2片Xilinx公司的Virtex5系列大规模FPGA芯片,具有丰富的逻辑和接口资源. 系统中采用了ADC接口模块, DVB-ASI/SPI接口模块等与HAPS52开发板配套使用,形成了一个数字接收机完整的硬件系统. 接收机的算法用硬件描述语言实现,并通过Synplify Pro, ISE等EDA工具进行处理,最终在FPGA上成功运行, 性能,功能和算法能够得到充分的验证. 由于HAPS52逻辑容量庞大, 使得具有高复杂性的数字接收机都能够顺利的硬件实现.
关键词:HAPS,数字接收机,原型验证
1. 前言
随着集成电路规模和工艺的不断发展,使得具有超复杂的结构和算法的通信系统能够在芯片中实现。由于在仿真过程中,速度和概率等的限制, 而不能对设计进行完备的测试。
首先利用FPGA实现所需的数字逻辑, 做成通信系统原型样机, 可以对设计进行全面长时间的性能测试。能够发现设计种存在的问题和隐患. 对于节约时间和成本, 有很大的帮助。
2. 硬件系统简介
Synopsys公司的HAPS系统是一款基于FPGA的高性能、高容量ASIC原型设计和仿真系统。HAPS是一种模块化的系统,具有丰富的逻辑资源和接口, 并配有不同功能的子板, 具有大容量和灵活性的特点, 能够方便的组成复杂的系统。
本设计所使用的是HAPS-52平台, 该系统采用FPGA阵列Xilinx Virtex-5 LX330和板上存储器,加快了ASIC验证的速度。HAPS-52系统提供了一种低成本、高性能的原型设计解决方案,能显著缩短当前极具挑战性的SoC设计的开发时间。HAPS-52系统采用模块化的可延伸架构,提供了专为满足SoC设计人员和软件开发人员需求而设计的多种有效功能与特性。与所有HAPS系统一样,HAPS-52也采用HapsTrak标准,这是一系列有助于确保前后代HAPS主板间及子板间进行互连与扩展的引脚布局和机械特性标准。HAPS-52也采用可编程时钟发生器,支持高级监控和自检测特性以及远程配置与设置功能。此外,多块功能板可以叠加或互联,以支持众多规模的ASIC、ASSP或SoC设计。 设计了存储器与FPGA直接相连的HAPS系统, 可满足当前高级、复杂设计方案的验证需求。”
3. 系统的结构组成:
本设计所采用的HAPS52 FGPA平台,配备了ADC, ASI/SPI, DRAM接口板, 成功实现了通讯系统样机的功能和性能。
整个通信系统由误码测试仪, 调制器, 调谐器, 模/数字转换模块, FPGA数字逻辑部分和解调数据输出模块组成。
• 误码测试仪产生输出数据, 输出到发射机进行调制。 同时误码测试仪接收解调的数据。与发射的数据进行匹配,从而计算 出误码率, 进一步得到通信系统的性能。
• 调制器把需要发送的数据,按照一定的方式处理后发射出去, 通过复杂的通信技术, 使数据在复杂恶劣的环境中,无误传输。
• 调谐器负责把高频信号变换到较低的频率, 从而能够方便的变换为数字信号。
• 模/数转换器负责把调谐器输出的中频信号, 转换为数字信号给FPGA处理。
• FGPA用于实现通信接收机的复杂算法. 其中主要包括同步, 信道估计均衡,解码等处理过程。

图1: 验证系统的组成
4. 系统发流程
基于从软件的浮点运算仿真,到硬件FGPA实现的研究流程。
• 算法设计: 对于无线通信系统而言,无论是由于器件的非理想,还是由于无线信道的复杂, 都会给通信系统带来噪声干扰。 所以设计者要通过理论算法来克服这些干扰和噪声, 最大限度的提高通信质量和速度。
• 浮点仿真: 在算法设计完毕后, 需要对所设计算法的性能进行评估。浮点运算仿真能够在运算过程中保留足够的精度, 不 附加额外的干扰和噪声,切实体现算法的优劣。在浮点仿真过程中发现的问题, 需要反馈给算法设计部分进行改进。
• 定点仿真: 定点运算仿真能够沿袭浮点运算的灵活性, 而且能够保证与最终数字逻辑处理结果一致,给从算法级仿真到硬 件实现提供了平稳快速的过渡。由于定点化会带来量化噪声。当量化噪声影响预期的系统性能的时候, 也需要算法设计 的重新修改。

图2: 接收机的功能模块图
• RTL设计仿真: RTL仿真能够更直接真实的体现硬件的动作,能够模拟硬件的时序,结构和延时。能够发现和避免后端出 现的一些问题。RTL仿真还可以发现算法的可实现性能。对于RTL实现非常复杂的功能, 需要对其算法进行重新设计研 究。下图为部分功能模块使用VCS进行仿真测试的代码覆盖报告。

图3: VCS 代码覆盖报告
• 分割和综合: Synplify综合工具,是专门针对FGPA综合 流程的产品,能够在时序和资源上做到最优。能够评估 系统的硬件资源消耗和运行速度。对于不可综合或者 综合结果对硬件的要求不合实际的,需要进行RTL的重 新设计。
• 调试: HAPS52系统为系统调试设计了丰富的辅助功 能。其中包括自测程序,对各个子板和接口进行功能测 试以及断路和短路测试等等, 从而为用户排除硬件系 统出现的问题。HPAS52系统的电源自我保护功能,在 硬件调试过程中,避免了用户连接错误或电压不稳定造 成的硬件损伤。另外利用Identify 这个非常方便的调试 工具, 能够实时监测各个子模块的信号和数据, 方便用户 在研发过程中的调试。Identify采集的信号是硬件实际运 行的结果, 是调试过程中更加可靠的依据. HAPSMAP软件 对于单chip的设计,可以在变动互联接口的时候,自动完 成管脚的重定义。
• 布局布线。ISE是针对Xilinx 的FPGA产品进行的布局布 线工具, 负责把综合生成的网表转化成FPGA内部的实 际电路。

图4: 系统开发流程图
5. 系统分割
本设计属于复杂数字系统, 由于资源和速度的需求, 把整个系统分配到了平台上的2片FPGA中。其中第一片完成了通信系统中的同步和信道处理, 第二片完成了解调和纠错码解码等部分功能, 如图2. 2片FPGA中间有数根数据线和时钟线相连接, 能够保证数据传输的可靠性. 在系统设计中, 规模较小的RAM使用FPGA片内的, 规模较大的RAM, 采用的是外部RAM扩展板。系统中的时钟系统,通过一个外部输入时钟和内部的DCM组成, 并完成了数据跨时钟域的特殊设计。本设计在综合过程中, 为了系统的稳定运行, 对系统的各个时钟进行了严格约束。
6. 总结与展望
FPGA原型验证是复杂IC必不可少的开发过程。HAPS系统凭借其成熟稳定的性能和丰富灵活的接口, 为用户提供了良好的硬件保证。随着FGPA技术和PCB技术的进一步发展, 超复杂的ASIC设计中, 前端验证都已经或者将要成为现实。无论是在项目进度还是在流片风险上,都对项目有很大的帮助。目前HAPS系统以及相应子板的功能日趋完善, 会给用户带来更加方便快捷的服务。



