FPGA(现场可编程门阵列)是一种可以通过编程来实现数字电路功能的半导体设备。它由可编程输入输出模块、基本可编程逻辑模块、RAM嵌入块、底层嵌入功能模块以及内嵌专用硬核和线路资源组成。FPGA设计流程包括电路设计、功能仿真、综合优化、验证仿真结果、实现时序仿真验证和调试加载等步骤。随着信息技术的发展,FPGA已经从早期存储少量数据的简单设备演变为能够实现超大规模复杂组合逻辑与时序逻辑的器件。
本文研究了基于FPGA的数据通信接口设计与实现,特别是在通信卡的硬件平台上运用Aurora链路层协议实现SCI节点的高速串行通信,并引入中断机制以提高SCI通信接口与主机间数据交换的速率。所用的硬件平台由Virtex-II Pro系列的XC2VP4 FPGA芯片作为数据处理的主要控制芯片,并使用3.3V的32位CPCI接口与主机通信,各通信之间通过1.25Gbps的光纤进行。
SC1串行通信接口模型设计与仿真部分详细划分了FPGA的功能模块,包括SCI节点模型模组和CPCI总线接口模组。SCI节点模型模组包括接收和发送RAM、旁路FIFO、地址解码器、多路复用器、中断进程和Aurora链路层收发模组。Aurora链路层协议是一个可升级的、小型的链路层协议,能够实现点到点的高速串行通路数据传输。SCI节点模型模组中,中断进程是连接SCI接口两个模块的重要环节,一旦接收模块接收到数据就会触发中断信号,表示向PCI核提交中断请求成功。
旁路FIFO的设计难点在于对空信号和满信号输出信号生成的控制。旁路FIFO的设计允许在任意时间点只处于读或写状态中的一种,由于读写状态采用相同的时钟,因此可以使用同步旁路FIFO。接收和发送存储器使用片上块RAM实现,具有双口结构,可以同时进行读写操作或单独操作。
FPGA在数据通信接口设计方面具备很多优势,如灵活性高、可在线重新编程、处理速度快等。由于其并行处理的特性,FPGA在要求高吞吐量和低延迟的场合尤为适用。本文所述的基于Aurora协议的FPGA数据通信接口设计,可为高速数据通信提供一种有效的解决方案。