基于DMA的XVC协议性能优化
2021-09-25刘剑,赵赟
刘 剑,赵 赟
(中国船舶重工集团公司第七二三研究所,江苏 扬州 225101)
0 引 言
现场可编程门阵列(FPGA)远程调试由于不受调试线缆传输距离的限制,大量学者近年来对其在船舶、核实验等工况环境下的应用展开了研究[1-4]。赛灵思虚拟电缆(XVC)[5]协议是一种基于TCP/IP的网络通信协议,适用于FPGA远程JTAG接口加载与调试,薛等[6]基于ARM单芯片实现了XVC协议的多目标FPGA菊花链式远程网络调试,但其JTAG加载性能较差。随着可编程SoC和AXI总线标准的快速发展和应用,李[7]和薛[8]分别采用软核和硬核可编程片上系统(SoPC)实现了AXI转JTAG方式的XVC远程调试,SoPC远程调试系统相较于ARM进一步提升了远程调试的加载性能。但目前XVC远程调试方案在FPGA加载速度和效率方面普遍仍低于传统JTAG线缆,这限制了XVC协议在大容量、多目标FPGA远程调试和加载方面的进一步推广和应用。
本文从基于SoPC的XVC协议性能优化方面开展研究,提出一种改进型JTAG转换器结构,引入AXI-DMA[9]和非阻塞IO传输机制,提高XVC协议的JTAG数据转换速率,最终得到性能优化的FPGA远程调试系统。
1 系统结构
基于ZYNQ硬核SoPC构建XVC远程网络调试系统,系统结构如图1所示。ZYNQ SoPC用于远端目标FPGA的JTAG接口控制,其可编程逻辑(PL)部分用于构建XVC协议专用JTAG数据转换器,具有逻辑加速的特性,并通过处理器系统(PS)的高性能(HP)从机AXI总线接口,JTAG-DMA转换器主动地执行高效率数据传输;在以ARM处理器为核心的PS部分,Linux内核模块管理PL端JTAG转换器的DMA读写驱动,XVC服务器软件适用于操作JTAG-DMA设备进行多目标FPGA的JTAG信号同时传输;本地计算机与ZYNQ SoPC通过以太网-局域网互联,XVC客户端以点对点或交换的方式连接远端XVC服务器下特定端口,对指定的目标FPGA进行远程加载与调试。……
