CN113760748A - 一种fpga原型验证装置及方法 - Google Patents
一种fpga原型验证装置及方法 Download PDFInfo
- Publication number
- CN113760748A CN113760748A CN202110871163.7A CN202110871163A CN113760748A CN 113760748 A CN113760748 A CN 113760748A CN 202110871163 A CN202110871163 A CN 202110871163A CN 113760748 A CN113760748 A CN 113760748A
- Authority
- CN
- China
- Prior art keywords
- mctp
- protocol
- data packet
- mctp protocol
- chip
- 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.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012545 processing Methods 0.000 claims abstract description 56
- 238000012360 testing method Methods 0.000 claims abstract description 51
- 230000002093 peripheral effect Effects 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims description 20
- 238000012827 research and development Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012856 packing Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
- G06F11/364—Software debugging by tracing the execution of the program tracing values on a bus
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI 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 Hardware Design (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请公开了一种FPGA原型验证装置及方法,该装置包括设于板卡上的PICE接口、时钟模块、内存和FPGA芯片;将用于基于PCIE总线实现MCTP协议的待验证RTL代码经编译生成执行文件后,将执行文件移植至FPGA芯片;FPGA芯片通过运行执行文件创建出CPU、芯片内部互联总线、内存控制器和MCTP协议处理模块,CPU通过芯片内部互联总线分别与内存和MCTP协议处理模块连接,进而通过PCIE接口进行与测试主机之间的MCTP协议数据包收发验证。本申请为采用PCIE总线实现MCTP协议提供了软硬件验证平台,帮助加快产品的面市时间,缩短产品研发周期。
Description
技术领域
本申请涉及电子设计技术领域,特别涉及一种FPGA原型验证装置及方法。
背景技术
FPGA(Field Programmable Gate Array,现场可编程门阵列)原型验证是ASIC(Application Specific Integrated Circuit,专用集成电路)设计中采用的一项成熟技术,通过将ASIC电子设计中的RTL(Register Transfer Level,寄存器传输级)代码移植到FPGA当中,对ASIC的相关功能进行验证,可以验证ASIC实现模型与期望的设计性能是否匹配。
MCTP(Management Component Transport Protocol,管理组件传输协议)是一种运用于计算机内部设备间数据传输的通信协议,该协议可以通过IIC(Inter-IntegratedCircuit,集成电路总线)、USB(Universal Serial Bus,通用串行总线)、PCIE(PeripheralComponent Interconnect Express,高速串行计算机扩展总线标准)等总线进行传输。其中,由于PCIE总线通信速率较高,且容易实现设备间的互联,因此对数据传输速率较高的设备可采用PCIE来实现MCTP协议。然而,目前的相关技术中,尚未提供有采用PCIE总线实现MCTP协议的FPGA原型验证装置。
鉴于此,提供一种解决上述技术问题的方案,已经是本领域技术人员所亟需关注的。
发明内容
本申请的目的在于提供一种FPGA原型验证装置及方法,以便对MCTP协议的PCIE总线实现进行有效验证。
为解决上述技术问题,一方面,本申请公开了一种FPGA原型验证装置,包括设于板卡上的PICE接口、时钟模块、内存和FPGA芯片;;
将用于基于PCIE总线实现MCTP协议的待验证RTL代码经编译生成执行文件后,将所述执行文件移植至所述FPGA芯片;所述FPGA芯片通过运行所述执行文件创建出CPU、芯片内部互联总线、内存控制器、MCTP协议处理模块,所述CPU通过所述芯片内部互联总线分别与所述内存、所述内存控制器和所述MCTP协议处理模块连接,进而通过与所述MCTP协议处理模块连接的所述PCIE接口进行与测试主机之间的MCTP协议数据包收发验证。
可选地,还包括:
与所述FPGA芯片连接的其他外设接口。
可选地,所述FPGA原型验证装置在向所述测试主机发送MCTP协议数据包时,具体用于:
所述CPU获取待发送数据和所述测试主机的BDF信息,根据所述BDF信息配置包头,将所述包头与所述待发送数据合成MCTP协议数据包后写入所述内存,通过所述芯片内部互联总线将所述MCTP协议数据包发送至所述MCTP协议处理模块,以便所述MCTP协议处理模块通过所述PCIE接口将所述MCTP协议数据包以PCIE总线协议发送至所述测试主机。
可选地,所述CPU在通过所述芯片内部互联总线将所述MCTP协议数据包发送至所述MCTP协议处理模块时,具体用于:
启动所述内存控制器,经由所述芯片内部互联总线将所述MCTP协议数据包发送至所述MCTP协议处理模块。
可选地,所述FPGA原型验证装置在接收所述测试主机发送的MCTP协议数据包时,具体用于:
所述MCTP协议处理模块通过所述PCIE接口以PCIE总线协议接收所述测试主机发送的MCTP协议数据包,并通过所述芯片内部互联总线将所述MCTP协议数据包发送至所述CPU;所述CPU根据MCTP协议对所述MCTP协议数据包进行数据解析。
可选地,所述MCTP协议处理模块在通过所述PCIE接口以PCIE总线协议接收所述测试主机发送的MCTP协议数据包时,具体用于:
通过所述PCIE接口以PCIE总线协议接收所述测试主机发送的PCIE协议数据包;从所述PCIE协议数据包中解析提取出所述MCTP协议数据包。
可选地,所述内存具体为DDR。
又一方面,本申请还公开了一种FPGA原型验证方法,应用于如上所述的任一种FPGA原型验证装置;所述方法包括:
将用于基于PCIE总线实现MCTP协议的待验证RTL代码经编译生成执行文件;
将所述执行文件移植至FPGA芯片;
由所述FPGA芯片运行所述执行文件以创建出CPU、芯片内部互联总线、内存控制器、MCTP协议处理模块,所述CPU通过所述芯片内部互联总线分别与内存、所述内存控制器和所述MCTP协议处理模块连接;
由所述CPU通过与所述MCTP协议处理模块连接的PCIE接口,进行与测试主机之间的MCTP协议数据包收发验证。
可选地,向所述测试主机发送MCTP协议数据包的过程包括如下步骤:
所述CPU获取待发送数据和所述测试主机的BDF信息;
所述CPU根据所述BDF信息配置包头,将所述包头与所述待发送数据合成MCTP协议数据包后写入所述内存;
所述CPU通过所述芯片内部互联总线将所述MCTP协议数据包发送至所述MCTP协议处理模块;
所述MCTP协议处理模块通过所述PCIE接口将所述MCTP协议数据包以PCIE总线协议发送至所述测试主机。
可选地,接收所述测试主机发送的MCTP协议数据包的过程包括如下步骤:
所述MCTP协议处理模块通过所述PCIE接口以PCIE总线协议接收所述测试主机发送的MCTP协议数据包;
所述MCTP协议处理模块通过所述芯片内部互联总线将所述MCTP协议数据包发送至所述CPU;
所述CPU根据MCTP协议对所述MCTP协议数据包进行数据解析
本申请所提供的FPGA原型验证装置及方法所具有的有益效果是:本申请为采用PCIE总线实现MCTP协议提供了软硬件验证平台,基于对MCTP协议数据包的拆包、组包全方位验证,解决了软件设计工作需要在ASIC流片完成之后才能开展的不足。并且,本申请在代码编译过程中可以发现RTL代码的时序问题,解决了在功能验证过程中无法对芯片的时序进行评估的问题,进一步提高了对软件功能验证的效率,可基于软件、芯片的同时开发帮助加快产品的面市时间,缩短产品研发周期。
附图说明
为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
图1为本申请实施例公开的一种FPGA原型验证装置的应用场景图;
图2为本申请实施例公开的一种FPGA原型验证装置的片上系统的结构框图;
图3为本申请实施例公开的一种FPGA原型验证方法的流程图;
图4为本申请实施例公开的一种发送MCTP协议数据包的方法流程图;
图5为本申请实施例公开的一种接收MCTP协议数据包的方法流程图。
具体实施方式
本申请的核心在于提供一种FPGA原型验证装置及方法,以便对MCTP协议的PCIE总线实现进行有效验证。
为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对目前的相关技术中尚未提供有采用PCIE总线实现MCTP协议的FPGA原型验证装置这一问题,本申请提供了一种FPGA原型验证方案,可有效解决上述问题。
参见图1所示,图1为本申请实施例公开的一种FPGA原型验证装置的应用场景图。
其中,本申请所公开的FPGA原型验证装置,主要包括设于板卡上的PICE接口100、时钟模块200、内存300和FPGA芯片400;
将用于基于PCIE总线实现MCTP协议的待验证RTL代码经编译生成执行文件后,将执行文件移植至FPGA芯片400;FPGA芯片400通过运行执行文件创建出CPU401、芯片内部互联总线402、内存控制器403、MCTP协议处理模块404,CPU401通过芯片内部互联总线分别与内存300、内存控制器403和MCTP协议处理模块404连接,进而通过与MCTP协议处理模块404连接的PCIE接口100进行与测试主机之间的MCTP协议数据包收发验证。
具体地,本申请所提供的FPGA原型验证装置,通过板卡上的PCIE接口可与测试主机通信连接,通过与测试主机进行MCTP协议数据包的收发,从而完成对基于PCIE总线实现MCTP协议的通信验证。
在测试过程中,首先,当用户创建好基于PCIE总线实现MCTP协议的待验证RTL代码后(该RTL代码的正确与否需要通过FPGA原型验证装置运行加以验证,即待验证RTL代码),可将其在工具软件中进行编译,生成执行文件;然后再将执行文件烧录移植到FPGA中。移植了待验证RTL代码的FPGA,依据待验证RTL代码的IP核,对应创建出CPU、芯片内部互联总线、内存控制器、MCTP协议处理模块,加上板卡上的内存、时钟模块、PCIE接口,便构成了一个完整的SOC(System on Chip,片上系统)。SOC即包含了完整系统并嵌入了软件全部内容、具有专用目标的集成电路。
其中,半导体产业中的IP核是指用于ASIC或FPGA中的预先设计好的电路功能模块。IP核可以将一些在数字电路中常用但比较复杂的功能块,如FIR滤波器、SDRAM控制器等,设计成可修改参数的模块,如此,利用IP核设计电子系统,不仅引用方便,而且在修改基本元件时也操作容易。
具体可参见图2,图2为本申请实施例公开的一种片上系统的结构框图。CPU实现对整个ASIC外设的控制以及数据的处理,芯片内部互联总线实现各个接口之间、各个接口与CPU之间的数据传输。其中,内存实现本地数据的存储;内存控制器可实现对内存数据的读写操作;MCTP协议处理模块实现CPU与PCIE接口之间数据格式的转换;即,将CPU发送的MCTP协议数据包处理为PCIE接口的通信数据格式,或者从PCIE接口的通信数据格式中解析出MCTP协议数据包。
本领域技术人员容易理解的是,对MCTP协议的PCIE实现的验证主要包括两方面:MCTP协议数据包的发送,以及,MCTP协议数据包的接收。当通过该FPGA原型验证装置与测试主机成功完整地进行了MCTP协议数据包的收发之后,便可证明对采用PCIE总线实现MCTP协议的ASIC设计无误。
其中,在进行MCTP协议数据包的发送时,本申请所提供的FPGA原型验证板卡中的SOC系统完成MCTP协议数据包的组织,并通过芯片内部互联总线将MCTP协议数据包发送至PCIE接口,进而传输到测试主机,最后由测试主机完成MCTP协议数据包的数据解析。
在进行MCTP协议数据包的接收时,由测试主机完成MCTP协议数据包的组织,通过PCIE总线将发送给FPGA原型验证板卡中的SOC系统,最终由SOC系统完成MCTP协议数据包的数据解析。
可见,本申请所提供的FPGA原型验证装置,为采用PCIE总线实现MCTP协议提供了软硬件验证平台,基于对MCTP协议数据包的拆包、组包全方位验证,解决了软件设计工作需要在ASIC流片完成之后才能开展的不足。并且,本申请在代码编译过程中可以发现RTL代码的时序问题,解决了在功能验证过程中无法对芯片的时序进行评估的问题,进一步提高了对软件功能验证的效率,可基于软件、芯片的同时开发帮助加快产品的面市时间,缩短产品研发周期。
作为一种具体实施例,本申请实施例所提供的FPGA原型验证装置在上述内容的基础上还包括:与FPGA芯片连接的其他外设接口500。具体地,外设接口500用于实现与其他外设(如以太网)的数据传输。进一步地,在一个具体实施例中,内存可具体为数据传输速率较高的DDR(Double Data Rate,双倍速率同步动态随机存储器)。
作为一种具体实施例,本申请实施例所提供的FPGA原型验证装置在上述内容的基础上,FPGA原型验证装置在向测试主机发送MCTP协议数据包时,具体用于:
CPU获取待发送数据和测试主机的BDF信息,根据BDF信息配置包头,将包头与待发送数据合成MCTP协议数据包后写入内存,通过芯片内部互联总线将MCTP协议数据包发送至MCTP协议处理模块,以便MCTP协议处理模块通过PCIE接口将MCTP协议数据包以PCIE总线协议发送至测试主机。
其中,BDF信息是用于帮助确定设备路由路径的协议参数,包括总线(Bus)、设备(Device)、功能(Function)。
作为一种具体实施例,本申请实施例所提供的FPGA原型验证装置在上述内容的基础上,CPU在通过芯片内部互联总线将MCTP协议数据包发送至MCTP协议处理模块时,具体用于:
启动内存控制器,经由芯片内部互联总线将MCTP协议数据包发送至MCTP协议处理模块。
其中,内存控制器可具体为DMA(Direct Memory Access,直接存储器访问)控制器。具体地,采用DMA传输将数据从一个地址空间复制到另外一个地址空间,该传输动作本身是由DMA控制器来实行和完成的,可以避免CPU的工作拖延,减轻CPU运行负担,有助于提高运行效率。
作为一种具体实施例,本申请实施例所提供的FPGA原型验证装置在上述内容的基础上,FPGA原型验证装置在接收测试主机发送的MCTP协议数据包时,具体用于:
MCTP协议处理模块通过PCIE接口以PCIE总线协议接收测试主机发送的MCTP协议数据包,并通过芯片内部互联总线将MCTP协议数据包发送至CPU;CPU根据MCTP协议对MCTP协议数据包进行数据解析。
作为一种具体实施例,本申请实施例所提供的FPGA原型验证装置在上述内容的基础上,MCTP协议处理模块在通过PCIE接口以PCIE总线协议接收测试主机发送的MCTP协议数据包时,具体用于:
通过PCIE接口以PCIE总线协议接收测试主机发送的PCIE协议数据包;从PCIE协议数据包中解析提取出MCTP协议数据包。
具体地,MCTP协议数据包的接收过程是发送过程的反过程。在接收时,MCTP协议处理模块从接收的数据包中剥离解析出MCTP协议数据包,进而通过芯片内部互联总线发送给CPU进行MCTP协议解析。
参见图3所示,本申请实施例公开了一种FPGA原型验证方法,应用于如上所述的任一种FPGA原型验证装置,主要包括:
S201:将用于基于PCIE总线实现MCTP协议的待验证RTL代码经编译生成执行文件。
S202:将执行文件移植至FPGA芯片。
S203:由FPGA芯片运行执行文件以创建出CPU、芯片内部互联总线、内存控制器、MCTP协议处理模块,CPU通过芯片内部互联总线分别与内存、内存控制器和MCTP协议处理模块连接。
S204:由CPU通过与MCTP协议处理模块连接的PCIE接口,进行与测试主机之间的MCTP协议数据包收发验证。
其中,S204中在利用FPGA原型验证装置与测试主机进行MCTP协议数据包收发验证的过程中,向测试主机发送MCTP协议数据包的过程可参见图4,主要包括:
S301:CPU获取待发送数据和测试主机的BDF信息。
S302:CPU根据BDF信息配置包头,将包头与待发送数据合成MCTP协议数据包后写入内存。
S303:CPU通过芯片内部互联总线将MCTP协议数据包发送至MCTP协议处理模块。
S304:MCTP协议处理模块通过PCIE接口将MCTP协议数据包以PCIE总线协议发送至测试主机。
相对应地,S204中在利用FPGA原型验证装置与测试主机进行MCTP协议数据包收发验证的过程中,接收测试主机发送的MCTP协议数据包的过程可参见图5,主要包括:
S401:MCTP协议处理模块通过PCIE接口以PCIE总线协议接收测试主机发送的MCTP协议数据包。
S402:MCTP协议处理模块通过芯片内部互联总线将MCTP协议数据包发送至CPU。
S403:CPU根据MCTP协议对MCTP协议数据包进行数据解析。
可见,本申请实施例所公开的FPGA原型验证方法,为采用PCIE总线实现MCTP协议提供了软硬件验证平台,基于对MCTP协议数据包的拆包、组包全方位验证,解决了软件设计工作需要在ASIC流片完成之后才能开展的不足。并且,本申请在代码编译过程中可以发现RTL代码的时序问题,解决了在功能验证过程中无法对芯片的时序进行评估的问题,进一步提高了对软件功能验证的效率,可基于软件、芯片的同时开发帮助加快产品的面市时间,缩短产品研发周期。
关于上述FPGA原型验证方法的具体内容,可参考前述关于FPGA原型验证装置的详细介绍,这里就不再赘述。
本申请中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需说明的是,在本申请文件中,诸如“第一”和“第二”之类的关系术语,仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。此外,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。
Claims (10)
1.一种FPGA原型验证装置,其特征在于,包括设于板卡上的PICE接口、时钟模块、内存和FPGA芯片;
将用于基于PCIE总线实现MCTP协议的待验证RTL代码经编译生成执行文件后,将所述执行文件移植至所述FPGA芯片;所述FPGA芯片通过运行所述执行文件创建出CPU、芯片内部互联总线、内存控制器、MCTP协议处理模块,所述CPU通过所述芯片内部互联总线分别与所述内存、所述内存控制器和所述MCTP协议处理模块连接,进而通过与所述MCTP协议处理模块连接的所述PCIE接口进行与测试主机之间的MCTP协议数据包收发验证。
2.根据权利要求1所述的FPGA原型验证装置,其特征在于,还包括:
与所述FPGA芯片连接的其他外设接口。
3.根据权利要求2所述的FPGA原型验证装置,其特征在于,所述FPGA原型验证装置在向所述测试主机发送MCTP协议数据包时,具体用于:
所述CPU获取待发送数据和所述测试主机的BDF信息,根据所述BDF信息配置包头,将所述包头与所述待发送数据合成MCTP协议数据包后写入所述内存,通过所述芯片内部互联总线将所述MCTP协议数据包发送至所述MCTP协议处理模块,以便所述MCTP协议处理模块通过所述PCIE接口将所述MCTP协议数据包以PCIE总线协议发送至所述测试主机。
4.根据权利要求3所述的FPGA原型验证装置,其特征在于,所述CPU在通过所述芯片内部互联总线将所述MCTP协议数据包发送至所述MCTP协议处理模块时,具体用于:
启动所述内存控制器,经由所述芯片内部互联总线将所述MCTP协议数据包发送至所述MCTP协议处理模块。
5.根据权利要求4所述的FPGA原型验证装置,其特征在于,所述FPGA原型验证装置在接收所述测试主机发送的MCTP协议数据包时,具体用于:
所述MCTP协议处理模块通过所述PCIE接口以PCIE总线协议接收所述测试主机发送的MCTP协议数据包,并通过所述芯片内部互联总线将所述MCTP协议数据包发送至所述CPU;所述CPU根据MCTP协议对所述MCTP协议数据包进行数据解析。
6.根据权利要求5所述的FPGA原型验证装置,其特征在于,所述MCTP协议处理模块在通过所述PCIE接口以PCIE总线协议接收所述测试主机发送的MCTP协议数据包时,具体用于:
通过所述PCIE接口以PCIE总线协议接收所述测试主机发送的PCIE协议数据包;从所述PCIE协议数据包中解析提取出所述MCTP协议数据包。
7.根据权利要求1至6任一项所述的FPGA原型验证装置,其特征在于,所述内存具体为DDR。
8.一种FPGA原型验证方法,其特征在于,应用于如权利要求1至7任一项所述的FPGA原型验证装置;所述方法包括:
将用于基于PCIE总线实现MCTP协议的待验证RTL代码经编译生成执行文件;
将所述执行文件移植至FPGA芯片;
由所述FPGA芯片运行所述执行文件以创建出CPU、芯片内部互联总线、内存控制器、MCTP协议处理模块,所述CPU通过所述芯片内部互联总线分别与内存、所述内存控制器和所述MCTP协议处理模块连接;
由所述CPU通过与所述MCTP协议处理模块连接的PCIE接口,进行与测试主机之间的MCTP协议数据包收发验证。
9.根据权利要求8所述的FPGA原型验证方法,其特征在于,向所述测试主机发送MCTP协议数据包的过程包括如下步骤:
所述CPU获取待发送数据和所述测试主机的BDF信息;
所述CPU根据所述BDF信息配置包头,将所述包头与所述待发送数据合成MCTP协议数据包后写入所述内存;
所述CPU通过所述芯片内部互联总线将所述MCTP协议数据包发送至所述MCTP协议处理模块;
所述MCTP协议处理模块通过所述PCIE接口将所述MCTP协议数据包以PCIE总线协议发送至所述测试主机。
10.根据权利要求9所述的FPGA原型验证方法,其特征在于,接收所述测试主机发送的MCTP协议数据包的过程包括如下步骤:
所述MCTP协议处理模块通过所述PCIE接口以PCIE总线协议接收所述测试主机发送的MCTP协议数据包;
所述MCTP协议处理模块通过所述芯片内部互联总线将所述MCTP协议数据包发送至所述CPU;
所述CPU根据MCTP协议对所述MCTP协议数据包进行数据解析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110871163.7A CN113760748A (zh) | 2021-07-30 | 2021-07-30 | 一种fpga原型验证装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110871163.7A CN113760748A (zh) | 2021-07-30 | 2021-07-30 | 一种fpga原型验证装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113760748A true CN113760748A (zh) | 2021-12-07 |
Family
ID=78788211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110871163.7A Pending CN113760748A (zh) | 2021-07-30 | 2021-07-30 | 一种fpga原型验证装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113760748A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546900A (zh) * | 2022-01-21 | 2022-05-27 | 山东云海国创云计算装备产业创新中心有限公司 | 一种验证mctp控制器的方法、系统、设备和存储介质 |
CN114564432A (zh) * | 2022-03-04 | 2022-05-31 | 中电科申泰信息科技有限公司 | 一种基于fpga的高速数据sata接口新型验证模组及方法 |
CN115221070A (zh) * | 2022-08-02 | 2022-10-21 | 无锡众星微系统技术有限公司 | 基于NVMe盘的片上系统诊断方法 |
CN115240593A (zh) * | 2022-09-21 | 2022-10-25 | 苏州珂晶达电子有限公司 | 一种Micro-LED驱动IC的原型验证系统 |
CN115454905A (zh) * | 2022-08-22 | 2022-12-09 | 杭州未名信科科技有限公司 | 一种用于芯片fpga原型验证阶段的pcie接口卡 |
CN116521603A (zh) * | 2023-06-30 | 2023-08-01 | 北京大禹智芯科技有限公司 | 一种基于fpga实现mctp协议的方法 |
-
2021
- 2021-07-30 CN CN202110871163.7A patent/CN113760748A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546900A (zh) * | 2022-01-21 | 2022-05-27 | 山东云海国创云计算装备产业创新中心有限公司 | 一种验证mctp控制器的方法、系统、设备和存储介质 |
CN114564432A (zh) * | 2022-03-04 | 2022-05-31 | 中电科申泰信息科技有限公司 | 一种基于fpga的高速数据sata接口新型验证模组及方法 |
CN114564432B (zh) * | 2022-03-04 | 2023-05-09 | 中电科申泰信息科技有限公司 | 一种基于fpga的高速数据sata接口新型验证模组及方法 |
CN115221070A (zh) * | 2022-08-02 | 2022-10-21 | 无锡众星微系统技术有限公司 | 基于NVMe盘的片上系统诊断方法 |
CN115454905A (zh) * | 2022-08-22 | 2022-12-09 | 杭州未名信科科技有限公司 | 一种用于芯片fpga原型验证阶段的pcie接口卡 |
CN115454905B (zh) * | 2022-08-22 | 2024-02-20 | 杭州未名信科科技有限公司 | 一种用于芯片fpga原型验证阶段的pcie接口卡 |
CN115240593A (zh) * | 2022-09-21 | 2022-10-25 | 苏州珂晶达电子有限公司 | 一种Micro-LED驱动IC的原型验证系统 |
CN116521603A (zh) * | 2023-06-30 | 2023-08-01 | 北京大禹智芯科技有限公司 | 一种基于fpga实现mctp协议的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113760748A (zh) | 一种fpga原型验证装置及方法 | |
CN110362512B (zh) | 一种面向sca和sdr的快速系统重构方法 | |
CN103559156B (zh) | 一种fpga与计算机之间的通信系统 | |
US20110307847A1 (en) | Hybrid system combining TLM simulators and HW accelerators | |
US10489546B1 (en) | Modular system on chip configuration system | |
CN110471872B (zh) | 一种基于zynq芯片实现m-lvds总线数据交互系统和方法 | |
CN107066746B (zh) | 基于i2c接口通过cpld来实现pca9555功能的方法 | |
CN108255776B (zh) | 一种兼容apb总线的i3c主设备、主从系统及通信方法 | |
Liu et al. | A flexible hardware architecture for slave device of i2c bus | |
WO2018218954A1 (zh) | 一种验证平台和验证方法、计算机存储介质 | |
CN105068955B (zh) | 一种局部总线结构及数据交互方法 | |
CN105335548A (zh) | 一种用于ice的mcu仿真方法 | |
CN102855150A (zh) | 一种向待编程设备烧录信息的方法及系统 | |
CN102053898A (zh) | 针对主机pcie插槽上总线接口的测试方法及其读写测试方法 | |
CN106126465A (zh) | 一种数据传输方法及装置 | |
CN103514074A (zh) | Mvb网卡开发方法及平台 | |
Gaikwad et al. | Verification of AMBA AXI on-chip communication protocol | |
CN105094886A (zh) | 一种从pc机烧录序列号至含rs485总线的下位机的装置和方法 | |
CN108984350B (zh) | 一种中断处理功能验证系统和方法 | |
CN101907683A (zh) | 数字基带芯片中i2c模块的自动测试电路结构及其方法 | |
US20080005408A1 (en) | Method and Apparatus for Increasing Transmission Efficiency of an Electronic Device using a Serial Peripheral Interface | |
TW201714174A (zh) | 雙列直插記憶體模組固態硬碟系統晶片及方法 | |
CN108920193A (zh) | Fpga和cpu间sdio通信接口实现方法、及装置 | |
Mahesh et al. | Verification of memory transactions in AXI protocol using system verilog approach | |
CN105068908B (zh) | 一种用于kvm asic的功能验证平台的搭建方法 |
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 |