CN117749640B - 以太网交换芯片uvm及fpga原型验证方法及上位机 - Google Patents
以太网交换芯片uvm及fpga原型验证方法及上位机 Download PDFInfo
- Publication number
- CN117749640B CN117749640B CN202410185948.2A CN202410185948A CN117749640B CN 117749640 B CN117749640 B CN 117749640B CN 202410185948 A CN202410185948 A CN 202410185948A CN 117749640 B CN117749640 B CN 117749640B
- Authority
- CN
- China
- Prior art keywords
- message
- configuration
- module
- file
- port
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 123
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000012360 testing method Methods 0.000 claims abstract description 63
- 230000006870 function Effects 0.000 claims description 15
- 230000003993 interaction Effects 0.000 claims description 13
- 238000013506 data mapping Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 8
- 230000000007 visual effect Effects 0.000 claims description 7
- 230000003466 anti-cipated effect Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000006467 substitution reaction Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 5
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000004088 simulation Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 238000013524 data verification Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种以太网交换芯片UVM及FPGA原型验证方法及上位机,在UVM验证模式下,上位机生成配置文件和报文文件,UVM验证平台读取对应文件实现参数配置和报文发送。在FPGA原型验证模式下,可以通过串口和以太网口实现与FPGA原型验证平台的通信,串口用于配置信息下发,以太网口用于测试报文下发和RTL输出报文上传,上位机将接收到的报文与内部生成的参考报文进行比对。本方案可以为UVM验证与FPGA原型验证提供统一的用户接口,提高参数配置和测试报文配置操作的便利性;采用相同的配置文件和报文文件,能够实现两种验证方法的相互对照;基于验证报文的自动比对,能有效提高FPGA原型验证的效率。
Description
技术领域
本发明涉及计算机数据验证及芯片验证领域,尤其涉及一种以太网交换芯片UVM及FPGA原型验证方法及上位机。
背景技术
在现有技术中,UVM验证和FPGA原型验证之间没有统一的用户接口,在同场景构造中,通过由UVM验证提供配置参数,FPGA根据UVM提供的配置参数进行场景复现。其操作流程繁琐,周期长,不便于充分发挥两种验证方法的优势,实现高效的问题定位和修改方案迭代确认。
FPGA原型验证具有速率快,更接近应用场景以便于实现软硬件联合开发,问题复现快,可快速完成激励的修改和迭代验证的优势,但是在内部信号分析,问题定位等方面较为困难。而UVM可以通过对仿真波形的分析,精确的实现问题定位并给出修改方案,但是对于大规模集成电路,其UVM仿真时间长,造成问题复现和修改迭代周期过长,严重影响芯片开发进度。
发明内容
有鉴于现有技术存在的问题,本发明旨在提供一种用于以太网UVM验证和FPGA原型验证的方法以及上位机,能够基于以太网UVM验证和FPGA原型验证的需求,提供可视化的以太网三层交换参数配置接口、以太网报文配置接口,以及用于实现与FPGA通信的串口通信模块和以太网收发模块。具体而言,本发明提供了以下技术方案:
一方面,本发明提供了一种以太网交换芯片UVM及FPGA原型验证上位机,所述上位机包括:
配置模块、报文生成模块、报文比对模块、以太网口模块、串口模块;
串口模块与配置模块之间进行数据交互,报文生成模块分别与报文比对模块、以太网口模块之间数据交互,以太网口可将接收到的报文发送至报文比对模块;所述配置模块将配置信息发送至UVM验证平台;所述报文生成模块将报文文件发送至UVM验证平台;所述以太网口模块与FPGA原型验证平台之间进行报文的收发;所述串口模块将配置信息发送至FPGA原型验证平台;
所述配置模块用于生成配置文件;
所述报文生成模块用于生成与测试场景相对应的报文头及payload,并将测试报文存储至报文文件;
所述报文比对模块用于实现对FPGA原型验证平台的测试结果的自动比对;
所述以太网口模块用于上位机与FPGA原型验证平台之间的报文数据交互;
所述串口模块用于上位机与FPGA原型验证平台之间的配置文件数据和路由结果数据的交互。
优选地,所述配置模块包括:配置文件生成单元、映射表生成单元及配置数据写入单元;
所述配置数据写入单元用于接收配置参数的写入,并将配置数据送入映射表生成单元;
所述映射表生成单元将配置参数按照DUT配置总线的地址/数据映射关系,生成地址/数据映射表,并将地址/数据映射表发送至配置文件生成单元;
所述配置文件生成单元接收地址/数据映射表,并生成配置文件;所述配置文件发送至UVM验证平台和/或FPGA原型验证平台。
优选地,所述报文生成模块包括报文配置参数单元、对应表生成单元及报文文件生成单元;
所述报文配置参数单元基于接收到的报文配置参数,并将报文配置参数发送至对应表生成单元;
所述对应表生成单元基于报文配置参数生成输入报文/port对应表,并结合报文规则,填补未配置字段,生成报文头及随机的payload,从而生成测试报文;
所述报文文件生成单元接收所述测试报文,并基于输入报文/port对应表,生成报文文件;
所述报文文件发送至UVM验证平台和/或FPGA原型验证平台。
优选地,所述报文比对模块包括路由结果预期单元、路由比对单元、输出报文预期单元以及DUT输出报文与预期报文比对单元;
所述路由结果预期单元基于测试报文的输入端口及端口路由配置参数,得到预期路由结果并存储;
所述路由比对单元基于预期路由结果,与DUT实际报文的路由目的端口进行比对;
所述输出报文预期单元基于配置参数及测试报文,预期报文的输出端口及输出的预期报文。进一步优选地,输出的预期报文还包括预期报文的VLAN tag、MAC地址和/或路由生命周期(ipv4报文对应time to live字段,ipv6报文对应hop limit字段)等字段,该些字段需根据配置信息以及输入报文进行转换,输出的预期报文的payload与输入报文一致;
所述DUT输出报文与预期报文比对单元接收以太网口输出的报文文件,并与输出报文预期单元生成的预期报文进行比对。
优选地,所述串口模块包括串口配置单元、RX串口及TX串口;
所述串口配置单元配置串口波特率,以及发送文件信息;
TX串口接收配置文件,并发送至FPGA原型验证平台;
RX串口接收FPGA原型验证平台的路由结果并读取路由结果数据,将路由结果数据发送至报文比对模块中的路由比对单元。
优选地,所述以太网口模块包括网口配置单元、接收网口及发送网口;
网口配置单元配置以太网口速率及信息;
接收网口接收来自FPGA原型验证平台的RTL输出报文,并发送至DUT输出报文与预期报文比对单元;
发送网口接收测试报文的报文文件,并发送至FPGA原型验证平台。
优选地,所述配置模块还包括UART接口,在UVM验证模式下,UVM验证平台通过文件路径加载所述配置文件,实现对DUT寄存器及RAM的配置,在FPGA验证模式下,配置文件通过UART接口发送至FPGA原型验证平台。
第二方面,本发明还提供了一种以太网交换芯片UVM及FPGA原型验证方法,该方法应用于如上所述的上位机,该方法包括:
UVM测试模式下:UVM基于配置参数的地址和数据映射关系驱动配置总线,完成参数配置;用户通过配置报文格式、配置报文头信息,生成测试用报文文件,UVM验证平台读取报文文件中的测试报文,根据以太网VIP规则,完成测试报文发送;
FPGA测试模式下:用户通过串口模块和以太网口模块分别将配置参数和报文文件下发至FPGA原型验证平台;PFGA原型验证平台根据配置参数,完成待测RTL内部的参数配置,并根据报文信息,完成以太网报文的发送;FPGA原型验证平台将待测RTL输出的报文信息存储在DDR内部,并通过以太网口模块发送至上位机,上位机与预期结果进行比对,实现功能验证。
优选地,所述参数配置采用可视化参数配置方式:
在二层交换模式下,在配置模块入向端口表中使能MAC地址学习及MAC地址偏移,不使能ipv4协议接口及ipv6协议接口;配置VLAN成员表配置及STG生成树协议配置;对于多播业务,配置多播MAC地址及下一跳地址索引;同时在配置模块出向端口完成配置不使能MAC地址替换功能;
在三层交换模式下,在配置模块入向端口表中使能ipv4协议接口及ipv6协议接口,完成VLAN成员表配置以及STG生成树协议配置;配置MAC地址及对应的下一条地址;在多播业务下,配置多播MAC地址及下一跳地址索引;同时在配置模块出向端口使能MAC地址替换功能,并配置替换后源MAC地址及目标MAC地址。
优选地,上位机基于配置参数形成配置文件;
在UVM测试模式下:测试用例根据报文文件及配置文件中的地址和信息,完成DUT的寄存器及RAM配置,并依次完成测试报文的发送;
在FPGA测试模式下:所述上位机基于配置文件及报文文件生成预期报文,将其与FPGA原型验证平台上传的报文信息进行比对,以完成验证。
第三方面,本发明还提供了一种电子设备,包括处理器以及与处理器通信连接且用于存储所述处理器可执行指令的存储器,所述处理器用于执行如上所述的以太网交换芯片UVM及FPGA原型验证方法。
第四方面,本发明还公开了一种服务器,包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行以执行如上所述的以太网交换芯片UVM及FPGA原型验证方法。
第五方面,本发明还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现以太网交换芯片UVM及FPGA原型验证方法中相关的各个步骤。
与现有技术相比,本发明技术方案至少具有以下有益效果:可以为UVM验证与FPGA原型验证提供统一的用户接口,提高和参数配置和测试报文配置操作的便利性;可以通过提供相同的测试报文和配置文件,提供相同的验证场景,通过构造相同场景的验证条件,能够充分发挥FPGA速率快,问题复现以及修改后迭代周期短的优点;采用相同的配置文件和报文文件,能够实现两种验证方法的相互对照;基于验证报文的自动比对,能有效提高FPGA原型验证的效率。
通过UVM快速实现问题的定位和分析,给出相应的解决方案。根据修改方案重新配置测试场景,在FPGA平台上快速实现修改方案的确认。FPGA仿真结果无误之后,同时利用UVM验证能够更精确的进行信号分析,完成问题定位或确认的优点,由此可以充分发挥FPGA速率快,测试场景迭代周期短的优点以及UVM原型验证问题定位快的优点,有效的缩短芯片开发周期。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例的上位机软件实现机制示意图;
图2为本发明实施例的上位机软件内部模块框图;
图3为本发明实施例的上位机入向端口表;
图4为本发明实施例的上位机三层路由表;
图5为本发明实施例的以太网报文配置表。
具体实施方式
下面结合附图对本发明实施例进行详细描述。应当明确,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本领域技术人员应当知晓,下述具体实施例或具体实施方式,是本发明为进一步解释具体的发明内容而列举的一系列优化的设置方式,而该些设置方式之间均是可以相互结合或者相互关联使用的,除非在本发明明确提出了其中某些或某一具体实施例或实施方式无法与其他的实施例或实施方式进行关联设置或共同使用。同时,下述的具体实施例或实施方式仅作为最优化的设置方式,而不作为限定本发明的保护范围的理解。
在一个具体的实施例中,本方案可以通过上位机的方式来实现,本实施例的上位机能够实现UVM验证平台的数据交互并完成UVM的数据验证工作,同时,能够满足FPGA原型验证平台的数据验证工作。如图1所示,该上位机主要包括5个功能模块:配置模块、报文生成模块、报文比对模块、以太网口模块、串口模块。串口模块与配置模块之间进行数据交互,报文生成模块与报文比对模块、以太网口模块之间数据交互,以太网口也可将接收到的报文发送至报文比对模块。
结合图2,以下对上位机的5个主要功能模块展开进行阐述。配置模块主要用于配置文件的生成。该模块主要包括三个部分:配置文件生成单元、映射表生成单元及配置数据写入单元。用户可以通过配置数据写入单元,将基础配置数据写入该模块中,此时,配置数据被送入映射表生成单元,该单元将设置的配置参数,按照DUT配置总线的地址/数据映射关系,将地址/数据映射表以二维数组的方式发送至配置文件生成单元,生成平台可用的配置文件。该配置文件可以发送至UVM验证平台,或者通过上位机中的串口模块,发送至FPGA原型验证平台。此外,配置模块还包括UART接口,在UVM验证模式下,UVM验证平台通过文件路径自动加载该配置文件,实现对DUT的寄存器和RAM的配置;在FPGA验证模式下,配置文件通过UART接口发送至FPGA原型验证平台,FPGA原型验证平台根据下发数据完成DUT的寄存器以及RAM配置。
配置数据写入单元可以通过例如配置参数可视化配置窗口的方式来实现,便于用户通过窗口进行配置参数的输入或设置。
报文生成模块主要用于通过可视化配置窗口,生成与测试场景相对应的报文头以及payload,并将测试报文存储至报文文件,UVM以及FPGA验证平台可通过读取该文件发送相同的测试报文。该模块主要包括三个部分:报文配置参数单元、对应表生成单元及报文文件生成单元。报文配置参数单元基于接收到的报文配置参数,并将配置参数发送至对应表生成单元,对应表生成单元生成输入报文/port对应表,并根据配置参数以及以太网协议规定的报文规则,填补未配置字段,生成满足测试要求的报文头,并根据报文头中的payload长度字段,生成相应长度的随机payload,从而生成一个完整的测试报文。将所有的测试报文发送至报文文件生成单元,基于输入报文/port对应表,生成具体的报文文件,报文文件可以发送至UVM验证平台,或者通过以太网口模块将报文数据写入至FPGA原型验证平台。
报文比对模块主要用于根据配置信息以及输入报文信息,生成预期报文,并通过将FPGA验证平台中的DUT输出报文与预期报文进行比对,实现对FPGA验证平台的测试结果自动比对功能。该模块包括路由结果预期单元、路由比对单元、输出报文预期单元以及DUT输出报文与预期报文比对单元(对应图2中的各输出数据)。路由结果预期单元根据测试报文的输入端口以及端口路由配置参数,对预期报文的目的端口编号进行预期并以二维数组的形式存储。路由比对单元中,DUT实际报文路由结果通过串口发送至上位机并存储至文件中,并将文件中的路由信息与预期路由结果进行比对。输出报文预期单元根据输入的配置参数以及输入的测试报文,预期报文的输出端口以及输出报文的内容。DUT输出报文与预期报文比对单元接收以太网口输出的报文文件,每接收到一个报文文件,上位机将自动在预期报文中搜索是否存在匹配的报文,在输出报文文件中显示当前报文的比对结果,在仿真结束后检查输出报文和预期报文数量是否一致。若输出报文均存在与之匹配的预期报文,且最终输出报文数量与预期报文数量一致,则仿真通过。
串口模块主要用于上位机与FPGA原型验证平台之间的配置文件数据和路由结果数据的交互。该模块主要包括串口配置单元和串口,串口至少包括接收串口RX和发送串口TX。串口配置单元主要用于配置串口波特率,发送文件地址等信息。TX串口接收配置模块中配置文件生成单元生成的配置文件,并发送至FPGA原型验证平台,以完成配置数据的写入。RX串口接收来自FPGA原型验证平台的路由结果,并将路由结果数据读取后,发送至报文比对模块中的路由比对单元,进行进一步的路由结果比对。
以太网口模块主要用于上位机与FPGA原型验证平台之间的报文数据交互。该模块主要包括网口配置单元和网口,网口包括接收网口和发送网口。网口配置单元主要用于配置网口速率,MAC地址等信息,实现与FPGA的以太网口之间的通信。接收网口接收来自FPGA原型验证平台的RTL输出报文,并将该报文发送至DUT输出报文与预期报文比对单元;发送网口接收来自报文文件生成单元生成的测试报文文件,并将其发送至FPGA原型验证平台,以完成报文数据的写入。
以下,我们结合上位机的架构设计,对测试过程进行进一步阐述。
一、若当前场景为UVM验证,用户可以通过可视化参数配置接口,对以太网的接口特性如MAC地址,IP地址等参数、二层静态MAC地址表、三层路由表等参数进行配置。UVM将配置参数的地址和数据映射关系,转换为配置总线模块的任务(即transaction),并由驱动组件(即driver)驱动配置总线,完成相应的寄存器和RAM的配置。
进一步的,用户还可以通过配置报文格式,配置报文头信息,完成自定义报文的生成,同时支持非法报文格式生成,用于错误场景构造。生成的报文的header(即报文头)与payload分别写入输入报文文件,UVM验证平台读取报文文件中的测试报文,并根据以太网VIP的规则,将header转换为VIP发包transaction的配置参数,并与payload一起组成一个VIP发包对应的transaction,通过VIP的sequence机制完成测试报文发送。
二、若当前场景为FPGA原型验证,用户可以通过UART接口和以太网口分别将配置参数和输入报文下发至FPGA验证平台,同时验证平台将报文内容缓存至DDR存储器,将每个报文对应的输入接口存储至FPGA内部逻辑。
进一步的,FPGA原型验证平台根据配置参数,完成待测RTL内部参数的配置,并根据DDR存储器中的报文信息,完成以太网报文的发送。
进一步的,FPGA将待测RTL输出的报文信息存储在DDR内部,并通过以太网口按顺序上送至上位机平台,上位机平台根据报文内容和输出端口信息,与内部生成的预期结果进行比对,实现功能验证。
在参数配置中,本实施例的上位机优先采用可视化参数配置的方式。参数配置可以实现以下功能:
1、二层交换模式下,如图3所示,在配置模块入向端口表配置窗口的cml_new和cml_move配置选项中选择是否使能MAC地址学习以及MAC地址偏移功能,并不使能ipv6和ipv4协议接口,同时可按需求配置vlan翻译,端口聚合等选项。然后在VLAN成员表中完成VLAN编号以及VLAN成员配置,完成STG生成树协议参数配置。L2静态MAC表在使能MAC地址学习功能前提下为可选择的配置表项。对于多播业务,需要配置多播MAC地址,并在下一跳地址表中配置对应多播地址的下一跳地址索引。同时在出向端口完成出向端口表配置,不使能MAC地址替换功能。
2、三层交换模式下,在入向端口配置中需要根据协议要求使能ipv4或ipv6协议接口,完成VLAN成员表配置,STG生成树协议参数配置。在三层路由表中配置mac2me对应的MAC地址(以该MAC地址为目标MAC地址的报文将进入三层路由表查询),配置ip地址对应的路由下一跳地址。在三层多播业务下需要配置多播MAC地址,多播ip地址以及路由下一跳地址。同时出向端口需要使能MAC地址替换功能,并配置替换后的源MAC地址以及目标MAC地址。
上文中,三层交换与二层交换为以太网交换的不同业务类型,其在三层交换与二层交换在配置方法、测试报文类型方面均有不同,以上以二层、三层的发放时加以区分。
3、结合图5所示,报文配置表需配置报文对应的输入端口、报文类型(包括mac帧,ipv4报文,ipv6报文,BPDU报文,PTP报文)、源mac地址、目标mac地址、tag类型(包括UT,ST,DT)、源IP地址、目标IP地址、TAG信息以及FCS使能配置。
4、UVM测试模式下,优选地,报文以及配置信息可直接存储在txt文档中,测试用例根据文档中地址以及数据信息,完成DUT的寄存器以及RAM的配置。并依次完成测试报文的发送,以完成UVM验证(具体UVM的报文验证由验证平台的scoreboard实现)。
5、FPGA测试模式下,配置文件通过串口(波特率为115200)输入FPGA原型测试平台并同步完成待测RTL的配置,报文文件通过网口发送至FPGA原型验证平台,并由FPGA原型验证平台存储至DDR,然后FPGA原型验证平台根据报文配置内容,依次完成测试报文的发送。同时将RTL输出报文存储至DDR,并同步上传到上位机。上位机根据配置信息及下发报文生成正确的参考报文(即预期报文),将其与FPGA上传的报文信息进行比对,完成FPGA原型验证。
在进行实际验证时,可视化配置的使用方式优选如下:首先用户需要根据测试需要,基于可视化配置参数设置表格,选择需要配置的表项,完成入向端口属性,vlan成员表,STG表,L2静态mac地址表,L3路由表以及出向端口表的配置,如图4所示。然后,选择配置文件存储地址,软件可自动生成相应的配置文件。配置“报文配置表”完成报文格式设置,选择报文存储地址,可以完成测试报文的生成。
本方案在又一种实施方式下,可以通过电子设备的方式来实现,该设备可以包括执行上述各个实施方式中各个或几个步骤的相应模块。因此,可以由相应模块执行上述各个实施方式的每个步骤或几个步骤,并且该电子设备可以包括这些模块中的一个或多个模块。模块可以是专门被配置为执行相应步骤的一个或多个硬件模块、或者由被配置为执行相应步骤的处理器来实现、或者存储在计算机可读介质内用于由处理器来实现、或者通过某种组合来实现。该设备可以利用总线架构来实现。该电子设备也可以设置以搭载上述实施例中的以太网交换芯片UVM及FPGA原型验证上位机。
本方案在又一种实施方式下,可以通过一种服务器的方式来实现,该服务器包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行以执行如上所述的以太网交换芯片UVM及FPGA原型验证方法。
以方法流程方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本方案的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本方案的实施方式所属技术领域的技术人员所理解。处理器执行上文所描述的各个方法和处理。例如,本方案中的方法实施方式可以被实现为软件程序,其被有形地包含于机器可读介质,例如存储器。在一些实施方式中,软件程序的部分或者全部可以经由存储器和/或通信接口而被载入和/或安装。当软件程序加载到存储器并由处理器执行时,可以执行上文描述的方法中的一个或多个步骤。备选地,在其他实施方式中,处理器可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法之一。
在方法流程中表示或在此以其他方式描述的逻辑和/或步骤,可以具体实现在任何可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.以太网交换芯片UVM及FPGA原型验证上位机,其特征在于,所述上位机包括:
配置模块、报文生成模块、报文比对模块、以太网口模块、串口模块;
串口模块与配置模块之间进行数据交互,报文生成模块分别与报文比对模块、以太网口模块之间数据交互,以太网口可将接收到的报文发送至报文比对模块;所述配置模块将配置信息发送至UVM验证平台;所述报文生成模块将报文文件发送至UVM验证平台;所述以太网口模块与FPGA原型验证平台之间进行报文的收发;所述串口模块将配置信息发送至FPGA原型验证平台;
所述配置模块用于生成配置文件;
所述报文生成模块用于生成与测试场景相对应的报文头及payload,并将测试报文存储至报文文件;
所述报文比对模块用于实现对FPGA原型验证平台的测试结果的自动比对;
所述以太网口模块用于上位机与FPGA原型验证平台之间的报文数据交互;
所述串口模块用于上位机与FPGA原型验证平台之间的配置文件数据和路由结果数据的交互;
所述配置模块包括:配置文件生成单元、映射表生成单元及配置数据写入单元;
所述配置数据写入单元用于接收配置参数的写入,并将配置数据送入映射表生成单元;
所述映射表生成单元将配置参数按照DUT配置总线的地址/数据映射关系,生成地址/数据映射表,并将地址/数据映射表发送至配置文件生成单元;
所述配置文件生成单元接收地址/数据映射表,并生成配置文件;所述配置文件发送至UVM验证平台和/或FPGA原型验证平台。
2.根据权利要求1所述的上位机,其特征在于,所述报文生成模块包括报文配置参数单元、对应表生成单元及报文文件生成单元;
所述报文配置参数单元基于接收到的报文配置参数,并将报文配置参数发送至对应表生成单元;
所述对应表生成单元基于报文配置参数生成输入报文/port对应表,并结合报文规则,填补未配置字段,生成报文头及随机的payload,从而生成测试报文;
所述报文文件生成单元接收所述测试报文,并基于输入报文/port对应表,生成报文文件;
所述报文文件发送至UVM验证平台和/或FPGA原型验证平台。
3.根据权利要求1所述的上位机,其特征在于,所述报文比对模块包括路由结果预期单元、路由比对单元、输出报文预期单元以及DUT输出报文与预期报文比对单元;
所述路由结果预期单元基于测试报文的输入端口及端口路由配置参数,得到预期路由结果并存储;
所述路由比对单元基于预期路由结果,与DUT实际报文路由目的端口编号进行比对;
所述输出报文预期单元基于配置参数及测试报文,预期报文的输出端口及输出的预期报文;
所述DUT输出报文与预期报文比对单元接收以太网口输出的报文文件,并与输出报文预期单元生成的预期报文进行比对。
4.根据权利要求1所述的上位机,其特征在于,所述串口模块包括串口配置单元、RX串口及TX串口;
所述串口配置单元配置串口波特率,以及发送文件信息;
TX串口接收配置文件,并发送至FPGA原型验证平台;
RX串口接收FPGA原型验证平台的路由结果并读取路由结果数据,将路由结果数据发送至报文比对模块中的路由比对单元。
5.根据权利要求1所述的上位机,其特征在于,所述以太网口模块包括网口配置单元、接收网口及发送网口;
网口配置单元配置以太网口速率及信息;
接收网口接收来自FPGA原型验证平台的RTL输出报文,并发送至DUT输出报文与预期报文比对单元;
发送网口接收测试报文的报文文件,并发送至FPGA原型验证平台。
6.根据权利要求1所述的上位机,其特征在于,所述配置模块还包括UART接口,在UVM验证模式下,UVM验证平台通过文件路径加载所述配置文件,实现对DUT寄存器及RAM的配置,在FPGA验证模式下,配置文件通过UART接口发送至FPGA原型验证平台。
7.以太网交换芯片UVM及FPGA原型验证方法,其特征在于,所述方法应用于权利要求1-6任一所述的上位机,该方法包括:
UVM测试模式下:UVM基于配置参数的地址和数据映射关系驱动配置总线,完成参数配置;用户通过配置报文格式、配置报文头信息,生成测试用报文文件,UVM验证平台读取报文文件中的测试报文,根据以太网VIP规则,完成测试报文发送;
FPGA测试模式下:用户通过串口模块和以太网口模块分别将配置参数和报文文件下发至FPGA原型验证平台;PFGA原型验证平台根据配置参数,完成待测RTL内部的参数配置,并根据报文信息,完成以太网报文的发送;FPGA原型验证平台将待测RTL输出的报文信息存储在DDR内部,并通过以太网口模块发送至上位机,上位机与预期结果进行比对,实现功能验证。
8.根据权利要求7所述的方法,其特征在于,所述参数配置采用可视化参数配置方式:
在二层交换模式下,在配置模块入向端口表中使能MAC地址学习及MAC地址偏移,不使能ipv4协议接口及ipv6协议接口;配置VLAN成员表配置及STG生成树协议配置;对于多播业务,配置多播MAC地址及下一跳地址索引;同时在配置模块出向端口完成配置不使能MAC地址替换功能;
在三层交换模式下,在配置模块入向端口表中使能ipv4协议接口及ipv6协议接口,完成VLAN成员表配置以及STG生成树协议配置;配置MAC地址及对应的下一条地址;在多播业务下,配置多播MAC地址及下一跳地址索引;同时在配置模块出向端口使能MAC地址替换功能,并配置替换后源MAC地址及目标MAC地址。
9.根据权利要求7所述的方法,其特征在于,上位机基于配置参数形成配置文件;
在UVM测试模式下:测试用例根据报文文件及配置文件中的地址和信息,完成DUT的寄存器及RAM配置,并依次完成测试报文的发送;
在FPGA测试模式下:所述上位机基于配置文件及报文文件生成预期报文,将其与FPGA原型验证平台上传的报文信息进行比对,以完成验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410185948.2A CN117749640B (zh) | 2024-02-20 | 2024-02-20 | 以太网交换芯片uvm及fpga原型验证方法及上位机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410185948.2A CN117749640B (zh) | 2024-02-20 | 2024-02-20 | 以太网交换芯片uvm及fpga原型验证方法及上位机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117749640A CN117749640A (zh) | 2024-03-22 |
CN117749640B true CN117749640B (zh) | 2024-04-26 |
Family
ID=90261255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410185948.2A Active CN117749640B (zh) | 2024-02-20 | 2024-02-20 | 以太网交换芯片uvm及fpga原型验证方法及上位机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117749640B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065536A (zh) * | 2014-07-02 | 2014-09-24 | 浪潮集团有限公司 | 基于uvm验证方法的以太网交换机fpga验证方法 |
WO2016197768A1 (zh) * | 2016-01-04 | 2016-12-15 | 中兴通讯股份有限公司 | 芯片验证方法、装置及系统 |
CN107463473A (zh) * | 2017-09-01 | 2017-12-12 | 珠海泰芯半导体有限公司 | 基于uvm和fpga的芯片软硬件仿真环境 |
WO2019167081A1 (en) * | 2018-03-02 | 2019-09-06 | Apasangi Akash | System and method for emulation and simulation of rtl (design under test) using fpga |
CN110865936A (zh) * | 2019-10-31 | 2020-03-06 | 中国人民解放军战略支援部队信息工程大学 | 一种面向集成电路安全功能的白盒插桩fpga原型验证方法 |
CN114462338A (zh) * | 2021-11-29 | 2022-05-10 | 上海阵量智能科技有限公司 | 一种集成电路的验证方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090100304A1 (en) * | 2007-10-12 | 2009-04-16 | Ping Li | Hardware and Software Co-test Method for FPGA |
-
2024
- 2024-02-20 CN CN202410185948.2A patent/CN117749640B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065536A (zh) * | 2014-07-02 | 2014-09-24 | 浪潮集团有限公司 | 基于uvm验证方法的以太网交换机fpga验证方法 |
WO2016197768A1 (zh) * | 2016-01-04 | 2016-12-15 | 中兴通讯股份有限公司 | 芯片验证方法、装置及系统 |
CN107463473A (zh) * | 2017-09-01 | 2017-12-12 | 珠海泰芯半导体有限公司 | 基于uvm和fpga的芯片软硬件仿真环境 |
WO2019167081A1 (en) * | 2018-03-02 | 2019-09-06 | Apasangi Akash | System and method for emulation and simulation of rtl (design under test) using fpga |
CN110865936A (zh) * | 2019-10-31 | 2020-03-06 | 中国人民解放军战略支援部队信息工程大学 | 一种面向集成电路安全功能的白盒插桩fpga原型验证方法 |
CN114462338A (zh) * | 2021-11-29 | 2022-05-10 | 上海阵量智能科技有限公司 | 一种集成电路的验证方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
王清源.基于UVM 的PCIe 桥接芯片验证平台设计.微 电 子 学 与 计 算 机.全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN117749640A (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8848544B2 (en) | Event correlation using network data flow simulation over unmanaged network segments | |
CN107689931A (zh) | 一种基于国产fpga的实现以太网交换功能系统及方法 | |
US20050270986A1 (en) | Apparatus and method for topology discovery among network devices | |
CN108123819B (zh) | 一种虚实网络无缝融合的仿真方法 | |
CN110177013A (zh) | 一种基于FPGA的EtherCAT主从站设计与实现方法 | |
CN112311606A (zh) | 一种用于构建虚实解耦仿真网络的方法 | |
US7269661B2 (en) | Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet | |
CN104243536B (zh) | 一种高速列车控制网络半实物仿真系统 | |
CN103392324B (zh) | 向聚合网络环境中的源端节点转发消息 | |
CN109412951A (zh) | 一种发送路由信息的方法和装置 | |
CN106209638A (zh) | 从虚拟局域网至虚拟可扩展局域网的报文转发方法和设备 | |
CN102307118A (zh) | 背板的测试方法、装置和系统 | |
JP2010531602A (ja) | リアルタイム通信ネットワークにおける診断データの通信のための方法と装置 | |
CN107122324A (zh) | 一种消息传输方法和装置 | |
CN116155682A (zh) | 数据抓包方法、装置、电子设备及存储介质 | |
CN107547346A (zh) | 一种报文传输方法和装置 | |
Huang et al. | Automatical end to end topology discovery and flow viewer on SDN | |
KR20010057434A (ko) | 임의 가상망 생성에 기반한 라우팅 시험 방법 | |
CN107517130B (zh) | 基于opnet的无缝冗余协议网络性能等效仿真方法 | |
CN109150645B (zh) | 一种交换芯片的测试方法及系统 | |
CN114422010A (zh) | 一种基于网络虚拟化的卫星通信仿真平台的协议测试方法 | |
CN117749640B (zh) | 以太网交换芯片uvm及fpga原型验证方法及上位机 | |
CN101340445B (zh) | 一种为mac地址重复用户提供服务的方法及装置 | |
CN102082782B (zh) | Ospf网络中引入外部路由的方法及相关设备 | |
CN111404821A (zh) | 一种基于SDN的IPv4和IPv6互联系统 |
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 |