CN114546917A - 一种fpga侧辅助ip系统 - Google Patents

一种fpga侧辅助ip系统 Download PDF

Info

Publication number
CN114546917A
CN114546917A CN202210111640.4A CN202210111640A CN114546917A CN 114546917 A CN114546917 A CN 114546917A CN 202210111640 A CN202210111640 A CN 202210111640A CN 114546917 A CN114546917 A CN 114546917A
Authority
CN
China
Prior art keywords
read
write
register
interface
pci express
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
Application number
CN202210111640.4A
Other languages
English (en)
Inventor
曹蓓
王大中
王奕
曲超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202210111640.4A priority Critical patent/CN114546917A/zh
Publication of CN114546917A publication Critical patent/CN114546917A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

本发明公开了一种FPGA侧辅助IP系统。所述系统包括:若干并行的数据处理通道,每一数据处理通道连接至EP端PCIe的一种应用场景模式对应的寄存器,且配置用于处理读写命令并生成答应消息;上位机用于根据用户操作生成对目标应用场景模式对应的寄存器的读写命令,以及展示答应消息;接口模块用于接收上位机发送的读写命令、接收若干数据处理通道返回的答应消息,还用于向上位机发送答应消息;指令识别和仲裁模块,指令识别和仲裁模块用于解析读写指令以确定目标应用场景模式,以及用于选通目标应用场景模式对应的数据处理通道处理读写命令。所述系统较为直观的展现PCIe不同应用模式下寄存器的值,加快PCIe相关问题的调测的进度。

Description

一种FPGA侧辅助IP系统
技术领域
本发明涉及嵌入式现场可编程门阵列(Field Programmable Gate Array,简称FPGA)知识产权(Intellectual Property,简称IP)核的设计技术领域,尤其涉及一种FPGA侧辅助IP系统。
背景技术
当今电子领域,FPGA广泛应用于通信、计算、控制等领域,由于其具有内部电路可重构的特点,几乎可以完全映射芯片的逻辑设计,也被当作一种性价比优越的芯片验证基础设施。FPGA原型验证已是当前原型验证的主流且成熟的芯片验证方法——它通过将RTL移植到FPGA来验证专门应用的集成电路(ASIC),专用标准产品(ASSP)和片上系统(SoC)的功能和性能。可以使设计人员在IC流片前对芯片功能和性能做出评估,同时,可以提前给软件设计人员提供验证平台,让芯片的基本功能验证通过后就可以开始驱动的开发,一直到芯片交出IC流片并回片后都可以进行驱动和应用的开发。当芯片回片后,应用程序可以直接基于FPGA版本的驱动来进行简单的适配即可以应用到SoC芯片上。此外,FPGA的运行速度,更接近真实芯片,其性能上也有碾压式的优势。在这种种优势中,“流片前的软硬件协同开发”是FPGA最不可替代之处,提早基于该技术平台进行软件驱动开发和应用开发,对于缩短最终芯片面世周期意义重大。
PCIe(Peripheral Component Interconnect Express)是一种高速串行计算机扩展总线标准,它原来的名称为“3GIO”,是由英特尔在2001年提出的,PCIe交由PCI-SIG(PCI特殊兴趣组织)认证发布后才改名为“PCI-Express”。它的主要优势就是数据传输速率高,减少系统延时,而且还有相当大的发展潜力。随着现代处理器技术的发展,在互联领域中,使用高速差分总线替代并行总线是大势所趋。与单端并行信号相比,高速串行差分信号可以使用更高的时钟频率,从而使用更少的信号线。而PCIe总线正使用了高速串行差分总线,并采用端到端的连接方式,因此在每一条PCIe链路中只能连接两个设备,所连接的设备分配独享通道带宽,不共享总线带宽,所以PCIe有很高的带宽,目前常用的PCIe-Gen4单Lane的速率已经达到了16GT/s,PCIe-Gen5单Lane的速率已经达到了32GT/s。此外,PCIe技术中还用了一些在网络通信中使用的技术,如支持多种数据路由方式,给予多通路的数据传递方式,和基于报文的数据传递方式,并充分考虑可在数据传送中出现的服务质量(QoS)问题。优越的电源管理能力,不仅在保持高性能的同时,也可以拥有较低的功耗。高效的热插拔能力,使其有较强的恢复能力、拓展性和灵活性。鉴于以上种种优势,PCIe技术广泛应用于工作站、服务器、计算系统领域、嵌入式计算和通信平台领域等其它领域。
随着芯片设计的规模和复杂度不断增加,与之相应的芯片验证工作量和难度也在不断增加,在某些芯片的验证中,大数据量的验证非常重要,主要验证芯片某些IP的性能,此外,芯片中的相关寄存器根据不同的功能也需配置。带有PCIe金手指的FPGA原型验证平台可以很方便地与PC、服务器等设备进行拓展,可以加速芯片验证工作的进展。而Xilinx公司的PCIe IP因其支持AXI协议、具备的配置灵活、功能全面、丰富的用户接口类型、与用户交互友好、系统时钟频率高和功耗低等优点被广泛应用在芯片设计的FPGA原型验证环节,其所支持的Integrated Block for PCI Express模式、DMA Subsystem for PCI Express模式、Bridge Subsystem for PCI Express模式可满足大部分芯片FPGA原型验证环节的需求。Xilinx公司的PCIe IP的功能固然是强大,但有一个很常见的问题经常摆在验证和测试人员面前,那就是PCIe IP核在上述几种模式下,如何确保和主机host正常linkup的问题。排除硬件设计方面的问题,对这个问题进行排查的确比较麻烦,在host中的RP端,可以通过驱动部分检查TLP包是否正确、可以检查RP的配置和状态是否正确等,以此可以调测在host中的RP端相关问题。但经过排查,如果问题出在EP端,此时RP端和EP已经无法连接,已经无法通过TLP(Transaction Layer Packet)模式去访问EP端的相关配置寄存器和状态寄存器,因此,需要寻求解决方式。
发明内容
有鉴于此,有必要针对以上技术问题,提供一种FPGA侧辅助IP系统,所述系统包括:
若干并行的数据处理通道,每一数据处理通道连接至PCIe IP核EP端一种应用场景模式对应的寄存器,且配置用于根据读写命令对寄存器执行读写操作,以及在读写操作完成时生成所述读写命令对应的答应消息;
上位机,所述上位机用于根据用户操作生成对目标应用场景模式对应的寄存器的读写命令,以及用于展示所述答应消息;
接口模块,所述接口模块用于接收所述上位机发送的读写命令、接收若干数据处理通道返回的答应消息,所述接口模块还用于向所述上位机发送所述答应消息;
指令识别和仲裁模块,所述指令识别和仲裁模块用于解析所述读写指令以确定目标应用场景模式,以及用于选通目标应用场景模式对应的数据处理通道处理所述读写命令。
在一些实施例中,每一数据处理通道均包括:寄存器读写操作模块、读写控制及缓存模块和缓存及指令重组模块,其中:
所述读写控制及缓存模块包括读写控制子模块和第一缓存,所述读写控制子模块用于读写操作的调度,所述第一缓存用于写数据和读写相关控制字段的暂存;
所述缓存及指令重组模块包括第二缓存和指令重组子模块,所述第二缓存用于读数据和与读写相关状态信号值的暂存,所述指令重组子模块用于完成写的重新打包生成答应消息;
所述寄存器读写操作模块用于按照对外的接口时序完成对所连接的寄存器的读写。
在一些实施例中,数据处理通道的数量为三个,三个数据处理通道分别对应Integrated Block for PCI Express模式、DMA Subsystem for PCI Express模式和Bridge Subsystem for PCI Express模式。
在一些实施例中,Integrated Block for PCI Express模式对应的数据处理通道中的寄存器读写操作模块通过Configuration Management Interface信号和Configuration Status Interface信号读写对应寄存器;
DMA Subsystem for PCI Express模式对应的数据处理通道中的寄存器读写操作模块通过Configuration Management Interface信号和AXI4-Lite Slave Interface信号读写对应寄存器;
Bridge Subsystem for PCI Express模式对应的数据处理通道中的寄存器读写操作模块通过AXI4-Lite Control Interface信号读写对应寄存器。
在一些实施例中,所述上位机的展示界面包括三个分别与Integrated Block forPCI Express模式、DMA Subsystem for PCI Express模式和Bridge Subsystem for PCIExpress模式对应的模式选择按钮、写发送按钮、读发送按钮,所述上位机的展示界面还包括三个分别与Integrated Block for PCI Express模式、DMA Subsystem for PCIExpress模式和Bridge Subsystem for PCI Express模式对应的信息输入框和信息展示框;
所述信息输入框用于接收用户输入读写数据信息;
所述写发送按钮和所述读发送按钮用于根据用户对模式选择按钮的触发、用户输入读写数据信息分别生成写命令和读命令;
所述信息展示框用于根据所述答应消息展示读取的寄存器的数值。
在一些实施例中,所述上位机的展示界面还包括与每个写发送按钮、每个读发送按钮对应的状态指示图标,所述状态指示图标用于根据所述答应消息指示读操作或写操作的完成状态。
在一些实施例中,所述信息输入框包括写地址及控制信息输入框、写数据输入框、读地址及控制信息输入框。
在一些实施例中,所述第一缓存的宽度和深度均为十六位,且配置为八位进十六位出。
在一些实施例中,所述第二缓存的宽度和深度均为十六位,且配置为十六位进八位出。
在一些实施例中,所述接口模块的类型包括I2C接口、USB接口、无线协议接口和UART接口。
上述一种FPGA侧辅助IP系统,通过设置若干并行的数据处理通道,将每一数据通道配置为根据读写命令对其连接的PCIe EP端一种应用场景模式对应的寄存器进行读写操作并生成对应的答应消息,利用上位机接收用户操作并生成对目标应用场景模式对应的寄存器的读写命令,以及用于展示所述答应消息,由接口模块在若干数据通道和上位机之间传递读写命令和答应消息,此外还通过指令识别和仲裁模块解析读写命令并选通目标应用场景对应的数据处理通道处理读写命令,能够辅助对各种PCIe EP端一种应用场景模式对应的寄存器进行读写操作,便于辅助芯片的设计人员调测IP核,无需操作人员懂得较为专业的PCIe知识,降低PCIe问题的分析难度,节约人工成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明一个实施例提供的一种FPGA侧辅助IP系统结构示意图;
图2为本发明一个实施例提供的上位机的界面示意图。
【附图标记说明】
100:数据处理通道;
110:寄存器操作模块;
120:读写控制和缓存模块:121:读写控制子模块;122:第一缓存;
130:缓存和指令重组模块;131:第二缓存;132:指令重组子模块;
200:上位机;
210:模式选择按钮;
220:写发送按钮;
230:读发送按钮;
241:写地址及控制信息输入框;242:写数据输入框;243:读地址及控制信息输入框;
251:配置空间寄存器展示框;252:状态寄存器展示框;
261:写完成指示图标;262:读完成指示图标;
300:接口模块;
400:指令识别和仲裁模块。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
在一个实施例中,请参照图1所示,本发明提供了一种FPGA侧辅助IP系统,所述系统包括:
若干并行的数据处理通道100,每一数据处理通道100连接至PCIe IP核EP端一种应用场景模式对应的寄存器,且配置用于根据读写命令对寄存器执行读写操作,以及在读写操作完成时生成所述读写命令对应的答应消息;
上位机200,所述上位机200用于根据用户操作生成对目标应用场景模式对应的寄存器的读写命令,以及用于展示所述答应消息;
接口模块300,所述接口模块300用于接收所述上位机200发送的读写命令、接收若干数据处理通道返回的答应消息,所述接口模块300还用于向所述上位机200发送所述答应消息;
指令识别和仲裁模块400,所述指令识别和仲裁模块400用于解析所述读写指令以确定目标应用场景模式,以及用于选通目标应用场景模式对应的数据处理通道100处理所述读写命令。
上述一种FPGA侧辅助IP系统,通过设置若干并行的数据处理通道,将每一数据通道配置为根据读写命令对其连接的PCIe EP端一种应用场景模式对应的寄存器进行读写操作并生成对应的答应消息,利用上位机接收用户操作并生成对目标应用场景模式对应的寄存器的读写命令,以及用于展示所述答应消息,由接口模块在若干数据通道和上位机之间传递读写命令和答应消息,最后通过指令识别和仲裁模块解析读写命令并选通目标应用场景对应的数据处理通道来处理读写命令,通过较为直观的方式展现PCIe不同的应用模式下寄存器的值,以此加快PCIe相关问题的调测的进度,有助于在FPGA原型验证中降低验证和测试环节中的人力和时间投入问题,为加快芯片验证的进程。
在一些实施例中,请继续参照图1所示,每一数据处理通道100均包括:寄存器读写操作模块110、读写控制及缓存模块120和缓存及指令重组模块130,其中:
所述读写控制及缓存模块120包括读写控制子模块121和第一缓存122,所述读写控制子模块121用于读写操作的调度,所述第一缓存122用于写数据和读写相关控制字段的暂存;
所述缓存及指令重组模块130包括第二缓存131和指令重组子模块132,所述第二缓存131用于读数据和与读写相关状态信号值的暂存,所述指令重组子模块132用于完成写的重新打包生成答应消息;
所述寄存器读写操作110模块用于按照对外的接口时序完成对所连接的寄存器的读写。
在一些实施例中,请继续参照图1所示,数据处理通道100的数量为三个,三个数据处理通道100分别对应Integrated Block for PCI Express模式、DMA Subsystem for PCIExpress模式和Bridge Subsystem for PCI Express模式。
在一些实施例中,Integrated Block for PCI Express模式对应的数据处理通道100中的寄存器读写操作模块通过Configuration Management Interface信号和Configuration Status Interface信号读写对应寄存器;
DMA Subsystem for PCI Express模式对应的数据处理通道100中的寄存器读写操作模块通过Configuration Management Interface信号和AXI4-Lite Slave Interface信号读写对应寄存器;
Bridge Subsystem for PCI Express模式对应的数据处理通道100中的寄存器读写操作模块通过AXI4-Lite Control Interface信号读写对应寄存器。
在一些实施例中,请参照图2所示所述上位机200的展示界面包括三个分别与Integrated Block for PCI Express模式、DMA Subsystem for PCI Express模式和Bridge Subsystem for PCI Express模式对应的模式选择按钮210、写发送按钮220、读发送按钮230,所述上位机200的展示界还包括三个分别与Integrated Block for PCIExpress模式、DMA Subsystem for PCI Express模式和Bridge Subsystem for PCIExpress模式对应的信息输入框和信息展示框;
所述信息输入框用于接收用户输入读写数据信息;
所述写发送按钮220和所述读发送按钮230用于根据用户对模式选择按钮210的触发、用户输入读写数据信息分别生成写命令和读命令;
所述信息展示框用于根据所述答应消息展示读取的寄存器的数值。
需要说明的是,由于寄存器的类型包括配置空间寄存器和状态寄存器,为了便于区分所读取到的寄存器的数值,可以在上位机上设置配置空间寄存器展示框251用以展示从配置空间寄存器读取上来数据,还可以在上位机上设置状态寄存器展示框252用以展示从状态空间寄存器读取上来的数据。
在一些实施例中,所述上位机200的展示界面还包括与每个写发送按钮220、每个读发送按钮230对应的状态指示图标,所述状态指示图标用于根据所述答应消息指示读操作或写操作的完成状态。请结合图2所示,状态指示图标包括写完成指示图标261和读完成指示图标262,状态指示图标可以通过颜色、形状以及文字注释等等方式区分完成、未完成状态。
在一些实施例中,所述信息输入框包括写地址及控制信息输入框241、写数据输入框242、读地址及控制信息输入框243。
在一些实施例中,所述第一缓存122的宽度和深度均为十六位,且配置为八位进十六位出。
在一些实施例中,所述第二缓存131的宽度和深度均为十六位,且配置为十六位进八位出。
在一些实施例中,所述接口模块300的类型包括I2C接口、USB接口、无线协议接口和UART接口。
在一些实施例中,为了便于理解本发明的技术方案,下面以Xilinx(赛灵思)PCIeIP核不同的应用模式为例,具体通过Integrated Block for PCI Express(EP端)、DMASubsystem for PCI Express、Bridge Subsystem for PCI Express(EP端)三种模式详细说明本发明的系统,该系统主要包括PPGA侧辅助IP和软件上位机两部分,两部分之间的接口可根据调测过程中的便利性加以选择,如I2C、USB或某些无线协议接口,本实施例中用UART接口加以举例。为了便于理解,先介绍在Xilinx PCIE IP在调测过程常用的接口及其属性。
1、Integrated Block for PCI Express模式:在该模式下的EP端,常用的辅助调测接口主要有:Configuration Management Interface和Configuration StatusInterface等。Configuration Management Interface信号组用来读写EP端的所有配置空间寄存器、Configuration Status Interface信号组反馈的是该模式下的某些状态寄存器的值,这两组信号中常用的Debug信号的属性如下表1。
表1 Integrated Block for PCI Express模式常用调测信号属性表
Figure BDA0003495263920000101
2、DMA Subsystem for PCI Express模式:在该模式下,比较常用的辅助调测接口主要有Configuration Management Interface和AXI4-Lite Slave Interface。Configuration Management Interface被用来读写Bridge模式下的所有配置空间寄存器;AXI4-Lite Slave Interface符合标准的AXI4-Lite Slave协议,该接口被用来访问Bridge子系统中的配置和状态寄存器,支持标准的32bit的读写操作,其接口信号组成和属性如表3中的s_axil_*。Configuration Management Interface信号组成和属性如下表2。
表2 DMA Subsystem for PCI Express模式常用调测信号属性表
Figure BDA0003495263920000102
3、Bridge Subsystem for PCI Express模式:在该模式下的EP端,常用的辅助调测接口是AXI4-Lite Control Interface,该接口用来读写Bridge中的相关寄存器和某些特性的配置寄存器,其信号组成和属性如下表3中的s_axi_ctl_*:
表3 Bridge Subsystem for PCI Express模式常用调测信号属性表
Figure BDA0003495263920000111
如上面列表列出的接口信号,在PCIe IP的各种应用模式下,这些接口信号可以定位大部分应用中的问题,此外,可助于调测的信号还有很多,本发明旨在提出一种思路,只是将其主要的辅助调测接口做以展示,后续有兴趣的读者可以将IP的功能继续丰富。
分析了PCIe IP几种应用场景需要的调测接口信号后,下面将详细介绍上位机的用户界面框图和工作流程,它对外的接口是UART,符合UART标准协议,由1bit开始位、8bit数据位、1bit奇偶校验位和1bit停止位组成,波特率115200。用户界面主要由PCIe的三种应用模式组成,每种模式下包括和其模式相关的配置寄存器(配置寄存器和配置空间寄存器中的两者或其一)读写和状态寄存器的回读,界面的右侧读写发送或获取状态按钮是指令发送按钮,读写完成图标是寄存器的读或写操作完成的状态指示图标,读写操作完成时图标短暂显示为绿色,不做操作时显示为红色。模式选择框为该模式的使能选择,本发明暂不支持多种模式并发操作,故每次操作只能选择其中的某一种模式进行操作。
在本实施例中将以用户界面中的Integrated Block for PCI Express模式为例,详细介绍一下上位机的工作流程。
1.模式选择,勾选Integrated Block for PCI Express模式栏中模式选择后的选择框,表示该模式已经使能。这样设计的目的是通过仲裁的方式让已选的模式在软件上位机层面拥有对UART总线的操作权。
2.配置空间寄存器的读写操作,在读写操作中,为整合资源,定义了寄存器读写及控制协议格式,其中的协议格式中的bit[63:0]和软件上位机在该模式下的读写地址及控制栏中要求的输入格式一致。寄存器读写完成应答协议格式,具体格式见表4和表5。
表4寄存器读写及控制协议格式
Figure BDA0003495263920000121
表5寄存器读写完成应答协议格式
Figure BDA0003495263920000122
在寄存器读写及控制协议格式中,Head[79:64]:协议头标志字段,值为16`hA5A5;Mode_select[63:62]:应用模式选择,2`b01:Integrated Block for PCI Express模式;2`b10:DMA Subsystem for PCI Express模式;2`b11:Bridge Subsystem for PCI Express模式。RG[61]:访问的寄存器类型,0:配置空间寄存器;1:配置和状态寄存器。Req_Resp[60:58]:传输类型选择,3`b100:读操作;3`b101:读完成应答;3`b010:写操作;2`b011:写完成应答;3`b110:读状态寄存器值;3`b001:返回状态寄存器值。Byte_en[55:52]:字节使能,只在写操作时有效;RD[51]:写使能,高有效;WR[50]:读使能,高有效;function_number[49:42]:PCIe功能号;Addr[41:32]:读写地址;WR_DATA[31:0]:写数据(在读操作中该字段无效,全为0)。在寄存器读写完成应答协议格式中,Head[55:40]:协议头标志字段,值为16`h5A5A;RD_Done[33]:读完成指示信号;WR_Done[32]:写完成指示信号;RD_DATA[31:0]:读数据,该字段在读完成应答操作时有效。其余字段含义和寄存器读写及控制协议格式中的一致,在此不再重复说明。
在寄存器写操作中(点击写发送按钮后),上位机在写地址及控制栏输入数据格式的最前端加上协议头字段16`hA5A5完成寄存器读写及控制协议格式的打包,然后发起对FPGA侧辅助IP的数据传输,辅助IP检测到协议头字段16`hA5A5后进而对寄存器读写及控制协议进行解析,确认接收到的指令是寄存器写操作,先进行指令识别获取①Mode_select、②RG等信息,通过总线仲裁使能对应模式下的数据处理通道。然后将寄存器写操作指令缓存在读写控制和缓冲模块中的Buff中后启动写操作,后续操作以及写完成应答流程与下文中描述的FPGA侧辅助IP系统的写操作和写完成应答工作流程一致,这里不再复述。
在寄存器读操作中(点击读发送按钮后),在用户上位机端,底层软件需将读上位机用户界面中读地址及控制栏中的数据①Mode_select、②RG、③function_number、④Req_Resp、⑤RD、⑥Addr字段以及Head协议头字段填充到寄存器读写及控制协议中。用户在点击读操作栏中的发送按钮后,读操作请求指令将发给FPGA侧辅助IP,FPGA侧辅助IP将该协议解析后,将开启寄存器读操作,其操作流程和后续的读操作完成应答流程与下文中描述的FPGA侧辅助IP系统的读操作和读完成应答工作流程一致,这里不再复述。
3.和上述Integrated Block for PCI Express模式下配置空间寄存器的读写操作类似,在该模式下的状态寄存器栏,状态寄存器值获取请求协议格式和状态寄存器值获取应答协议格式可定义为如下表6和表7。这两种协议为固定格式,均在上位机底层完成封装。
表6状态寄存器值获取请求协议格式
Figure BDA0003495263920000131
表7状态寄存器值获取应答协议格式
Figure BDA0003495263920000132
在状态寄存器值获取请求协议格式中,Head[23:8]:协议头标志字段,值为16`hB3B3。Mode_select[7:6]:模式选择。2`b01:Integrated Block for PCI Express模式;2`b10:DMA Subsystem for PCI Express模式;2`b11:Bridge Subsystem for PCI Express模式。RG[5]:访问的寄存器类型。0:配置空间寄存器;1:配置和状态寄存器。Req_Resp[4:2]:传输类型选择,3`b100:读操作;3`b101:读完成应答;3`b010:写操作;2`b011:写完成应答;3`b110:读状态寄存器值;3`b001:返回状态寄存器值。Opt_Stu[0]:状态获取使能标志位。在状态寄存器值获取应答协议格式中,Head[23:8]:协议头标志字段,值为16`h3B3B。STU_DATA[63:0]:为状态寄存器的返回值。其余字段与状态寄存器值获取请求协议格式中的字段描述一致。当用户点击上位机用户界面上的获取状态按钮时,上位机依照状态寄存器值获取请求协议格式,将Opt_Stu字段填充到协议对应位置后发给FPGA侧辅助IP,FPGA侧辅助IP收到指令后进行指令识别,通过判断字段Mode_select将UART接口的使用权交给Integrated Block for PCI Express应用场景对应的数据处理通道,同时打开读寄存器状态通道(通过RG字段判断)。寄存器状态的返回值在该应用场景下已经锁存在PCIe IP的输出管脚上,所以指令识别之后,这些返回值会被直接发送到指令重组模块依照状态寄存器值获取应答协议格式重新打包,然后通过UART_TX接口发给软件上位机,上位机接收到状态寄存器值获取应答协议后进行解析,最后将状态寄存器的返回值显示在上位机用户界面的状态值栏。
请结合图1所示,虚线框中的设计为该系统三个并行数据处理通道,每个通道对应PCIe的一种应用场景模式,每个通道由读写控制及缓存、缓存及指令重组与寄存器读写操作模块组成,其中读写控制模块完成写操作的调度,Buff(Buff的规格是width为16,depth为16,8bit进16bit出。)模块主要暂存写数据或读写相关控制的字段值。缓存及指令重组模块中的Buff(Buff的规格是width为16,depth为16,16bit进8bit出。)完成读数据和相关状态信号值的暂存,指令重组模块完成协议的重新打包。寄存器读写操作模块都是按照对外的接口时序完成对寄存器的读写。指令识别和仲裁模块完成指令的解析、相关数据处理通道的使能和UART总线的仲裁,UART_M模块完成UART协议的实现。整个IP系统对外的接口有UART、其他接口如图1左侧所示,其接口信号及其属性与上文中的表1至表3一致。
下面将以Integrated Block for PCI Express的应用场景为例,详细描述FPGA侧辅助IP系统的工作流程:
当上位机发起一个寄存器写操作指令时(点击写发送按钮后),FPGA侧辅助IP通过UART_RX接口接收到该指令后发送给指令识别和仲裁模块,经过指令的解析完成以下几个操作,①指令识别和仲裁模块中判断Mode_select字段的值,将UART接口的使用权交给Integrated Block for PCI Express应用场景对应的数据处理通道;②判断指令中的RG字段,使能cfg_mgmt_*或cfg_stu_*接口,这里举例使能cfg_mgmt_*接口,③将收到的一条完整的寄存器写操作指令暂存在读写控制及缓存模块中的Buff中。当③完成后读写控制模块将发起写操作和写完成应答流程,该流程设计中包括一个写状态机,该状态机有五个状态,①WR_IDLE,完成cfg_mgmt_*接口的初始化;②WR_READY,将Buff中的WR_DATA、字Byte_en、WR、function_number、Addr等字段读出暂存在寄存器中;③WR_RUN,将②中的暂存在寄存器中的字段值推送到cfg_mgmt_*接口进行写操作;④WR_STU_BK,捕获写完成状态信号cfg_mgmt_read_write_done的值并将其暂存在缓存及指令重组模块的Buff中;⑤WR_STOP,写操作结束,复位总线接口。最后在重组写完成应答协议包时将完成状态信号cfg_mgmt_read_write_done的值读出并填充在协议包的对应位置通过UART_TX接口发给上位机,上位机收到写完成应答协议包后将其解析,然后把写完成状态显示在上位机用户界面上,用户看到是写完成信号由红色边为绿色,维持1s后又变为红色,这样标志着整个写操作完成。
当上位机发起一个寄存器读操作指令时(点击读发送按钮后),FPGA侧辅助IP通过UART_RX接口接收到该指令后先进行指令识别,进而使能数据处理通道,完整的寄存器读操作指令暂存Buff后,读写控制模块将发起读操作和读完成应答流程,该流程设计中包括一个读状态机,该状态机同样有五个状态,①RD_IDLE,完成cfg_mgmt_*接口的初始化;②RD_READY,将Buff中暂存的RD、function_number、Addr等字段读出暂存在寄存器中;③RD_RUN,将②中暂存在寄存器中的字段值推送到cfg_mgmt_*接口进行读操作;④RD_STU_BK,捕获读完成状态信号cfg_mgmt_read_write_done的值并将其暂存在缓存及指令重组模块的Buff中;⑤RD_STOP,写操作结束,复位总线接口。最后在重组读完成应答协议包时将完成状态信号cfg_mgmt_read_write_done的值读出并填充在协议包的对应位置通过UART_TX接口发给上位机,上位机收到读完成应答协议包后将其解析,然后把读数据和读完成状态显示在上位机用户界面上,用户看到是读完成信号由红色边为绿色,维持1s后又变为红色,这样标志着整个读操作完成。
需要说明是,以上三种应用模式在进行RTL设计时是互相独立的,使用`ifndef和`endif进行隔离,头文件.h或.svh文件中使用`define语法负责某一种应用模式的使能。此外,DMA Subsystem for PCI Express模式和Bridge Subsystem for PCI Express模式的寄存器读写及控制协议格式、读写完成应答协议格式可在Integrated Block for PCIExpress模式设计的思路基础上加以修订。两者的工作流程和上文中详述的IntegratedBlock for PCI Express模式工作流程类似,这里不再复述。
结合以上描述上述FPGA侧辅助IP系统至少具备以下有益技术效果:
(1)支持xilinx PCIe IP在Integrated Block for PCI Express模式(EP端)、DMASubsystem for PCI Express模式和Bridge Subsystem for PCI Express模式三种应用场景下的问题定位,芯片的设计人员不用再针对PCIe IP的不同应用模式而进行不同的调测辅助设计,进而节省时间开支。
(2)节省芯片的人力成本,测试人员可以不懂相关PCIe知识,就可以参照其设计人员提供的用户手册直接使用,可以节省部分人力成本;
(3)上位机的操作界面简洁直观,测试人员可以不懂相关PCIe知识,就可以参照其设计人员提供的用户手册直接使用,降低了调测难度,节省部分人力成本。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种FPGA侧辅助IP系统,其特征在于,所述系统包括:
若干并行的数据处理通道,每一数据处理通道连接至PCIe IP核EP端一种应用场景模式对应的寄存器,且配置用于根据读写命令对寄存器执行读写操作,以及在读写操作完成时生成所述读写命令对应的答应消息;
上位机,所述上位机用于根据用户操作生成对目标应用场景模式对应的寄存器的读写命令,以及用于展示所述答应消息;
接口模块,所述接口模块用于接收所述上位机发送的读写命令、接收若干数据处理通道返回的答应消息,所述接口模块还用于向所述上位机发送所述答应消息;
指令识别和仲裁模块,所述指令识别和仲裁模块用于解析所述读写指令以确定目标应用场景模式,以及用于选通目标应用场景模式对应的数据处理通道处理所述读写命令。
2.根据权利要求1所述的FPGA侧辅助IP系统,其特征在于,每一数据处理通道均包括:寄存器读写操作模块、读写控制及缓存模块和缓存及指令重组模块,其中:
所述读写控制及缓存模块包括读写控制子模块和第一缓存,所述读写控制子模块用于读写操作的调度,所述第一缓存用于写数据和读写相关控制字段的暂存;
所述缓存及指令重组模块包括第二缓存和指令重组子模块,所述第二缓存用于读数据和与读写相关状态信号值的暂存,所述指令重组子模块用于完成写的重新打包生成答应消息;
所述寄存器读写操作模块用于按照对外的接口时序完成对所连接的寄存器的读写。
3.根据权利要求2所述的FPGA侧辅助IP系统,其特征在于,数据处理通道的数量为三个,三个数据处理通道分别对应Integrated Block for PCI Express模式、DMA Subsystemfor PCI Express模式和Bridge Subsystem for PCI Express模式。
4.根据权利要求3所述的FPGA侧辅助IP系统,其特征在于,Integrated Block for PCIExpress模式对应的数据处理通道中的寄存器读写操作模块通过ConfigurationManagement Interface信号和Configuration Status Interface信号读写对应寄存器;
DMA Subsystem for PCI Express模式对应的数据处理通道中的寄存器读写操作模块通过Configuration Management Interface信号和AXI4-Lite Slave Interface信号读写对应寄存器;
Bridge Subsystem for PCI Express模式对应的数据处理通道中的寄存器读写操作模块通过AXI4-Lite Control Interface信号读写对应寄存器。
5.根据权利要求4所述的FPGA侧辅助IP系统,其特征在于,所述上位机的展示界面包括三个分别与Integrated Block for PCI Express模式、DMA Subsystem for PCI Express模式和Bridge Subsystem for PCI Express模式对应的模式选择按钮、写发送按钮、读发送按钮,所述上位机的展示界面还包括三个分别与Integrated Block for PCI Express模式、DMA Subsystem for PCI Express模式和Bridge Subsystem for PCI Express模式对应的信息输入框和信息展示框;
所述信息输入框用于接收用户输入读写数据信息;
所述写发送按钮和所述读发送按钮用于根据用户对模式选择按钮的触发、用户输入读写数据信息分别生成写命令和读命令;
所述信息展示框用于根据所述答应消息展示读取的寄存器的数值。
6.根据权利要求5所述的FPGA侧辅助IP系统,其特征在于,所述上位机的展示界面还包括与每个写发送按钮、每个读发送按钮对应的状态指示图标,所述状态指示图标用于根据所述答应消息指示读操作或写操作的完成状态。
7.根据权利要求5所述的FPGA侧辅助IP系统,其特征在于,所述信息输入框包括写地址及控制信息输入框、写数据输入框、读地址及控制信息输入框。
8.根据权利要求2所述的FPGA侧辅助IP系统,其特征在于,所述第一缓存的宽度和深度均为十六位,且配置为八位进十六位出。
9.根据权利要求2所述的FPGA侧辅助IP系统,其特征在于,所述第二缓存的宽度和深度均为十六位,且配置为十六位进八位出。
10.根据权利要求1所述的FPGA侧辅助IP系统,其特征在于,所述接口模块的类型包括I2C接口、USB接口、无线协议接口和UART接口。
CN202210111640.4A 2022-01-29 2022-01-29 一种fpga侧辅助ip系统 Pending CN114546917A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210111640.4A CN114546917A (zh) 2022-01-29 2022-01-29 一种fpga侧辅助ip系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210111640.4A CN114546917A (zh) 2022-01-29 2022-01-29 一种fpga侧辅助ip系统

Publications (1)

Publication Number Publication Date
CN114546917A true CN114546917A (zh) 2022-05-27

Family

ID=81674243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210111640.4A Pending CN114546917A (zh) 2022-01-29 2022-01-29 一种fpga侧辅助ip系统

Country Status (1)

Country Link
CN (1) CN114546917A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164375A (zh) * 2013-03-19 2013-06-19 中国科学院声学研究所 通过pci总线与计算机进行通信的多通道数模转换装置
US20150095712A1 (en) * 2013-09-30 2015-04-02 Unitest Inc. Non-mounted storage test device based on fpga
KR20150037002A (ko) * 2013-09-30 2015-04-08 주식회사 유니테스트 Fpga 기반의 비실장형 스토리지 테스트 장치
CN106951388A (zh) * 2017-03-16 2017-07-14 湖南博匠信息科技有限公司 一种基于PCIe的DMA数据传输方法及系统
CN109710548A (zh) * 2018-12-21 2019-05-03 荆门博谦信息科技有限公司 一种dma控制数据传输方法、系统及设备
CN110213143A (zh) * 2019-05-21 2019-09-06 中国科学院国家空间科学中心 一种1553b总线ip核及监视系统
CN110851376A (zh) * 2019-10-21 2020-02-28 天津大学 一种基于FPGA的PCIe接口设计方法
CN111090221A (zh) * 2019-12-05 2020-05-01 合肥芯碁微电子装备股份有限公司 用于直写式光刻系统中的PCIe DMA数据传输系统及其传输方法
CN112364583A (zh) * 2020-11-24 2021-02-12 北京轩宇信息技术有限公司 一种fpga软硬件协同仿真系统及方法
CN113703843A (zh) * 2021-09-24 2021-11-26 中国人民解放军军事科学院军事医学研究院 一种寄存器数据处理方法、装置及存储器

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164375A (zh) * 2013-03-19 2013-06-19 中国科学院声学研究所 通过pci总线与计算机进行通信的多通道数模转换装置
US20150095712A1 (en) * 2013-09-30 2015-04-02 Unitest Inc. Non-mounted storage test device based on fpga
KR20150037002A (ko) * 2013-09-30 2015-04-08 주식회사 유니테스트 Fpga 기반의 비실장형 스토리지 테스트 장치
CN106951388A (zh) * 2017-03-16 2017-07-14 湖南博匠信息科技有限公司 一种基于PCIe的DMA数据传输方法及系统
CN109710548A (zh) * 2018-12-21 2019-05-03 荆门博谦信息科技有限公司 一种dma控制数据传输方法、系统及设备
CN110213143A (zh) * 2019-05-21 2019-09-06 中国科学院国家空间科学中心 一种1553b总线ip核及监视系统
CN110851376A (zh) * 2019-10-21 2020-02-28 天津大学 一种基于FPGA的PCIe接口设计方法
CN111090221A (zh) * 2019-12-05 2020-05-01 合肥芯碁微电子装备股份有限公司 用于直写式光刻系统中的PCIe DMA数据传输系统及其传输方法
CN112364583A (zh) * 2020-11-24 2021-02-12 北京轩宇信息技术有限公司 一种fpga软硬件协同仿真系统及方法
CN113703843A (zh) * 2021-09-24 2021-11-26 中国人民解放军军事科学院军事医学研究院 一种寄存器数据处理方法、装置及存储器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李胜蓝;姜宏旭;符炜剑;陈姣;: "基于PCIe的多路传输系统的DMA控制器设计", 计算机应用, no. 03, pages 1 - 5 *

Similar Documents

Publication Publication Date Title
JP4112886B2 (ja) デバイスのバス・プロトコル準拠試験方法およびシステム
US20110307847A1 (en) Hybrid system combining TLM simulators and HW accelerators
US10678976B2 (en) Generic protocol analyzer for circuit design verification
US20100161309A1 (en) Apparatus and Methods Thereof for Configuration and Control of a System-On-Chip Emulation Platform
US10489546B1 (en) Modular system on chip configuration system
CN115146568B (zh) 一种基于uvm的芯片验证系统及验证方法
Yang et al. A high-performance on-chip bus (MSBUS) design and verification
CN112286746A (zh) 针对axi从设备接口的通用验证平台及方法
CN203260029U (zh) 基于fpga的系统芯片原型验证调试装置
CN116414526B (zh) 一种基于虚拟机的仿真装置和方法
CN113887161A (zh) 一种片上网络设计实例的验证方法、装置、设备及介质
CN115454757A (zh) 芯片总线调试装置及方法、soc芯片、计算设备、介质
US7478027B2 (en) Systems, methods, and media for simulation of integrated hardware and software designs
CN113742230A (zh) 一种基于uvm的芯片监视器模块的验证方法及验证系统
US20050144436A1 (en) Multitasking system level platform for HW/SW co-verification
WO2016184170A1 (zh) Smi接口器件的调试装置及方法、存储介质
CN114546917A (zh) 一种fpga侧辅助ip系统
CN116610590A (zh) 基于zynq平台实现多片fpga远程调试方法及系统
Gupta et al. UART communication
US20150227661A1 (en) Computer product, simulation apparatus, simulation method, bus model, and bus circuit
JP2015011363A (ja) 協調検証装置及び協調検証方法
US9547568B2 (en) Method and apparatus for verifying circuit design
CN112486877A (zh) 一种通用化fc转换接口模块的外场保障与测试平台
Li et al. Functional verification of QSPI module based on UVM implementation
CN102662812A (zh) 基于pci总线单路接收解调器性能测试系统

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