您好, 访客   登录/注册

基于FPGA的量子通信中经典信道的设计与实现

来源:用户上传      作者:

  摘  要: 为满足量子密钥分发中对经典信道的设计需求,设计了一种片上可编程系统+FPGA+PHY芯片的经典信道解决方案。在FPGA内部构建片上可编程系统,通过Nios Ⅱ运行NicheStack TCP/IP实现TCP通信协议,并使用三速以太网IP和物理层芯片Marvel 88E1111实现以太网控制器。指令处理器软件结构易于将基于FPGA的经典以太网信道与量子态信号处理算法相结合实现,对量子通信系统小型化和集成化都具有重要意义。该方案在Stratix Ⅳ上进行了实现。测试结果表明,系统端数据接口速度可达1 600 Mb/s,经典信道上行数据传输速度最高可达61 Mb/s,相较已有同类型设计提高了约20%的性能。
  关键词: 经典信道; 量子通信; 量子密钥分发; 编译器优化; 系统集成; 以太网控制器
  中图分类号: TN911.22?34; TP393.1                  文献标识码: A                 文章编号: 1004?373X(2020)09?0033?04
  Design and implementation of FPGA?based classical channel for quantum communication
  DENG Xiongfeng1, LIU Zhenyu1, ZHENG Yulin2, HE Jiakun2
  (1. School of Information Engineering, Guangdong University of Technology, Guangzhou 510000, China;
  2. Hisilicon Research Department, Huawei Technologies Co., Ltd., Shenzhen 518129, China)
  Abstract: In order to satisfy the design requirements of the classical channel layer in a quantum key distribution system, a classical communication solution for the chip with system?on?programmable?chip +FPGA+PHY is designed. A system?on? programmable?chip is established inside the FPGA. The system runs the NicheStack TCP/IP by Nios II to realize TCP, and employs a three?speed Ethernet IP and a physical layer chip Marvel 88E1111 to implement the Ethernet controller. An instruction?processor software architecture is proposed, which is optimized to run both classical Ethernet communications and quantum state signal processing algorithms within the same FPGA. This feature is critical to the miniaturization and integration of quantum communication systems. This solution is implemented on Stratix IV. The test results show that the data interface speed of the system terminal can reach up to 1 600 Mb/s, and the classical channel′s uplink data speed can reach a data transmission rate of up to 61 Mb/s, which is increased by 20% of the performance in comparison with the existing design of the same type.
  Keywords: classical channel; quantum communication; quantum key distribution; compiler optimization; system integration; Ethernet controller
  0  引  言
  量子通信已經成为下一代通信技术中最重要的发展方向之一[1]。量子密钥分发(Quantum Key Distribution,QKD)作为量子通信系统的重要组成部分,需要使用经典信道对原始密钥进行基矢比对、数据比对、纠错和保密增强等[2]。然而,随着量子通信系统朝着小型化和集成化方向发展,采用单独芯片和器件搭建的QKD系统存在着各种缺陷[3]。使用FPGA实现经典以太网信道,可将量子通信系统中其他基于FPGA的应用集成,如基于FPGA的时间测量[4]、基于FPGA的偏振控制[5]和基于FPGA的QKD光源时序校准[6]等,对提升量子密钥成码率和安全性,及量子通信系统实用化和商业化都具有重要意义。基于上述原因,本文设计、优化和实现了基于片上可编程系统+FPGA+PHY芯片的经典以太网信道解决方案。相较于其他方案[7?9],该方案具有实现难度小、移植性好和易于使用的优点。   1  系统设计
  硬件上,原始数据通过数据接口接收,并被用于后续生成量子密钥的数据处理算法中。数据接口的设计指标为在至少640 Mb/s的数据传输速率下连续地接收100 MB原始数据。然而,通常基于FPGA片上可编程系统的以太网传输速率难以达到100 Mb/s。因此,本文的以太网传输设计方案采用存储转发机制,即先将原始数据存储至主存储器中,待主存储器中存满指定数据量的原始数据后,再将原始数据通过以太网接口发送出去。可保证该段原始数据是数据接口连续接收的。
  软件上,Nichestack TCP/IP是Intel公司针对Nios Ⅱ定制的嵌入式TCP/IP网络协议栈。Nichestack TCP/IP、三速以太网IP(Triple speed ethernet,TSE)和物理层芯片Marvel 88E1111将实现完整的因特网链路协议。通过TCP协议使FPGA具有可靠远程信息传输能力。
  2  硬件设计
  硬件系统依据功能划分为5个子系统。如图1所示,各个子系统通过Avalon总线进行互联通信。每个子系统的工作频率可单独调整,便于调节各个子系统的性能。由于各个子系统工作在不同的时钟域,因此,在进行Avalon总线互联时,系统内部使用了多个时间交架桥。此外,硬件优化可提升TCP的性能,其方法将在相关子系统中进行说明。
  2.1  数据接口子系统
  使用模块化分散聚集直接内存访问器(Modular Scatter?Gather Direct Memory Access,MSGDMA)可实现数据的快速收发,满足数据接口的设计要求。在每次接收原始数据时,首先,配置并异步启动接收MSGDMA;其次,向同步FIFO中写入需要接收的数据长度;最后,同步接收模块读取同步FIFO中的数据长度,并连通数据格式转换模块和接收FIFO,进行数据的接收。同时,同步接收模块对数据接收量进行统计,当数据接收量达到指定的数据长度时,立刻中断数据格式转换模块与接收FIFO的连接,保证接收FIFO中无历史数据。
  2.2  以太网子系统
  收发分散聚集直接内存访问器(Scatter?Gather Direct Memory Access, SGDMA)负责完成Nichestack TCP/IP与TSE之间的数据传输,描述符存储器负责存储SGDMA进行数据搬移时所需的数据信息,而TSE和芯片Marvel 88E1111之间的数据传输则通过GMII接口模块完成。
  使用片内RAM实现包存储器,可提升TCP的性能。以数据上行为例对片内RAM包存储器的工作原理进行说明。当Nichestack TCP/IP对主存储器中的原始数据进行处理时,NicheStack TCP/IP将从包存储器的空闲缓存队列中删除一个缓存,并将处理好的包放置到该缓存中,之后将这个缓存地址传递给以太网设备驱动程序。通过修改ipport.h文件中表1所列出的宏定义,可将NicheStack TCP/IP包存储器的缓存队列映射到片内RAM包存储器,这样当以太网设备驱动程序使能发送SGDMA进行数据传输时,数据源地址是片内RAM包存储器,数据目的地是TSE,由于发送SGDMA不占用主存储器数据端口,Nichestack TCP/IP可继续对主存储器内的原始数据进行处理,提升TCP性能。
  2.3  处理器
  在Nios Ⅱ配置上选择高速型处理器,并将数据缓存和指令缓存提升至最大64 KB,以降低Nios Ⅱ处理器执行操作的时间。虽然主存储器DDR3 SDRAM拥有高带宽和大容量,然而相对于片内RAM,主存储器的访问延时相对较大。得益于硬件系统的子系统化,Nios Ⅱ的工作频率可单独设定为200 MHz,提升TCP的性能。
  2.4  外设子系统
  外设子系统主要包含JTAG调试接口、嵌入式实时操作系统MicroC/OS?Ⅱ运行所需的定时器、系统ID和用于指示系统是否正常工作的心跳灯。
  3  软件设计
  上位机通过以太网将指令发送至软件,对FPGA进行控制。如图2所示,指令的最终执行由指令处理器完成,一个指令处理器对应一个独立的代码模块,因此,软件功能的增删主要是指令处理器的增删。在进行移植和集成时,依据量子系统中其他基于FPGA应用的需求,通过扩展指令和指令处理器的方式,实现所需的控制和功能。此外,编译器的优化等级越高,其最后生成的代码将更快、更密集,从而提高了Nios Ⅱ的计算效率。本文将编译器的优化等级设置为最高等级LEVEL 3,提升TCP性能。
  3.1  指令格式
  指令由指令头部和指令参数两部分组成。空格符作为指令中各个元素的分隔符,回车符作为指令的结束符。本文主要指令如表2所示。
  3.2  指令处理
  指令处理的流程图如图2所示。在软件的初始化阶段,创建初始化任务,启动MicroC/OS?Ⅱ操作系统,由初始化任务完成软件的全部初始化工作。
  连接处理器完成指令的接收。连接处理器将创建控制端口和数据端口监听套接字。通过控制连接和数据连接,可将控制信息和数据信息的传输分离。控制连接和数据连接将依据IP地址进行配对,并以连接ID进行标识。连接ID将和指令一同传递给指令分发器,最终,指令处理器通过连接ID确定发送指令的连接并进行通信。连接处理器还需要对控制连接中的指令进行接收,并把接收到的完整指令发送给指令分发器。如果指令接收發生错误,连接处理器将关闭错误的控制连接和配对的数据连接。
  指令分发器完成指令的预处理。指令分发器将对指令中的空格字符替换为字符串结束标志符,以实现对指令中各元素的切割,然后提取指令头部和指令参数,且对指令参数个数进行统计。完成指令格式化之后,指令分发器将对指令处理器注册链表进行遍历,寻找与指令头部相匹配的指令处理器,并将格式化后的指令传递给相应的指令处理器。   指令处理器完成指令的执行。针对表2中的SD和RD指令,其指令执行流程如图3所示。执行过程可简要描述为:申请资源、执行指令、释放资源和删除指令四个步骤。
  4  系统测试
  本文在Stratix EP4SGX230上实现了该设计方案,并搭建了系统测试环境。如图4所示,使用网线将计算机、量子秘钥发送方FPGA(Alice,上方FPGA)和量子秘钥接收方FPGA(Bob,下方FPGA)连接在同一个路由器上,形成局域网测试环境。
  上位机与FPGA数据传输测试。使用Matlab作为上位机,循环向Alice发送传输100 MB数据的指令SD,Alice将从数据接口连续完整地接收100 MB数据,并发送给Matlab。下行测试原理与上行测试一致,其指令为RD。测试结果如图5所示,上行速率为61.19 Mb/s,下行速率为74.94 Mb/s。
  Alice至 Bob数据传输测试,由上位机发送SD指令至Alice,Alice依据SD指令中参数2的IP与Bob建立控制和数据连接,并进行100 MB数据传输。Bob至Alice数据传输测试则将SD指令发送给Bob。通过路由器控制页面,观测数据传输速率。测试结果如图6所示,Alice至Bob的数据传输速度为47 Mb/s,Bob至Alice的数据传输速度为44 Mb/s。
  数据接口测试。使用Signal Tap Ⅱ工具观测接收MSGDMA中负责将数据写入到主存储器的端口信号,其端口类型为Avalon?MM。如图7所示,通过观察信号可知,其传输周期数为4个,有效周期数为2个,数据位宽为32 bit,工作频率为100 MHz,因此最快数据传输速度为1 600 Mb/s,满足设计要求。
  5  结  论
  本文在FPGA上设计、优化和实现了以太网数据传输系统。测试结果表明,该系统满足量子通信系统当前阶段对以太网通信的设计要求。相较于同类型设计[10],其上行速率为51 Mb/s,而本文上行速率最高可达到61.19 Mb/s,性能提升了约20%。本系统可与量子通信中基于FPGA算法实现相结合,如LDPC纠错算法和Universal2类Hash函数隐私放大算法等,有利于将系统集成化和小型化。
  参考文献
  [1] LIAO Shengkai, YONG Hailin, LIU Chang, et al. Long?distance free?space quantum key distribution in daylight towards inter?satellite communication [J]. Nature photonics, 2017, 11: 509?513.
  [2] 刘洋.远距离量子密钥分发系统的相关研究[D].合肥:中国科学技术大学,2012.
  [3] 林弘伟.适用于量子密钥分发系统的TCP/IP协议栈的VLSI设计[D].合肥:中国科学技术大学,2018.
  [4] 沈奇.量子通信中的精密时间测量技术研究[D].合肥:中国科学技术大学,2013.
  [5] 安輝耀,刘敦伟,耿瑞华,等.量子通信系统中基于FPGA的偏振控制[J].系统工程与电子技术,2016,38(8):1917?1921.
  [6] 余海源.基于FPGA的QKD光源时序校准系统研究与设计[D].合肥:合肥工业大学,2017.
  [7] 吴长瑞,徐建清,蒋景红.基于FPGA的千兆以太网接口应用研究与实现[J].现代电子技术,2018,41(9):1?5.
  [8] 朱保琨,刘广文.千兆以太网通信端口FPGA设计与实现[J].计算机工程与设计,2016,37(9):2292?2298.
  [9] 朱明辉,司斌,张从霞,等.FPGA与88E1111的千兆以太网接口设计[J].单片机与嵌入式系统应用,2017,17(3):60?63.
  [10] 贲广利,王永成,徐东东,等.以太网数传系统在FPGA上的实现[J].液晶与显示,2017,32(8):607?613.
转载注明来源:https://www.xzbu.com/8/view-15249037.htm