CN113326670B - 原型验证***、方法、处理单元、及设备 - Google Patents

原型验证***、方法、处理单元、及设备 Download PDF

Info

Publication number
CN113326670B
CN113326670B CN202110602281.8A CN202110602281A CN113326670B CN 113326670 B CN113326670 B CN 113326670B CN 202110602281 A CN202110602281 A CN 202110602281A CN 113326670 B CN113326670 B CN 113326670B
Authority
CN
China
Prior art keywords
processing unit
module
memory
tested
arm
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
CN202110602281.8A
Other languages
English (en)
Other versions
CN113326670A (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.)
Shanghai Power Tensors Intelligent Technology Co Ltd
Original Assignee
Shanghai Power Tensors Intelligent Technology 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 Shanghai Power Tensors Intelligent Technology Co Ltd filed Critical Shanghai Power Tensors Intelligent Technology Co Ltd
Priority to CN202110602281.8A priority Critical patent/CN113326670B/zh
Publication of CN113326670A publication Critical patent/CN113326670A/zh
Application granted granted Critical
Publication of CN113326670B publication Critical patent/CN113326670B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

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)
  • Tests Of Electronic Circuits (AREA)

Abstract

本公开提供了一种原型验证***、方法、处理单元及设备,该原型验证***包括ARM处理单元和FPGA处理单元;FPGA处理单元包括待测芯片模块;ARM处理单元与FPGA处理单元之间通信相连;ARM处理单元用于获取所述待测芯片模块运行所需的输入数据,并将读取的输入数据传输至所述FPGA处理单元;以及,生成控制指令,并将所述控制指令传输至所述FPGA处理单元;所述待测芯片模块,用于响应获得的所述控制指令,获取所述输入数据,按照所述控制指令对所述输入数据进行处理,得到输出数据。

Description

原型验证***、方法、处理单元、及设备
技术领域
本公开涉及集成电路技术领域,具体而言,涉及一种原型验证***、方法、处理单元及设备。
背景技术
人工智能(Artificial Intelligence,AI)芯片可以是一种融合AI算法的特殊应用集成电路,该AI芯片可以应用于数据中心、智能安防、自动驾驶等领域内。
随着芯片集成度提高和性能的多元化,令芯片设计要求也变得越来越复杂,故为了验证AI芯片设计是否符合需求,需要使用原型验证***对设计的AI芯片进行验证,使得对AI芯片的原型验证已成为数字芯片设计中必不可少的步骤。具体的,原型验证***可以在AI芯片流片之前,通过将设计的AI芯片放置在原型验证***上,对AI芯片的功能进行验证。
因此,设计一种能够较为高效和灵活的对AI芯片进行验证的原型验证***至关重要。
发明内容
有鉴于此,本公开至少提供一种原型验证***、方法、处理单元及设备。
第一方面,本公开提供了一种原型验证***,所述***包括:微处理器(AdvancedRISC Machines,ARM)处理单元和现场可编程逻辑门阵列(Field Programmable GateArray,FPGA)处理单元;所述FPGA处理单元包括待测芯片模块;所述ARM处理单元与所述FPGA处理单元之间通信相连;
所述ARM处理单元,用于获取所述待测芯片模块运行所需的输入数据,并将读取的输入数据传输至所述FPGA处理单元;以及,生成控制指令,并将所述控制指令传输至所述FPGA处理单元;
所述待测芯片模块,用于响应获得的所述控制指令,获取所述输入数据,按照所述控制指令对所述输入数据进行处理,得到输出数据。
本公开提供的原型验证***包括ARM处理单元和FPGA处理单元;FPGA处理单元包括待测芯片模块;ARM处理单元与FPGA处理单元之间通信相连。本公开实施方式中,可以在AI芯片的硬件开发工作完成之前,在ARM处理单元上开发软件驱动和应用程序,而不需要依赖于AI芯片的架构以及硬件开发,加快了对软件代码的开发和维护的速度,进而可以加快AI芯片的验证加速和早期软件开发,即可以加快AI芯片的研发周期。
同时,通过将ARM处理单元与FPGA处理单元通信相连,无需占用FPGA处理单元的逻辑资源,有利于数据的快速传输,以及能够通过ARM处理单元对AI芯片的状态进行配置、检测和调试,同时,ARM处理单元可以接收待测芯片模块在运行过程中产生的中断指令,通过接收到的中断指令,能够对AI芯片调试过程中产生的问题进行问题定位。
一种可能的实施方式中,所述ARM处理单元包括ARM模块和第一存储器;所述FPGA处理单元还包括第二存储器和通信模块;
所述ARM模块,用于从所述第一存储器中读取所述待测芯片模块运行所需的输入数据,并将读取的输入数据通过所述通信模块传输至所述第二存储器;以及,生成控制指令,并将所述控制指令通过所述通信模块传输至所述待测芯片模块;
所述待测芯片模块,用于响应所述控制指令,从所述第二存储器中读取所述输入数据,按照所述控制指令对所述输入数据进行处理,得到输出数据,并将所述输出数据存储至所述第二存储器。
一种可能的实施方式中,所述待测芯片模块,还用于在得到输出数据之后,生成指示数据处理完成的目标中断指令,并将所述目标中断指令通过所述通信模块传输至所述ARM模块;
所述ARM模块,还用于响应于所述目标中断指令,通过所述通信模块从所述第二存储器中获取所述输出数据,并将所述输出数据发送至所述ARM处理单元的所述第一存储器。
一种可能的实施方式中,所述通信模块为高速串行计算机扩展总线标准(peripheral component interconnect express,PCIe)通信模块;所述ARM处理单元中还包括PCIe扩展插槽;所述PCIe通信模块与所述PCIe扩展插槽相连。
本公开实施方式中,通信模块可以为PCIe通信模块,该PCIe通信模块能够高效的进行数据的传输,满足了待测芯片模块(比如AI芯片)对于视频数据、图像数据等较大数据量的带宽要求;比如可以使得待测芯片模块的输出数据能够较为高效的传输至ARM处理单元中,使用PCIe通信模块能够提高了原型验证***的数据传输效率,进而可以提高原型验证***的验证效率。同时,数据传输速率的加快,可以有助于对待测芯片模块的内部信号进行有效的采集、以及对待测芯片模块的状态进行有效检测,进而有利于待测芯片模块的验证调试。
一种可能的实施方式中,所述FPGA处理单元中包括存储控制模块,所述存储控制模块与所述第二存储器相连,所述存储控制模块用于控制所述第二存储器的读写操作。
一种可能的实施方式中,所述FPGA处理单元还包括原型平台寄存器模块;
所述原型平台寄存器模块,用于响应所述待测芯片模块的第一中断指令,将所述第一中断指令转换为所述通信模块支持的中断类型的第二中断指令,将所述第二中断指令通过所述通信模块传输至所述ARM处理单元;以及接收所述ARM处理单元发送的第三中断指令。
一种可能的实施方式中,所述FPGA处理单元还包括总线模块,所述总线模块用于控制所述FPGA处理单元中包括的不同模块之间的互联,以及控制各个模块对所述第二存储器的读写操作。
以下处理单元、原型验证方法、电子设备等的效果描述参见上述原型验证***的说明,这里不再赘述。
第二方面,本公开提供了一种微处理器ARM处理单元,所述ARM处理单元包括ARM模块和第一存储器;
所述第一存储器,用于存储现场可编程逻辑门阵列FPGA处理单元的待测芯片模块运行所需的输入数据;
所述ARM模块,用于从所述第一存储器中读取所述输入数据,并将读取的输入数据发送至所述FPGA处理单元的通信模块;以及,生成控制指令,并将所述控制指令通过所述FPGA处理单元的通信模块传输至所述待测芯片模块。
一种可能的实施方式中,所述ARM处理单元中还包括PCIe扩展插槽;所述PCIe扩展插槽与所述FPGA处理单元的通信模块相连。
第三方面,本公开提供了一种现场可编程逻辑门阵列FPGA处理单元,所述FPGA处理单元包括待测芯片模块;
所述待测芯片模块,用于响应获得的所述控制指令,获取所述输入数据,按照所述控制指令对所述输入数据进行处理,得到输出数据。
一种可能的实施方式中,所述FPGA处理单元还包括通信模块和第二存储器;
所述通信模块,用于接收微处理器ARM处理单元发送的输入数据,并将所述输入数据传输至所述第二存储器,以及,从所述第二存储器中获取所述待测芯片模块的输出数据,并将所述待测芯片模块的输出数据发送至所述ARM处理单元;
所述第二存储器,用于存储所述输入数据和所述待测芯片模块的输出数据;
所述待测芯片模块,用于响应所述ARM处理单元的控制指令,从所述第二存储器中读取所述输入数据,并按照所述控制指令对所述输入数据进行处理,得到输出数据,并将所述输出数据存储至所述第二存储器。
一种可能的实施方式中,所述FPGA处理单元中包括存储控制模块,所述存储控制模块与所述第二存储器相连,所述存储控制模块用于控制所述第二存储器的读写操作。
一种可能的实施方式中,所述FPGA处理单元还包括原型平台寄存器模块;
所述原型平台寄存器模块,用于响应所述待测芯片模块的第一中断指令,将所述第一中断指令转换为所述通信模块支持的中断类型的第二中断指令,将所述第二中断指令传输至所述通信模块;以及接收ARM处理单元发送的第三中断指令。
一种可能的实施方式中,所述FPGA处理单元还包括总线模块,所述总线模块用于控制所述FPGA处理单元中包括的不同模块之间的互联,以及控制各个模块对所述第二存储器的读写操作。
第四方面,本公开提供了一种原型验证方法,所述原型验证方法应用于第一方面所述的原型验证***,包括:
控制ARM处理单元获取待测芯片模块运行所需的输入数据,并将读取的输入数据传输至所述FPGA处理单元;以及,生成控制指令,并将所述控制指令传输至所述FPGA处理单元;
控制待测芯片模块,用于响应获得的所述控制指令,获取所述输入数据,按照所述控制指令对所述输入数据进行处理,得到输出数据。
一种可能的实施方式中,在所述ARM处理单元包括ARM模块和第一存储器;所述FPGA处理单元还包括第二存储器和通信模块的情况下,所述控制ARM处理单元获取待测芯片模块运行所需的输入数据,并将读取的输入数据传输至所述FPGA处理单元;以及,生成控制指令,并将所述控制指令传输至所述FPGA处理单元,包括:
控制所述ARM模块从所述第一存储器中读取所述待测芯片模块运行所需的输入数据,并将读取的输入数据通过所述通信模块传输至所述第二存储器;以及,生成控制指令,并将所述控制指令通过所述通信模块传输至所述待测芯片模块;
控制所述待测芯片模块响应所述控制指令,从所述第二存储器中读取所述输入数据,按照所述控制指令对所述输入数据进行处理,得到输出数据,并将所述输出数据存储至所述第二存储器。
一种可能的实施方式中,在得到输出数据之后,所述方法还包括:
控制所述待测芯片模块生成指示数据处理完成的目标中断指令,并将所述目标中断指令通过所述通信模块传输至所述ARM模块;
控制所述ARM模块响应于所述目标中断指令,通过所述通信模块从所述第二存储器中获取所述输出数据,并将所述输出数据发送至所述ARM处理单元的所述第一存储器。
一种可能的实施方式中,在所述FPGA处理单元中还包括存储控制模块,以及所述存储控制模块与所述第二存储器相连的情况下,所述方法还包括:
通过所述存储控制模块控制所述第二存储器的读写操作。
一种可能的实施方式中,所述通信模块为高速串行计算机扩展总线标准PCIe通信模块;所述ARM处理单元中还包括PCIe扩展插槽;所述PCIe通信模块与所述PCIe扩展插槽相连。
一种可能的实施方式中,在所述FPGA处理单元还包括原型平台寄存器模块的情况下,所述方法还包括:
控制所述原型平台寄存器模块响应所述待测芯片模块的第一中断指令,将所述第一中断指令转换为所述通信模块支持的中断类型的第二中断指令,将所述第二中断指令通过所述通信模块传输至所述ARM处理单元;以及接收所述ARM处理单元发送的第三中断指令。
一种可能的实施方式中,在所述FPGA处理单元还包括总线模块的情况下,所述方法还包括:
通过所述总线模块控制所述FPGA处理单元中包括的不同模块之间的互联,以及控制各个模块对所述第二存储器的读写操作。
第五方面,提供一种计算机设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如第四方面及其任一种可能的实施方式提供的原型验证方法的步骤,或者执行如第二方面及其任一种可能的实施方式提供的ARM处理单元执行的方法步骤,或者执行如第三方面及其任一种可能的实施方式提供的FPGA处理单元执行的方法步骤。
第六方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如第四方面及其任一种可能的实施方式提供的原型验证方法的步骤。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种原型验证***的架构示意图;
图2示出了本公开实施例所提供的原型验证***对应的编译过程的流程示意图;
图3示出了本公开实施例所提供的另一种原型验证***的架构示意图;
图4示出了本公开实施例所提供的一种ARM处理单元的架构示意图;
图5示出了本公开实施例所提供的一种FPGA处理单元的架构示意图;
图6示出了本公开实施例所提供的一种原型验证方法的流程示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
人工智能(Artificial Intelligence,AI)芯片可以是一种融合AI算法的特殊应用集成电路,该AI芯片可以应用于数据中心、智能安防、自动驾驶等领域内。随着芯片集成度提高和性能的多元化,令芯片设计要求也变得越来越复杂,故为了验证AI芯片设计是否符合需求,需要使用原型验证***对设计的AI芯片进行验证,使得对AI芯片的原型验证已成为数字芯片设计中必不可少的步骤。具体的,原型验证***可以在AI芯片流片之前,通过将设计的AI芯片放置在原型验证***上,对AI芯片的功能进行验证。
一般的,可以通过内嵌ARM IP式的现场可编程逻辑门阵列(Field ProgrammableGate Array,FPGA)验证***,对AI芯片进行原型验证,但是上述方法将ARM IP内嵌在FPGA验证***中时,会消耗部分FPGA资源,使得FPGA逻辑资源较为紧张,进而容易导致FPGA验证***的编译时间较长,此外这种内嵌ARM IP的方式,难以实时的配置和监测AI芯片的状态,以及在AI芯片出现问题时,难以对AI芯片进行问题定位,灵活性较差。
为了缓解上述问题,本公开实施例提供了一种原型验证***,该原型验证***包括:ARM处理单元和FPGA处理单元;所述FPGA处理单元包括待测芯片模块;所述ARM模块与所述FPGA处理单元之间通信相连。本公开实施方式中,可以在AI芯片的硬件开发工作完成之前,在ARM处理单元上开发软件驱动和应用程序,而不需要依赖于AI芯片的架构以及硬件开发,加快了对软件代码的开发和维护的速度,进而可以加快AI芯片的验证加速和早期软件开发,即可以加快AI芯片的研发周期;比如,该软件驱动可以为通信模块对应的底层驱动,应用程序可以为运行通信模块时需要的应用程序。
同时,通过将ARM处理单元与FPGA处理单元通信相连,无需占用FPGA处理单元的逻辑资源,有利于数据的快速传输,以及能够通过ARM处理单元对AI芯片的状态进行配置、检测和调试,同时,ARM处理单元可以接收待测芯片模块在运行过程中产生的中断指令,通过接收到的中断指令,能够对AI芯片调试过程中产生的问题进行问题定位。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本公开实施例进行理解,首先对本公开实施例所公开的一种原型验证***进行详细介绍。
参见图1所示,为本公开实施例所提供的原型验证***的架构示意图,所述原型验证***包括:ARM处理单元11和FPGA处理单元12;所述FPGA处理单元12包括待测芯片模块121;所述ARM处理单元11与所述FPGA处理单元12之间通信相连。
所述ARM处理单元11,获取所述待测芯片模块运行所需的输入数据,并将读取的输入数据传输至所述FPGA处理单元;以及,生成控制指令,并将所述控制指令传输至所述FPGA处理单元;
所述待测芯片模块121,用于响应获得的所述控制指令,获取所述输入数据,按照所述控制指令对所述输入数据进行处理,得到输出数据。
一种可选实施方式中,所述ARM处理单元11包括ARM模块110和第一存储器111;所述FPGA处理单元12还包括通信模块122和第二存储器123;所述ARM模块110与所述FPGA处理单元的通信模块122相连。
其中,ARM模块110与第一存储器111相连。通信模块122分别与待测芯片模块121和第二存储器123相连,以及第二存储器123与待测芯片模块121相连。
所述ARM模块110,用于从所述第一存储器111中读取所述待测芯片模块121运行所需的输入数据,并将读取的输入数据通过所述通信模块122传输至所述第二存储器123;以及,生成控制指令,并将所述控制指令通过所述通信模块122传输至所述待测芯片模块121。
所述待测芯片模块121,用于响应所述控制指令,从所述第二存储器123中读取所述输入数据,按照所述控制指令对所述输入数据进行处理,得到输出数据,并将所述输出数据存储至所述第二存储器123。
实施时,ARM处理单元11可以是一种基于精简指令集的ARM处理单元,该ARM处理单元具有软硬件开发环境,比如,可以在ARM处理单元中开发有FPGA处理单元中通信模块对应的软件驱动以及该软件驱动对应的应用程序,通过该软件驱动和该软件驱动对应的应用程序实现对通信模块的启动,进而使得ARM处理单元可以通过通信模块与FPGA处理单元中的各个模块进行通信。
ARM模块110可以为任一ARM处理器,以及第一存储器111和第二存储器123可以为双倍速率同步动态随机(Double Data Rate,DDR)存储器。其中,第一存储器可以为ARM模块的内置存储器。待测芯片模块121可以为任一待检测的芯片(比如AI芯片)在FPGA处理单元上的逻辑原型模块,其中,待测芯片模块的功能在逻辑行为层面上可以与最终芯片保持严格一致。
本公开实施方式中的,FPGA处理单元中包括的待测芯片模块、通信模块、第二存储器等各个模块可以集成在FPGA芯片上。参见图2所示,示例性的,FPGA处理单元中的所有模块(待测芯片模块、通信模块、总线模块等)均由硬件描述语言(比如:Verilog/SystemVerilog等)进行开发,生成各个模块分别对应的硬件描述源文件,再可以将各个模块分别对应的硬件描述源文件输入至FPGA集成编译环境进行综合,以及可以进行各个模块之间的布局和布线处理,生成FPGA位流文件。进一步,可以将得到的FPGA位流文件通过下载工具,下载至原型验证***的硬件中,完成原型验证***的编译,进而使用该编译完成的原型验证***对待测芯片模块进行验证。
其中,FPGA处理单元中的FPGA芯片可以替换为性能更强的高端FPGA芯片、以及ARM处理单元中的ARM芯片(比如ARM模块)也可以替换为性能更强的高端ARM芯片,使得原型验证***能够满足AI芯片日趋复杂的需求。
本公开的原型验证***采用ARM处理单元和FPGA处理单元的异构方式,实现AI芯片的原型验证***,该原型验证***可以缓解现有技术中在FPGA验证***中内嵌ARM IP时,造成的FPGA逻辑资源紧张和灵活性差的问题,以及可以缓解现有技术中通过联合测试工作组(Joint Test Action Group,JTAG)连接个人计算机(Personal Computer,PC)和FPGA的原型验证***中,存在的传输速度慢的问题。
实施时,ARM模块可以向ARM模块对应的操作***在第一存储器中申请一段连续的第一地址,再可以将待测芯片模块运行所需的输入数据存储至第一存储器的第一地址中,其中,待测芯片模块运行所需的输入数据可以根据需要进行设置,比如,在待测芯片模块为AI芯片模块时,输入数据可以包括AI芯片对应的AI算法推理所需的图像数据、视频数据、AI算法的权重参数等。
接着,ARM模块可以从第一存储器的第一地址中获取输入数据,并通过通信模块将输入数据传输至第二存储器的第二地址。以及,ARM模块可以生成控制指令,并将控制指令通过通信模块传输至待测芯片模块中。其中,控制指令包括多条,ARM模块可以将多条控制指令按照顺序,通过通信模块全部传输至待测芯片模块中。
进而,待测芯片模块可以对接收到的控制指令进行解析,根据解析到的第一指令信息,从第二存储器的第二地址中获取输入数据,并基于控制指令对输入数据进行处理,得到输出数据,比如,该输出数据可以为AI算法的检测结果、AI算法在运行过程中产生的中间特征图等。并可以将输出数据存储至第二存储器的第二地址中。
一种可选实施方式中,所述待测芯片模块121,还用于在得到输出数据之后,生成指示数据处理完成的目标中断指令,并将所述目标中断指令通过所述通信模块122传输至所述ARM模块110;所述ARM模块110,还用于响应于所述目标中断指令,通过所述通信模块122从所述第二存储器123中获取所述输出数据,并将所述输出数据发送至所述ARM处理单元的所述第一存储器111。
在得到输出数据之后,即在待测芯片模块运行推理结束之后,待测芯片模块可以生成用于指示数据处理完成的目标中断指令,并将所述目标中断指令通过所述通信模块传输至ARM模块。ARM模块用于响应于目标中断指令,通过通信模块从第二存储器的第二地址中获取输出数据,并可以将输出数据存储至第一存储器中。
一种可选实施方式中,所述通信模块122可以为高速串行计算机扩展总线标准(peripheral component interconnect express,PCIe)通信模块;所述ARM处理单元中还包括PCIe扩展插槽;所述PCIe通信模块与所述PCIe扩展插槽相连。比如,PCIe扩展插槽可以为PCIe Gen3 x16通用扩展插槽。
本公开实施方式中,通信模块可以为PCIe通信模块,该PCIe通信模块能够高效的进行数据的传输,满足了待测芯片模块(比如AI芯片)对于视频数据、图像数据等较大数据量的带宽要求;比如可以使得待测芯片模块的输出数据能够较为高效的传输至ARM处理单元中,使用PCIe通信模块能够提高了原型验证***的数据传输效率,进而可以提高原型验证***的验证效率。同时,数据传输速率的加快,可以有助于对待测芯片模块的内部信号进行有效的采集、以及对待测芯片模块的状态进行有效检测,进而有利于待测芯片模块的验证调试。
一种可选实施方式中,所述FPGA处理单元中还包括存储控制模块124,所述存储控制模块124与所述第二存储器123相连,所述存储控制模块124用于控制所述第二存储器123的读写操作。
本公开实施方式中,存储控制模块还可以与通信模块相连,以及待测芯片模块可以通过存储控制模块与第二存储器相连。其中,存储控制模块用于控制第二存储器的读写操作。实施时,通信模块可以通过存储控制模块将输入数据存储至第二存储器的第二地址中;待测芯片模块可以通过存储控制模块从第二存储器的第二地址中获取输入数据;以及待测芯片模块生成的输出数据可以发送至存储控制模块,存储控制模块将输出数据存储至第二存储器的第二地址中。
一种可选实施方式中,所述FPGA处理单元还包括原型平台寄存器模块125;所述原型平台寄存器模块125,用于响应所述待测芯片模块121的第一中断指令,将所述第一中断指令转换为所述FPGA处理单元12的所述通信模块122支持的中断类型的第二中断指令,将所述第二中断指令通过所述通信模块122传输至所述ARM处理单元11的ARM模块110;以及接收所述ARM处理单元11发送的第三中断指令。其中,原型平台寄存器模块125可以与待测芯片模块121和通信模块122相连。
这里,第一中断指令可以为待测芯片模块生成的任一中断指令,比如,第一中断指令可以为用于指示数据处理完成的目标中断指令。在通信模块为PCIe通信模块时,可以将第一中断指令转换为MSIX中断类型的第二中断指令。
第三中断指令可以为ARM模块生成的任一中断指令,比如,第三中断指令可以为ARM模块生成的、用于指示数据搬移完成的中断指令,ARM模块可以通过通信模块将用于指示数据搬移完成的中断指令发送至原型平台寄存器模块中,进而可以使得待测芯片模块确定输入数据已存储至第二存储器中,再可以从第二存储器中获取输入数据。
原型平台寄存器模块还可以接收ARM模块通过通信模块下发的配置指令,使得原型平台寄存器用于负责中断处理功能,比如,可以将ARM处理单元视作为host,将FPGA处理单元视作为device,原型平台寄存器模块可以接收从host到device的中断指令,比如在输入数据存储至第二存储器后,ARM处理单元的ARM模块生成的用于指示数据搬移完成的中断指令,以便使得FPGA处理单元确定输入数据搬移完成;还可以接收从device到host的中断指令,比如在待测芯片模块运行结束后,待测芯片模块可以生成用于指示数据处理完成的目标中断指令,并将目标中断指令发送给原型平台寄存器中,原型平台寄存器模块可以将目标中断指令(即第一中断指令)处理成为PCIe通信模块支持的中断类型(比如MSIX中断类型),得到第二中断指令,并通过通信模块将第二中断指令发送至ARM处理单元,以便ARM处理单元可以确定待测芯片模块数据处理结束。
原型平台寄存器模块在将处理后的中断指令,通过通信模块发送至ARM处理单元之后,ARM处理单元还可以进行清中断操作,将接收到的中断指令清除。
一种可选实施方式中,所述FPGA处理单元还包括总线模块126,所述总线模块126用于控制所述FPGA处理单元中包括的不同模块之间的互联,以及控制各个模块对所述第二存储器的读写操作。
示例性的,总线模块可以分别与通信模块、存储控制模块、第二存储器、待测芯片模块、原型平台寄存器模块相连,通过该总线模块可以控制FPGA处理单元中包括的通信模块、存储控制模块、第二存储器、待测芯片模块、和原型平台寄存器模块等不同模块之间的AXI协议互联,以及还可以控制各个模块对所述第二存储器的读写操作,比如,可以控制待测芯片模块、通信模块等对第二存储器的读写操作等。
参见图3所示的一种原型验证***的架构示意图,图3中的比较粗的双箭头线可以用于表征不同模块之间的数据流;比如,该数据流可以为传输的输入数据、输出数据等。图3中比较细的箭头线可以用于表征不同模块之间的配置流,比如,配置流可以为中断指令等。示例性的,ARM模块可以通过通信模块对待测芯片模块进行配置,例如,对待测芯片模块的逻辑功能进行配置等;以及ARM模块可以确定待测芯片模块的状态,比如,可以根据接收到的中断指令,确定待测芯片模块的状态。再比如,ARM模块可以通过通信模块对原型平台寄存器模块进行配置,比如配置原型平台寄存器模块的处理逻辑,以使的原型平台寄存器能够对接收到的中断指令进行处理,以及ARM模块可以通过通信模块发送或接收中断指令。
示例性的,结合图3所示的原型验证***,对待测芯片模块的验证过程进行说明,该验证过程可以包括下述多个步骤:
步骤1、ARM模块将输入数据存储至第一存储器中。
步骤2、ARM模块从第一存储器中获取输入数据,并通过PCIe通信模块将输入数据搬移到FPGA处理单元的第二存储器的第二地址中,以及可以生成用于指示数据搬移完成的中断指令,再通过PCIe通信模块将用于指示数据搬移完成的中断指令发送至原型平台寄存器模块中,以便原型平台寄存器模块可以告知待测芯片模块输入数据搬移完成。
步骤3、ARM模块生成控制指令,将控制指令通过通信模块传输至待测芯片模块中。
步骤4、待测芯片模块解析控制指令,根据解析到的指令信息,从第二存储器的第二地址中获取输入数据;再根据接收到的控制指令对输入数据进行数据处理,得到输出数据。并将该输出数据通过存储控制模块存储至第二存储器的第二地址中。
步骤5、待测芯片模块生成用于指示数据处理完成的目标中断指令,并将该目标中断指令发送至原型平台寄存器模块中。
步骤6、原型平台寄存器模块将目标中断指令(第一中断指令)转换成PCIe通信模块可识别的MSIX中断指令(即第二中断指令),并将该MSIX中断指令通过通信模块发送至ARM模块中,以便告知ARM模块待测芯片模块的推理已完成。
步骤7、ARM模块通过PCIe通信模块,从第二存储器的第二地址中获取输出数据,并将该输出数据存储至第一存储器中。
可选的,原型验证***还可以包括与ARM处理单元相连的显示屏,该显示屏可以用于显示该输出数据,以便可以对输出数据进行验证。比如,在AI算法为图像识别算法时,可以对输出数据指示的识别结果进行验证。
基于相同的构思,本公开实施例还提供了一种微处理器ARM处理单元,参见图4所示,为本公开实施例提供的ARM处理单元的架构示意图,所述ARM处理单元包括ARM模块41和第一存储器42;
所述第一存储器42,用于存储现场可编程逻辑门阵列FPGA处理单元的待测芯片模块运行所需的输入数据;
所述ARM模块41,用于从所述第一存储器中读取所述输入数据,并将读取的输入数据发送至所述FPGA处理单元的通信模块;以及,生成控制指令,并将所述控制指令通过所述FPGA处理单元的通信模块传输至所述待测芯片模块。
一种可选实施方式中,所述ARM处理单元中还包括PCIe扩展插槽;所述PCIe扩展插槽与所述FPGA处理单元的通信模块相连。
基于相同的构思,本公开实施例还提供了一种FPGA处理单元,参见图5所示,为本公开实施例提供的FPGA处理单元的架构示意图,所述FPGA处理单元包括待测芯片模块51;
所述待测芯片模块51,用于响应获得的所述控制指令,获取所述输入数据,按照所述控制指令对所述输入数据进行处理,得到输出数据。
一种可选实施方式中,所述FPGA处理单元还包括通信模块52和第二存储器53;
所述通信模块52,用于接收微处理器ARM处理单元发送的输入数据,并将所述输入数据传输至所述第二存储器,以及,从所述第二存储器中获取所述待测芯片模块的输出数据,并将所述待测芯片模块的输出数据发送至所述ARM处理单元;
所述第二存储器53,用于存储所述输入数据和所述待测芯片模块的输出数据;
所述待测芯片模块51,用于响应所述ARM处理单元的控制指令,从所述第二存储器中读取所述输入数据,并按照所述控制指令对所述输入数据进行处理,得到输出数据,并将所述输出数据存储至所述第二存储器。
一种可选实施方式中,所述FPGA处理单元中包括存储控制模块54,所述存储控制模块与所述第二存储器相连,所述存储控制模块54用于控制所述第二存储器的读写操作。
一种可选实施方式中,所述FPGA处理单元还包括原型平台寄存器模块55;所述原型平台寄存器模块55,用于响应所述待测芯片模块的第一中断指令,将所述第一中断指令转换为所述通信模块支持的中断类型的第二中断指令,将所述第二中断指令传输至所述通信模块;以及接收ARM处理单元发送的第三中断指令。
一种可选实施方式中,所述FPGA处理单元还包括总线模块56,所述总线模块56,用于控制所述FPGA处理单元中包括的不同模块之间的互联,以及控制各个模块对所述第二存储器的读写操作。
基于相同的构思,本公开实施例还提供了一种原型验证方法,所述原型验证方法应用于上述的原型验证***,参见图6所示,为本公开实施例提供的原型验证方法的流程示意图,该原型验证方法包括:
S601,控制ARM处理单元获取待测芯片模块运行所需的输入数据,并将读取的输入数据传输至所述FPGA处理单元;以及,生成控制指令,并将所述控制指令传输至所述FPGA处理单元;
S602,控制待测芯片模块,用于响应获得的所述控制指令,获取所述输入数据,按照所述控制指令对所述输入数据进行处理,得到输出数据。
一种可能的实施方式中,在所述ARM处理单元包括ARM模块和第一存储器;所述FPGA处理单元还包括第二存储器和通信模块的情况下,所述控制ARM处理单元获取待测芯片模块运行所需的输入数据,并将读取的输入数据传输至所述FPGA处理单元;以及,生成控制指令,并将所述控制指令传输至所述FPGA处理单元,包括:
控制所述ARM模块从所述第一存储器中读取所述待测芯片模块运行所需的输入数据,并将读取的输入数据通过所述通信模块传输至所述第二存储器;以及,生成控制指令,并将所述控制指令通过所述通信模块传输至所述待测芯片模块;
控制所述待测芯片模块响应所述控制指令,从所述第二存储器中读取所述输入数据,按照所述控制指令对所述输入数据进行处理,得到输出数据,并将所述输出数据存储至所述第二存储器。
一种可能的实施方式中,在得到输出数据之后,所述方法还包括:
控制所述待测芯片模块生成指示数据处理完成的目标中断指令,并将所述目标中断指令通过所述通信模块传输至所述ARM模块;
控制所述ARM模块响应于所述目标中断指令,通过所述通信模块从所述第二存储器中获取所述输出数据,并将所述输出数据发送至所述ARM处理单元的所述第一存储器。
一种可能的实施方式中,在所述FPGA处理单元中还包括存储控制模块,以及所述存储控制模块与所述第二存储器相连的情况下,所述方法还包括:
通过所述存储控制模块控制所述第二存储器的读写操作。
一种可能的实施方式中,所述通信模块为高速串行计算机扩展总线标准PCIe通信模块;所述ARM处理单元中还包括PCIe扩展插槽;所述PCIe通信模块与所述PCIe扩展插槽相连。
一种可能的实施方式中,在所述FPGA处理单元还包括原型平台寄存器模块的情况下,所述方法还包括:
控制所述原型平台寄存器模块响应所述待测芯片模块的第一中断指令,将所述第一中断指令转换为所述通信模块支持的中断类型的第二中断指令,将所述第二中断指令通过所述通信模块传输至所述ARM处理单元;以及接收所述ARM处理单元发送的第三中断指令。
一种可能的实施方式中,在所述FPGA处理单元还包括总线模块的情况下,所述方法还包括:
通过所述总线模块控制所述FPGA处理单元中包括的不同模块之间的互联,以及控制各个模块对所述第二存储器的读写操作。
本公开实施例还提供一种计算机设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行上述任一实施例提供的原型验证方法的步骤,或者执行如上述任一实施例提供的ARM处理单元执行的方法步骤,或者执行如上述任一实施例提供的FPGA处理单元执行的方法步骤。
本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如上述任一实施例提供的原型验证方法的步骤。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (17)

1.一种原型验证***,其特征在于,所述***包括:微处理器ARM处理单元和现场可编程逻辑门阵列FPGA处理单元;所述FPGA处理单元包括待测芯片模块和通信模块;所述ARM处理单元通过所述通信模块与所述FPGA处理单元中的待测芯片模块之间进行通信;
所述ARM处理单元,用于获取所述待测芯片模块运行所需的输入数据,并将读取的输入数据通过所述通信模块传输至所述FPGA处理单元;以及,生成控制指令,并将所述控制指令通过所述通信模块传输至所述FPGA处理单元;其中所述ARM处理单元上开发有软件驱动和所述软件驱动对应的应用程序,所述软件驱动和所述软件驱动对应的应用程序用于实现对所述通信模块的启动;以及,用于接收所述待测芯片模块在运行过程中产生的中断指令,所述中断指令用于对AI芯片调试过程中产生的问题进行问题定位;
所述待测芯片模块,用于响应获得的所述控制指令,获取所述输入数据,按照所述控制指令对所述输入数据进行处理,得到输出数据,其中所述待测芯片模块为待检测的人工智能AI芯片在FPGA处理单元上的逻辑原型模块,以及在运行过程中产生中断指令,并将所述中断指令通过所述通信模块发送给所述ARM处理单元。
2.根据权利要求1所述的原型验证***,其特征在于,所述ARM处理单元包括ARM模块和第一存储器;所述FPGA处理单元还包括第二存储器和通信模块;
所述ARM模块,用于从所述第一存储器中读取所述待测芯片模块运行所需的输入数据,并将读取的输入数据通过所述通信模块传输至所述第二存储器;以及,生成控制指令,并将所述控制指令通过所述通信模块传输至所述待测芯片模块;
所述待测芯片模块,用于响应所述控制指令,从所述第二存储器中读取所述输入数据,按照所述控制指令对所述输入数据进行处理,得到输出数据,并将所述输出数据存储至所述第二存储器。
3.根据权利要求2所述的原型验证***,其特征在于,所述待测芯片模块,还用于在得到输出数据之后,生成指示数据处理完成的目标中断指令,并将所述目标中断指令通过所述通信模块传输至所述ARM模块;
所述ARM模块,还用于响应于所述目标中断指令,通过所述通信模块从所述第二存储器中获取所述输出数据,并将所述输出数据发送至所述ARM处理单元的所述第一存储器。
4.根据权利要求2或3所述的原型验证***,其特征在于,所述FPGA处理单元中还包括存储控制模块,所述存储控制模块与所述第二存储器相连,所述存储控制模块用于控制所述第二存储器的读写操作。
5.根据权利要求2~4任一所述的原型验证***,其特征在于,所述通信模块为高速串行计算机扩展总线标准PCIe通信模块;所述ARM处理单元中还包括PCIe扩展插槽;所述PCIe通信模块与所述PCIe扩展插槽相连。
6.根据权利要求2~5任一所述的原型验证***,其特征在于,所述FPGA处理单元还包括原型平台寄存器模块;
所述原型平台寄存器模块,用于响应所述待测芯片模块的第一中断指令,将所述第一中断指令转换为所述通信模块支持的中断类型的第二中断指令,将所述第二中断指令通过所述通信模块传输至所述ARM处理单元;以及接收所述ARM处理单元发送的第三中断指令。
7.根据权利要求2~6任一所述的原型验证***,其特征在于,所述FPGA处理单元还包括总线模块,所述总线模块用于控制所述FPGA处理单元中包括的不同模块之间的互联,以及控制各个模块对所述第二存储器的读写操作。
8.一种微处理器ARM处理单元,其特征在于,所述ARM处理单元包括ARM模块和第一存储器;所述ARM处理单元上开发有软件驱动和所述软件驱动对应的应用程序,所述软件驱动和所述软件驱动对应的应用程序用于实现对相连的现场可编程逻辑门阵列FPGA处理单元中通信模块的启动;
所述第一存储器,用于存储现场可编程逻辑门阵列FPGA处理单元的待测芯片模块运行所需的输入数据;
所述ARM模块,用于从所述第一存储器中读取所述输入数据,并将读取的输入数据发送至所述FPGA处理单元的通信模块;以及,生成控制指令,并将所述控制指令通过所述FPGA处理单元的通信模块传输至所述待测芯片模块;其中所述待测芯片模块为待检测的人工智能AI芯片在FPGA处理单元上的逻辑原型模块,以及用于接收所述待测芯片模块在运行过程中产生的中断指令,所述中断指令用于对AI芯片调试过程中产生的问题进行问题定位。
9.根据权利要求8所述的ARM处理单元,其特征在于,所述ARM处理单元中还包括PCIe扩展插槽;所述PCIe扩展插槽与所述FPGA处理单元的通信模块相连。
10.一种现场可编程逻辑门阵列FPGA处理单元,其特征在于,所述FPGA处理单元包括待测芯片模块和通信模块;所述待测芯片模块通过所述通信模块与权利要求8或9所述的ARM处理单元相连,所述通信模块由所述ARM处理单元上开发的软件驱动和所述软件驱动对应的应用程序进行启动;所述待测芯片模块为待检测的人工智能AI芯片在FPGA处理单元上的逻辑原型模块;
所述待测芯片模块,用于响应获得的控制指令,获取输入数据,按照所述控制指令对所述输入数据进行处理,得到输出数据,以及在运行过程中产生中断指令,并将所述中断指令通过所述通信模块发送给所述ARM处理单元。
11.根据权利要求10所述的FPGA处理单元,其特征在于,所述FPGA处理单元还包括通信模块和第二存储器;
所述通信模块,用于接收微处理器ARM处理单元发送的输入数据,并将所述输入数据传输至所述第二存储器,以及,从所述第二存储器中获取所述待测芯片模块的输出数据,并将所述待测芯片模块的输出数据发送至所述ARM处理单元;
所述第二存储器,用于存储所述输入数据和所述待测芯片模块的输出数据;
所述待测芯片模块,用于响应所述ARM处理单元的控制指令,从所述第二存储器中读取所述输入数据,并按照所述控制指令对所述输入数据进行处理,得到输出数据,并将所述输出数据存储至所述第二存储器。
12.根据权利要求11所述的FPGA处理单元,其特征在于,所述FPGA处理单元中包括存储控制模块,所述存储控制模块与所述第二存储器相连,所述存储控制模块用于控制所述第二存储器的读写操作。
13.根据权利要求11或12所述的FPGA处理单元,其特征在于,所述FPGA处理单元还包括原型平台寄存器模块;
所述原型平台寄存器模块,用于响应所述待测芯片模块的第一中断指令,将所述第一中断指令转换为所述通信模块支持的中断类型的第二中断指令,将所述第二中断指令传输至所述通信模块;以及接收ARM处理单元发送的第三中断指令。
14.根据权利要求11~13任一所述的FPGA处理单元,其特征在于,所述FPGA处理单元还包括总线模块,所述总线模块用于控制所述FPGA处理单元中包括的不同模块之间的互联,以及控制各个模块对所述第二存储器的读写操作。
15.一种原型验证方法,其特征在于,所述原型验证方法应用于权利要求1至7中任一所述的原型验证***,包括:
控制ARM处理单元获取待测芯片模块运行所需的输入数据,并将读取的输入数据传输至所述FPGA处理单元;以及,生成控制指令,并将所述控制指令传输至所述FPGA处理单元;
控制待测芯片模块,用于响应获得的所述控制指令,获取所述输入数据,按照所述控制指令对所述输入数据进行处理,得到输出数据。
16.一种计算机设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求15所述的原型验证方法的步骤,或者执行如权利要求8-9中任一所述ARM处理单元执行的方法步骤,或者执行如权利要求10-14中任一所述FPGA处理单元执行的方法步骤。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如权利要求15所述的原型验证方法的步骤。
CN202110602281.8A 2021-05-31 2021-05-31 原型验证***、方法、处理单元、及设备 Active CN113326670B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110602281.8A CN113326670B (zh) 2021-05-31 2021-05-31 原型验证***、方法、处理单元、及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110602281.8A CN113326670B (zh) 2021-05-31 2021-05-31 原型验证***、方法、处理单元、及设备

Publications (2)

Publication Number Publication Date
CN113326670A CN113326670A (zh) 2021-08-31
CN113326670B true CN113326670B (zh) 2024-06-07

Family

ID=77422760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110602281.8A Active CN113326670B (zh) 2021-05-31 2021-05-31 原型验证***、方法、处理单元、及设备

Country Status (1)

Country Link
CN (1) CN113326670B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116167311B (zh) * 2023-04-23 2023-09-12 南京芯驰半导体科技有限公司 一种芯片验证***、方法、设备及存储介质
CN117369906B (zh) * 2023-12-07 2024-02-09 成都市楠菲微电子有限公司 Pcie验证平台、方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1928576A (zh) * 2006-10-13 2007-03-14 北京中星微电子有限公司 芯片测试***和芯片测试方法
CN101770817A (zh) * 2010-01-18 2010-07-07 华东师范大学 基于fpga的多接口存储器验证***
WO2016090908A1 (zh) * 2014-12-12 2016-06-16 国家电网公司 智能电表嵌入式应用的模拟存储器测试板***及测试方法
CN107861906A (zh) * 2017-09-26 2018-03-30 成都九洲迪飞科技有限责任公司 一种fpga与arm处理器的高速数据交互***及方法
CN111737933A (zh) * 2020-06-19 2020-10-02 浪潮(北京)电子信息产业有限公司 一种soc原型验证方法、***、设备及介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260794B2 (en) * 2002-12-20 2007-08-21 Quickturn Design Systems, Inc. Logic multiprocessor for FPGA implementation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1928576A (zh) * 2006-10-13 2007-03-14 北京中星微电子有限公司 芯片测试***和芯片测试方法
CN101770817A (zh) * 2010-01-18 2010-07-07 华东师范大学 基于fpga的多接口存储器验证***
WO2016090908A1 (zh) * 2014-12-12 2016-06-16 国家电网公司 智能电表嵌入式应用的模拟存储器测试板***及测试方法
CN107861906A (zh) * 2017-09-26 2018-03-30 成都九洲迪飞科技有限责任公司 一种fpga与arm处理器的高速数据交互***及方法
CN111737933A (zh) * 2020-06-19 2020-10-02 浪潮(北京)电子信息产业有限公司 一种soc原型验证方法、***、设备及介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张术利等.基于FPGA的SoC原型验证的设计与实现.《电子元器件》.2011,第38卷(第05期),全文. *
杨安生等.基于ARM_SoC的FPGA原型验证.《电子器件》.2011,第34卷(第03期),全文. *
罗朝霞.《CPLD/FPGA设计及应用》.人民邮电出版社,2007,(第978-7-115-15958-8版),第43-46页. *

Also Published As

Publication number Publication date
CN113326670A (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
EP0840219B1 (en) An integrated circuit device and method of communication therewith
CN113326670B (zh) 原型验证***、方法、处理单元、及设备
US5978870A (en) On-chip parallel-serial data packet converter to interconnect parallel bus of integrated circuit chip with external device
CN105008943A (zh) 对在fpga块内分组创建加速的测试仪
CN109783340B (zh) SoC的测试代码烧写方法、IP测试方法及装置
CN102662835A (zh) 一种针对嵌入式***的程序调试方法及嵌入式***
US6178525B1 (en) Trigger sequencing controller
CN113270137B (zh) 一种基于fpga嵌入式软核的ddr2测试方法
EP0840218B1 (en) An integrated circuit device and method of communication therewith
US7130788B2 (en) Emulation components and system including distributed event monitoring, and testing of an IC design under emulation
EP0840235B1 (en) Message protocol
CN107168744B (zh) 用于数字信号处理器芯片文件加载的***及方法
EP2093906B1 (en) Optical transceiver, its communication method, and communication system
CN112162879A (zh) 一种实时多核dsp软件的日志***
CN115454881B (zh) Risc-v架构的调试***及调试方法
US20040078187A1 (en) Emulation components and system including distributed routing and configuration of emulation resources
CN1043019A (zh) 验证内核数据总线的设备、方法和数据结构
JP3121365U (ja) 境界走査試験機能付き周辺装置連接装置
US7305633B2 (en) Distributed configuration of integrated circuits in an emulation system
CN114912397A (zh) 可编程逻辑器件、原型验证***、方法、设备及存储介质
CN111770074B (zh) 数据通路测试报文生成装置与方法
CN216014148U (zh) 一种服务器和服务器背板
CN117234831B (zh) 一种基于多核cpu的芯片功能测试方法及***
CN111240908B (zh) 处理器接口的验证方法、验证***、电子设备及存储介质
CN113608935A (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