CN117112447B - 一种数据传输方法、装置、电子设备及可读存储介质 - Google Patents

一种数据传输方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN117112447B
CN117112447B CN202311344665.XA CN202311344665A CN117112447B CN 117112447 B CN117112447 B CN 117112447B CN 202311344665 A CN202311344665 A CN 202311344665A CN 117112447 B CN117112447 B CN 117112447B
Authority
CN
China
Prior art keywords
data
file
target
storage unit
module
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
Application number
CN202311344665.XA
Other languages
English (en)
Other versions
CN117112447A (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.)
Beijing Open Source Chip Research Institute
Original Assignee
Beijing Open Source Chip Research Institute
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 Beijing Open Source Chip Research Institute filed Critical Beijing Open Source Chip Research Institute
Priority to CN202311344665.XA priority Critical patent/CN117112447B/zh
Publication of CN117112447A publication Critical patent/CN117112447A/zh
Application granted granted Critical
Publication of CN117112447B publication Critical patent/CN117112447B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3652Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • 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)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供一种数据传输方法、装置、电子设备及可读存储介质,涉及计算机技术领域。该方法包括:利用仿真软件对待测设计进行调试;待测设计烧录在可编程逻辑芯片中,可编程逻辑芯片中还包括数据写入模块和大容量存储单元;在满足预设条件的情况下,停止仿真软件的运行,并获取目标数据;根据目标数据和目标数据在所述大容量存储单元中的存储地址,生成目标文件;在目标文件中,目标数据与存储地址一一对应;利用数据写入模块基于目标文件,将目标数据写入大容量存储单元。本发明实施例为仿真软件往可编程逻辑芯片的大容量存储单元写入目标数据提供了切实可行的实现方式,提高了仿真软件往可编程逻辑芯片写入数据的效率。

Description

一种数据传输方法、装置、电子设备及可读存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据传输方法、装置、电子设备及可读存储介质。
背景技术
Writeback技术在现场可编程门阵列(Field-Programmable Gate Array,FPGA)的设计和验证中起到关键的作用,Writeback技术是Readback的反向操作。PC端可以将软件仿真后的各寄存器状态更新至FPGA芯片中,将FPGA芯片中各个寄存器都更新至和软件仿真停止时相同的状态,以继续在硬件进行验证、调试等操作。
但是,对于FPGA芯片中的大容量存储单元,例如,赛灵思(xilinx)的超级内存(UltraRAM,URAM),PC端通常无法通过现有的Writeback技术直接将软件仿真后的数据烧写至大容量存储单元中。
发明内容
本发明实施例提供一种数据传输方法、装置、电子设备及可读存储介质,可以解决相关技术中无法将仿真后的数据写入可编程逻辑芯片的大容量存储单元的问题。
为了解决上述问题,本发明实施例公开了一种数据传输方法,所述方法包括:
利用仿真软件对待测设计进行调试;所述待测设计烧录在可编程逻辑芯片中,所述可编程逻辑芯片中还包括数据写入模块和大容量存储单元;
在满足预设条件的情况下,停止所述仿真软件的运行,并获取目标数据;
根据所述目标数据和所述目标数据在所述大容量存储单元中的存储地址,生成目标文件;在所述目标文件中,所述目标数据与所述存储地址一一对应;
利用所述数据写入模块基于所述目标文件,将所述目标数据写入所述大容量存储单元。
另一方面,本发明实施例公开了一种数据传输装置,所述装置包括:
调试模块,用于利用仿真软件对待测设计进行调试;所述待测设计烧录在可编程逻辑芯片中,所述可编程逻辑芯片中还包括数据写入模块和大容量存储单元;
第一获取模块,用于在满足预设条件的情况下,停止所述仿真软件的运行,并获取目标数据;
生成模块,用于根据所述目标数据和所述目标数据在所述大容量存储单元中的存储地址,生成目标文件;在所述目标文件中,所述目标数据与所述存储地址一一对应;
写入模块,用于利用所述数据写入模块基于所述目标文件,将所述目标数据写入所述大容量存储单元。
再一方面,本发明实施例还公开了一种电子设备,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述的数据传输方法。
本发明实施例还公开了一种可读存储介质,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述的数据传输方法。
本发明实施例包括以下优点:
本发明实施例提供的数据传输方法,待测设计烧录在包括数据写入模块和大容量存储单元的可编程逻辑芯片中,在利用仿真软件对待测设计进行调试的过程中,在满足预设条件的情况下,可以停止仿真软件的运行,并获取目标数据;之后,根据目标数据和目标数据在大容量存储单元中的存储地址,生成目标文件,以供可编程逻辑芯片利用数据写入模块基于目标文件将目标数据写入大容量存储单元,从而实现将仿真软件中的目标数据写入到可编程逻辑芯片的大容量存储单元,为仿真软件往可编程逻辑芯片的大容量存储单元写入目标数据提供了切实可行的实现方式,提高了仿真软件往可编程逻辑芯片写入数据的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种数据传输方法实施例的步骤流程图;
图2是本发明的一种数据传输系统的架构示意图;
图3是本发明的一种数据传输装置的结构框图;
图4是本发明示例提供的一种用于数据传输的电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
方法实施例
参照图1,示出了本发明的一种数据传输方法实施例的步骤流程图,所述方法具体可以包括如下步骤:
步骤101、利用仿真软件对待测设计进行调试;所述待测设计烧录在可编程逻辑芯片中,所述可编程逻辑芯片中还包括数据写入模块和大容量存储单元。
步骤102、在满足预设条件的情况下,停止所述仿真软件的运行,并获取目标数据。
步骤103、根据所述目标数据和所述目标数据在所述大容量存储单元中的存储地址,生成目标文件;在所述目标文件中,所述目标数据与所述存储地址一一对应。
步骤104、利用所述数据写入模块基于所述目标文件,将所述目标数据写入所述大容量存储单元。
本发明实施例提供的数据传输方法可以应用于数据传输系统。该数据传输系统包括但不限于搭载有仿真软件的计算机设备和可编程逻辑芯片。可编程逻辑芯片包括待测设计、数据写入模块和大容量存储单元。其中,可编程逻辑芯片可以为FPGA芯片,待测设计(Design Under Test,DUT)指的是原型验证中待测试的电路设计或实现。大容量存储单元可以是URAM,也可以是其他FPGA厂商提供的其他大容量存储单元,本发明实施例对此不作具体限定。
URAM是一种高性能、高密度的存储器资源,可以用于存储数据、配置信息和其他需要快速访问的信息。与传统的存储单元(如BRAM)相比,URAM拥有更大的存储容量,可以存储更多的数据。这使得开发人员能够在FPGA上构建更复杂、更高性能的待测设计。
大容量存储单元分别与待测设计和数据写入模块连接,大容量存储单元用于存储待测设计的配置数据。待测设计在运行过程中可以将配置数据写入到大容量存储单元,也可以从大容量存储单元读取相关配置数据。
数据写入模块为本发明实施例为实现仿真软件向大容量存储单元中写入配置数据而设置的功能模块,数据写入模块与大容量存储单元连接的功能模块,用于将仿真软件中的目标数据写入大容量存储单元。
数据写入模块可以包括但不限于虚拟输入输出(Virtual Input/Output,VIO)端口和小容量存储单元。其中,小容量存储单元可以为是BRAM,BRAM是可编程逻辑芯片中的一种内存资源,用于存储数据的小型、高性能的内存块,可以提供快速访问和存储数据的能力,适用于各种应用场景。虚拟输入输出端口在可编程逻辑芯片中常用于测试、调试和验证电路。它允许设计人员以软件的方式模拟和操作电路的输入和输出,而无需实际连接物理信号。提供了更灵活、高效的测试和调试方式。
在本发明实施例中,搭载有仿真软件的设备计算机与可编程逻辑芯片可以通过通用串行总线(Universal Serial Bus,USB)接口、以太网、光纤接口中的任一项与目标设备建立通信连接。
参照图2,示出了本发明的一种数据传输系统的架构示意图。该数据传输系统包括可编程逻辑芯片20和目标设备30,目标设备30与可编程逻辑芯片20建立通信连接,用于将仿真软件301中的目标数据写入至可编程逻辑芯片20中的大容量存储单元202。
其中,编程逻辑芯片20包括待测设计201、大容量存储单元202和数据写入模块203,并且大容量存储单元202分别与待测设计201和数据写入模块203连接。目标设备30搭载有仿真软件301,仿真软件301与数据写入模块203建立连接。
具体地,目标设备30在利用仿真软件301对烧录在可编程逻辑芯片20中的待测设计201进行调试的过程中,在满足预设条件的情况下,目标设备30可以停止仿真软件301的运行,并从仿真软件中获取目标数据;根据目标数据和目标数据在大容量存储单元中的存储地址,生成目标文件;之后,目标设备30将目标文件发送至可编程逻辑芯片20中的数据写入模块203;最后,可编程逻辑芯片20利用数据写入模块203基于目标文件中目标数据与存储地址一一对应的关系,将目标数据写入大容量存储单元202。
在本发明实施例中,搭载仿真软件的计算机设备可以将从可编程逻辑芯片的存储单元中读取的配置数据导入到仿真软件中,利用仿真软件对待测设计进行调试,其中,可编程逻辑芯片的存储单元包括但不限于大容量存储单元和小容量存储单元。
停止仿真软件运行的预设条件可以包括但不限于仿真软件对待测设计的调试结果满足预设要求、仿真软件的运行时间达到预设时间周期等。其中,预设要求可以为仿真软件对待测设计的调试结果为通过,此时搭载仿真软件的计算机设备可以将仿真软件中调试后的配置数据作为目标数据,使得在可编程逻辑芯片利用数据写入模块将目标数据写入大容量存储单元之后,待测设计可以基于大容量存储单元中的目标数据继续运行;预设时间周期可以是仿真软件运行的一个时钟周期,也可以是仿真软件运行的多个时钟周期之和,在仿真软件的运行时间达到预设时间周期时,搭载仿真软件的设备可以将仿真软件在预设时间周期内的配置数据作为目标数据,使得在可编程逻辑芯片利用数据写入模块将目标数据写入大容量存储单元之后,可编程逻辑芯片中大容量单元更新至和仿真停止时相同的数据状态。
在本发明实施例中,搭载仿真软件的设备在检测到仿真软件在运行过程中满足预设条件的情况下,可以停止仿真软件的运行,获取仿真软件停止运行时的配置数据作为目标数据。可选地,计算机设备也可以将仿真软件停止运行的第一时刻到仿真软件停止运行的第二时刻之间的配置数据作为目标数据。其中,第一时刻可以为当前仿真软件停止运行的时刻,第二时刻可以是在第一时刻之前,且与第一时刻相邻的仿真软件停止运行的时刻。
可以理解的是,搭载仿真软件的计算机设备在获取到目标数据之后,可以控制仿真软件继续运行;或者在待测设计运行报错的情况下,再基于从可编程逻辑芯片中读取的待测设计运行报错的配置数据控制仿真软件继续运行,本发明实施例对此不作具体限定。
在本发明实施例中,搭载仿真软件的计算机设备在通过步骤102获取到目标数据之后,可以根据目标数据和目标数据在大容量存储单元中的存储地址,生成目标文件,在目标文件中目标数据和存储地址为一一对应的关系。参照表1,示出了本发明目标文件中目标数据和存储地址之间的对应关系。
需要说明的是,表1中示出目标数据和存储地址之间的对应关系只是一种示例,在实际应用场景下,不同的目标数据的数据内容以及存储地址不同。
表1
其中,目标文件的文件格式可以包括但不限于csv格式、txt格式、excel格式、coe格式等。关于目标文件的具体文件格式,可以基于可编程逻辑芯片厂商提供的目标文件生成逻辑确定,本发明实施例对此不作具体限定。
搭载仿真软件的计算机设备在通过步骤103生成目标文件之后,可以通过与可编程逻辑芯片之间的通信连接关系,将目标文件直接发送至可编程逻辑芯片中的数据写入模块,以供可编程逻辑芯片通过步骤104利用数据写入模块基于目标文件将目标数据写入大容量存储单元。当然,计算机设备也可以将目标设计发送到可编程逻辑芯片中的其他具有接收功能的功能模块中,再由该功能模块将目标文件发送至数据写入模块。
可编程逻辑芯片利用数据写入模块基于目标文件将目标数据写入大容量存储单元的过程具体可以为:可编程逻辑芯片首先对目标文件进行解析,得到目标文件中的目标数据和各组目标数据对应的存储地址;之后,利用数据写入模块基于存储地址将目标数据写入至大容量存储单元。
本发明实施例提供的数据传输方法,待测设计烧录在包括数据写入模块和大容量存储单元的可编程逻辑芯片中,在利用仿真软件对待测设计进行调试的过程中,在满足预设条件的情况下,可以停止仿真软件的运行,并获取目标数据;之后,根据目标数据和目标数据在大容量存储单元中的存储地址,生成目标文件,以供可编程逻辑芯片利用数据写入模块基于目标文件将目标数据写入大容量存储单元,从而实现将仿真软件中的目标数据写入到可编程逻辑芯片的大容量存储单元,为仿真软件往可编程逻辑芯片的大容量存储单元写入目标数据提供了切实可行的实现方式,提高了仿真软件往可编程逻辑芯片写入数据的效率。
可选地,所述数据写入模块为虚拟输入输出端口;步骤104所述利用所述数据写入模块基于所述目标文件,将所述目标数据写入所述大容量存储单元,包括:
步骤1041、利用所述数据写入模块,根据所述目标文件修改所述可编程逻辑芯片的比特流文件中所述存储地址对应的数据。
步骤1042、基于所述比特流文件,将所述目标数据写入所述大容量存储单元。
在本发明实施例中,可编程逻辑芯片中包括比特流文件,比特流文件中存储有待测设计的部分或者全部配置数据以及配合数据在可编程逻辑芯片中的存储地址。
可编程逻辑芯片在将目标文件传输至数据写入模块之后,可以首先利用数据写入模块获取目标文件中的目标数据和目标数据对应的存储地址;然后再利用数据写入模块基于存储地址,修改可编程逻辑芯片的比特流文件中存储地址对应的数据。
需要说明的是,可编程逻辑芯片在利用数据写入模块,根据目标文件修改可编程逻辑芯片的比特流文件中存储地址对应的数据的方式具体可以为:利用数据写入模块将目标数据对应的存储地址与比特流文件中的存储地址进行匹配,在二者相匹配的情况下,用目标数据覆盖比特流文件中该存储地址对应的数据;或者,在目标数据对应的存储地址与比特流文件中的存储地址相匹配的情况下,在比特流文件中该存储地址对应的数据下添加目标数据。本发明实施例对根据目标文件修改比特流文件中存储地址对应的数据的方式不作具体限定。
可编程逻辑芯片在利用数据写入模块根据目标文件修改比特流文件之后,可以继续基于修改后的比特流文件,利用数据写入模块将目标数据烧写到大容量存储单元。
在本发明实施例中,目标文件的文件格式可以为是csv格式、txt格式、excel格式中任一种。数据写入模块具体可以是虚拟输入输出端口。
本发明实施例提供的数据传输方法,在目标文件的文件格式可以为是csv格式、txt格式、excel格式的情况下,可编程逻辑芯片可以利用虚拟输入输出端口根据目标文件中的目标数据和存储地址修改比特流文件中所述存储地址对应的数据,并基于修改后的比特流文件将目标数据写入大容量存储单元,不需要基于目标文件重新生成新的比特流文件,具有较高的数据传输效率。
可选地,在步骤104所述利用所述数据写入模块基于所述目标文件,将所述目标数据写入所述大容量存储单元之前,所述方法还包括:
步骤S11、在所述目标文件的文件格式不是预设格式的情况下,对所述目标文件进行解析处理,得到解析文件;所述解析文件的文件格式为所述预设格式。
步骤S12、将所述解析文件传输至所述数据写入模块。
在本发明实施例中,预设格式为数据写入模块支持的格式。在搭载仿真软件的计算机设备支持预设格式的情况下,计算机设备在通过步骤103生成目标文件的过程中,可以直接生成预设格式的目标文件。在可编程逻辑芯片接收到的目标文件的文件格式是预设格式的情况下,可编程逻辑芯片可以不对目标文件进行如步骤S11和步骤S12所述的处理操作,直接将预设格式的目标文件传输至数据写入模块,并执行步骤104。从而减少了可编程逻辑芯片对目标文件的解析处理操作,提高了将仿真软件中的目标数据写入大容量存储单元的效率。
在搭载仿真软件的计算机设备不支持预设格式的情况下,在可编程逻辑芯片接收到的目标文件的文件格式是预设格式时,可编程逻辑芯片可以通过步骤S11和步骤S12所述的处理操作,将目标文件进行解析处理得到文件格式为预设格式的解析文件,并将解析文件传输至数据写入模块,执行步骤104。
作为一种示例,在虚拟输入输出端口支持txt格式的情况下,预设文件格式为txt格式。在目标文件的文件格式是csv格式或者excel格式的情况下,可编程逻辑芯片在接收到计算机设备发送的目标文件之后,可以首先将目标文件进行解析处理,得到txt格式的解析文件,然后再将txt格式的解析文件传输至数据写入模块(虚拟输入输出端口)。在目标文件的文件格式是txt格式的情况下,可编程逻辑芯片在接收到计算机设备发送的目标文件之后,可以直接将txt格式的目标文件传输至数据写入模块(虚拟输入输出端口)。
其中,可编程逻辑芯片可以基于与目标文件的文件格式相应的解析逻辑,将目标文件格式解析为预设格式的解析文件。
可选地,所述数据写入模块为小容量存储单元;步骤104所述利用所述数据写入模块基于所述目标文件,将所述目标数据写入所述大容量存储单元,包括:
步骤1043、利用所述数据写入模块,根据所述目标文件生成比特流文件。
步骤1044、根据所述比特流文件,将所述目标数据写入所述大容量存储单元。
在本发明实施例中,可编程逻辑芯片在将目标文件或者目标文件对应的解析文件传输至数据写入模块之后,可以首先利用数据写入模块从目标文件或者解析文件中获取目标数据和目标数据对应的存储地址;然后,再利用数据写入模块基于存储地址和目标数据,生成包括目标数据和存储地址的比特流文件。其中,在比特流文件中,目标数据和存储地址一一对应。
可编程逻辑芯片在利用数据写入模块根据目标文件生成比特流文件之后,可以继续基于生成的比特流文件,利用数据写入模块将目标数据烧写到大容量存储单元。
在本发明实施例中,目标文件的文件格式可以为是coe格式。数据写入模块具体可以是小容量存储单元,例如BRAM。
其中,数据写入模块可以利用可编程逻辑芯片厂商提供的比特流文件生成工具生成比特流文件。
本发明实施例提供的数据传输方法,在目标文件的文件格式是coe格式的情况下,可编程逻辑芯片可以利用小容量存储单元基于目标文件中的目标数据和存储地址生成比特流文件,并根据比特流文件,将目标数据写入大容量存储单元,该过程不需要逆向修改比特流文件,容易实现。
本发明实施例提供的数据传输方法,不需要基于目标文件重新生成新的比特流文件,提高了数据传输的效率。
可选地,在步骤101所述利用仿真软件对待测设计进行调试之前,所述方法还包括:
步骤S21、对所述待测设计进行验证。
步骤S22、在确定所述待测设计验证出错的情况下,中断所述待测设计的运行。
步骤S23、利用快照机制获取所述待测设计的状态信息。
步骤101所述利用仿真软件对待测设计进行调试,包括:
步骤1011、将所述状态信息导入到所述仿真软件中进行仿真,以对所述待测设计进行调试。
在本发明实施例中,在搭载仿真软件的计算机设备利用仿真软件对待测设计进行调试之前,可编程逻辑芯片可以首先基于待测设计的配置数据对待测设计进行验证,在待测设计在验证过程中出错的情况下,可编程逻辑芯片中断待测设计的运行,并通过快照机制获取待测设计验证出错时刻的配置数据,将配置数据确定为待测设计的状态信息。
当然,在可编程逻辑芯片基于待测设计的配置数据对待测设计进行验证的过程中,待测设计在验证过程中未出错的情况下,表明当前的配置数据不需要仿真软件进行调整,因此无需执行步骤S11至步骤S23,以及步骤1011对应的操作。
其中,通过快照机制可编程逻辑芯片可以获取到在待测设计验证出错时,可编程逻辑芯片的各个存储单元中存储的状态信息,存储单元包括但不限于前述的大容量存储单元和小容量存储单元。
综上,本发明实施例提供了一种数据传输方法,待测设计烧录在包括数据写入模块和大容量存储单元的可编程逻辑芯片中,在利用仿真软件对待测设计进行调试的过程中,在满足预设条件的情况下,可以停止仿真软件的运行,并获取目标数据;之后,根据目标数据和目标数据在大容量存储单元中的存储地址,生成目标文件,以供可编程逻辑芯片利用数据写入模块基于目标文件将目标数据写入大容量存储单元,从而实现将仿真软件中的目标数据写入到可编程逻辑芯片的大容量存储单元,为仿真软件往可编程逻辑芯片的大容量存储单元写入目标数据提供了切实可行的实现方式,提高了仿真软件往可编程逻辑芯片写入数据的效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
装置实施例
参照图3,示出了本发明的一种数据传输装置的结构框图,所述装置具体可以包括:
调试模块301,用于利用仿真软件对待测设计进行调试;所述待测设计烧录在可编程逻辑芯片中,所述可编程逻辑芯片中还包括数据写入模块和大容量存储单元;
第一获取模块302,用于在满足预设条件的情况下,停止所述仿真软件的运行,并获取目标数据;
生成模块303,用于根据所述目标数据和所述目标数据在所述大容量存储单元中的存储地址,生成目标文件;在所述目标文件中,所述目标数据与所述存储地址一一对应;
写入模块304,用于利用所述数据写入模块基于所述目标文件,将所述目标数据写入所述大容量存储单元。
可选地,所述数据写入模块为虚拟输入输出端口;所述写入模块,包括:
修改子模块,用于利用所述数据写入模块,根据所述目标文件修改所述可编程逻辑芯片的比特流文件中所述存储地址对应的数据;
第一写入子模块,用于基于所述比特流文件,将所述目标数据写入所述大容量存储单元。
可选地,所述数据写入模块为小容量存储单元;所述写入模块,包括:
生成子模块,用于利用所述数据写入模块,根据所述目标文件生成比特流文件;
第二写入子模块,用于根据所述比特流文件,将所述目标数据写入所述大容量存储单元。
可选地,所述装置还包括:
验证模块,用于对所述待测设计进行验证;
控制模块,用于在确定所述待测设计验证出错的情况下,中断所述待测设计的运行;
第二获取模块,用于利用快照机制获取所述待测设计的状态信息;
所述调试模块,包括:
信息导入子模块,用于将所述状态信息导入到所述仿真软件中进行仿真,以对所述待测设计进行调试。
可选地,所述装置还包括:
解析模块,用于在所述目标文件的文件格式不是预设格式的情况下,对所述目标文件进行解析处理,得到解析文件;所述解析文件的文件格式为所述预设格式;
传输模块,用于将所述解析文件传输至所述数据写入模块。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的处理器,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
参照图4,是本发明实施例提供的一种用于数据传输的电子设备的结构框图。如图4所示,所述电子设备包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述实施例的数据传输方法。
所述处理器可以是CPU(Central Processing Unit,中央处理器),通用处理器、DSP(Digital Signal Processor,数字信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmble Gate Array,现场可编程门阵列)或者其他可编辑器件、晶体管逻辑器件、硬件部件或者其任意组合。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
所述通信总线可包括一通路,在存储器和通信接口之间传送信息。通信总线可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。所述通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器可以是ROM(Read Only内存,只读内存)或可存储静态信息和指令的其他类型的静态存储设备、RAM(Random Access,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically Erasable Programmable ReadOnly,电可擦可编程只读内存)、CD-ROM(Compact Disa Read Only,只读光盘)、磁带、软盘和光数据存储设备等。
本发明实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备(服务器或者终端)的处理器执行时,使得处理器能够执行图1所示的数据传输方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以预测方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据传输方法、装置、电子设备及可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种数据传输方法,其特征在于,所述方法包括:
利用仿真软件对待测设计进行调试;所述待测设计烧录在可编程逻辑芯片中,所述可编程逻辑芯片中还包括数据写入模块和大容量存储单元;
在满足预设条件的情况下,停止所述仿真软件的运行,并获取目标数据;
根据所述目标数据和所述目标数据在所述大容量存储单元中的存储地址,生成目标文件;在所述目标文件中,所述目标数据与所述存储地址一一对应;
利用所述数据写入模块基于所述目标文件,将所述目标数据写入所述大容量存储单元。
2.根据权利要求1所述的方法,其特征在于,所述数据写入模块为虚拟输入输出端口;所述利用所述数据写入模块基于所述目标文件,将所述目标数据写入所述大容量存储单元,包括:
利用所述数据写入模块,根据所述目标文件修改所述可编程逻辑芯片的比特流文件中所述存储地址对应的数据;
基于所述比特流文件,将所述目标数据写入所述大容量存储单元。
3.根据权利要求1所述的方法,其特征在于,所述数据写入模块为小容量存储单元;所述利用所述数据写入模块基于所述目标文件,将所述目标数据写入所述大容量存储单元,包括:
利用所述数据写入模块,根据所述目标文件生成比特流文件;
根据所述比特流文件,将所述目标数据写入所述大容量存储单元。
4.根据权利要求1所述的方法,其特征在于,在利用仿真软件对待测设计进行调试之前,所述方法还包括:
对所述待测设计进行验证;
在确定所述待测设计验证出错的情况下,中断所述待测设计的运行;
利用快照机制获取所述待测设计的状态信息;
所述利用仿真软件对待测设计进行调试,包括:
将所述状态信息导入到所述仿真软件中进行仿真,以对所述待测设计进行调试。
5.根据权利要求1所述的方法,其特征在于,在利用所述数据写入模块基于所述目标文件,将所述目标数据写入所述大容量存储单元之前,所述方法还包括:
在所述目标文件的文件格式不是预设格式的情况下,对所述目标文件进行解析处理,得到解析文件;所述解析文件的文件格式为所述预设格式;
将所述解析文件传输至所述数据写入模块。
6.一种数据传输装置,其特征在于,所述装置包括:
调试模块,用于利用仿真软件对待测设计进行调试;所述待测设计烧录在可编程逻辑芯片中,所述可编程逻辑芯片中还包括数据写入模块和大容量存储单元;
第一获取模块,用于在满足预设条件的情况下,停止所述仿真软件的运行,并获取目标数据;
生成模块,用于根据所述目标数据和所述目标数据在所述大容量存储单元中的存储地址,生成目标文件;在所述目标文件中,所述目标数据与所述存储地址一一对应;
写入模块,用于利用所述数据写入模块基于所述目标文件,将所述目标数据写入所述大容量存储单元。
7.根据权利要求6所述的装置,其特征在于,所述数据写入模块为虚拟输入输出端口;所述写入模块,包括:
修改子模块,用于利用所述数据写入模块,根据所述目标文件修改所述可编程逻辑芯片的比特流文件中所述存储地址对应的数据;
第一写入子模块,用于基于所述比特流文件,将所述目标数据写入所述大容量存储单元。
8.根据权利要求6所述的装置,其特征在于,所述数据写入模块为小容量存储单元;所述写入模块,包括:
生成子模块,用于利用所述数据写入模块,根据所述目标文件生成比特流文件;
第二写入子模块,用于根据所述比特流文件,将所述目标数据写入所述大容量存储单元。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
验证模块,用于对所述待测设计进行验证;
控制模块,用于在确定所述待测设计验证出错的情况下,中断所述待测设计的运行;
第二获取模块,用于利用快照机制获取所述待测设计的状态信息;
所述调试模块,包括:
信息导入子模块,用于将所述状态信息导入到所述仿真软件中进行仿真,以对所述待测设计进行调试。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
解析模块,用于在所述目标文件的文件格式不是预设格式的情况下,对所述目标文件进行解析处理,得到解析文件;所述解析文件的文件格式为所述预设格式;
传输模块,用于将所述解析文件传输至所述数据写入模块。
11.一种电子设备,其特征在于,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行如权利要求1至5中任一项所述的数据传输方法。
12.一种可读存储介质,其特征在于,当所述可读存储介质中的指令由电子设备的处理器执行时,使得所述处理器能够执行如权利要求1至5中任一项所述的数据传输方法。
CN202311344665.XA 2023-10-17 2023-10-17 一种数据传输方法、装置、电子设备及可读存储介质 Active CN117112447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311344665.XA CN117112447B (zh) 2023-10-17 2023-10-17 一种数据传输方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311344665.XA CN117112447B (zh) 2023-10-17 2023-10-17 一种数据传输方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN117112447A CN117112447A (zh) 2023-11-24
CN117112447B true CN117112447B (zh) 2023-12-22

Family

ID=88813077

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311344665.XA Active CN117112447B (zh) 2023-10-17 2023-10-17 一种数据传输方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN117112447B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111192615A (zh) * 2019-12-31 2020-05-22 杭州士兰微电子股份有限公司 可编程存储单元、非易失性存储系统及其控制方法
CN111813670A (zh) * 2020-07-03 2020-10-23 北京计算机技术及应用研究所 一种非侵入式mc/dc覆盖率统计分析方法
CN111949577A (zh) * 2020-07-30 2020-11-17 电子科技大学 一种高速高精度采样数据大容量存储快速传输方法
CN112634801A (zh) * 2021-01-08 2021-04-09 北京集睿致远科技有限公司 一种片内逻辑分析仪及芯片调试方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8724389B2 (en) * 2012-07-26 2014-05-13 Ocz Storage Solutions, Inc. Non-volatile solid state memory-based mass storage device and methods thereof
CN113868148B (zh) * 2020-06-30 2024-04-09 华为技术有限公司 一种数据写入的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111192615A (zh) * 2019-12-31 2020-05-22 杭州士兰微电子股份有限公司 可编程存储单元、非易失性存储系统及其控制方法
CN111813670A (zh) * 2020-07-03 2020-10-23 北京计算机技术及应用研究所 一种非侵入式mc/dc覆盖率统计分析方法
CN111949577A (zh) * 2020-07-30 2020-11-17 电子科技大学 一种高速高精度采样数据大容量存储快速传输方法
CN112634801A (zh) * 2021-01-08 2021-04-09 北京集睿致远科技有限公司 一种片内逻辑分析仪及芯片调试方法

Also Published As

Publication number Publication date
CN117112447A (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
JP7270764B2 (ja) 人工知能チップ検証
US10289779B2 (en) Universal verification methodology (UVM) register abstraction layer (RAL) traffic predictor
US10209306B2 (en) Methods and systems for generating functional test patterns for manufacture test
CN110632499B (zh) 基于测试对象的测试向量生成方法及存储介质
CN115146568B (zh) 一种基于uvm的芯片验证系统及验证方法
CN117094269B (zh) 一种验证方法、装置、电子设备及可读存储介质
CN102147831A (zh) 逻辑验证方法和装置
US9690681B1 (en) Method and system for automatically generating executable system-level tests
CN112286750A (zh) 一种gpio验证方法、装置、电子设备和介质
CN117076337B (zh) 一种数据传输方法、装置、电子设备及可读存储介质
CN114548027A (zh) 在验证系统中追踪信号的方法、电子设备及存储介质
CN117910398A (zh) 仿真逻辑系统设计的方法、电子装置和存储介质
US10929584B1 (en) Environmental modification testing for design correctness with formal verification
CN112731117A (zh) 芯片的自动验证方法和系统,及存储介质
US20070265822A1 (en) Data processing system and method
CN117112447B (zh) 一种数据传输方法、装置、电子设备及可读存储介质
US10198539B1 (en) Systems and methods for dynamic RTL monitors in emulation systems
KR102325612B1 (ko) 시뮬레이터를 구현하는 방법, 장치, 기기 및 매체
CN111338761B (zh) 一种51单片机虚拟中断控制器及实现方法
WO2020138386A1 (ja) 以前のトレースデータを使用する協調シミュレーションリピータ
CN117725866B (zh) 一种验证方法、装置、电子设备及可读存储介质
CN116594830B (zh) 硬件仿真工具、调试方法和存储介质
CN117113907B (zh) 一种验证方法、装置、电子设备及可读存储介质
CN114662430B (zh) 待测设计的回归测试方法、设备及存储介质
CN110321574B (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