CN111651290B - 一种监控云平台上fpga的方法、装置及电子设备 - Google Patents
一种监控云平台上fpga的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111651290B CN111651290B CN201910159612.8A CN201910159612A CN111651290B CN 111651290 B CN111651290 B CN 111651290B CN 201910159612 A CN201910159612 A CN 201910159612A CN 111651290 B CN111651290 B CN 111651290B
- Authority
- CN
- China
- Prior art keywords
- fpga
- cloud platform
- file
- generating
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种监控云平台上FPGA的方法,包括:在生成比特流加载文件过程中,对所述加载文件进行规则检测;如果检测结果为异常,则中断所述生成比特流加载文件过程,同时,向客户端提示所述异常。其中,所述生成比特流加载文件过程在云平台执行。如果云平台上FPGA的逻辑崩溃,则启动补救措施。此外,本发明实施例还公开了一种监控云平台上FPGA的装置、电子设备、计算机程序产品及存储介质。本发明的技术方案本发明通过在云平台实现对危险逻辑的预防检测机制以及危险出现后的补救机制,最大限度地保证云平台的***安全;检测与补救的结果都会与用户保持互动,指导用户的设计,规范用户行为,提升用户体验。
Description
技术领域
本发明涉及云计算技术领域,具体涉及一种监控云平台上FPGA的方法、装置及电子设备。
背景技术
FPGA芯片是基于SRAM型工艺的挥发性器件,电路功能依靠存储在SRAM型配置寄存器中数据实现。FPGA芯片上电后必须从配置FLASH中读取配置信息之后才能正常工作。
在FPGA设计中,不合理的纯组合逻辑设计可能会引起竞争冒险,导致FPGA内部逻辑状态机“跑飞”,这也是提倡避免使用组合逻辑的原因。个别极端的不规范的组合逻辑设计(如将LUT的输出与输入相连接)甚至会形成实际的RO(Ring Oscillator,电子回环振荡器),使得FPGA内部电流在极短时间内极剧变化。由于电感特性,电流的变化导致电压的波动。若电压波动降到核电压电压以下,将导致FPGA内部逻辑(包括软复位和reload逻辑)全部失效,只能通过切断FPGA供电才能达到初始化FPGA的目的。
当FPGA加速卡上云,安装在服务器主板PCIE插槽上,很难做到对单板断电,对服务器断电又会造成云服务的一系列问题。同时,FPGA内部的逻辑崩溃会导致PCIE端口的失效,相当于对PCIE设备的热插拔操作,可能引发服务器宕机。
发明内容
本发明的一个目的是提供一种能够避免FPGA的此类危险组合逻辑上云的方案。
本发明的另一个目的是如果未能避开危险,造成FPGA“假死”,能够提供一种补救方法。
本发明的另一个目的是通过与用户的互动,规范用户设计,提升用户体验。
为了达到上述目的,本发明的实施例提供了一种监控云平台上FPGA的方法,用户上传云平台的代码生成FPGA加载文件的包括三个步骤:综合步骤,用于生成网表文件;所述编译步骤,用于生成布局线文件,以及生成比特流加载文件的步骤;其中,所述综合步骤和所述编译步骤在客户端执行,所述生成比特流加载文件过程在云平台执行;
其中,在生成比特流加载文件过程中,对所述加载文件进行规则检测;
如果检测结果为异常,则中断所述生成比特流加载文件过程。
进一步地,所述异常包括检测出引起电路振荡的组合逻辑。
进一步地,在中断所述生成比特流加载文件过程的同时,向客户端提示所述异常;向客户端提示所述异常具体为:提示用户设计的代码中的异常代码,并给出相应的风险提示,指导用户修正所述设计。
进一步地,如果监控云平台上FPGA的逻辑崩溃,则启动以下步骤:
CPLD通过I2C总线与HOST端通信,并控制FPGA供电;
CPLD定时与FPGA进行周期性的握手通信,监控FPGA状态;如果FPGA无反馈,说明FPGA内部逻辑已失效;CPLD将这一状态通知HOST端;
HOST端暂停对PCIE接口的访问,并执行保护措施,然后对CPLD下达断电指令;
CPLD接到HOST指令后,对FPGA电源关开一次,并重新加载shell逻辑;加载完毕后,通知HOST;
HOST初始化PCIE接口。
进一步地,将引起FPGA故障的比特流加载文件加入黑名单,如果用户继续上传相同或类似的文件,则发出警告并限制此用户对FPGA的操作。
进一步地,云平台上FPGA逻辑崩溃的原因包括用户设计的危险逻辑加载到了平台上的FPGA用户逻辑区。
进一步地,所述云平台为基于FPGA的异构计算平台。
本发明实施例还提供了一种监控云平台上FPGA的装置,包括如下模块:
检测模块,用于在生成比特流加载文件过程中,对所述加载文件进行规则检测;
中断模块,用于如果检测结果为异常,则中断所述生成比特流加载文件过程;
其中,用户上传云平台的代码生成FPGA加载文件的包括三个步骤:综合步骤,用于生成网表文件;所述编译步骤,用于生成布局线文件,以及生成比特流加载文件的步骤;其中,所述综合步骤和所述编译步骤在客户端执行,所述生成比特流加载文件过程在云平台执行。
进一步地,所述异常包括检测出引起电路振荡的组合逻辑。
进一步地,所述装置还包括提示模块,用于在中断所述生成比特流加载文件过程的同时,向客户端提示所述异常;向客户端提示所述异常具体为:提示用户设计的代码中的异常代码,并给出相应的风险提示,指导用户修正所述设计。
进一步地,所述装置还包括补救模块,用于当云平台上FPGA的逻辑崩溃时:
CPLD通过I2C总线与HOST端通信,并控制FPGA供电;
CPLD定时与FPGA进行周期性的握手通信,监控FPGA状态;如果FPGA无反馈,说明FPGA内部逻辑已失效;CPLD将这一状态通知HOST端;
HOST端暂停对PCIE接口的访问,并执行保护措施,然后对CPLD下达断电指令;
CPLD接到HOST指令后,对FPGA电源关开一次,并重新加载shell逻辑;加载完毕后,通知HOST;
HOST初始化PCIE接口。
进一步地,所述装置还包括黑名单模块,用于将引起FPGA故障的比特流加载文件加入黑名单,如果用户继续上传相同或类似的文件,则发出警告并限制此用户对FPGA的操作。
进一步地,云平台上FPGA逻辑崩溃的原因包括用户设计的危险逻辑加载到了平台上的FPGA用户逻辑区。
进一步地,
本发明实施例还提供了一种电子设备,所述设备包括:
存储装置;
一个或多个处理器;
其中,存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现前述的监控云平台上FPGA的方法。
本发明实施例还提供了一种计算机程序产品,包括计算机程序指令,当所述指令由处理器执行时,用于实现前述的监控云平台上FPGA的方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现前述的监控云平台上FPGA的方法。
与现有技术相比,本发明通过在云平台实现对危险逻辑的预防检测机制以及危险出现后的补救机制,最大限度地保证云平台的***安全;检测与补救的结果都会与用户保持互动,指导用户的设计,规范用户行为,提升用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例一的监控云平台上FPGA的方法流程图。
图2为用户上传云平台的代码生成FPGA加载文件的流程图。
图3为本发明实施例二的监控云平台上FPGA的方法流程图。
图4为本发明实施例三的监控云平台上FPGA的方法流程图。
图5为本发明实施例四的补救措施的通信交互示意图。
图6为本发明实施例四的监控云平台上FPGA的方法流程图。
图7为本发明实施例五的监控云平台上FPGA的方法流程图。
图8为本发明实施例六的监控云平台上FPGA的装置的框图。
图9为本发明实施例七的监控云平台上FPGA的装置的框图。
图10为本发明实施例八的监控云平台上FPGA的装置的框图。
图11为本发明实施例九的监控云平台上FPGA的装置的框图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参阅图1,本发明实施例一提供一种监控云平台上FPGA的方法,包括如下步骤:
步骤S10,在生成比特流加载文件过程中,对所述加载文件进行规则检测。
该步骤中,所述异常包括检测出引起电路振荡的组合逻辑。具体地,对所述加载文件进行规则检测包括:不涉及用户数据隐私的前提下,对DCP文件进行规则检测。当然,采用vivado设计套件时生成的DCP文件只是一个举例,本领域技术人员应当知道,采用其他的FPGA设计工具所生成的文件也可以实现上述规则检测过程。
用户上传云平台的代码生成FPGA加载文件的包括三个步骤,如图2所示:综合步骤,用于生成网表文件;编译步骤,用于生成布局线文件,以及生成比特流加载文件的步骤。
其中,生成比特流加载文件过程在云平台执行,所述综合步骤和所述编译步骤在客户端执行。
步骤S20,如果检测结果为异常,则中断所述生成比特流加载文件过程。
实施例二
参阅图3,本发明实施例二提供了一种监控云平台上FPGA的方法,在实施例一的基础上增加了步骤S30,进一步提高用户体验,包括如下步骤:
步骤S10,在生成比特流加载文件过程中,对所述加载文件进行规则检测。
该步骤中,所述异常包括检测出引起电路振荡的组合逻辑。具体地,对所述加载文件进行规则检测包括:不涉及用户数据隐私的前提下,对DCP文件进行规则检测。当然,采用vivado设计套件时生成的DCP文件只是一个举例,本领域技术人员应当知道,采用其他的FPGA设计工具所生成的文件也可以实现上述规则检测过程。
用户上传云平台的代码生成FPGA加载文件的包括三个步骤,如图2所示:综合步骤,用于生成网表文件;所述编译步骤,用于生成布局线文件,以及生成比特流加载文件的步骤。
其中,生成比特流加载文件过程在云平台执行,所述综合步骤和所述编译步骤在客户端执行。
步骤S20,如果检测结果为异常,则中断所述生成比特流加载文件过程。
步骤S30,在中断所述生成比特流加载文件过程的同时,向客户端提示所述异常。
该步骤中,向客户端提示所述异常具体为:提示用户设计的代码中的异常代码,并给出相应的风险提示,指导用户修正所述设计。
实施例三
参阅图4,本发明实施例三提供了一种监控云平台上FPGA的方法,在实施例一的基础上增加了步骤S30和S40,进一步提高用户体验和云平台的稳定性,包括如下步骤:
步骤S10,在生成比特流加载文件过程中,对所述加载文件进行规则检测。
该步骤中,所述异常包括检测出引起电路振荡的组合逻辑。具体地,对所述加载文件进行规则检测包括:不涉及用户数据隐私的前提下,对DCP文件进行规则检测。当然,采用vivado设计套件时生成的DCP文件只是一个举例,本领域技术人员应当知道,采用其他的FPGA设计工具所生成的文件也可以实现上述规则检测过程。
用户上传云平台的代码生成FPGA加载文件的包括三个步骤,如图2所示:综合步骤,用于生成网表文件;所述编译步骤,用于生成布局线文件,以及生成比特流加载文件的步骤。
其中,生成比特流加载文件过程在云平台执行,所述综合步骤和所述编译步骤在客户端执行。
步骤S20,如果检测结果为异常,则中断所述生成比特流加载文件过程。
步骤S30,在中断所述生成比特流加载文件过程的同时,向客户端提示所述异常。
该步骤中,向客户端提示所述异常具体为:提示用户设计的代码中的异常代码,并给出相应的风险提示,指导用户修正所述设计。
步骤S40,如果云平台上FPGA的逻辑崩溃,则启动补救措施。
该步骤中,云平台上FPGA逻辑崩溃的原因包括用户设计的危险逻辑加载到了平台上的FPGA用户逻辑区。
实施例四
参阅图5、图6,本发明实施例四公开了一种步骤S40中的补救措施的具体步骤:
步骤S41,CPLD通过I2C总线与HOST端通信,并控制FPGA供电;
步骤S42,CPLD定时与FPGA进行周期性的握手通信,监控FPGA状态;如果FPGA无反馈,说明FPGA内部逻辑已失效;CPLD将这一状态通知HOST端。
步骤S43,HOST端暂停对PCIE接口的访问,并执行保护措施,然后对CPLD下达断电指令。
步骤S44,CPLD接到HOST指令后,对FPGA电源关开一次,并重新加载shell逻辑;加载完毕后,通知HOST端。
步骤S45,HOST端初始化PCIE接口。
步骤S46,可选地,HOST端将故障信息反馈给客户端。
其中,Shell zone是FPGA静态区域,包含了硬件接口等逻辑,用户无权修改此区域;User logic zone是部分可重配区域,为用户逻辑区。
实施例五
参阅图7,本发明实施例五提供了一种监控云平台上FPGA的方法,在实施例一的基础上增加了步骤S30、S40、S50,进一步提高用户体验和云平台的稳定性,包括如下步骤:
步骤S10,在生成比特流加载文件过程中,对所述加载文件进行规则检测。
该步骤中,所述异常包括检测出引起电路振荡的组合逻辑。具体地,对所述加载文件进行规则检测包括:不涉及用户数据隐私的前提下,对DCP文件进行规则检测。当然,采用vivado设计套件时生成的DCP文件只是一个举例,本领域技术人员应当知道,采用其他的FPGA设计工具所生成的文件也可以实现上述规则检测过程。
用户上传云平台的代码生成FPGA加载文件的包括三个步骤,如图2所示:综合步骤,用于生成网表文件;编译步骤,用于生成布局线文件,以及生成比特流加载文件的步骤。
其中,生成比特流加载文件过程在云平台执行,所述综合步骤和所述编译步骤在客户端执行。
步骤S20,如果检测结果为异常,则中断所述生成比特流加载文件过程。
步骤S30,在中断所述生成比特流加载文件过程的同时,向客户端提示所述异常。
该步骤中,向客户端提示所述异常具体为:提示用户设计的代码中的异常代码,并给出相应的风险提示,指导用户修正所述设计。
步骤S40,果云平台上FPGA的逻辑崩溃,则启动补救措施。
该步骤中,云平台上FPGA逻辑崩溃的原因包括用户设计的危险逻辑加载到了平台上的FPGA用户逻辑区。
步骤S50,将引起FPGA故障的比特流加载文件加入黑名单,如果用户继续上传相同或类似的文件,则发出警告并限制此用户对FPGA的操作。
实施例六
参阅图8,本发明实施例六提供了一种监控云平台上FPGA的装置,包括如下模块:
检测模块100,用于在生成比特流加载文件过程中,对所述加载文件进行规则检测。其中,所述检测模块100对所述加载文件进行规则检测包括:不涉及用户数据隐私的前提下,对DCP文件进行规则检测。所述对生成比特流加载文件过程在云平台执行。
中断模块200,用于如果检测结果为异常,则中断所述生成比特流加载文件过程。
实施例七
参阅图9,本发明实施例六公开了一种监控云平台上FPGA的装置,包括如下模块:
检测模块100,用于在生成比特流加载文件过程中,对所述加载文件进行规则检测。其中,所述检测模块100对所述加载文件进行规则检测包括:不涉及用户数据隐私的前提下,对DCP文件进行规则检测。所述对生成比特流加载文件过程在云平台执行。
中断模块200,用于如果检测结果为异常,则中断所述生成比特流加载文件过程。
提示模块300,用于在中断所述生成比特流加载文件过程的同时,向客户端提示所述异常。其中,向客户端提示所述异常具体为:提示用户设计的代码中的异常代码,并给出相应的风险提示,指导用户修正所述设计。
实施例八
参阅图10,本发明实施例八公开了一种监控云平台上FPGA的装置,包括如下模块:
检测模块100,用于在生成比特流加载文件过程中,对所述加载文件进行规则检测。其中,所述检测模块100对所述加载文件进行规则检测包括:不涉及用户数据隐私的前提下,对DCP文件进行规则检测。所述对生成比特流加载文件过程在云平台执行。
中断模块200,用于如果检测结果为异常,则中断所述生成比特流加载文件过程。
提示模块300,用于在中断所述生成比特流加载文件过程的同时,向客户端提示所述异常。其中,向客户端提示所述异常具体为:提示用户设计的代码中的异常代码,并给出相应的风险提示,指导用户修正所述设计。
补救模块400,用于当云平台上FPGA的逻辑崩溃时,启动补救措施。
其中,云平台上FPGA逻辑崩溃的原因包括用户设计的危险逻辑加载到了平台上的FPGA用户逻辑区。
实施例九
参阅图11,本发明实施例九公开了一种监控云平台上FPGA的装置,包括如下模块:
检测模块100,用于在生成比特流加载文件过程中,对所述加载文件进行规则检测。其中,所述检测模块100对所述加载文件进行规则检测包括:不涉及用户数据隐私的前提下,对DCP文件进行规则检测。所述对生成比特流加载文件过程在云平台执行。
中断模块200,用于如果检测结果为异常,则中断所述生成比特流加载文件过程。
提示模块300,用于在中断所述生成比特流加载文件过程的同时,向客户端提示所述异常。其中,向客户端提示所述异常具体为:提示用户设计的代码中的异常代码,并给出相应的风险提示,指导用户修正所述设计。
补救模块400,用于当云平台上FPGA的逻辑崩溃时,启动补救措施。
其中,云平台上FPGA逻辑崩溃的原因包括用户设计的危险逻辑加载到了平台上的FPGA用户逻辑区。
黑名单模块500,用于将引起FPGA故障的比特流加载文件加入黑名单,如果用户继续上传相同或类似的文件,则发出警告并限制此用户对FPGA的操作。
所属领域的技术人员可以清楚的了解到,为了描述的方便和简洁,上述描述的装置、模块和单元的具体工作过程,可以参考前述方法实施例的对应过程,在此不再赘述。
另外,本发明实施例还公开了一种电子设备,其包括存储装置和一个或多个处理器,存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如实施例一至四的方法。
本发明实施例还公开了一种计算机程序产品,包括计算机程序指令,当指令由处理器执行时,用于实现如实施例一至四的方法。
本发明实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如实施例一至四的方法。
附图中的流程图和框图显示了根据本发明的多个实施例的方法、装置和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图和框图中的每个方框可以代表一个模块、程序段或代码的一部分,包含一个或多个用于实现逻辑功能的计算机可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。也要注意的是,框图和流程图中的每个方框或方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明,上述实施例仅是为说明所作的举例,而并非对实施方式的限定。对于本领域技术人员来说,在上述说明的基础上,还可以做出其它不同形式的变化或变动,而这些变化或变动将是显而易见的,处于本发明的保护范围之中。
Claims (15)
1.一种监控云平台上FPGA的方法,用户上传云平台的代码生成FPGA加载文件包括三个步骤:综合步骤,用于生成网表文件;编译步骤,用于生成布局线文件,以及生成比特流加载文件的步骤;其中,所述综合步骤和所述编译步骤在客户端执行,所述生成比特流加载文件过程在云平台执行;其特征在于,
在生成比特流加载文件过程中,对所述加载文件进行规则检测;
如果检测结果为异常,则中断所述生成比特流加载文件过程;
如果监控云平台上FPGA 的逻辑崩溃,则启动以下步骤:
CPLD通过I2C总线与HOST端通信,并控制FPGA供电;
CPLD定时与FPGA进行周期性的握手通信,监控FPGA状态;
如果FPGA无反馈,说明FPGA内部逻辑已失效;CPLD将这一状态通知HOST端;
HOST端暂停对PCIE接口的访问,并执行保护措施,然后对CPLD下达断电指令;
CPLD接到HOST指令后,对FPGA电源关开一次,并重新加载shell逻辑;加载完毕后,通知HOST;
HOST初始化PCIE接口。
2.如权利要求1所述的方法,其特征在于,所述异常包括检测出引起电路振荡的组合逻辑。
3.如权利要求1所述的方法,其特征在于,在中断所述生成比特流加载文件过程的同时,向客户端提示所述异常;
向客户端提示所述异常具体为:提示用户设计的代码中的异常代码,并给出相应的风险提示,指导用户修正所述设计。
4.如权利要求1-3中任一项所述的方法,其特征在于,将引起FPGA故障的比特流加载文件加入黑名单,如果用户继续上传相同或类似的文件,则发出警告并限制此用户对FPGA的操作。
5.如权利要求1-3中任一项所述的方法,其特征在于,云平台上FPGA逻辑崩溃的原因包括用户设计的危险逻辑组合加载到了平台上的FPGA用户逻辑区。
6.如权利要求1-3中任一项所述的方法,其特征在于,所述云平台为基于FPGA的异构计算平台。
7.一种监控云平台上FPGA的装置,其特征在于,包括如下模块:
检测模块,用于在生成比特流加载文件过程中,对所述加载文件进行规则检测;
中断模块,用于如果检测结果为异常,则中断所述生成比特流加载文件过程;
补救模块,用于当监控到云平台上FPGA的逻辑崩溃时:CPLD通过I2C总线与HOST端通信,并控制FPGA供电;CPLD定时与FPGA进行周期性的握手通信,监控FPGA状态;如果FPGA无反馈,说明FPGA内部逻辑已失效;CPLD将这一状态通知HOST端;HOST端暂停对PCIE接口的访问,并执行保护措施,然后对CPLD下达断电指令;CPLD接到HOST指令后,对FPGA电源关开一次,并重新加载shell逻辑;加载完毕后,通知HOST;HOST初始化PCIE接口;
其中,用户上传云平台的代码生成FPGA加载文件包括三个步骤:综合步骤,用于生成网表文件;编译步骤,用于生成布局线文件,以及生成比特流加载文件的步骤;其中,所述综合步骤和所述编译步骤在客户端执行,所述生成比特流加载文件过程在云平台执行。
8.如权利要求7所述的装置,其特征在于,所述异常包括检测出引起电路振荡的组合逻辑。
9.如权利要求7所述的装置,其特征在于,所述装置还包括提示模块,用于在中断所述生成比特流加载文件过程的同时,向客户端提示所述异常;
向客户端提示所述异常具体为:提示用户设计的代码中的异常代码,并给出相应的风险提示,指导用户修正所述设计。
10.如权利要求7-9中任一项所述的装置,其特征在于,所述装置还包括黑名单模块,用于将引起FPGA故障的比特流加载文件加入黑名单,如果用户继续上传相同或类似的文件,则发出警告并限制此用户对FPGA的操作。
11.如权利要求7-9中任一项所述的装置,其特征在于,云平台上FPGA逻辑崩溃的原因包括用户设计的危险逻辑加载到了平台上的FPGA用户逻辑区。
12.如权利要求7-9中任一项所述的装置,其特征在于,所述云平台为基于FPGA的异构计算平台。
13.一种电子设备,其特征在于,所述设备包括:
存储装置;
一个或多个处理器;
其中,存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-6中任一项所述的监控云平台上FPGA的方法。
14.一种计算机程序产品,包括计算机程序指令,当所述指令由处理器执行时,用于实现如权利要求1-6中任一项所述的监控云平台上FPGA的方法。
15.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如权利要求1-6中任一项所述的监控云平台上FPGA的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910159612.8A CN111651290B (zh) | 2019-03-04 | 2019-03-04 | 一种监控云平台上fpga的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910159612.8A CN111651290B (zh) | 2019-03-04 | 2019-03-04 | 一种监控云平台上fpga的方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111651290A CN111651290A (zh) | 2020-09-11 |
CN111651290B true CN111651290B (zh) | 2023-03-31 |
Family
ID=72350738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910159612.8A Active CN111651290B (zh) | 2019-03-04 | 2019-03-04 | 一种监控云平台上fpga的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111651290B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101363900A (zh) * | 2007-09-30 | 2009-02-11 | 北京华大泰思特半导体检测技术有限公司 | 一种对fpga器件进行测试的方法 |
US7559011B1 (en) * | 2006-02-10 | 2009-07-07 | Xilinx, Inc. | Circuit having a programmable circuit and method of validating a bitstream loaded into a programmable device |
CN104503813A (zh) * | 2015-01-19 | 2015-04-08 | 中国人民解放军国防科学技术大学 | 一种fpga远程加载大容量配置位流文件的方法 |
CN107710325A (zh) * | 2015-12-31 | 2018-02-16 | 京微雅格(北京)科技有限公司 | 一种fpga电路和其配置文件处理方法 |
EP3355196A1 (en) * | 2017-01-27 | 2018-08-01 | Menta | Fpga and method of operation |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7823021B2 (en) * | 2005-05-26 | 2010-10-26 | United Parcel Service Of America, Inc. | Software process monitor |
US10162921B2 (en) * | 2016-09-29 | 2018-12-25 | Amazon Technologies, Inc. | Logic repository service |
-
2019
- 2019-03-04 CN CN201910159612.8A patent/CN111651290B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7559011B1 (en) * | 2006-02-10 | 2009-07-07 | Xilinx, Inc. | Circuit having a programmable circuit and method of validating a bitstream loaded into a programmable device |
CN101363900A (zh) * | 2007-09-30 | 2009-02-11 | 北京华大泰思特半导体检测技术有限公司 | 一种对fpga器件进行测试的方法 |
CN104503813A (zh) * | 2015-01-19 | 2015-04-08 | 中国人民解放军国防科学技术大学 | 一种fpga远程加载大容量配置位流文件的方法 |
CN107710325A (zh) * | 2015-12-31 | 2018-02-16 | 京微雅格(北京)科技有限公司 | 一种fpga电路和其配置文件处理方法 |
EP3355196A1 (en) * | 2017-01-27 | 2018-08-01 | Menta | Fpga and method of operation |
Non-Patent Citations (1)
Title |
---|
李磊 ; 张春妹 ; 赵翠华 ; 张洵颖 ; 龚龙庆.一种FPGA配置加载管理电路的设计与实现.微电子学与计算机.2015,(008),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111651290A (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11360842B2 (en) | Fault processing method, related apparatus, and computer | |
US10430260B2 (en) | Troubleshooting method, computer system, baseboard management controller, and system | |
CN102656568B (zh) | 微计算机及其动作方法 | |
CN112685236A (zh) | 数据管理***的双机互备方法及*** | |
CN111897686A (zh) | 服务器集群硬盘故障处理方法、装置、电子设备及存储介质 | |
CN103631736B (zh) | 设备资源控制方法和装置 | |
EP3358467A1 (en) | Fault processing method, computer system, baseboard management controller and system | |
CN112099412A (zh) | 一种微控制单元的安全冗余架构 | |
CN104216790A (zh) | 部件异常监测方法和电子设备 | |
CN111651290B (zh) | 一种监控云平台上fpga的方法、装置及电子设备 | |
CN114116276A (zh) | Bmc挂死自恢复方法、***、终端及存储介质 | |
CN107818034B (zh) | 监测计算机设备中的进程的运行空间的方法以及装置 | |
CN110569163A (zh) | 监测伸缩组内云主机健康状态的方法、装置、设备及介质 | |
CN108427044B (zh) | 一种故障保护功能的测试方法、装置、设备及存储介质 | |
CN107179911B (zh) | 一种重启管理引擎的方法和设备 | |
CN113241741B (zh) | 防交流故障误启动的直流线路保护方法、装置及设备 | |
CN114356063A (zh) | 一种电源快速告警响应方法、服务器、装置及介质 | |
CN108258757B (zh) | 一种控制方法及设备 | |
CN112929120B (zh) | 一种用于时间同步的方法、设备和计算机可读存储介质 | |
CN112732486B (zh) | 一种冗余固件切换方法、装置、设备及存储介质 | |
CN112463446B (zh) | 一种PCIe设备恢复方法、***及电子设备和存储介质 | |
CN110048700B (zh) | 一种采样电路的复位控制方法 | |
US10303485B2 (en) | Control method for controlling a server system by means of a set of reset signals and a set of notification signals | |
CN115576728A (zh) | 一种基于故障定位的时序控制方法、装置及设备 | |
CN115766415A (zh) | 一种智能网卡vr状态监控装置、方法、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40036448 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |