基于龙芯的fpga嵌入式计算机及其配置方法
【技术领域】
[0001 ]本发明涉及嵌入式计算机领域,具体地,涉及基于龙芯的FPGA嵌入式计算机及其配置方法。
【背景技术】
[0002]“龙芯”是中国科学院计算所自主研发的通用CPU,是我国第一款高性能通用CPU,目前龙芯已经发展到第三代产品“龙芯3号”,采用MIPS64位指令集,具备八个处理器核心,主频1.2GHz,龙芯系列CPU在处理器设计上具备核心自主知识产权。
[0003]FPGA,即现场可编程门阵列,它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件如CPLD等门电路数有限的缺点。FPGA主要特点是用户只需通过软件进行配置和编程,就能完成某种特定功能,上至高性能CPU,下至简单的74系列电路,都可以用FPGA来实现,且可以反复擦写。
[0004]嵌入式计算机是一种以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗由严格要求的计算机系统,它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序四个部分组成。
[0005]目前嵌入式计算机平台主要有两种:第一种以嵌入式微处理器为核心处理单元,再配合南北桥芯片完成外围接口的扩展。这种嵌入式计算机优点是处理能力强、体积小、功耗低,缺点是其功能固定,可重构性差,且南北桥多数采用国外芯片,对国外技术依赖性较大。第二种是以DSP和FPGA为核心,通过它们扩展数据存储模块、输入输出模块来构建嵌入式计算机硬件平台。它的优点是接口方便,扩展灵活,缺点是这种嵌入式计算机专门用来对离散时间信号进行处理计算,不具备通用性和普适性。
[0006]现有的嵌入式计算机存在以下缺点:
[0007]I)接口协议不可变,从而导致模块种类繁多,诸如两个以太网接口只能运行以太网协议,不能运行AFDX、双冗余以太网等协议;高速串行接口只能运行一种FC或Rapid1协议,不能互换。
[0008]2)硬件资源固定,无法实现自定义硬件加速、硬件可重构等特点,如硬件编解码、硬件FFT、滤波变换、硬件查找、硬件对比、硬件CRC。
[0009 ] 3)芯片多,设备多,如以太网接口、AFDX接口、FC接口、Rap i d 1接口等,导致初始化启动时间慢。
[0010]4)板载芯片多,面积大,导致功耗增大。
[0011]5)计算处理能力单一,通用性差。
[0012]因此非常需要设计一种可扩展,适用范围广,速度快的新型嵌入式计算机。
【发明内容】
[0013]针对现有技术中的缺陷,本发明的目的是提供一种基于龙芯的FPGA嵌入式计算机及其配置方法。
[0014]根据本发明提供的基于龙芯的FPGA嵌入式计算机,包括龙芯子系统、现场可编程门阵列FPGA模块、HT总线,所述现场可编程门阵列FPGA模块通过HT总线与龙芯子系统内的龙芯处理器互连;其中,所述现场可编程门阵列FPGA模块用于实现接口扩展及算法加速。
[0015]优选地,所述龙芯子系统包括:龙芯处理器、若干内存。
[0016]优选地,所述现场可编程门阵列FPGA模块包括:HT总线控制模块、中断控制模块、各种接口模块,所述HT总线控制模块用于实现龙芯处理器对各个接口模块的配置以及接口模块对龙芯内存的读写操作;所述中断控制模块用于完成对所述各个接口模块内的中断寄存器的读写操作,向处理器发送中断请求并提供相应的中断号;所述接口模块用于实现与外部数据的交互。
[0017]优选地,所述HT总线控制模块包括HT的软核和多通道的DMA接口,该DMA接口包含读龙芯内存数据通道、写龙芯内存数据通道和寄存器配置总线。
[0018]优选地,接口模块包括以太网接口模块、FIash接口模块、Rap i d 1接口模块、Memory DMA控制模块、FC接口模块、SATA接口模块、AFD)(接口模块、其他类型接口模块、算法模块中的一种或者任几种;所述接口模块与HT总线控制模块中的多通道的DMA接口连接;其中
[0019]-所述以太网接口模块,用于实现以太网到HT总线的协议转换,完成龙芯处理器到以太网接口的数据交互;
[0020]-所述Flash接口模块,用于实现多片Flash芯片的并行操作,完成龙芯处理器到Flash的数据交互;
[0021]-所述Rapid1接口模块,用于实现Rapid1到HT总线的协议转换,完成龙芯处理器到Rapid1接口的数据交互;
[0022]-所述MemoryDMA控制模块与HT总线控制器互连,实现数据从处理器内存中的一个存储空间到另一个存储空间的DMA搬移;
[0023]-所述FC接口模块,用于实现FC到HT总线的协议转换,完成龙芯处理器到以太网接口的数据交互;
[0024]-所述SATA接口模块,用于实现SATA到HT总线的协议转换,完成龙芯处理器到SATA接口的数据交互;
[0025]-所述AFD)(接口模块,用于实现AFDX到HT总线的协议转换,完成龙芯处理器到AFDX接口的数据交互;
[0026]-所述其他类型接口模块,用于实现某种接口协议的模块。
[0027]-所述算法模块,用于实现某种算法,完成数据变换。
[0028]优选地,所述算法加速包括:处理器内存数据通过FPGA逻辑,运算后,返回处理器内存或发往接口模块;或者接口模块数据通过FPGA逻辑,运算后,发往处理器内存或另一个接口模块。
[0029]根据本发明提供的基于龙芯的FPGA嵌入式计算机的配置方法,包括如下步骤:
[0030]步骤1:将龙芯处理器作为核心处理器,并在该处理器的两个内存通道挂载内存;
[0031]步骤2:采用现场可编程门阵列FPGA模块实现对HT总线的控制,并通过HT总线与龙芯处理器互连;
[0032]步骤3:在现场可编程门阵列FPGA模块中设置中断控制器,监控中断寄存器的状态,发送中断请求并提供相应的中断号;
[0033]步骤4:为HT总线的多通道的DMA接口配置接口模块,所述接口模块包括:以太网接口模块、Flash接口模块、Rapid1接口模块、Memory DMA控制模块、FC接口模块、SATA接口模块、AFDX接口模块、其他类型接口模块、算法模块中的一种或者任几种。
[0034]优选地,所述步骤2中的现场可编程门阵列FPGA模块采用硬件描述语言或网表实现,并通过FPGA工具编译生成二进制比特流文件,将比特流文件固化到固件存储器,硬件上电后FPGA通过固件存储器完成比特流的加载,从而实现接口扩展及算法加速。
[0035]优选地,所述步骤4中的以太网接口模块包含两路,一路通过SerDes接口对外互连,一路通过MD I接口对外互连,且该以太网接口模块支持多种以太网传输协议,包括:TCP协议和UDP协议。
[0036]优选地,所述步骤4中的Rapid1接口模块支持多种消息类型,包括:配置读写、NREAD、NWRITE、MESSAGE、DOORBELL。
[0037]与现有技术相比,本发明具有如下的有益效果:
[0038]1、本发明中的基于龙芯的FPGA嵌入式计算机,利用FPGA内部逻辑实现接口扩展具备接口可裁剪可定制,资源配置灵活。
[0039]2、本发明中的基于龙芯的FPGA嵌入式计算机任务处理能力强,应用范围广。
[0040]3、本发明中的基于龙芯的FPGA嵌入式计算机硬件配置简单,却具备较强的可靠性,并能够根据实际需要增加计算机的功能。
【附图说明】
[0041]通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0042]图1为本发明提供的基于龙芯的FPGA嵌入式计算机结构示意图。
【具体实施方式】
[0043]下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
[0044]根据本发明提供的基于龙芯的FPGA嵌入式计算机,包括龙芯子系统、现场可编程门阵列FPGA模块、HT总线,所述现场可编程门阵列FPGA模块通过HT总线与龙芯子系统内的龙芯处理器互连;其中,所述现场可编程门阵列FPGA模块用于实现接口扩展及算法加速。
[0045]所述龙芯子系统包括:龙芯处理器、若干内存。
[0046]所述现场可编程门阵列FPGA模块包括:HT总线控制模块、中断控制模块、各种接口模块,所述HT总线控制模块用于实现龙芯处理器对各个接口模块的配置以及接口模块对龙芯内存的读写操作;所述中断控制模块用于完成对所述各个接口模块内的中断寄存器的读写操作,向处理器发送中断请求并提供相应的中断号;所述接口模块用于实现与外部数据的交互。
[0047]所述HT总线控制模块包括HT的软核和多通道的DMA接口,该DMA接口包含读龙芯内存数据通道、写龙芯内存数据通道和寄存器配置总线。
[0048]接口模块包括以太网接口模块、Flash接口模块、Rapid1接口模块、Memory DMA控制模块、FC接口模块、SATA接口模块、AFD)(接口模块、其他类型接口模块、算法模块中的一种或者任几种;所述接口模块与HT总线控制模块中的多通道的DMA接口连接;其中
[0049]-所述以太网接口模块,用于实现以太网到HT总线的协议转换,完成龙芯处理器到以太网接口的数据交互;
[0050]-所述Flash接口模块,用于实现多片Flash芯片的并行操作,完成龙芯处理器到Flash的数据交互;
[0051 ]-所述Rapid1接口模块,用于实现Rapid1到HT总线的协议转换,完成龙芯处理器到Rapid1接口的数据交互;
[0052]-所述MemoryDMA控制模块与HT总线控制器互连,实现数据从处理器内存中的一个存储空间到另一个存储空间的DMA搬移;
[0053]-所述FC接口模块,用于实现FC到HT总线的协