CN111104346A - Fpga加速板卡产品静态信息固化方法及相关组件 - Google Patents
Fpga加速板卡产品静态信息固化方法及相关组件 Download PDFInfo
- Publication number
- CN111104346A CN111104346A CN201911284494.XA CN201911284494A CN111104346A CN 111104346 A CN111104346 A CN 111104346A CN 201911284494 A CN201911284494 A CN 201911284494A CN 111104346 A CN111104346 A CN 111104346A
- Authority
- CN
- China
- Prior art keywords
- product
- static information
- fpga
- board card
- fpga acceleration
- 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.)
- Withdrawn
Links
- 230000003068 static effect Effects 0.000 title claims abstract description 155
- 230000001133 acceleration Effects 0.000 title claims abstract description 122
- 238000001723 curing Methods 0.000 title abstract description 46
- 238000003860 storage Methods 0.000 claims abstract description 67
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000002093 peripheral effect Effects 0.000 claims description 25
- 238000007711 solidification Methods 0.000 claims description 9
- 230000008023 solidification Effects 0.000 claims description 9
- 230000010365 information processing Effects 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了FPGA加速板卡产品静态信息固化方法,针对FPGA加速卡产品需要在板卡中固化PN、SN等产品静态信息的问题,利用针对FPGA加速平台的硬件特性以及FPGA芯片中板卡FLASH存储特性,提出了通过PCIe接口,在板卡Flash中写入产品静态信息的实现方案,本方案中调用的数据通路为FPGA加速卡通用链路,适合于不同厂商不同类型的FPGA加速卡,通过上位机端软件工具配合FPGA程序,可以在工厂产线实现对板卡产品PN、SN等信息写入板卡FLASH,实现对板卡静态的固化。本申请还提供了一种FPGA加速板卡产品静态信息固化系统、一种服务器及一种FPGA加速板卡,具有上述有益效果。
Description
技术领域
本申请涉及云计算数据中心技术领域,特别涉及FPGA加速板卡产品静态信息固化方法、系统、一种服务器及一种FPGA加速板卡。
背景技术
21世纪信息化社会中,随着云计算的兴起以及大数据时代的到来,需要处理的数据量呈现出爆炸式增长,新的工作负载不断增大,海量数据传输和存储的问题不断引起关注,海量数据传输需要占用超大的带宽,严重影响了云计算数据中心中网络传输的性能,因此,如何提升数据传输处理效率,是本领域工作人员的工作重点。
FPGA(Field-Programmable Gate Array现场可编程门阵列)是专用计算中的多面手,在能耗比、常规浮点运算力迅速迭代提升、硬件加速+硬件可编程、非常规为宽浮点运算、低延迟高带宽等领域有着显著的优势。更为重要的是,FPGA可以“在云上运行硬件自定义逻辑”,为定制化的云上应用提供最佳的业务适应性,它能够根据系统资源和算法特征灵活调整并行度,达到最优适配,因此能效比高于CPU和GPU。为提升数据处理效率,异构计算下FPGA与CPU协同工作时,数据中心多采用服务器+FPGA加速卡,通过PCIe(PeripheralComponent Interconnect express一种高速串行计算机扩展总线标准)接口进行数据交互。
FPGA加速卡作为单独的硬件板卡产品,需要在工厂固化板卡的产品信息,将板卡的PN(Part Number零(部)件号)、SN(Serial Number产品序列号)、MAC(Media AccessControl媒体存取控制位址,也称为局域网地址)和生产厂商等相关信息固化到板卡相关存储,每张板卡的SN、MAC等信息都是唯一,因此需要实现产品静态信息固化到板卡的方案,为后续板卡的出货、管理、监控等提供依据。
因为各家FPGA加速硬件平台硬件结构差异,行业内规范和统一标准缺乏,部分产品的产品静态信息并没有写入到板卡,只通过条形码贴在板卡上;也有部分产品的信息写入到板卡单独的存储EEPROM进行存储,通过服务器主板BMC读写,依赖于服务器主板BMC厂商。现有的FPGA加速卡产品对于产品静态信息固化并没有行业内成熟的通用的固化方案,各家技术方案各有差异,可推广性和适用性比较差。
发明内容
本申请的目的是提供一种FPGA加速板卡产品静态信息固化方法,该方法既可以充分利用CPU资源,又可以降低互斥等锁的情形,有效提升数据处理效率;本申请的另一目的是提供一种FPGA加速板卡产品静态信息固化系统、一种服务器及一种FPGA加速板卡。
为解决上述技术问题,本申请提供一种FPGA加速板卡产品静态信息固化方法,包括:
服务器关联外设信息读取设备获取FPGA加速板卡的产品静态信息;
通过PCIe接口将所述产品静态信息写入所述FPGA加速板卡;
控制所述FPGA加速板卡将所述产品静态信息写入至板卡FLASH中的预设存储空间。
可选地,服务器关联外设信息读取设备获取FPGA加速板卡的产品静态信息,包括:
获取把枪中通过扫描所述FPGA加速板卡的条形码得到的板卡条形码信息;
对所述条形码信息进行信息处理以及组包,得到所述产品静态信息。
可选地,控制所述FPGA加速板卡将所述产品静态信息写入至板卡FLASH中的预设存储空间,包括:
控制所述FPGA加速板卡中负责读写FLASH的IP核启动。
可选地,在控制所述FPGA加速板卡将所述产品静态信息写入至板卡FLASH中的预设存储空间之后,还包括:
若接收到写入完成指令,读取内存中预留的待写入的产品静态信息以及所述预设存储空间中已写入的产品静态信息;
判断所述待写入的产品静态信息与所述已写入的产品静态信息是否相同;
若不同,执行所述控制所述FPGA加速板卡将所述产品静态信息写入至板卡FLASH中的预设存储空间的步骤。
可选地,在判断所述待写入的产品静态信息与所述已写入的产品静态信息是否相同之后,还包括:
若所述待写入的产品静态信息与所述已写入的产品静态信息相同,控制所述FPGA加速板卡将所述预设存储空间进行加锁处理。
本申请公开一种服务器,包括:
存储器,用于存储程序;
处理器,用于执行所述程序时实现基于服务器的FPGA加速板卡产品静态信息固化方法的步骤。
本申请公开一种FPGA加速板卡产品静态信息固化方法,包括:
FPGA加速板卡通过PCIe接口接收服务器发送的产品静态信息以及写入启动指令;其中,所述产品静态信息由服务器根据所述FPGA加速板卡的外设信息处理得到;
根据所述控制指令将所述产品静态信息写入至板卡FLASH中的预设存储空间。
可选地,根据所述控制指令将所述产品静态信息写入至板卡FLASH中的预设存储空间,包括:
根据所述控制指令将所述产品静态信息写入至板卡FLASH中末端预留的1K存储空间。
本申请公开一种FPGA加速板卡,包括:
存储器,用于存储程序;
处理器,用于执行所述程序时实现基于FPGA加速板卡的FPGA加速板卡产品静态信息固化方法的步骤。
本申请公开一种FPGA加速板卡产品静态信息固化系统,包括:外设信息读取设备、如上所述的FPGA加速板卡以及如上所述的服务器;
其中,所述外设信息读取设备关联至所述服务器,所述FPGA加速卡搭载于所述服务器的PCIe插槽中;
所述FPGA加速板卡包括板卡FLASH。
本申请所提供的FPGA加速板卡产品静态信息固化方法,针对FPGA加速卡产品通常作为单独产品需要在板卡中固化PN、SN等产品静态信息的问题,利用FPGA加速平台的硬件特性,FPGA加速板卡上通常在FPGA芯片挂载FLASH存储,用于FPGA程序存储且掉电不丢失,上电后FPGA从FLASH加载程序的特点,通过分析FPGA加速板卡产品特性,针对板卡的基本功能和测试流程,提出了通过PCIe接口,在板卡Flash中写入产品静态信息的实现方案。本方案中调用的数据通路为FPGA加速卡通用链路,适合于不同厂商不同类型的FPGA加速卡,通过上位机端软件工具配合FPGA程序,可以在工厂产线实现对板卡产品PN、SN等信息写入板卡FLASH,实现对板卡静态的固化。
本申请还提供了一种FPGA加速板卡产品静态信息固化系统、一种服务器及一种FPGA加速板卡,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种应用于服务器的FPGA加速板卡产品静态信息固化方法的流程图;
图2为本申请实施例提供的服务器的结构示意图;
图3为本申请实施例提供的一种应用于FPGA加速板卡的FPGA加速板卡产品静态信息固化方法的流程图;
图4为本申请实施例提供的一种板卡FLASH存储示意图;
图5为本申请实施例提供的一种FPGA加速板卡产品静态信息固化系统连接示意图。
具体实施方式
本申请的核心是提供FPGA加速板卡产品静态信息固化方法,该方法适合于不同厂商不同类型的FPGA加速卡,可以实现产品静态信息的固化;本申请的另一核心是提供一种FPGA加速板卡产品静态信息固化装置、设备及一种可读存储介质。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本实施例提供的一种应用于服务器的FPGA加速板卡产品静态信息固化方法的流程图,该方法的执行主体为服务器,通过服务器的host端实现信息的固化控制,host端安装FPGA加速卡驱动和产品静态信息写入工具,在产线上板卡完成初始化烧录和打板后搭载于服务器PCIe插槽并运行板卡,host端固化软件工具启动,在正确识别到板卡后执行下述步骤,主要包括:
步骤s110、服务器关联外设信息读取设备获取FPGA加速板卡的产品静态信息;
板卡完成初始化烧录和打板后,一般会将产品的基本信息(比如PN、SN、MAC和生产厂商等相关信息)以条形码形式贴于产品外侧,本实施例中称之为“外设信息”,在此对外设信息的具体信息类型,比如是二维码或是条形码,以及包括的具体信息条目,比如PN、SN、MAC和具体哪些生产厂商的信息,不做限定。外设信息读取设备指用于读取外设信息的设备,该设备需与外设信息的信息类型对应,由于本实施例中对外设信息的具体信息类型不做限定,因此在此对外设信息读取设备的具体设备类型也不做限定。
本实施例中的执行主体服务器需要关联外设信息读取设备,以获取FPGA加速板卡的产品静态信息。由于一般来说外设信息是以条形码的形式存在,且条形码的外设信息较为零散,格式不统一,不利于查看,因此,可选地,服务器关联外设信息读取设备获取FPGA加速板卡的产品静态信息的过程具体可以包括以下步骤:
(1)获取把枪中通过扫描FPGA加速板卡的条形码得到的板卡条形码信息;
(2)对条形码信息进行信息处理以及组包,得到产品静态信息。
产线生产人员通过把枪读取板卡条形码信息,数据读入系统内存,服务器中的host软件工具根据预设对把枪读入的信息处理、组包,形成完整的产品静态信息。
该方式可以保证不同外设信息类型下的统一处理,增强普适性。
步骤s120、通过PCIe接口将产品静态信息写入FPGA加速板卡;
服务器与FPGA加速板卡通过PCIe接口连接,通过PCIe接口服务器将生成的产品静态信息写入至FPGA加速板卡中用于控制静态信息的写入单元可读取的存储空间,以便FPGA加速板卡中控制静态信息的写入单元根据该存储空间中的数据将产品静态信息写入至板卡FLASH。
步骤s130、控制FPGA加速板卡将产品静态信息写入至板卡FLASH中的预设存储空间。
为保证在FPGA加速板卡中的信息写入进程的顺利进行,可以在FPGA加速板卡中设置控制静态信息的写入单元,以控制在FPGA加速板卡中的写入流程。为了增强写入单元的可靠性,可选地,可以以IP核(一种用于ASIC或FPGA中的预先设计好的电路功能模块)作为写入单元,控制FPGA加速板卡中负责读写FLASH(Flash Memory属于内存器件的一种,是一种非易失性内存)的IP核启动。则相应地,整体实现流程如下:在host端实现产品静态信息的收集和发送,host端与FPGA的通信接口为PCIe接口,借助于板卡的PCIe驱动将产品静态信息发送至FPGA加速板卡,在FPGA端通过FPGA程序的IP核IP核实现数据的接收和写入FLASH,该IP核实现对FLASH的读写功能。
预设存储空间指预先设置的专门用于存储产品静态空间的区域,预设存储空间可以设置于FLASH中的任意空闲空间,且预设存储空间的大小不做限定。可以根据实际使用需要进行相应设定。
由于控制FPGA加速板卡将产品静态信息写入至板卡FLASH中的预设存储空间的过程中可能会出现数据写入错误的情况(比如丢失部分数据未写入,或者写入数据乱码等情况),为避免该种情况对后续产品静态信息利用流程的影响,进一步提升信息固化实现过程的稳定性,可选地,在控制FPGA加速板卡将产品静态信息写入至板卡FLASH中的预设存储空间之后,可以进一步执行以下流程:
(1)若接收到写入完成指令,读取内存中预留的待写入的产品静态信息以及预设存储空间中已写入的产品静态信息;
(2)判断待写入的产品静态信息与已写入的产品静态信息是否相同;
(3)若不同,执行控制FPGA加速板卡将产品静态信息写入至板卡FLASH中的预设存储空间的步骤。
FPGA完成写入后,从FLASH中指定地址(后端1K)读取数据,发送到host端与内存中存储的当前待写入的产品静态信息进行校验,host端将读取数据与待写入数据进行校验,确认写数据是否正确,若写入不正确重复数据的写入过程,以保障写入数据的准确性;若写入正确,本实施例中对此不做限定,为保障产品静态信息的存储安全性,优选地,在判断待写入的产品静态信息与已写入的产品静态信息是否相同之后,可以进一步执行以下步骤:若待写入的产品静态信息与已写入的产品静态信息相同,控制FPGA加速板卡将预设存储空间进行加锁处理。
若写入正确向FPGA发送FLASH加锁指令;FPGA接收指令,配置FLASH寄存器,对指定地址(后端1K)进行加锁,实现写保护,防止被篡改,加锁完成后,还可以进一步向host发送完成答复,以便host端确定流程执行情况,进一步地,host端接收完成答复后可以打印产品静态信息,打印写入成功,以实现相关技术人员的信息固化流程执行情况通知。
在本实施例提出的方案中数据通路为服务器host-PCIe-FPGA-FLASH,该通路为FPGA加速卡通用链路,因此本实施例提供的信息固化方法适合于不同厂商不同类型的FPGA加速卡,实现不同厂商不同类型的FPGA加速卡下的产品静态信息的固化。
基于上述介绍,本实施例提供的基于服务器的FPGA加速板卡产品静态信息固化方法,针对FPGA加速卡产品通常作为单独产品需要在板卡中固化PN、SN等产品静态信息的问题,利用FPGA加速平台的硬件特性,FPGA加速板卡上通常在FPGA芯片挂载FLASH存储,用于FPGA程序存储且掉电不丢失,上电后FPGA从FLASH加载程序的特点,通过分析FPGA加速板卡产品特性,针对板卡的基本功能和测试流程,提出了通过PCIe接口,在板卡Flash中写入产品静态信息的实现方案。本方案中调用的数据通路为FPGA加速卡通用链路,适合于不同厂商不同类型的FPGA加速卡,通过上位机端软件工具配合FPGA程序,可以在工厂产线实现对板卡产品PN、SN等信息写入板卡FLASH,实现对板卡静态的固化。
本实施例提供一种服务器,包括:存储器以及处理器。
其中,存储器用于存储程序;
处理器用于执行程序时实现如上述实施例介绍的FPGA加速板卡产品静态信息固化方法的步骤,具体可参照上述FPGA加速板卡产品静态信息固化方法的介绍。
请参考图2,为本实施例提供的服务器的结构示意图,该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在服务器301上执行存储介质330中的一系列指令操作。
服务器301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上面图1所描述的FPGA加速板卡产品静态信息固化方法中的步骤可以由本实施例介绍的服务器的结构实现。
请参考图3,图3为本实施例提供的一种应用于FPGA加速板卡的FPGA加速板卡产品静态信息固化方法的流程图,该方法的执行主体为FPGA加速板卡,以通过FPGA加速板卡中负责读写FLASH的IP核实现信息的固化控制为例,其它控制单元下的控制实现过程均可参照本实施例的介绍,在此不再赘述,该方法主要包括:
步骤s210、FPGA加速板卡通过PCIe接口接收服务器发送的产品静态信息以及写入启动指令;其中,产品静态信息由服务器根据FPGA加速板卡的外设信息处理得到;
host端软件工具将产品静态信息数据包通过PCIe发送到FPGA,产品静态信息的生成以及发送过程请参见上述实施例的介绍,在此不再赘述。
写入启动指令指服务器用于控制FPGA加速板卡中的IP核启动信息固化的指令,FPGA接收数据包,进行数据包处理,根据上位机指令(即写入启动指令)启动FLASH读写IP核。
步骤s220、根据控制指令将产品静态信息写入至板卡FLASH中的预设存储空间。
板卡上通常在FPGA芯片挂载板卡FLASH存储,用于FPGA程序存储且掉电不丢失,上电后FPGA从FLASH加载程序,则相应地,FPGA加速板卡包括FPGA和板卡FLASH两部分,本实施例中对FPGA和板卡FLASH的连接方式不做限定,比如可以通过QSPI(Queued SPI为SPI接口的扩展,比SPI应用更加广泛,SPI为Serial Peripheral Interface高速的,全双工,同步的通信总线)接口连接,本实施例中仅以QSPI接口为例进行介绍,其它连接方式均可参照本实施例的介绍,在此不再赘述。则相应地,本方案中数据通路为host-PCIe-FPGA-QSPI-FLASH,该通路为FPGA加速卡通用链路,适合于不同厂商不同类型的FPGA加速卡,实现产品静态信息的固化。
FLASH的设计选型容量有充足的余量,因为在本方案中充分利用板卡FLASH,对FLASH存储空间进行合理的分配和加锁写保护,通过上位机端软件工具配合FPGA程序,实现产品静态信息的固化。
FPGA加速板卡根据控制指令将产品静态信息写入至板卡FLASH中的预设存储空间,预设存储空间指预先设置的专门用于存储产品静态空间的区域,预设存储空间可以设置于FLASH中的任意空闲空间,且预设存储空间的大小不做限定。可选地,根据控制指令将产品静态信息写入至板卡FLASH中的预设存储空间的过程具体可以为:根据控制指令将产品静态信息写入至板卡FLASH中末端预留的1K存储空间。
FPGA程序中负责读写FLASH的IP核通过QSPI接口将产品静态信息写入到板卡FLASH后端1K的存储空间,本发明中板卡FLASH中将后端1K空间单独划分,作为产品静态信息存储的载体,一种板卡FLASH存储示意图如图4所示,其中,ptr以及image为板卡FLASH中原有的数据,本实施例中将产品静态信息写入至末端(即地址最高的)存储空间,不会对板卡FLASH原有存储功能产生任何影响,只占用1K空间,空间占用小,且固定存储空间方便后续数据查找以及存储空间的整体控制(比如加锁实现)。需要说明的是,其中的存储空间大小本实施例中以设定为1K为例,也可以设置为其它可以保证全部数据写入,同时不会对存储空间造成过多占用的大小,本实施例中对预设存储空间的大小不做限定,可以根据实际使用确定。
FPGA中相关IP核根据上位机指令和预设逻辑,打开板卡FLASH,通过QSPI接口将数据写入到板卡FLASH指定的地址(比如后端1K)。
基于上述介绍,本实施例提供的基于服务器的FPGA加速板卡产品静态信息固化方法,可以实现不同厂商不同类型的FPGA加速卡的统一板卡静态固化。
本实施例提供一种FPGA加速板卡,包括:存储器以及处理器。其中,存储器用于存储程序;处理器用于执行程序时实现如上述实施例介绍的基于FPGA加速板卡的FPGA加速板卡产品静态信息固化方法的步骤,具体可参照上述基于FPGA加速板卡的FPGA加速板卡产品静态信息固化方法实施例的介绍。本实施例提供的FPGA加速板卡的结构示意可参照上述实施例中介绍的服务器的结构实施例的相关介绍,可选地,FPGA加速卡应具备PCIe接口、板卡FLASH以及FPGA,FPGA作为主处理芯片,板卡FLASH作为存储介质。可选地,FPGA与FLASH之间可以通过QSPI接口进行数据传输。
可选地,板卡FLASH芯片具有加锁功能,允许通过设置寄存器地址对指定存储地址进行加锁,实现写保护功能。
可选地,FPGA加速板卡可以包含了对板卡FLASH进行读写的IP核,以实现整体的板卡读写控制。
上面图3所描述的基于FPGA加速板卡的FPGA加速板卡产品静态信息固化方法中的步骤可以由本实施例介绍的FPGA加速板卡的结构实现。
本实施例介绍一种FPGA加速板卡产品静态信息固化系统,该系统主要包括:外设信息读取设备、FPGA加速板卡以及服务器;
外设信息读取设备关联至服务器,FPGA加速卡搭载于服务器的PCIe插槽中;服务器与FPGA加速卡均可参照上述实施例的介绍,在此不再赘述。FPGA加速板卡包括板卡FLASH,板卡FLASH用于存储产品静态信息。
为加深对本实施例提供的FPGA加速板卡产品静态信息固化系统的理解,本实施例中以一种系统各设备间交互实现静态信息固化的实现过程为例进行介绍,需要说明的是,本实施例中以服务器端通过host实现静态信息固化控制,FPGA加速板卡中通过IP核实现host静态信息固化控制的响应为例,且FPGA与板卡FLASH间通过QSPI接口连接,系统连接示意图如图5所示,FPGA加速平台上FPGA芯片作为主芯片,通过QSPI接口连接到板卡FLASH,通过PCIe接口连接到服务器上位机端,其它连接方式或控制单元下的设备交互方式均可参照本实施例的介绍,在此不再赘述。
分别在host端和FPGA端进行程序开发,在host端实现产品静态信息的收集和发送,在FPGA端通过IP核实现数据的接收和写入FLASH,host端与FPGA的通信接口为PCIe接口,数据发送需要借助于板卡的PCIe驱动,FPGA端与FLASH通信的接口为QSPI接口,数据的写入需要借助于FPGA程序的IP核,该IP核实现对FLASH的读写功能。还包括增校验和加锁机制,通过读取FLASH中写入信息与待写入数据进行对比,确认写入正确,则通过FLASH中相应寄存器配置对FLASH后端1K地址进行加锁,实现写保护。
具体地,应用图5所示的FPGA加速板卡产品静态信息固化系统实现产品静态信息固化的过程包括以下步骤:
(1)上电启动,FPGA加速卡启动,服务器端系统启动;
(2)固化软件工具启动,host正确识别板卡;
(3)产线相关工作人员通过把枪扫描FPGA加速卡条形码信息,数据读入系统内存;
(4)host软件工具根据预设对把枪读入的信息处理、组包,形成完整的产品静态信息;
(5)host端软件工具将产品静态信息数据包通过PCIe发送到FPGA;
(6)FPGA接收数据包,进行数据包处理,根据上位机指令启动FLASH读写IP核;
(7)FPGA中相关IP核根据上位机指令和预设逻辑,打开FLASH设备,通过QSPI接口将数据写入到FLASH指定的地址(后端1K);
(8)FPGA完成写入后,从FLASH中指定地址(后端1K)读取数据,发送到host端进行校验;
(9)host端将读取数据与待写入数据进行校验,确认写数据是否正确,若写入不正确重复步骤(5),若写入正确向FPGA发送FLASH加锁指令;
(10)FPGA接收指令,配置FLASH寄存器,对指定地址(后端1K)进行加锁,实现写保护,向host发送完成答复;
(11)host端接收完成答复,打印产品静态信息,打印写入成功;
本实施例中数据通路为host-PCIe-FPGA-QSPI-FLASH,该通路为FPGA加速卡通用链路,适合于不同厂商不同类型的FPGA加速卡,实现产品静态信息的固化。
本方案充分结合了fpga加速卡产品的硬件特性,充分利用FLASH存储空间,提出了通过host-PCIe-FPGA-QSPI-FLASH数据通路,将产品静态信息写入板卡FLASH,并对写入信息进行加锁,实现写保护。PCIe接口和QSPI接口为常用的硬件链路接口,本发明在不同FPGA加速平台具有通用性和可推广性,同时软件工具支持读取功能,可以读取板卡信息供产品管理使用。通过本实施例提供的信息固化系统可以方便快捷的实现在工厂对出厂前的FPGA加速卡产品PN、SN、MAC等产品信息固化到板卡,方便产品检验、出货、管理,同时也有利于云数据中心大规模部署以及管理FPGA加速卡产品。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的FPGA加速板卡产品静态信息固化方法、系统、服务器及FPGA加速板卡进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种FPGA加速板卡产品静态信息固化方法,其特征在于,包括:
服务器关联外设信息读取设备获取FPGA加速板卡的产品静态信息;
通过PCIe接口将所述产品静态信息写入所述FPGA加速板卡;
控制所述FPGA加速板卡将所述产品静态信息写入至板卡FLASH中的预设存储空间。
2.如权利要求1所述的FPGA加速板卡产品静态信息固化方法,其特征在于,服务器关联外设信息读取设备获取FPGA加速板卡的产品静态信息,包括:
获取把枪中通过扫描所述FPGA加速板卡的条形码得到的板卡条形码信息;
对所述条形码信息进行信息处理以及组包,得到所述产品静态信息。
3.如权利要求1所述的FPGA加速板卡产品静态信息固化方法,其特征在于,控制所述FPGA加速板卡将所述产品静态信息写入至板卡FLASH中的预设存储空间,包括:
控制所述FPGA加速板卡中负责读写FLASH的IP核启动。
4.如权利要求1所述的FPGA加速板卡产品静态信息固化方法,其特征在于,在控制所述FPGA加速板卡将所述产品静态信息写入至板卡FLASH中的预设存储空间之后,还包括:
若接收到写入完成指令,读取内存中预留的待写入的产品静态信息以及所述预设存储空间中已写入的产品静态信息;
判断所述待写入的产品静态信息与所述已写入的产品静态信息是否相同;
若不同,执行所述控制所述FPGA加速板卡将所述产品静态信息写入至板卡FLASH中的预设存储空间的步骤。
5.如权利要求4所述的FPGA加速板卡产品静态信息固化方法,其特征在于,在判断所述待写入的产品静态信息与所述已写入的产品静态信息是否相同之后,还包括:
若所述待写入的产品静态信息与所述已写入的产品静态信息相同,控制所述FPGA加速板卡将所述预设存储空间进行加锁处理。
6.一种服务器,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述程序时实现如权利要求1至5任一项所述FPGA加速板卡产品静态信息固化方法的步骤。
7.一种FPGA加速板卡产品静态信息固化方法,其特征在于,包括:
FPGA加速板卡通过PCIe接口接收服务器发送的产品静态信息以及写入启动指令;其中,所述产品静态信息由服务器根据所述FPGA加速板卡的外设信息处理得到;
根据所述控制指令将所述产品静态信息写入至板卡FLASH中的预设存储空间。
8.如权利要求7所述的FPGA加速板卡产品静态信息固化方法,其特征在于,根据所述控制指令将所述产品静态信息写入至板卡FLASH中的预设存储空间,包括:
根据所述控制指令将所述产品静态信息写入至板卡FLASH中末端预留的1K存储空间。
9.一种FPGA加速板卡,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述程序时实现如权利要求7或8所述FPGA加速板卡产品静态信息固化方法的步骤。
10.一种FPGA加速板卡产品静态信息固化系统,其特征在于,包括:外设信息读取设备、如权利要求9所述的FPGA加速板卡以及如权利要求6所述的服务器;
其中,所述外设信息读取设备关联至所述服务器,所述FPGA加速卡搭载于所述服务器的PCIe插槽中;
所述FPGA加速板卡包括板卡FLASH。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911284494.XA CN111104346A (zh) | 2019-12-13 | 2019-12-13 | Fpga加速板卡产品静态信息固化方法及相关组件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911284494.XA CN111104346A (zh) | 2019-12-13 | 2019-12-13 | Fpga加速板卡产品静态信息固化方法及相关组件 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111104346A true CN111104346A (zh) | 2020-05-05 |
Family
ID=70422523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911284494.XA Withdrawn CN111104346A (zh) | 2019-12-13 | 2019-12-13 | Fpga加速板卡产品静态信息固化方法及相关组件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104346A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131164A (zh) * | 2020-09-23 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 应用于加速板卡的数据调度方法、装置及加速板卡和介质 |
CN114430366A (zh) * | 2022-01-25 | 2022-05-03 | 北京百度网讯科技有限公司 | 信息采集应用下发方法、相关装置及计算机程序产品 |
-
2019
- 2019-12-13 CN CN201911284494.XA patent/CN111104346A/zh not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131164A (zh) * | 2020-09-23 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 应用于加速板卡的数据调度方法、装置及加速板卡和介质 |
CN112131164B (zh) * | 2020-09-23 | 2022-06-17 | 山东云海国创云计算装备产业创新中心有限公司 | 应用于加速板卡的数据调度方法、装置及加速板卡和介质 |
CN114430366A (zh) * | 2022-01-25 | 2022-05-03 | 北京百度网讯科技有限公司 | 信息采集应用下发方法、相关装置及计算机程序产品 |
CN114430366B (zh) * | 2022-01-25 | 2024-05-14 | 北京百度网讯科技有限公司 | 信息采集应用下发方法、相关装置及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598632B (zh) | 一种光模块的固件升级方法及装置 | |
CN102141951B (zh) | 芯片仿真系统及方法 | |
CN111104346A (zh) | Fpga加速板卡产品静态信息固化方法及相关组件 | |
CN109243425A (zh) | 语音识别测试方法、装置、系统、计算机设备及存储介质 | |
CN116450046A (zh) | 云盘实现方法、装置、智能网卡、服务器及存储介质 | |
CN114237498A (zh) | 一种云原生存储数据卷的快照生成方法与系统 | |
CN111936982A (zh) | 主机系统和集成电路加速系统之间有效而可靠的消息通道 | |
US7130788B2 (en) | Emulation components and system including distributed event monitoring, and testing of an IC design under emulation | |
CN110955435A (zh) | FPGA加速卡板载flash的烧写方法及相关组件 | |
CN114356846A (zh) | 一种图像数据发送方法、装置、电子设备及存储介质 | |
CN116303211A (zh) | 一种应用于车载场景的cpu多核间通信方法及装置 | |
CN113672260B (zh) | 一种处理器cpu初始化方法 | |
CN112015436A (zh) | 短信平台部署方法及装置、计算设备、计算机存储介质 | |
CN113973126B (zh) | 车端子系统间的通信方法、装置、电子设备及介质 | |
TWI611344B (zh) | 記憶體系統協定中提供檔案資訊之系統及方法 | |
CN111221317A (zh) | 一种汽车诊断数据处理方法和系统 | |
CN111063387B (zh) | 一种固态硬盘性能测试方法、装置、设备及存储介质 | |
CN113050976B (zh) | 基于PCIe总线的FPGA并行升级方法、装置、介质及电子设备 | |
CN115858256A (zh) | 一种物联网设备的测试方法、装置及电子设备 | |
CN114444423B (zh) | 基于验证平台的数据处理方法、系统及电子设备 | |
CN110971696A (zh) | 一种实现虚拟电子卡通讯的系统和方法 | |
CN117971583B (zh) | 一种存储颗粒的测试方法、系统、电子设备及存储介质 | |
CN103577239A (zh) | 单节点多cpu的加载方法、nc芯片及cpu | |
CN115914332B (zh) | Tcp连接的建立方法、系统 | |
CN113076225B (zh) | 一种外接存储介质检测方法、装置、设备及存储介质 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200505 |
|
WW01 | Invention patent application withdrawn after publication |