首页> 中国专利> 基于远程FPGA实验平台的片上系统设计与验证方法

基于远程FPGA实验平台的片上系统设计与验证方法

摘要

本发明公开了一种基于远程FPGA实验平台的片上系统设计与验证方法,包括:设置采样芯片与FPGA设备连接,并通过Websocket和用户端通信;通过采样芯片对FPGA设备进行数据采样,并传输给用户端,以及接收用户端发送的用于对指定FPGA设备进行系统验证的bit流文件,再将指定FPGA设备运行结果反馈给用户端,由用户端根据运行结果确定系统验证情况。该方法无需进行较为复杂繁琐的物理设备连接的流程即可完成片上系统设计与验证。

著录项

  • 公开/公告号CN112163386A

    专利类型发明专利

  • 公开/公告日2021-01-01

    原文格式PDF

  • 申请/专利权人 中国科学技术大学;

    申请/专利号CN202011023030.6

  • 申请日2020-09-25

  • 分类号G06F30/33(20200101);

  • 代理机构11260 北京凯特来知识产权代理有限公司;

  • 代理人郑立明;韩珂

  • 地址 230026 安徽省合肥市包河区金寨路96号

  • 入库时间 2023-06-19 09:24:30

说明书

技术领域

本发明涉及通信技术领域,尤其涉及一种基于远程FPGA实验平台的片上系统设计与验证方法。

背景技术

FPGA(Field Programmable Gate Array),即现场可编程门阵列,是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。由于FPGA资源的不足和互联网的不断发展,出现了FPGA远程实验平台。

现有的基于FPGA远程实验平台的RISC-v开发必须要直接物理连接FPGA设备才能运行。存在的问题是物理连接比较繁琐费时,且当大规模需要应用FPGA时不易资源的管理与维护。

发明内容

本发明的目的是提供一种基于远程FPGA实验平台的片上系统设计与验证方法,无需进行较为复杂繁琐的物理设备连接的流程即可完成片上系统设计与验证。

本发明的目的是通过以下技术方案实现的:

一种基于远程FPGA实验平台的片上系统设计与验证方法,包括:通过浏览器、Web服务器、树莓派以及FPGA构成片上系统;所述浏览器通过Web服务器实现与树莓派的通信连接,树莓派与FPGA一对一连接,所述FPGA的输入输出和相应树莓派的GPIO接口直接相连;

片上系统的过程包括:通过浏览器控制FPGA的输入、以及由树莓派将FPGA的输出传给浏览器;

通过浏览器控制FPGA的输入的过程为:浏览器获取用户点击相应按钮后触发的指令,按照指令要求发送WebSocket数据包给对应的树莓派,告知树莓派修改对应的GPIO接口电平,树莓派根据WebSocket数据包中的信息修改GPIO接口电平,从而改变FPGA的状态,进而改变FPGA的输出;

由树莓派将FPGA的输出传给浏览器的过程为:FPGA的输出变化后,树莓派检测到GPIO接口电平变化;之后,树莓派发送相应的WebSocket数据包给浏览器,浏览器根据WebSocket数据包中的信息修改界面显示。

由上述本发明提供的技术方案可以看出,解决现有技术基于FPGA远程实验平台的RISC-v开发必须要直接物理连接FPGA设备才能运行的难题,方便省时;此外,直接通过互联网页面上传完bit流文件即可得到FPGA的运行结果,无需再进行较为复杂繁琐的物理设备连接的流程,且当需要多台设备时,也能轻松运行无压力。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本发明实施例提供的一种基于远程FPGA实验平台的片上系统设计与验证方法的流程图;

图2为本发明实施例提供的浏览器显示界面。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

本发明实施例提供一种基于远程FPGA实验平台的片上系统设计与验证方法,如图1所示,片上系统主要包括:浏览器、Web服务器、树莓派以及FPGA;其中的FPGA设备可以看成一个黑盒,仅仅是对于不同的输入得到不同的输出;

由于树莓派是仅在局域网中,因此浏览器无法直接和树莓派进行通信,浏览器和树莓派之间的通信是使用WebSocket连接的方式,类似于socket支持双向通信,用来传输JSON信息,利用Web服务器进行转发。

因为WebSocket(WS)是基于TCP协议,因此使用的是TCP转发;比如发到Web服务器8080端口的WS会转发到1号树莓派,8081端口的WS会转发到2号树莓派,这样就间接实现了浏览器和树莓派之间的WebSocket连接。

片上系统的通信细节:WebSocket通信中,涉及到两种操作:用户通过浏览器控制FPGA的输入、以及将FPGA的输出传给浏览器,完成上述两种操作后也即完成了片上系统的验证。由于FPGA的输入输出和树莓派的GPIO接口(通用IO接口)是直接相连的。因此以上两个操作就变成了:用户通过浏览器控制树莓派的GPIO接口、以及树莓派将GPIO接口的变化传给浏览器。前者比较简单的,过程为:浏览器获取用户点击相应按钮后触发的指令,按照指令要求发送WebSocket数据包给对应的树莓派,告知其修改对应的GPIO接口电平,树莓派根据WebSocket数据包中的信息修改GPIO接口电平,从而改变FPGA的状态,进而改变FPGA的输出;后者的过程为:FPGA的输出变化后,树莓派检测到GPIO接口电平变化,之后,树莓派发送相应的WebSocket数据包给浏览器,浏览器根据WebSocket数据包中的信息修改界面显示,该过程中的难点是监测树莓派GPIO电平变化;本发明实施例中,使用PiGPIO库实现,它提供了一个类似边沿触发的功能,Web服务器在这个过程中只是进行TCP转发,这个操作在内核中就能完成,代价很小,这也是它能够支撑起上百台树莓派的原因。

主要工作流程如下:

首先用户进行设备的选择,机房有不同类型的FPGA设备可供选择,用户在浏览器选择好设备之后,系统后台创建对应的工程(约束)文件。

约束文件的内容可以由用户自己添加,有不同的外设板块,包括LED、SWITCH、BUTTON等,当用户选择好了外设之后,对应的包括外设的可执行代码会自动生成,放入用户的浏览器上的“可编辑区域”,自动生成基础代码(assign赋值,将文件接口对应到外设上面)。用户在自由编辑完代码之后,点击浏览器上面的“综合”按钮,生产对应的BIT流文件(对应的bit流文件是对应代码在Vivado下生成的在Xilinx FPGA开发板上运行的代码,用途:为了在FPGA开发板上运行相关的代码),并且同时将约束文件发送到编译服务器进行编译,编译成功与否的提示将返回至浏览器显示。如图2所示,为浏览器显示界面,显示界面中设有多个显示区域,顶部为用户输入BIT流文件的区域,中间区域为外设状态显示及控制区域,底部为生成波形图的控制区域。

如果编译成功成功,则用户可以通过浏览器申请一个空闲的FPGA设备,并获得在浏览器上获得一个虚拟外设的控制页面,页面中有对应具体的外设操作:其中的虚拟外设的界面是由arm端提供的,采用一个树莓派连接一个FPGA,FPGA采样后经过树莓派通过Web服务器和浏览器进行通信,通过过程即为前述介绍的通信细节部分。

上述方案解决现有技术基于FPGA远程实验平台的RISC-v开发必须要直接物理连接FPGA设备才能运行的难题,方便省时;此外,直接通过互联网页面上传完bit流文件即可得到FPGA的运行结果,无需再进行较为复杂繁琐的物理设备连接的流程,且当需要多台设备时,也能轻松运行无压力。

本发明实施例上述方案,解决现有技术基于FPGA远程实验平台的RISC-v开发必须要直接物理连接FPGA设备才能运行的难题,方便省时;此外,直接通过互联网页面上传完bit流文件即可得到FPGA的运行结果,无需再进行较为复杂繁琐的物理设备连接的流程,且当需要多台设备时,也能轻松运行无压力。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号