CN114757134A - 一种用于fpga原型验证系统的文件导出方法及系统 - Google Patents

一种用于fpga原型验证系统的文件导出方法及系统 Download PDF

Info

Publication number
CN114757134A
CN114757134A CN202210468101.6A CN202210468101A CN114757134A CN 114757134 A CN114757134 A CN 114757134A CN 202210468101 A CN202210468101 A CN 202210468101A CN 114757134 A CN114757134 A CN 114757134A
Authority
CN
China
Prior art keywords
file
data
state machine
module
memory
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
Application number
CN202210468101.6A
Other languages
English (en)
Other versions
CN114757134B (zh
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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202210468101.6A priority Critical patent/CN114757134B/zh
Publication of CN114757134A publication Critical patent/CN114757134A/zh
Application granted granted Critical
Publication of CN114757134B publication Critical patent/CN114757134B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/31Design entry, e.g. editors specifically adapted for circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/12Printed circuit boards [PCB] or multi-chip modules [MCM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种用于FPGA原型验证系统的文件导出方法及系统,本发明方法包括将待测设计下载到FPGA原型验证系统中;使用设备树文件引导上位机的操作系统启动,设备树中的内存节点中包含定义为保留内存的子节点,用于保留一段操作系统不使用且连续的内存空间以用于存储要输出的数据文件;在上位机的操作系统中将需要导出的数据文件搬移到保留的内存空间中;向FPGA原型验证系统发送文件导出命令,获得需要导出的数据文件。本发明能够在FPGA原型验证系统在没有外设IO设备或IO接口的条件下,便捷、高速地将存储于内存中的文件导出至上位机或服务器中,缩短文件导出时间,提高对待验证设计代码进行功能验证和性能验证的效率。

Description

一种用于FPGA原型验证系统的文件导出方法及系统
技术领域
本发明涉及集成电路设计领域中的原型验证系统,具体涉及一种用于FPGA原型验证系统的文件导出方法及系统。
背景技术
随着半导体工艺的不断发展和对高性能计算需求的不断提高,CPU(CentralProcessing unit)设计的复杂度不断提高,进而对验证平台的需求也越来越高。基于FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)搭建的CPU芯片原型验证系统能够反应芯片真实性能、能够发现真实BUG、相比于软件仿真以及硬件仿真加速器具有更快的运行速度等优点,是进行CPU芯片验证的重要手段之一。
FPGA原型验证系统一般由一块或多块FPGA原型验证板及其子卡组成,同时还可连接上位机、服务器和其他外设IO设备。当FPGA原型验证系统的验证目标是CPU核和访存系统时,一般可以不连接外设IO设备,如硬盘等,只需要在FPGA平台上插入作为内存使用的内存子卡即可完成验证目标。当使用此类验证系统进行验证时,所使用的方法是:将引导加载程序uboot、操作系统内核、设备树文件和文件系统存储于SD卡、SRAM子卡或者是FLASH芯片中。当FPGA原型验证系统复位后,首先将引导加载程序uboot加载到内存中执行,然后在引导加载程序uboot引导下,将操作系统内核、设备树文件和文件系统加载到内存中,并且由于没有硬盘,操作系统内核和文件系统运行在内存构建的RAMDISK中。当操作系统成功引导启动后,在操作系统环境下,通过执行文件系统中的测试程序对CPU核和访存系统的功能正确性以及性能进行验证。
在使用无外设IO设备或IO接口的FPGA原型验证系统进行CPU核和访存系统的验证时,有导出文件的需求,主要包括两种情况:(1)当程序执行中出现错误时,需要将程序运行出错时生成的存储于内存中的文件导出,以分析CPU核、访存系统的设计缺陷;(2)当需要分析CPU核、访存系统的性能时,亦需要将程序执行完成时生成的存储于内存中的文件导出。由于无外设IO设备的FPGA原型验证系统没有硬盘等IO设备、也没有USB或PCIE等IO接口,故无法通过IO设备或IO接口直接导出所述文件。目前,针对无外设IO设备或IO接口的FPGA原型验证系统,文件导出的主要方法是:在操作系统环境下,对所述文件执行打印操作,将所述文件通过串口输出到上位机的串口调试软件中,再通过所述串口调试软件保存所述文件。但此方法存在缺陷是串口传输速率太慢,当文件过大时,打印时间较长。随着CPU设计越来越大,在FPGA原型验证系统级测试时产生的文件可能会有10MB以上的大小。以常见的串口波特率为9600bps举例,打印一个字节最少需要发送十位,假设需要打印10MB的文件,所需时间大约为3-4小时。若此时原型系统验证的是数亿门级别的CPU,仿真运行速度可能不足10MHz,此时串口波特率会远低于9600bps。即此时打印该文件的时间所花费的时间将会远高于3-4小时,严重地降低了验证工作的效率,对芯片的验证进度带来不良影响。为此,针对无外设IO设备或IO接口的FPGA原型验证系统的文件导出过慢的问题,有必要研究一种方便、快速的从内存中导出文件的方法。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种用于FPGA原型验证系统的文件导出方法及系统,本发明能够在FPGA原型验证系统在没有外设IO设备或IO接口的条件下,便捷、高速地将存储于内存中的文件导出至上位机或服务器中,缩短文件导出时间,提高对待验证设计代码进行功能验证和性能验证的效率。
为了解决上述技术问题,本发明采用的技术方案为:
一种用于FPGA原型验证系统的文件导出方法,包括:
步骤S1:将待测设计下载到FPGA原型验证系统中;
步骤S2:使用设备树文件引导上位机的操作系统启动,所述设备树文件对应的设备树中的内存节点中包含定义为保留内存的子节点,所述子节点用于保留一段操作系统不使用且连续的内存空间以用于存储要输出的数据文件;
步骤S3:在上位机的操作系统中将需要导出的数据文件搬移到保留的内存空间中;
步骤S4:向FPGA原型验证系统发送文件导出命令,获得需要导出的数据文件。
可选地,步骤S4中向FPGA原型验证系统发送文件导出命令是通过上位机中运行的文件导出控制软件实现的,所述文件导出控制软件的执行步骤包括:
步骤S4.1:程序初始化,完成网络通信参数与协议的初始化配置,使所述文件导出控制软件和所述FPGA原型验证系统之间可通过以太网进行通信;
步骤S4.2:接收用户输入的需导出数据文件的信息,包括:数据文件的名称file_name,数据文件在FPGA原型验证系统内存中的起始地址file_addr,以及数据文件以字节计数的文件大小file_size;
步骤S4.3:根据数据文件的名称file_name创建文件file_name_PC及其对应的文件计数指针pointer_file_name_PC,创建初始化为0的整型变量receive_count以记录从所述FPGA原型验证系统接收到的文件数据字节数;
步骤S4.4:根据需要导出的数据文件的文件命令格式,创建导出文件命令并通过以太网子卡发送到FPGA原型验证系统;
步骤S4.5:等待FPGA原型验证系统返回的文件导出数据包,并根据文件导出数据包的起始符和结束符提取出指定大小n字节的文件数据;
步骤S4.6:判断文件大小file_size减去整型变量receive_count的差是否大于或等于n字节,若成立则跳转到步骤S4.7,否则跳转到步骤S4.8;
步骤S4.7:通过文件计数指针pointer_file_name_PC将接收到的全部n字节文件数据写入文件file_name_PC,将整型变量receive_count自加n后跳转到所述步骤S4.5;
步骤S4.8:通过文件计数指针pointer_file_name_PC将接收到的文件数据中的前file_size-receive_count字节写入文件file_name_PC,并跳转到所述步骤S4.9;其中file_size-receive_count为文件大小file_size减去整型变量receive_count的差;
步骤S4.9:关闭文件计数指针pointer_file_name_PC,通过上位机显示终端提示用户的数据文件导出完毕并结束程序执行。
可选地,步骤4.5中指定大小n字节的文件数据是指54字节的文件数据。
可选地,步骤S3中在操作系统中将需要导出的数据文件搬移到保留的内存空间中是通过上位机的操作系统中运行的数据搬移程序实现的,所述数据搬移程序的执行步骤包括:
步骤S3.1:创建指向需要导出的数据文件file_name的文件指针pointer_file_name;创建整型变量write_count并初始化为0;
步骤S3.2:通过文件指针pointer_file_name读取数据文件file_name的1字节数据并存入字符型变量write_data中;
步骤S3.3:将字符型变量write_data的数据写入保留的内存空间;
步骤S3.4:将整型变量write_count自加1;
步骤S3.5:通过文件指针pointer_file_name判断数据文件file_name是否读取完毕,若读取完毕则跳转到步骤S3.6,否则跳转到步骤S3.2;
步骤S3.6:关闭文件指针pointer_file_name,在操作系统显示终端打印整型变量write_count并结束程序执行,所述整型变量write_count为数据文件file_name的文件大小file_size。
可选地,步骤S3.3包括:调用操作系统提供的devmem函数将字符型变量write_data的数据写入保留的内存空间,devmem函数包含两个参数,第一个参数为需要写入内存的数据,第二个参数为写入数据的地址,第一个参数的值设置为字符型变量write_data,所述第二个参数的设置为数据文件file_name在FPGA原型验证系统内存中的起始地址file_addr与整型变量write_count之和。
此外,本发明还提供一种用于FPGA原型验证系统的文件导出系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行所述用于FPGA原型验证系统的文件导出方法的步骤。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,该计算机程序用于被微处理器编程或配置以执行所述用于FPGA原型验证系统的文件导出方法的步骤。
此外,本发明还提供一种用于应用所述的用于FPGA原型验证系统的文件导出方法的FPGA原型验证系统,包括上位机、以太网子卡和FPGA芯片,所述上位机通过以太网子卡与FPGA芯片相连,所述FPGA芯片包括验证功能单元和被验证单元,所述验证功能单元包括:
介质访问控制模块,用于实现以太网通信的数据链路层;
接收FIFO,用于缓存输入的文件导出命令;
发送FIFO,用于缓存输出的数据文件;
控制状态机,用于对接收的文件导出命令进行分析与校验,并在文件导出命令通过分析与校验后控制DFI接口转换模块和内存控制器实现数据文件输出;
FPGA DDR PHY模块,用于与内存子卡相连;
DFI接口转换模块,用于实现FPGA DDR PHY模块、被验证单元、内存控制器以及控制状态机之间的接口转换;
内存控制器,用于在将控制状态机的读请求通过DFI接口转换模块发送给被验证单元,以及将DFI接口转换模块从被验证单元返回从内存中读取的文件数据发送到所述控制状态机;所述内存控制器具有AXI接口和DFI接口,AXI接口与控制状态机相连,DFI接口与DFI接口转换模块的上行DFI接口相连;
除法计算模块,用于为控制状态机执行除法计算以确定需读取内存的次数read_num;
时钟控制模块,用于向被验证单元提供时钟信号;
所述介质访问控制模块分别与接收FIFO、发送FIFO相连,所述接收FIFO的输出端与控制状态机的输入端相连,所述控制状态机分别与除法计算模块、内存控制器、DFI接口转换模块相互连接,且所述控制状态机与时钟控制模块的控制端相连,所述DFI接口转换模块还分别与被验证单元、FPGA DDR PHY模块以及内存控制器相连,所述内存控制器与发送FIFO相连。
可选地,所述控制状态机包含状态S0~S7共八种状态,其中:状态S0为控制状态机的初始状态,复位时控制状态机处于状态S0,当控制状态机接收到接收FIFO输出的文件导出命令时,控制状态机由状态S0跳转到状态S1,否则继续保持在状态S0;状态S1是指控制状态机根据文件导出命令的格式对接收到的文件导出命令进行分析与校验,若校验通过则由状态S1跳转到状态S2,若校验错误则跳转到状态S0;状态S2为控制状态机计算需读取内存的次数read_num,并跳转状态S3;状态S3为控制状态机监听被验证单元是否存在访存未完成请求,若被验证单元不存在未完成的访存请求,则控制状态机跳转到状态S4,否则保持状态S3;状态S4为控制状态机将时钟控制模块输出的使能信号的值设定为1,以及将DFI接口转换模块的工作模式设定为调试模式;状态S5状态为控制状态机按照文件导出数据包格式和特定顺序向发送FIFO中填入数据,若数据填入完毕则跳转到状态S6,否则回到状态S5;状态S6为在控制状态机的控制下,将发送FIFO中的数据输出到MAC模块,进而MAC模块发送到以太网子卡并最终传输到上位机,而后控制状态机比较已读取内存的次数read_count与需读取内存的次数read_num的值是否相等,若相等则跳转到状态S7,否则跳转回到状态S5;状态S7为控制状态机将时钟控制模块输出的使能信号的值设定为0,以及将DFI接口转换模块的工作模式设定为norm模式,并跳转到所述S0状态。
可选地,被验证单元包括时钟模块、CPU核和访存模块,所述时钟模块的输入端与所述验证功能单元中时钟控制模块的输出端相连,所述时钟模块的输出端分别与CPU核和访存模块的时钟信号输出端相连,所述CPU核和访存模块相互连接,且所述访存模块与所述验证功能单元中的DFI接口转换模块相连。
和现有技术相比,本发明主要具有下述优点:本发明方法包括将待测设计下载到FPGA原型验证系统中;使用设备树文件引导上位机的操作系统启动,设备树中的内存节点中包含定义为保留内存的子节点,子节点用于保留一段操作系统不使用且连续的内存空间以用于存储要输出的数据文件;在上位机的操作系统中将需要导出的数据文件搬移到保留的内存空间中;向FPGA原型验证系统发送文件导出命令,获得需要导出的数据文件。本发明能够在FPGA原型验证系统在没有外设IO设备或IO接口的条件下,便捷、高速地将存储于内存中的文件导出至上位机或服务器中,缩短文件导出时间,提高对待验证设计代码进行功能验证和性能验证的效率。
附图说明
图1为本发明实施例方法的基本流程示意图。
图2为本发明实施例中数据搬移程序的执行流程示意图。
图3为本发明实施例中数据搬移程序的执行流程示意图。
图4为本发明实施例中文件导出命令的格式示意图。
图5为本发明实施例中数据文件的格式示意图。
图6为本发明实施例中FPGA原型验证系统的结构示意图。
图7为本发明实施例中控制状态机的状态切换示意图。
具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清晰,以下结合附图和实施案例,对本发明进行进一步详细说明。需要理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限制本发明。
如图1所示,本实施例用于FPGA原型验证系统的文件导出方法包括:
步骤S1:将待测设计下载到FPGA原型验证系统中;
步骤S2:使用设备树文件引导上位机的操作系统启动,该设备树文件为经过特殊修改后的设备树文件,其特殊修改是指:设备树文件对应的设备树中的内存节点(memory节点)中包含定义为保留内存的子节点(以关键字reserve-memory定义),子节点用于保留一段操作系统不使用且连续的内存空间以用于存储要输出的数据文件,毫无疑问,保留的内存空间的大小须大于需要输出的数据文件的大小;
步骤S3:在上位机的操作系统中将需要导出的数据文件搬移到保留的内存空间中;
步骤S4:向FPGA原型验证系统发送文件导出命令,获得需要导出的数据文件。
本实施例步骤S4中向FPGA原型验证系统发送文件导出命令是通过上位机中运行的文件导出控制软件实现的,文件导出控制软件用于向FPGA原型验证系统发送所述文件导出命令,接收FPGA原型验证系统输出的所述文件数据;文件导出控制软件包含网络通信程序库,所述网络通信程序库主要包括软件驱动、硬件抽象层接口,用于以太网通信初始化、以太网数据的读取和发送,可实现上位机与所述FPGA原型验证系统之间的以太网通信;通过使用文件导出控制软件向FPGA原型验证系统发送文件导出命令,获得需要导出的数据文件。
如图2所示,文件导出控制软件的执行步骤包括:
步骤S4.1:程序初始化,完成网络通信参数与协议的初始化配置,使所述文件导出控制软件和所述FPGA原型验证系统之间可通过以太网进行通信;
步骤S4.2:接收用户输入的需导出数据文件的信息,包括:数据文件的名称file_name,数据文件在FPGA原型验证系统内存中的起始地址file_addr,以及数据文件以字节计数的文件大小file_size;
步骤S4.3:根据数据文件的名称file_name创建文件file_name_PC及其对应的文件计数指针pointer_file_name_PC,创建初始化为0的整型变量receive_count以记录从所述FPGA原型验证系统接收到的文件数据字节数;
步骤S4.4:根据需要导出的数据文件的文件命令格式,创建导出文件命令并通过以太网子卡发送到FPGA原型验证系统;
步骤S4.5:等待FPGA原型验证系统返回的文件导出数据包,并根据文件导出数据包的起始符和结束符提取出指定大小n字节的文件数据;
步骤S4.6:判断文件大小file_size减去整型变量receive_count的差是否大于或等于n字节,若成立则跳转到步骤S4.7,否则跳转到步骤S4.8;
步骤S4.7:通过文件计数指针pointer_file_name_PC将接收到的全部n字节文件数据写入文件file_name_PC,将整型变量receive_count自加n后跳转到所述步骤S4.5;
步骤S4.8:通过文件计数指针pointer_file_name_PC将接收到的文件数据中的前file_size-receive_count字节写入文件file_name_PC,并跳转到所述步骤S4.9;其中file_size-receive_count为文件大小file_size减去整型变量receive_count的差;
步骤S4.9:关闭文件计数指针pointer_file_name_PC,通过上位机显示终端提示用户的数据文件导出完毕并结束程序执行。
步骤4.5中指定大小n字节的文件数据中的n可根据需要进行指定,例如作为一种可选的实施方式,本实施例步骤4.5中指定大小n字节的文件数据是指54字节的文件数据。
本实施例步骤S3中在操作系统中将需要导出的数据文件搬移到保留的内存空间中是通过上位机的操作系统中运行的数据搬移程序实现的,数据搬移程序用于将需要导出的文件连续地写入到所述保留的物理内存,本实施例中数据搬移程序为C语言程序,数据搬移程序的输入参数包括需要导出文件的名称file_name和写入所述保留的物理内存的起始地址file_addr,通过在操作系统中使用数据搬移程序将需要导出的文件搬移到所述保留的内存空间。如图3所示,数据搬移程序的执行步骤包括:
步骤S3.1:创建指向需要导出的数据文件file_name的文件指针pointer_file_name;创建整型变量write_count并初始化为0;
步骤S3.2:通过文件指针pointer_file_name读取数据文件file_name的1字节数据并存入字符型变量write_data中;
步骤S3.3:将字符型变量write_data的数据写入保留的内存空间;
步骤S3.4:将整型变量write_count自加1;
步骤S3.5:通过文件指针pointer_file_name判断数据文件file_name是否读取完毕,若读取完毕则跳转到步骤S3.6,否则跳转到步骤S3.2;
步骤S3.6:关闭文件指针pointer_file_name,在操作系统显示终端打印整型变量write_count并结束程序执行,整型变量write_count为数据文件file_name的文件大小file_size。
本实施例中,步骤S3.3包括:调用操作系统提供的devmem函数将字符型变量write_data的数据写入保留的内存空间,devmem函数包含两个参数,第一个参数为需要写入内存的数据,第二个参数为写入数据的地址,第一个参数的值设置为字符型变量write_data,所述第二个参数的设置为数据文件file_name在FPGA原型验证系统内存中的起始地址file_addr与整型变量write_count之和。
参见图4,本实施例中文件导出命令是具有特定格式的一帧数据,包含5个数据域,从最高位到最低位分别是文件导出命令起始符、文件在内存中的起始地址file_addr、以字节计算的文件大小file_size、补零位和文件导出命令结束符,所述文件导出命令起始符为4字节,文件在内存中的起始地址file_addr为8字节,文件大小file_size为8字节,补零位为40字节,文件导出命令结束符为4字节。
参见图5,本实施例中文件导出数据包的格式是:从最高位到最低位分别是文件导出数据包起始符、文件数据和文件导出数据包结束符,文件导出数据包起始符为4字节,文件数据为56字节,文件导出数据包结束符为4字节。
综上所述,本实施例用于FPGA原型验证系统的文件导出方法用于处理所需要导出的文件内容,将文件内容以16进制ASCII码的形式进行输出,输出至新的内容文件,新文件的内容格式为写入的地址,写入的bit数,写入的内容。通过逐行读取新的内容文件的内容,将该内容通过Devmem写入内存对应的地址中。最终,用于处理从内存成功读取出的数据,再次将其转码,输出至新文件中,恢复为原型系统中需要导出的文件,从而能够实现FPGA原型验证系统中将文件导出,能够满足在FPGA原型验证系统中快速输出文件的需求。
此外,本发明还提供一种用于FPGA原型验证系统的文件导出系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行所述用于FPGA原型验证系统的文件导出方法的步骤。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,该计算机程序用于被微处理器编程或配置以执行所述用于FPGA原型验证系统的文件导出方法的步骤。
如图6所示,本发明还提供一种用于应用的用于FPGA原型验证系统的文件导出方法的FPGA原型验证系统,包括上位机、以太网子卡和FPGA芯片(FPGA原型验证板上),上位机通过以太网子卡与FPGA芯片相连,FPGA芯片包括验证功能单元和被验证单元(被验证的设计),验证功能单元包括:
介质访问控制模块(简称MAC模块),用于实现以太网通信的数据链路层;
接收FIFO,用于缓存输入的文件导出命令;
发送FIFO,用于缓存输出的数据文件;
控制状态机,用于对接收的文件导出命令进行分析与校验,并在文件导出命令通过分析与校验后控制DFI接口转换模块和内存控制器实现数据文件输出;
FPGA DDR PHY模块,用于与内存子卡相连;
DFI接口转换模块,用于实现FPGA DDR PHY模块、被验证单元、内存控制器以及控制状态机之间的接口转换;
内存控制器,用于在将控制状态机的读请求通过DFI接口转换模块发送给被验证单元,以及将DFI接口转换模块从被验证单元返回从内存中读取的文件数据发送到控制状态机;内存控制器具有AXI接口和DFI接口,AXI接口与控制状态机相连,DFI接口与DFI接口转换模块的上行DFI接口相连;
除法计算模块,用于为控制状态机执行除法计算以确定需读取内存的次数read_num;
时钟控制模块,用于向被验证单元提供时钟信号;
介质访问控制模块分别与接收FIFO、发送FIFO相连,接收FIFO的输出端与控制状态机的输入端相连,控制状态机分别与除法计算模块、内存控制器、DFI接口转换模块相互连接,且控制状态机与时钟控制模块的控制端相连,DFI接口转换模块还分别与被验证单元、FPGA DDR PHY模块以及内存控制器相连,内存控制器与发送FIFO相连。
参见图6,作为一种可选的实施方式,本实施例中上位机、以太网子卡之间通过RJ45网线相连,此外也可以根据需要采用光纤等。参见图6,本实施例中MAC模块、以太网子卡之间通过MII接口相连。
本实施例中,上位机是具有RJ45接口连接器的服务器或其他计算机设备,用于运行文件导出控制软件,在文件导出控制软件的作用下,上位机通过RJ45网线和以太网子卡向所述FPGA原型验证系统发送文件导出命令,并接收、保存由所述FPGA原型验证系统返回的文件数据。
以太网子卡用于以太网协议物理层信号的处理与传输。本实施例中,以太网子卡由以太网PHY芯片、FMC(FPGA Mezzanine Card)接口连接器、RJ45接口连接器和以太网变压器组成,以太网子卡通过其FMC接口连接器与FPGA原型验证系统的FMC接口连接器相连接,以太网片子卡通过RJ45接口连接器、RJ45线缆与上位机连接;以太网PHY芯片用于实现以太网通信的物理层,以太网PHY芯片的MII接口(介质独立接口,Medium IndependentInterface)管脚与以太网子卡上的FMC接口相连,进而可以连接到FPGA芯片内的MAC逻辑模块;以太网PHY芯片的以太网电信号收发接口通过以太网变压器与RJ45连接连接器连接;以太网PHY芯片对收到的MAC模块发送的并行数据进行并串转换、编码和数模转换后通过以太网变压器、RJ45接口连接器及RJ45线缆发送至上位机;反之,当以太网PHY芯片收到上位机通过RJ45线缆、RJ45接口连接器及以太网变压器发送的串行信号后,对接收到的串行信号进行模数转换、编码和串并转换后通过MII接口发送至MAC模块。
介质访问控制模块(简称MAC模块)用于实现以太网通信的数据链路层;本实施例中,MAC模块具有MII接口、数据发送接口和数据接收接口;MAC模块的MII接口连接到FPGA芯片的管脚,进而通过FPGA原型验证系统的PCB布线连接到FPGA原型验证系统的FMC接口连接器,实现与以太网子卡中PHY芯片MII接口的连接。
接收FIFO是工作于FPGA原型验证板上的FPGA芯片内的硬件功能模块,该模块的输入端口与MAC模块连接(如图6中的标号1所示),该模块的输出端口与控制状态机连接(如图6中标号3所示),还具有可对输入数据的字节数进行计数的计数器counter;接收FIFO的输入端口包括rx_fifo_data_in信号端口和rx_fifo_data_in_valid信号端口;接收FIFO的输出端口包括rx_fifo_data_out信号端口和rx_fifo_data_out_valid信号端口;当MAC模块将rx_fifo_data_in_valid置1后,MAC模块将其接收到的文件导出命令通过rx_fifo_data_in信号端口缓存到接收FIFO,计数器counter对MAC模块输入的数据字节数进行计数;当计数器counter的计数值达到64字节时,接收FIFO通过rx_fifo_data_out信号端口将其缓存的数据文件导出命令输出到控制状态机,并将rx_fifo_data_out_valid信号置1以通知控制状态机进行接收,并将计数器counter计数值清零。
发送FIFO是工作于FPGA原型验证板上的FPGA芯片内的硬件功能模块,该模块的输出端口与MAC模块连接(如图6中的标号2),该模块的输入端口与控制状态机连接(如图6中的标号4);发送FIFO的输入端口包括tx_fifo_data_in信号端口;发送FIFO的输出端口包括tx_fifo_data_out信号端口和tx_fifo_data_out_valid信号端口;控制状态机通过tx_fifo_data_in信号端口将文件导出数据包缓存到发送FIFO;控制状态机将tx_fifo_data_out_valid信号设置为1时,发送FIFO通过tx_fifo_data_out信号端口将其缓存的文件导出数据包输出到MAC模块。
控制状态机是工作于FPGA原型验证板上的FPGA芯片内的硬件功能模块,用于对接收的文件导出命令进行分析与校验,并在文件导出命令通过分析与校验后控制DFI接口转换模块和内存控制器实现数据文件输出。进行分析与校验是指控制状态机检验接收到数据的对应字节位上是否存在正确的文件导出命令起始符和文件导出命令结束符,若不存在则判断校验错误;若对应字节位上存在正确的文件导出命令起始符和文件导出命令结束符则判断校验正确,并根据文件导出命令格式提取文件在内存起始地址file_addr和文件大小file_size。
本实施例中,DFI接口转换模块是工作于FPGA原型验证板上的FPGA芯片内的硬件功能模块,该DFI接口转换模块有三个DFI接口,包括上行DFI接口A、上行DFI接口B和下行DFI接口;上行DFI接口A连接内存控制器(如图6中的标号5),上行DFI接口B连接待验证设计中的访存系统(如图6中的标号9),下行DFI接口连接FPGA DDR PHY模块(如图6中的标号10);该DFI接口转换模块还有一个查询接口,用于接收待测设计访存完成状态询问请求信号(如图6中的标号6);该DFI接口转换模块还有一个应答接口,用于输出监听应答信号(如图6中的标号7)。DFI接口转换模块具有norm和debug两种工作模式,当处于norm工作模式时上行DFI接口A与下行DFI接口连接,进而使内存控制器与FPGA DDR PHY模块连接;当处于debug工作模式时上行DFI接口B与下行DFI接口连接,进而使待验证设计中的访存系统与FPGA DDR PHY模块(FPGA物理内存适配模块)连接。
内存控制器是工作于FPGA原型验证板上的FPGA芯片内的硬件功能模块,内存控制器具有AXI接口和DFI接口,AXI接口与控制状态机相连(如图6中的标号13),DFI接口与DFI转换模块的上行DFI接口A相连(如图6中的标号5),内存控制器通过AXI接口接收状态机发送的AXI读请求,并将AXI读请求转换为DFI接口信号后通过DFI接口发送到DFI接口转换模块的上行DFI接口A;当DFI接口转换模块通过上行DFI接口A返回从内存中读取的文件数据后,内存控制器将读取的文件数据通过AXI接口发送到控制状态机。
如图7所示,所述控制状态机包含状态S0~S7共八种状态,其中:
状态S0为控制状态机的初始状态,复位时控制状态机处于状态S0,当控制状态机接收到接收FIFO输出的文件导出命令时,控制状态机由状态S0跳转到状态S1,否则继续保持在状态S0;
状态S1是指控制状态机根据文件导出命令的格式对接收到的文件导出命令进行分析与校验,若校验通过则由状态S1跳转到状态S2,若校验错误则跳转到状态S0;
状态S2为控制状态机计算需读取内存的次数read_num,并跳转状态S3;本实施例中,需读取内存的次数read_num存储在控制状态机内的寄存器,其复位值为0;read_num的计算方法是将文件大小file_size作为被除数,将mc_data_width作为除数,调用除法计算单元得到商quotient和余数remainder(如图6中的标号11),若余数remainder为零则需读取内存的次数read_num等于商quotient,若余数remainder不为零则需读取内存的次数read_num等于quotient加1;其中,mc_data_width是以字节为单位计算的内存控制器的数据线宽度。
状态S3为控制状态机监听被验证单元是否存在访存未完成请求,若被验证单元不存在未完成的访存请求,则控制状态机跳转到状态S4,否则保持状态S3;其中,监听被验证单元是否存在访存未完成请求是指:控制状态机向DFI接口转换模块发出待测设计访存完成状态询问请求信号(如图6中的标号6),DFI接口转换模块对待测设计是否已完成访存进行查询,并将查询结果通过监听应答信号反馈给控制状态机(如图6中的标号7);DFI接口转换模块处于debug工作模式(调试工作模式)时,在该模块将待测设计的访存请求通过下行DFI接口发送到FPGA DDR PHY模块后(如图6中的标号10),将该模块内的待测设计访存完成状态寄存器access_memory_state置为0;当FPGA DDR PHY模块通过下行DFI接口向DFI接口转换模块返回访存结果后,将待测设计访存完成状态寄存器access_memory_state置为1;当DFI接口转换模块接收到待测设计访存完成状态询问请求信号,若待测设计访存完成状态寄存器access_memory_state的值为0,则反馈的监听应答信号的值为1,表明待测设计存在访存未完成请求,否则反馈的监听应答信号的值为0,表明待测设计不存在访存未完成请求;
状态S4为控制状态机将时钟控制模块输出的使能信号的值设定为1,以及将DFI接口转换模块的工作模式设定为调试模式(debug模式);时钟控制模块受所示控制状态机控制(如图6中的标号12),时钟控制模块输出的使能信号输出到待测设计的时钟模块(如图6中的标号8),用以控制该模块输出到CPU核和访存系统的时钟信号;当使能信号为1时,时钟模块可以正常输出时钟信号,当使能信号为0时,时钟模块不输出有效时钟信号;
状态S5状态为控制状态机按照文件导出数据包格式和特定顺序向发送FIFO中填入数据,若数据填入完毕则跳转到状态S6,否则回到状态S5;
控制状态机向发送FIFO中填入数据包括文件数据包起始符、文件数据和文件导出数据包结束符(如图6中的标号4),文件导出数据包起始符和文件导出数据包结束符为固定值,文件数据是控制状态机通过内存控制器从内存中指定地址读取的数据;控制状态机按特定顺序向发送FIFO中填入数据,是指状态机首先向发送FIFO填入文件导出数据包起始符,而后将从内存中读取的文件数据填入发送FIFO,当填入发送FIFO的数据长度达到56字节时,再将文件导出数据包的结束符填入发送FIFO,从而达到数据填入完毕的状态;控制状态机包含发送数据长度寄存器send_count,send_count的复位值为0,控制状态机每次向发送FIFO填入1字节数据后send_count自加1,并在达到数据填入完毕的状态后,控制状态机将send_count的值设定为0;文件数据是控制状态机通过内存控制器从内存中指定地址读取的数据,是指控制状态机向内存控制器发送内存读取请求,读取的内存地址的计算方法为read_count与mc_data_width之乘积再加上file_addr,read_count为控制状态机内的寄存器,read_count的复位值为0,read_count为状态机通过内存控制器读取内存数据的累计次数,每次完成内存读取请求发送后read_count寄存器自加1;
状态S6为在控制状态机的控制下,将发送FIFO中的数据输出到MAC模块,进而MAC模块发送到以太网子卡并最终传输到上位机,而后控制状态机比较已读取内存的次数read_count与需读取内存的次数read_num的值是否相等,若相等则跳转到状态S7,否则跳转回到状态S5;
状态S7为控制状态机将时钟控制模块输出的使能信号的值设定为0(如图6中的标号8),以及将DFI接口转换模块的工作模式设定为norm模式,并跳转到所述S0状态。
如图7所示,本实施例中被验证单元(被验证的设计)包括时钟模块、CPU核和访存模块,所述时钟模块的输入端与所述验证功能单元中时钟控制模块的输出端相连,所述时钟模块的输出端分别与CPU核和访存模块的时钟信号输出端相连,所述CPU核和访存模块相互连接,且所述访存模块与所述验证功能单元中的DFI接口转换模块相连。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种用于FPGA原型验证系统的文件导出方法,其特征在于,包括:
步骤S1:将待测设计下载到FPGA原型验证系统中;
步骤S2:使用设备树文件引导上位机的操作系统启动,所述设备树文件对应的设备树中的内存节点中包含定义为保留内存的子节点,所述子节点用于保留一段操作系统不使用且连续的内存空间以用于存储要输出的数据文件;
步骤S3:在上位机的操作系统中将需要导出的数据文件搬移到保留的内存空间中;
步骤S4:向FPGA原型验证系统发送文件导出命令,获得需要导出的数据文件。
2.根据权利要求1所述的用于FPGA原型验证系统的文件导出方法,其特征在于,步骤S4中向FPGA原型验证系统发送文件导出命令是通过上位机中运行的文件导出控制软件实现的,所述文件导出控制软件的执行步骤包括:
步骤S4.1:程序初始化,完成网络通信参数与协议的初始化配置,使所述文件导出控制软件和所述FPGA原型验证系统之间可通过以太网进行通信;
步骤S4.2:接收用户输入的需导出数据文件的信息,包括:数据文件的名称file_name,数据文件在FPGA原型验证系统内存中的起始地址file_addr,以及数据文件以字节计数的文件大小file_size;
步骤S4.3:根据数据文件的名称file_name创建文件file_name_PC及其对应的文件计数指针pointer_file_name_PC,创建初始化为0的整型变量receive_count以记录从所述FPGA原型验证系统接收到的文件数据字节数;
步骤S4.4:根据需要导出的数据文件的文件命令格式,创建导出文件命令并通过以太网子卡发送到FPGA原型验证系统;
步骤S4.5:等待FPGA原型验证系统返回的文件导出数据包,并根据文件导出数据包的起始符和结束符提取出指定大小n字节的文件数据;
步骤S4.6:判断文件大小file_size减去整型变量receive_count的差是否大于或等于n字节,若成立则跳转到步骤S4.7,否则跳转到步骤S4.8;
步骤S4.7:通过文件计数指针pointer_file_name_PC将接收到的全部n字节文件数据写入文件file_name_PC,将整型变量receive_count自加n后跳转到所述步骤S4.5;
步骤S4.8:通过文件计数指针pointer_file_name_PC将接收到的文件数据中的前file_size-receive_count字节写入文件file_name_PC,并跳转到所述步骤S4.9;其中file_size-receive_count为文件大小file_size减去整型变量receive_count的差;
步骤S4.9:关闭文件计数指针pointer_file_name_PC,通过上位机显示终端提示用户的数据文件导出完毕并结束程序执行。
3.根据权利要求2所述的用于FPGA原型验证系统的文件导出方法,其特征在于,步骤4.5中指定大小n字节的文件数据是指54字节的文件数据。
4.根据权利要求1所述的用于FPGA原型验证系统的文件导出方法,其特征在于,步骤S3中在操作系统中将需要导出的数据文件搬移到保留的内存空间中是通过上位机的操作系统中运行的数据搬移程序实现的,所述数据搬移程序的执行步骤包括:
步骤S3.1:创建指向需要导出的数据文件file_name的文件指针pointer_file_name;创建整型变量write_count并初始化为0;
步骤S3.2:通过文件指针pointer_file_name读取数据文件file_name的1字节数据并存入字符型变量write_data中;
步骤S3.3:将字符型变量write_data的数据写入保留的内存空间;
步骤S3.4:将整型变量write_count自加1;
步骤S3.5:通过文件指针pointer_file_name判断数据文件file_name是否读取完毕,若读取完毕则跳转到步骤S3.6,否则跳转到步骤S3.2;
步骤S3.6:关闭文件指针pointer_file_name,在操作系统显示终端打印整型变量write_count并结束程序执行,所述整型变量write_count为数据文件file_name的文件大小file_size。
5.根据权利要求4所述的用于FPGA原型验证系统的文件导出方法,其特征在于,步骤S3.3包括:调用操作系统提供的devmem函数将字符型变量write_data的数据写入保留的内存空间,devmem函数包含两个参数,第一个参数为需要写入内存的数据,第二个参数为写入数据的地址,第一个参数的值设置为字符型变量write_data,所述第二个参数的设置为数据文件file_name在FPGA原型验证系统内存中的起始地址file_addr与整型变量write_count之和。
6.一种用于FPGA原型验证系统的文件导出系统,包括相互连接的微处理器和存储器,其特征在于,该微处理器被编程或配置以执行权利要求1~5中任意一项所述用于FPGA原型验证系统的文件导出方法的步骤。
7.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,该计算机程序用于被微处理器编程或配置以执行权利要求1~5中任意一项所述用于FPGA原型验证系统的文件导出方法的步骤。
8.一种用于应用权利要求1~5中任意一项所述的用于FPGA原型验证系统的文件导出方法的FPGA原型验证系统,其特征在于,包括上位机、以太网子卡和FPGA芯片,所述上位机通过以太网子卡与FPGA芯片相连,所述FPGA芯片包括验证功能单元和被验证单元,所述验证功能单元包括:
介质访问控制模块,用于实现以太网通信的数据链路层;
接收FIFO,用于缓存输入的文件导出命令;
发送FIFO,用于缓存输出的数据文件;
控制状态机,用于对接收的文件导出命令进行分析与校验,并在文件导出命令通过分析与校验后控制DFI接口转换模块和内存控制器实现数据文件输出;
FPGA DDR PHY模块,用于与内存子卡相连;
DFI接口转换模块,用于实现FPGA DDR PHY模块、被验证单元、内存控制器以及控制状态机之间的接口转换;
内存控制器,用于在将控制状态机的读请求通过DFI接口转换模块发送给被验证单元,以及将DFI接口转换模块从被验证单元返回从内存中读取的文件数据发送到所述控制状态机;所述内存控制器具有AXI接口和DFI接口,AXI接口与控制状态机相连,DFI接口与DFI接口转换模块的上行DFI接口相连;
除法计算模块,用于为控制状态机执行除法计算以确定需读取内存的次数read_num;
时钟控制模块,用于向被验证单元提供时钟信号;
所述介质访问控制模块分别与接收FIFO、发送FIFO相连,所述接收FIFO的输出端与控制状态机的输入端相连,所述控制状态机分别与除法计算模块、内存控制器、DFI接口转换模块相互连接,且所述控制状态机与时钟控制模块的控制端相连,所述DFI接口转换模块还分别与被验证单元、FPGA DDR PHY模块以及内存控制器相连,所述内存控制器与发送FIFO相连。
9.根据权利要求8所述的FPGA原型验证系统,其特征在于,所述控制状态机包含状态S0~S7共八种状态,其中:状态S0为控制状态机的初始状态,复位时控制状态机处于状态S0,当控制状态机接收到接收FIFO输出的文件导出命令时,控制状态机由状态S0跳转到状态S1,否则继续保持在状态S0;状态S1是指控制状态机根据文件导出命令的格式对接收到的文件导出命令进行分析与校验,若校验通过则由状态S1跳转到状态S2,若校验错误则跳转到状态S0;状态S2为控制状态机计算需读取内存的次数read_num,并跳转状态S3;状态S3为控制状态机监听被验证单元是否存在访存未完成请求,若被验证单元不存在未完成的访存请求,则控制状态机跳转到状态S4,否则保持状态S3;状态S4为控制状态机将时钟控制模块输出的使能信号的值设定为1,以及将DFI接口转换模块的工作模式设定为调试模式;状态S5状态为控制状态机按照文件导出数据包格式和特定顺序向发送FIFO中填入数据,若数据填入完毕则跳转到状态S6,否则回到状态S5;状态S6为在控制状态机的控制下,将发送FIFO中的数据输出到MAC模块,进而MAC模块发送到以太网子卡并最终传输到上位机,而后控制状态机比较已读取内存的次数read_count与需读取内存的次数read_num的值是否相等,若相等则跳转到状态S7,否则跳转回到状态S5;状态S7为控制状态机将时钟控制模块输出的使能信号的值设定为0,以及将DFI接口转换模块的工作模式设定为norm模式,并跳转到所述S0状态。
10.根据权利要求9所述的FPGA原型验证系统,其特征在于,被验证单元包括时钟模块、CPU核和访存模块,所述时钟模块的输入端与所述验证功能单元中时钟控制模块的输出端相连,所述时钟模块的输出端分别与CPU核和访存模块的时钟信号输出端相连,所述CPU核和访存模块相互连接,且所述访存模块与所述验证功能单元中的DFI接口转换模块相连。
CN202210468101.6A 2022-04-29 2022-04-29 一种用于fpga原型验证系统的文件导出方法及系统 Active CN114757134B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210468101.6A CN114757134B (zh) 2022-04-29 2022-04-29 一种用于fpga原型验证系统的文件导出方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210468101.6A CN114757134B (zh) 2022-04-29 2022-04-29 一种用于fpga原型验证系统的文件导出方法及系统

Publications (2)

Publication Number Publication Date
CN114757134A true CN114757134A (zh) 2022-07-15
CN114757134B CN114757134B (zh) 2024-09-10

Family

ID=82332985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210468101.6A Active CN114757134B (zh) 2022-04-29 2022-04-29 一种用于fpga原型验证系统的文件导出方法及系统

Country Status (1)

Country Link
CN (1) CN114757134B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020166062A1 (en) * 1999-07-06 2002-11-07 Helbig Walter A. Method and apparatus for enhancing computer system security
US9053216B1 (en) * 2013-08-09 2015-06-09 Datto, Inc. CPU register assisted virtual machine screenshot capture timing apparatuses, methods and systems
CN107766619A (zh) * 2017-09-26 2018-03-06 青岛海信电器股份有限公司 对芯片进行fpga原型验证的方法和装置
CN114138570A (zh) * 2021-10-29 2022-03-04 山东云海国创云计算装备产业创新中心有限公司 一种fpga的测试方法、系统、设备以及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020166062A1 (en) * 1999-07-06 2002-11-07 Helbig Walter A. Method and apparatus for enhancing computer system security
US9053216B1 (en) * 2013-08-09 2015-06-09 Datto, Inc. CPU register assisted virtual machine screenshot capture timing apparatuses, methods and systems
CN107766619A (zh) * 2017-09-26 2018-03-06 青岛海信电器股份有限公司 对芯片进行fpga原型验证的方法和装置
CN114138570A (zh) * 2021-10-29 2022-03-04 山东云海国创云计算装备产业创新中心有限公司 一种fpga的测试方法、系统、设备以及介质

Also Published As

Publication number Publication date
CN114757134B (zh) 2024-09-10

Similar Documents

Publication Publication Date Title
CN112861468B (zh) 一种软硬件协同仿真验证的方法、装置和介质
US9965405B2 (en) Initial enumeration of empty endpoint slots using endpoint emulation
CN112286746B (zh) 针对axi从设备接口的通用验证平台及方法
CN112364583B (zh) 一种fpga软硬件协同仿真系统及方法
CN115685785A (zh) 通用总线模型和仿真测试的方法
US20080312896A1 (en) Optimal bus operation performance in a logic simulation environment
CN107273249A (zh) 主板测试方法、处理器和主板测试系统
CN116225992A (zh) 一种支持虚拟化仿真设备的NVMe验证平台及方法
CN109684152B (zh) 一种risc-v处理器指令下载方法及其装置
CN107293330A (zh) 对随机存取存储器ram进行仿真验证的方法和仿真验证系统
CN114327975A (zh) 片上系统
WO2014000299A1 (zh) 串口重定向处理方法、设备和系统
CN114757134B (zh) 一种用于fpga原型验证系统的文件导出方法及系统
CN112966335A (zh) 接口仿真装置和自动驾驶仿真测试平台
CN112162879A (zh) 一种实时多核dsp软件的日志系统
US11176018B1 (en) Inline hardware compression subsystem for emulation trace data
CN113630294B (zh) 一种交换机模块化检测方法和装置
CN111371799B (zh) Mctp控制器收发数据的控制方法、装置及设备
CN115454881A (zh) Risc-v架构的调试系统及调试方法
US8949105B2 (en) Hardware interface board for connecting an emulator to a network
KR100306596B1 (ko) 프로세서와 재설정가능 칩을 사용한 집적회로 에뮬레이터
CN113360435A (zh) 一种智能水表串口通讯优化方法、装置、设备和介质
CN111896030A (zh) 一种光纤陀螺数据结构配置方法、数据结构及解析方法
US7702764B1 (en) System and method for testing network protocols
CN218886572U (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
GR01 Patent grant
GR01 Patent grant