基于FPGA的硬件抽象层设计*
2021-08-06黄忠凡孙健兴
黄忠凡,代 荣,孙健兴,李 翔
(武汉中原电子集团有限公司,湖北 武汉 430205)
0 引 言
软件定义无线电[1]平台是基于通用的硬件平台,使用可编程的软件方法来满足不同需求的无线电系统。现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)具有高速并行性及许多常用的无线通信IP核,如低密度奇偶校验码(Low Density Parity Check Code,LDPC)、Turbo等,使得波形开发人员能快速构建波形算法,节省大量代码开发时间。将物理层放在FPGA上实现已成为现代无线通信波形设计主流做法。FPGA波形的可移植性是软件无线电中较为复杂且非常重要的一部分工作,既要体现软件无线电架构的灵活性又要保证波形交互处理的实时性[2]。为此软件无线电的体系标准(Software Communication Architecture,SCA)[3]于 2007年颁布了硬件抽象层(Modem Hardware Abstraction Layer,MHAL)[4]接口标准;在2010年又颁布了片上总线硬件抽象层(MHAL On Chip Bus,MOCB)[5]接口标准。其中,MHAL针对的是FPGA、DSP类处理器间通过总线交互的场景。而随着集成电路往片上系统(System On Chip,SOC)方向发展,一个芯片里面往往集成了多个核,核与核之间通过共享内存交互,MOCB就是针对这种趋势提出的硬件抽象层规范。国内目前关于MHAL的研究有很多,但基于新趋势MOCB的研究还很少,特别是FPGA的MOCB的相关研究几乎没有。此外,SCA规范对MOCB的描述只有总纲和接口规范,并没有描述整个MOCB的工作原理和实现方案。本文结合作者多年SOC开发经验和对软件无线电的理解,详细描述了FPGA中MOCB的设计过程,为其他开发人员提供一种参考。
1 FPGA MOCB概述
FPGA MOCB为运行在FPGA中的波形应用提供标准、统一的接口,并搭建一套消息传输机制实现FPGA内波形应用与其他处理器,如FPGA、数字信号处理器(Digital Signal Processing,DSP)、精简指令处理器(Advanced RISC Machines,ARM)上的波形应用互通。……
