论文部分内容阅读
软件无线电技术在民用通信的巨大发展,促进了软件无线电产品快速面向市场的进程。为及早发现设计中的问题,提高设计的可靠性,对软件无线电系统中数字信号处理的设计流程和仿真方法提出了要求。然而,传统的设计流程和仿真方法是将算法仿真和功能仿真分开,先进行算法仿真,再将算法模型编写为HDL代码,然后进行功能仿真,而这一过程面临以下问题:(1)两种仿真工具的不同需要设计两套仿真环境,并确保仿真环境的一致性(2)算法设计到物理实现需要编写大量代码,更换应用时,算法不能重复使用(3) Simulink仿真速度慢,且FPGA反复编译也耗时多,致使设计周期过长为此,本文采用软硬件协同仿真的思想,提出了基于Simulink的软件无线电硬件协同仿真方案。第一,研究了S函数的编写方法,集成了算法仿真工具和功能仿真工具。S函数是具有MATLAB特殊调用格式的函数,不能与其他语言直接调用,使用CMex S-function方式将C语言实现的算法封装成Simulink仿真模块,实现了算法仿真和功能仿真在同一环境进行。第二,探索了HDL代码自动生成技术,完成了算法设计直接到物理实现的转换。System Generator环境中,Simulink模型生成RTL代码的过程由CoreGenerator完成,采用Xflow编译流程,灵活加入自定义顶层和模块,并对RTL代码综合实现,借助脚本工具自动完成从Simulink模型到FPGA实现的生成,避免了硬件接口的处理,且算法可复用。第三,设计了Socket客服机和服务器,提高了Simulink与FPGA的硬件协同仿真速度。根据硬件平台提供的千兆以太网接口,采用TCP传输协议,建立Simulink与FPGA的可靠通信,将仿真模块放在FPGA硬件中运算,与纯Simulink仿真相比,仿真速度提高至少30倍,缩短了设计周期。本文研究的硬件协同仿真技术,最直接的意义,可提高仿真速度、及早发现问题并解决问题、加快设计进度;再具体一点的意义,算法仿真和功能仿真集成在同一环境下进行,能够将算法设计直接转换为物理实现,避免了中间接口的处理;更为一般的意义,这些技术可运用于自定义的Xilinx FPGA平台进行硬件协同仿真,丰富了硬件协同仿真的研究,具有良好的参考价值和商业价值。