CN113901754A - 基于fpga的以太网macip的板级验证结构和方法 - Google Patents
基于fpga的以太网macip的板级验证结构和方法 Download PDFInfo
- Publication number
- CN113901754A CN113901754A CN202111131813.0A CN202111131813A CN113901754A CN 113901754 A CN113901754 A CN 113901754A CN 202111131813 A CN202111131813 A CN 202111131813A CN 113901754 A CN113901754 A CN 113901754A
- Authority
- CN
- China
- Prior art keywords
- data
- test
- platform
- spi
- tested
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Abstract
本申请提出一种基于FPGA的以太网MACIP的板级验证结构和方法,该方法包括:选择不同的测试case设置,对对端平台进行寄存器配置,并通过SPI对待测试端平台的硬件进行测试模式的配置,保证对端平台和待测试端平台的配置参数分别对应;控制待测试端平台进行测试并对测试过程进行监控得到测试数据;在对端平台将原始产生的随机数据和从待测试端传输过来的测试数据进行比对,收集错误情况得出当前case的测试结果;将各个case下的数据验证结果进行记录和搜集,将一些错误数据存储在RAM中待查,将结果通过uart接口打印到对端平台连接的电脑屏幕上。本申请构建了一套全自动的板级验证方法学,成本较低,测试场景构建简单,能够灵活适用于各种实现方式的MACIP的板级验证。
Description
技术领域
本申请涉及芯片IP的FPGA验证技术领域,尤其涉及一种基于FPGA的以太网MACIP的板级验证结构和方法。
背景技术
以太网接口是重要的数据通信接口,广泛应用于互联网连接、智能安防应用、工业数据传输、智能驾驶汽车等等场景。它是物联网时代的重要角色,随着工业发展,以太网口的需求量不断攀升,在当前历史时期甚至出现了芯片荒的市场状况。国内芯片设计厂家纷纷进入以太网芯片设计领域,按照协议标准进行了各自的IP设计。IP设计完成后,必须经过各级验证才能进行投片投产。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种基于FPGA的以太网MACIP的板级验证结构,解决了MACIP设计的板级验证的问题,通过提供一套完整的软硬件MAC IP的板级验证系统方案,弥补了当前在MACIP涉及工程领域中的板级验证方案空白,使用了MCU构建双端微系统架构,结构灵活,适应性强,同时使用灵活的SPI接口作为数据回传接口完成整个收发测试环路的闭环,实现成本极低,测试场景构建简单,并且本申请使用软硬件结合的方式构建了一套全自动的板级验证方法学。
本申请的第二个目的在于提出一种基于FPGA的以太网MACIP的板级验证方法。
为达上述目的,本申请第一方面实施例提出了一种基于FPGA的以太网MACIP的板级验证结构,包括:对端平台、待测试端平台,使用对端平台对待测试端平台进行验证,其中,对端平台包括:主控流程模块,用于对整个测试流程进行控制;随机数据产生模块,用于根据主控流程模块的命令产生数据块,并存储到特定的RAM地址区域中;测试模式控制模块,用于根据主控流程模块的需要,选择不同的测试case设置,对对端平台进行寄存器配置,并通过SPI对待测试端平台的硬件进行测试模式的配置,保证对端平台和待测试端平台的配置参数分别对应;数据收发控制模块,用于进行对端平台和待测试端平台之间的数据收发命令的传输;数据验证处理模块,用于对随机数据和待测试端平台的测试数据分别进行比对,生成数据验证结果;数据对比结果搜集模块,用于将各个case下的数据验证结果进行记录和搜集,将一些错误数据存储在RAM中待查,将结果通过uart接口打印到对端平台连接的电脑的屏幕上。
可选地,在本申请的一个实施例中,数据收发控制模块,具体用于,
在待测试端平台发送数据时,执行测试控制命令,其中,测试控制命令包括数据加载、发送启动、发送监测、发送结束确认、本端数据接收和存储;
在待测试端平台接收数据时,负责本端发送数据安排、发送启动、发送监测、发送结束控制,本端从待测端通过SPI读取数据并存入RAM的过程。
可选地,在本申请的一个实施例中,待测试端平台包括:
SPI驱动,用于处理SPI处传输进来数据标志的中断信号,将SPI接口处的数据进行内存安排,并转移接收数据到DATA RAM中;
比对数据获取模块,用于获取在SPI驱动基础上将从对端平台接收到DATA RAM的数据进行组织还原顺序,再存入DATARAM中;
MAC驱动,用于产生MAC相关寄存器的控制命令格式,以及将存储于DATARAM中的数据组织成适应MACIP中的DMA描述符数据结构,并且负责DMA数据获取和数据存入操作状态的控制;
数据收发模块,用于根据对端平台经过SPI传输过来进行设置的命令寄存器的命令并选择测试方案,进行数据收发控制,其中,测试方案包括MAC寄存器测试、MAC TX测试、MAC RX测试;
SPI驱动,还用于将接收到的数据从DATARAM中取出放到SPI的寄存器单元,等待对端操作将数据读取出去;
状态记录模块,用于跟踪数据收发控制的各个case和流程,将当前状态记录,并通过UART驱动打印到PC端。
可选地,在本申请的一个实施例中,MAC寄存器测试,具体为:
在MAC驱动中,对MACIP的可读可写寄存器进行主动写入,主动读出,通过比对写入前的数据和读取出的寄存器值是否一致,判断寄存器的工作情况是否正常,其中,写入和读出的值对比结果,通过SPI传输到对端平台进行结果搜集。
可选地,在本申请的一个实施例中,MAC TX测试,具体为:
在SPI写入MAC数据完成后,使用比对数据获取模块进行数据获取,之后配置MAC驱动发送数据,完成测试。
可选地,在本申请的一个实施例中,MAC RX测试,具体为:
使用比对数据获取模块进行数据获取,并接受配置MAC驱动发送的数据,在SPI写入MAC数据完成后,完成测试。
为达上述目的,本申请第二方面实施例提出了一种基于FPGA的以太网MACIP的板级验证方法,包括:步骤S101:选择不同的测试case设置,对对端平台进行寄存器配置,并通过SPI对待测试端平台的硬件进行测试模式的配置,保证对端平台和待测试端平台的配置参数分别对应;步骤S102:控制待测试端平台进行测试并对测试过程进行监控,得到测试数据;步骤S103:在对端平台,将原始产生的随机数据,和通过SPI或者以太网从待测试端传输过来的测试数据进行比对,收集错误情况,得出当前case的测试结果,其中,通过SPI获取测试数据的过程为:对端平台通过SPI发送读取命令进行读取,SPI读取寄存器从DATARAM中连续取出接收数据,对端读取待测试端的SPI读取寄存器的值,并存入对端的DATARAM中,按照地址顺序还原待测试端的数据顺序;步骤S104:将各个case下的数据验证结果进行记录和搜集,将一些错误数据存储在RAM中待查,将结果通过uart接口打印到对端平台连接的电脑的屏幕上。
可选地,在本申请的一个实施例中,待测试端平台的测试过程,包括以下步骤:
步骤S201:通过SPI驱动处理SPI处传输进来数据标志的中断信号,将SPI接口处的数据进行内存安排,并转移接收数据到DATA RAM中;
步骤S202:获取在SPI驱动基础上将从对端平台接收到DATA RAM的数据进行组织还原顺序,再存入DATA RAM中;
步骤S203:根据对端平台经过SPI传输过来进行设置的命令寄存器的命令,控制整个测试过程的进行;
步骤S204:将接收到的数据放入DATA RAM中,等待对端通过SPI发送读取命令进行读取;
步骤S205:跟踪数据收发控制的各个case和流程,逐个将case结果状态记录,并通过UART驱动打印到PC端。
本申请实施例的基于FPGA的以太网MACIP的板级验证的结构和方法,解决了MACIP设计的板级验证的问题,通过提供一套完整的软硬件MAC IP的板级验证系统方案,弥补了当前在MACIP涉及工程领域中的板级验证方案空白,使用了MCU构建双端微系统架构,结构灵活,适应性强,同时使用灵活的SPI接口作为数据回传接口完成整个收发测试环路的闭环,实现成本极低,测试场景构建简单,并且本申请使用软硬件结合的方式构建了一套全自动的板级验证方法学。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例一所提供的一种基于FPGA的以太网MACIP的板级验证结构的架构图;
图2为本申请实施例的基于FPGA的以太网MACIP的板级验证系统的结构框图;
图3为本申请实施例的待测试端平台的硬件逻辑示意图;
图4为本申请实施例的待测试端平台的软件架构示意图;
图5为本申请实施例的待测试端平台的整体软件流程图;
图6为本申请实施例的对端平台的硬件逻辑示意图;
图7为本申请实施例的对端平台的主控制流程图;
图8为本申请实施例二所提供的一种基于FPGA的以太网MACIP的板级验证方法的流程图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的基于FPGA的以太网MACIP的板级验证结构和方法。
图1为本申请实施例一所提供的一种基于FPGA的以太网MACIP的板级验证结构的架构图。
如图1所示,该基于FPGA的以太网MACIP的板级验证结构,包括:对端平台、待测试端平台,使用对端平台对待测试端平台进行验证,其中,
对端平台包括:主控流程模块,用于对整个测试流程进行控制;
随机数据产生模块,用于根据主控流程模块的命令产生数据块,并存储到特定的RAM地址区域中;
测试模式控制模块,用于根据主控流程模块的需要,选择不同的测试case设置,对对端平台进行寄存器配置,并通过SPI对待测试端平台的硬件进行测试模式的配置,保证对端平台和待测试端平台的配置参数分别对应;
数据收发控制模块,用于进行对端平台和待测试端平台之间的数据收发命令的传输;
数据验证处理模块,用于对随机数据和待测试端平台的测试数据分别进行比对,生成数据验证结果;
数据对比结果搜集模块,用于将各个case下的数据验证结果进行记录和搜集,将一些错误数据存储在RAM中待查,将结果通过uart接口打印到对端平台连接的电脑的屏幕上。
本申请实施例的基于FPGA的以太网MACIP的板级验证结构,包括对端平台、待测试端平台,使用对端平台对待测试端平台进行验证,其中,对端平台包括:主控流程模块,用于对整个测试流程进行控制;随机数据产生模块,用于根据主控流程模块的命令产生数据块,并存储到特定的RAM地址区域中;测试模式控制模块,用于根据主控流程模块的需要,选择不同的测试case设置,对对端平台进行寄存器配置,并通过SPI对待测试端平台的硬件进行测试模式的配置,保证对端平台和待测试端平台的配置参数分别对应;数据收发控制模块,用于进行对端平台和待测试端平台之间的数据收发命令的传输;数据验证处理模块,用于对随机数据和待测试端平台的测试数据分别进行比对,生成数据验证结果;数据对比结果搜集模块,用于将各个case下的数据验证结果进行记录和搜集,将一些错误数据存储在RAM中待查,将结果通过uart接口打印到对端平台连接的电脑的屏幕上。由此,能够解决MACIP设计的板级验证的问题,通过提供一套完整的软硬件MAC IP的板级验证系统方案,弥补了当前在MACIP涉及工程领域中的板级验证方案空白,使用了MCU构建双端微系统架构,结构灵活,适应性强,同时使用灵活的SPI接口作为数据回传接口完成整个收发测试环路的闭环,实现成本极低,测试场景构建简单,并且本申请使用软硬件结合的方式构建了一套全自动的板级验证方法学。
本申请的对端平台软件架构中,没有硬件驱动部分,因为硬件驱动已经在硬件架构中硬件化实现了,软件只需要简单操对硬件进行简单操作即可控制对应的接口硬件单元。
主控流程模块是整个软件的控制逻辑核心,整个流程中的关键环节执行情况都通过uart打印到电脑端。随机数据生成是一个相对独立的随机数生成模块。其作用是根据主控制流程的命令产生相应格式、随机方式和数据长度的数据块,并存储到特定的RAM地址区域中。测试模式控制是一个相对独立的测试模式配置模块,拥有各种测试场景的配置可选,适应各种测试要求。数据收发控制模块负责开启数据收发过程,中间涉及待测端发送时的数据加载,发送启动,发送监测,发送结束确认,本端数据接收和存储等控制过程。涉及待测端接收时,负责本端发送数据安排,本端发送启动,发送监测,发送结束控制,本端从待测端通过SPI读取数据并存入RAM等过程。
本申请实施例的专有名词解释如表一所示:
表一
进一步地,在本申请实施例中,数据收发控制模块,具体用于,
在待测试端平台发送数据时,执行测试控制命令,其中,测试控制命令包括数据加载、发送启动、发送监测、发送结束确认、本端数据接收和存储;
在待测试端平台接收数据时,负责本端发送数据安排、发送启动、发送监测、发送结束控制,本端从待测端通过SPI读取数据并存入RAM的过程。
进一步地,在本申请实施例中,待测试端平台包括:
SPI驱动,用于处理SPI处传输进来数据标志的中断信号,将SPI接口处的数据进行内存安排,并转移接收数据到DATA RAM中;
比对数据获取模块,用于获取在SPI驱动基础上将从对端平台接收到DATA RAM的数据进行组织还原顺序,再存入DATARAM中;
MAC驱动,用于产生MAC相关寄存器的控制命令格式,以及将存储于DATARAM中的数据组织成适应MACIP中的DMA描述符数据结构,并且负责DMA数据获取和数据存入操作状态的控制;
数据收发模块,用于根据对端平台经过SPI传输过来进行设置的命令寄存器的命令并选择测试方案,进行数据收发控制,其中,测试方案包括MAC寄存器测试、MAC TX测试、MAC RX测试;
SPI驱动,还用于将接收到的数据从DATA RAM中取出放到SPI的寄存器单元,等待对端操作将数据读取出去;
状态记录模块,用于跟踪数据收发控制的各个case和流程,将当前状态记录,并通过UART驱动打印到PC端。
进一步地,在本申请实施例中,MAC寄存器测试,具体为:
在MAC驱动中,对MACIP的可读可写寄存器进行主动写入,主动读出,通过比对写入前的数据和读取出的寄存器值是否一致,判断寄存器的工作情况是否正常,其中,写入和读出的值对比结果,通过SPI传输到对端平台进行结果搜集。
进一步地,在本申请实施例中,MAC TX测试,具体为:
在SPI写入MAC数据完成后,使用比对数据获取模块进行数据获取,之后配置MAC驱动发送数据,完成测试。
进一步地,在本申请实施例中,MAC RX测试,具体为:
使用比对数据获取模块进行数据获取,并接受配置MAC驱动发送的数据,在SPI写入MAC数据完成后,完成测试。
图2为本申请实施例的基于FPGA的以太网MACIP的板级验证系统的结构框图。
如图2所示,该基于FPGA的以太网MACIP的板级验证系统,主要包含以下两个方面,四个部分。第一个方面是硬件逻辑结构,第二个方面是软件驱动架构。四个部分,分别是待测试端的硬件部分,待测试端的软件架构,对端平台的硬件部分和对端平台的软件架构。硬件逻辑用于搭建验证MAC IP所需的所有硬件资源,包括总线接口,控制器,数据同步接口,物理层板卡配置接口,其他调试接口等。软件架构用于搭建基于硬件逻辑的MAC IP的测试控制,包括IP的软件驱动,测试case生成,测试激励,测试结构比对,测试结果搜集等。
图3为本申请实施例的待测试端平台的硬件逻辑示意图。
如图3所示,待测试端平台在板级层面的硬件,包括时钟源,电源,物理层芯片(PHY)和以太网线接口,UART接口转USB芯片,SWD接口。最重要是需要一个资源足够的FPGA芯片和其配置系统。在FPGA芯片内部的硬件逻辑如图3所示。MCU通过外部SWD接口烧写运行代码的编译文件,该文件通过总线存储在CODE RAM中。MCU通过总线访问SPI,MAC IP,DATARAM。MAC IP的接口对接板上的PHY芯片。其中DATA RAM存储MCU准备使用以太网发送的数据,以及以太网经过MAC IP接收到的数据,以及对端系统经过SPI写入的比对数据。以及一些程序执行中的中间数据。SPI用于在比对阶段同步发送和接收数据。在本申请中,用于将待传输数据从对端发送到待测试端。
图4为本申请实施例的待测试端平台的软件架构示意图。
如图4所示,该待测试端平台的软件架构中有面对三部分硬件的驱动,分别是针对MAC IP的控制驱动,针对SPI的驱动,针对UART的驱动。MAC IP驱动能够访问MAC的控制寄存器,对MAC的总线接口数据搬运进行流程操作。针对SPI的驱动能够处理SPI处传输进来数据标志的中断信号,将SPI接口处的数据进行内存安排,并转移接收数据到DATA RAM中;同时,当MAC IP在接收数据时,也将接收到的数据从DATA RAM中取出放到SPI的寄存器单元,等待对端操作将数据读取出去。针对UART的驱动处理UART通信相关的中断和操作,使得系统能够被USB接到调试PC进行文本打印操作。
比对数据获取在SPI驱动基础上将从对端接收到DATA RAM的数据进行组织还原顺序,再存入DATA RAM中。在MAC接收操作时,将待测试端接收到的MAC数据按照SPI的数据结构进行转换,待SPI驱动模块使用SPI将数据读出到对端平台。
数据收发模块根据对端经过SPI传输过来进行设置的命令寄存器的命令,进行数据收发控制。如表二所示,表二支持可扩展的寄存器映射,提供丰富的控制寄存器。
表二
状态记录模块跟踪数据收发控制的各个case和流程,将当前状态记录,并通过UART驱动打印到PC端,供测试人员查看。
图5为本申请实施例的待测试端平台的整体软件流程图。
如图5所示,待测试端平台初始化后,读取testcase,进入不同的工作流程。对于待测试端主要分为寄存器测试,接收测试(RX),发射测试(TX),根据对端的总控制流程通过SPI配置的testcase情况,选择当次循环需要进行的测试类型。在MACIP的寄存器测试case中,进入该分支后,通过软件配置MACIP的驱动,对寄存器进行读写操作,并对比写入和读出的值是否相同,将比对结果存入SPI的状态寄存器中,等待对端进行结果搜集。在TX测试分支中,等待对端通过SPI将待测试端将要发送的数据写入待测试端平台的DATARAM中,数据准备好之后,配置MACIP的相关寄存器进入发射模式,并根据不同发射配置case进行其他寄存器的配置,以达到不同的发送数据效果,最后启动发送,并设置SPI的状态寄存器,等待对端的检查。在RX测试中,对端通过SPI告知待测试端将进行的RX测试case,待测试端进行MACIP的寄存器设置,以达到不同的接收数据效果,MACIP一直处于接收状态,直到接收数据完成,将数据存储到待测试端平台的DATARAM中,等待对端通过SPI进行读取。由于TX测试和RX测试的case都有很多种,因此,每一个分支结束后都回到初始化状态,等待对端流程的testcase设置。
图6为本申请实施例的对端平台的硬件逻辑示意图。
如图6所示,在对端硬件中,板级系统需要有电源,时钟源,指示灯,USB转UART接口,以太网接口,以太网物理层芯片,普通IO管脚连接针等外部设备。在FPGA内部的硬件逻辑需要一个MAC control单元作为主控制核心,需要足够大的RAM存储程序和数据,需要一个已经经过验证的对端参考MAC IP,需要对应的MAC驱动电路,需要SPI master和SPI驱动电路。在MCU control单元上需要UART接口和SWD接口。对于参考MAC,可以是经过验证的第三方MAC IP,也可以是FPGA厂商提供的MAC IP。其作用在于提供标准的对端MAC层操作。因此,其驱动可能是有很多中形式,专门设计MAC驱动硬件,可以适应各种接口形式。SPI驱动将MCU的输出,变为SPI命令,控制SPI master产生正确的SPI时序,完成对端主控制器对待测端的测试流程进行控制。MCU control可以是FPGA自己的软核,也可以是MCU内核,它是整个测试系统的控制核心。整个测试流程都在这个控制器内完成。RAM是一块较大的存储单元,受MCU control控制,内部分为代码区和数据区。能够满足程序的代码存储和待测试数据的存储,并且还能满足测试数据结果的存储。SWD用于更新代码以及调试使用。UART用于将运行状态打印到电脑上。
图7为本申请实施例的对端平台的主控制流程图。
如图7所示,验证流程开始后,先进入初始化,初始化是对对端平台和SPI控制的待测试端平台进行一些工作状态的配置。然后根据验证人员设计好的testcase列表进行逐项测试流程,每一个testcase都是先判断是不是当前testcase是否已经完结,不是则进入该testcase的流程。第一个流程是对对端工作状态和相应寄存器进行case相关的配置,并且通过SPI对待测试端的状态和寄存器也进行相应的配置。然后生成随机数据,根据testcase的不同生成的数据类型也不同。然后进入收据收发控制,此时针对不同的testcase将产生不同的收发控制。在此步骤中,总共完成了寄存器配置、数据传输存储和SPI数据读取三个类型的任务。下一步就是根据不同testcase的要求进行对端的数据比对,并得到每个testcase的结果。最后将当前testcase的结果收集到缓存中。然后回到testcase遍历判断,如果已经没有testcase需要测试,就结束流程,对端通过UART将所有testcase的结果收集情况打印到PC上。
图8为本申请实施例二所提供的一种基于FPGA的以太网MACIP的板级验证方法的流程图。
如图8所示,该基于FPGA的以太网MACIP的板级验证方法,包括以下步骤:
步骤S101:选择不同的测试case设置,对对端平台进行寄存器配置,并通过SPI对待测试端平台的硬件进行测试模式的配置,保证对端平台和待测试端平台的配置参数分别对应;
步骤S102:控制待测试端平台进行测试并对测试过程进行监控,得到测试数据;
步骤S103:在对端平台,将原始产生的随机数据,和通过SPI或者以太网从待测试端传输过来的测试数据进行比对,收集错误情况,得出当前case的测试结果,其中,通过SPI获取测试数据的过程为:对端平台通过SPI发送读取命令进行读取,SPI读取寄存器从DATARAM中连续取出接收数据,对端读取待测试端的SPI读取寄存器的值,并存入对端的DATARAM中,按照地址顺序还原待测试端的数据顺序;
步骤S104:将各个case下的数据验证结果进行记录和搜集,将一些错误数据存储在RAM中待查,将结果通过uart接口打印到对端平台连接的电脑的屏幕上。
进一步地,在本申请实施例中,待测试端平台的测试过程,包括以下步骤:
步骤S201:通过SPI驱动处理SPI处传输进来数据标志的中断信号,将SPI接口处的数据进行内存安排,并转移接收数据到DATA RAM中;
步骤S202:获取在SPI驱动基础上将从对端平台接收到DATA RAM的数据进行组织还原顺序,再存入DATA RAM中;
步骤S203:根据对端平台经过SPI传输过来进行设置的命令寄存器的命令,控制整个测试过程的进行;
步骤S204:将接收到的数据放入DATA RAM中,等待对端通过SPI发送读取命令进行读取;
步骤S205:跟踪数据收发控制的各个case和流程,逐个将case结果状态记录,并通过UART驱动打印到PC端。
本申请实施例的基于FPGA的以太网MACIP的板级验证方法,通过步骤S101:选择不同的测试case设置,对对端平台进行寄存器配置,并通过SPI对待测试端平台的硬件进行测试模式的配置,保证对端平台和待测试端平台的配置参数分别对应;步骤S102:控制待测试端平台进行测试并对测试过程进行监控,得到测试数据;步骤S103:在对端平台,将原始产生的随机数据,和通过SPI或者以太网从待测试端传输过来的测试数据进行比对,收集错误情况,得出当前case的测试结果,其中,通过SPI获取测试数据的过程为:对端平台通过SPI发送读取命令进行读取,SPI读取寄存器从DATARAM中连续取出接收数据,对端读取待测试端的SPI读取寄存器的值,并存入对端的DATARAM中,按照地址顺序还原待测试端的数据顺序;步骤S104:将各个case下的数据验证结果进行记录和搜集,将一些错误数据存储在RAM中待查,将结果通过uart接口打印到对端平台连接的电脑的屏幕上。由此,能够解决MACIP设计的板级验证的问题,通过提供一套完整的软硬件MAC IP的板级验证系统方案,弥补了当前在MACIP涉及工程领域中的板级验证方案空白,使用了MCU构建双端微系统架构,结构灵活,适应性强,同时使用灵活的SPI接口作为数据回传接口完成整个收发测试环路的闭环,实现成本极低,测试场景构建简单,并且本申请使用软硬件结合的方式构建了一套全自动的板级验证方法学。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (8)
1.一种基于FPGA的以太网MACIP的板级验证结构,其特征在于,
该结构包括:对端平台、待测试端平台,使用所述对端平台对所述待测试端平台进行验证,其中,
所述对端平台包括:主控流程模块,用于对整个测试流程进行控制;
随机数据产生模块,用于根据所述主控流程模块的命令产生数据块,并存储到特定的RAM地址区域中;
测试模式控制模块,用于根据所述主控流程模块的需要,选择不同的测试case设置,对所述对端平台进行寄存器配置,并通过SPI对所述待测试端平台的硬件进行测试模式的配置,保证所述对端平台和所述待测试端平台的配置参数分别对应;
数据收发控制模块,用于进行所述对端平台和所述待测试端平台之间的数据收发命令的传输;
数据验证处理模块,用于对随机数据和待测试端平台的测试数据分别进行比对,生成数据验证结果;
数据对比结果搜集模块,用于将各个case下的数据验证结果进行记录和搜集,将一些错误数据存储在RAM中待查,将结果通过uart接口打印到所述对端平台连接的电脑的屏幕上。
2.如权利要求1所述的基于FPGA的以太网MACIP的板级验证结构,其特征在于,所述数据收发控制模块,具体用于,
在所述待测试端平台发送数据时,执行所述测试控制命令,其中,所述测试控制命令包括数据加载、发送启动、发送监测、发送结束确认、本端数据接收和存储;
在所述待测试端平台接收数据时,负责本端发送数据安排、发送启动、发送监测、发送结束控制,本端从待测端通过SPI读取数据并存入RAM的过程。
3.如权利要求1所述的基于FPGA的以太网MACIP的板级验证结构,其特征在于,所述待测试端平台包括:
SPI驱动,用于处理SPI处传输进来数据标志的中断信号,将SPI接口处的数据进行内存安排,并转移接收数据到DATA RAM中;
比对数据获取模块,用于获取在SPI驱动基础上将从对端平台接收到DATA RAM的数据进行组织还原顺序,再存入DATA RAM中;
MAC驱动,用于产生MAC相关寄存器的控制命令格式,以及将存储于DATARAM中的数据组织成适应MACIP中的DMA描述符数据结构,并且负责DMA数据获取和数据存入操作状态的控制;
数据收发模块,用于根据对端平台经过SPI传输过来进行设置的命令寄存器的命令并选择测试方案,进行数据收发控制,其中,所述测试方案包括MAC寄存器测试、MAC TX测试、MAC RX测试;
所述SPI驱动,还用于将接收到的数据从DATARAM中取出放到SPI的寄存器单元,等待对端操作将数据读取出去;
状态记录模块,用于跟踪数据收发控制的各个case和流程,将当前状态记录,并通过UART驱动打印到PC端。
4.如权利要求3所述的基于FPGA的以太网MACIP的板级验证结构,其特征在于,所述MAC寄存器测试,具体为:
在MAC驱动中,对MACIP的可读可写寄存器进行主动写入,主动读出,通过比对写入前的数据和读取出的寄存器值是否一致,判断寄存器的工作情况是否正常,其中,写入和读出的值对比结果,通过SPI传输到对端平台进行结果搜集。
5.如权利要求3所述的基于FPGA的以太网MACIP的板级验证结构,其特征在于,所述MACTX测试,具体为:
在SPI写入MAC数据完成后,使用比对数据获取模块进行数据获取,之后配置MAC驱动发送数据,完成测试。
6.如权利要求3所述的基于FPGA的以太网MACIP的板级验证结构,其特征在于,所述MACRX测试,具体为:
使用比对数据获取模块进行数据获取,并接受配置MAC驱动发送的数据,在SPI写入MAC数据完成后,完成测试。
7.一种基于FPGA的以太网MACIP的板级验证方法,其特征在于,该方法包括:使用权利要求1-6中任意一项所述的基于FPGA的以太网MACIP的板级验证结构,
步骤S101:选择不同的测试case设置,对所述对端平台进行寄存器配置,并通过SPI对待测试端平台的硬件进行测试模式的配置,保证对端平台和待测试端平台的配置参数分别对应;
步骤S102:控制待测试端平台进行测试并对测试过程进行监控,得到测试数据;
步骤S103:在对端平台,将原始产生的随机数据,和通过SPI或者以太网从待测试端传输过来的测试数据进行比对,收集错误情况,得出当前case的测试结果,其中,通过SPI获取测试数据的过程为:对端平台通过SPI发送读取命令进行读取,SPI读取寄存器从DATARAM中连续取出接收数据,对端读取待测试端的SPI读取寄存器的值,并存入对端的DATARAM中,按照地址顺序还原待测试端的数据顺序;
步骤S104:将各个case下的数据验证结果进行记录和搜集,将一些错误数据存储在RAM中待查,将结果通过uart接口打印到所述对端平台连接的电脑的屏幕上。
8.如权利要求7所述的方法,其特征在于,所述待测试端平台的测试过程,包括以下步骤:
步骤S201:通过SPI驱动处理SPI处传输进来数据标志的中断信号,将SPI接口处的数据进行内存安排,并转移接收数据到DATA RAM中;
步骤S202:获取在SPI驱动基础上将从对端平台接收到DATA RAM的数据进行组织还原顺序,再存入DATA RAM中;
步骤S203:根据对端平台经过SPI传输过来进行设置的命令寄存器的命令,控制整个测试过程的进行;
步骤S204:将接收到的数据放入DATA RAM中,等待对端通过SPI发送读取命令进行读取;
步骤S205:跟踪数据收发控制的各个case和流程,逐个将case结果状态记录,并通过UART驱动打印到PC端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111131813.0A CN113901754B (zh) | 2021-09-26 | 2021-09-26 | 基于fpga的以太网macip的板级验证结构和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111131813.0A CN113901754B (zh) | 2021-09-26 | 2021-09-26 | 基于fpga的以太网macip的板级验证结构和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113901754A true CN113901754A (zh) | 2022-01-07 |
CN113901754B CN113901754B (zh) | 2022-11-01 |
Family
ID=79029408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111131813.0A Active CN113901754B (zh) | 2021-09-26 | 2021-09-26 | 基于fpga的以太网macip的板级验证结构和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113901754B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114554537A (zh) * | 2022-02-25 | 2022-05-27 | 中国人民解放军国防科技大学 | 一种基于软件通信体系结构的mac组件一致性测试方法 |
CN114676005A (zh) * | 2022-03-17 | 2022-06-28 | 杭州电子科技大学 | 基于jtag的fpga图像分类加速器测试方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1609862A (zh) * | 2004-11-19 | 2005-04-27 | 华南理工大学 | 基于pci总线的ip核仿真验证平台及其验证方法 |
CN108959673A (zh) * | 2017-05-27 | 2018-12-07 | 深圳市中兴微电子技术有限公司 | 一种验证平台和验证方法 |
CN113076227A (zh) * | 2021-04-28 | 2021-07-06 | 深圳市汇春科技股份有限公司 | Mcu验证方法、系统和终端设备 |
-
2021
- 2021-09-26 CN CN202111131813.0A patent/CN113901754B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1609862A (zh) * | 2004-11-19 | 2005-04-27 | 华南理工大学 | 基于pci总线的ip核仿真验证平台及其验证方法 |
CN108959673A (zh) * | 2017-05-27 | 2018-12-07 | 深圳市中兴微电子技术有限公司 | 一种验证平台和验证方法 |
CN113076227A (zh) * | 2021-04-28 | 2021-07-06 | 深圳市汇春科技股份有限公司 | Mcu验证方法、系统和终端设备 |
Non-Patent Citations (2)
Title |
---|
周宏伟等: "众核处理器访存链路接口的FPGA验证", 《国防科技大学学报》 * |
蔡玉辉: "以太网IP核的FPGA验证", 《微处理机》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114554537A (zh) * | 2022-02-25 | 2022-05-27 | 中国人民解放军国防科技大学 | 一种基于软件通信体系结构的mac组件一致性测试方法 |
CN114554537B (zh) * | 2022-02-25 | 2024-01-23 | 中国人民解放军国防科技大学 | 一种基于软件通信体系结构的mac组件一致性测试方法 |
CN114676005A (zh) * | 2022-03-17 | 2022-06-28 | 杭州电子科技大学 | 基于jtag的fpga图像分类加速器测试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113901754B (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113901754B (zh) | 基于fpga的以太网macip的板级验证结构和方法 | |
CN101329385B (zh) | 一种片上系统的调测系统、调测方法以及片上系统 | |
KR101933723B1 (ko) | 프로그램가능 프로토콜 발생기 | |
US7688099B2 (en) | Sequential semiconductor device tester | |
CN109783340B (zh) | SoC的测试代码烧写方法、IP测试方法及装置 | |
CN107907814B (zh) | 一种提高芯片量产测试效率的方法 | |
CN101545951B (zh) | 扫描控制方法、扫描控制电路及装置 | |
MX2007005250A (es) | Programador flash que programa nand flash y nor/nand flash combinados. | |
CN113407393B (zh) | 芯片验证方法、终端设备、验证平台以及存储介质 | |
CN111897749A (zh) | 基于Quad-SPI控制器与外扩FLASH通信控制系统及方法 | |
CN112069074A (zh) | 一种基于uvm的rfid标签芯片验证装置 | |
CN107290654A (zh) | 一种fpga逻辑测试结构及方法 | |
CN102063747A (zh) | 一种can数据记录仪 | |
CN115033444A (zh) | 基于8051core在线调试电路控制装置及控制方法 | |
US20060212768A1 (en) | Verification circuitry for master-slave system | |
US6550033B1 (en) | Method and apparatus for exercising external memory with a memory built-in test | |
US6182254B1 (en) | Rambus ASIC having high speed testing function and testing method thereof | |
CN116257037B (zh) | 控制器测试程序的生成方法、系统、电子设备及存储介质 | |
CN105354157A (zh) | 配置iic器件的方法、装置和系统 | |
CN113312224B (zh) | 一种用于测试otp型mcu及其测试方法 | |
CN2938208Y (zh) | 电源顺序控制装置 | |
CN115328708A (zh) | 串行外设接口时序的参数测试方法及测试装置 | |
US20080197871A1 (en) | Sequential semiconductor device tester | |
CN217766718U (zh) | 一种芯片测试系统 | |
Johnson | Implementing serial bus interfaces using general purpose digital instrumentation |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |