CN114912397A - 可编程逻辑器件、原型验证系统、方法、设备及存储介质 - Google Patents

可编程逻辑器件、原型验证系统、方法、设备及存储介质 Download PDF

Info

Publication number
CN114912397A
CN114912397A CN202210612892.5A CN202210612892A CN114912397A CN 114912397 A CN114912397 A CN 114912397A CN 202210612892 A CN202210612892 A CN 202210612892A CN 114912397 A CN114912397 A CN 114912397A
Authority
CN
China
Prior art keywords
programmable logic
logic device
coprocessor
configuration information
test case
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.)
Pending
Application number
CN202210612892.5A
Other languages
English (en)
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 CN202210612892.5A priority Critical patent/CN114912397A/zh
Publication of CN114912397A publication Critical patent/CN114912397A/zh
Pending legal-status Critical Current

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]
    • G06F30/343Logical level
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/02System on chip [SoC] design

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)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Logic Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本公开实施例提供一种可编程逻辑器件、原型验证系统、方法、设备及存储介质。可编程逻辑器件内嵌有协处理器和存储器;所述存储器预先存储有与被测芯片相关的配置信息和所述被测芯片的测试用例;所述协处理器,用于响应于主处理器发送的启动中断信号,从所述存储器中加载所述配置信息,利用所述配置信息对所述可编程逻辑器件进行配置,并启动配置后的可编程逻辑器件;所述可编程逻辑器件,用于在被启动后,从所述存储器中加载所述测试用例,并通过所述测试用例对所述配置后的可编程逻辑器件所模拟的被测芯片进行原型验证。本实施例有利于提高配置效率。

Description

可编程逻辑器件、原型验证系统、方法、设备及存储介质
技术领域
本公开涉及芯片设计技术领域,尤其涉及一种可编程逻辑器件、原型验证系统、方法、设备及存储介质。
背景技术
原型验证系统是集成电路设计公司在芯片验证阶段不可或缺的工具。原型验证系统可以原型化(prototype)并且调试一个包括一个或多个模块的芯片设计。芯片设计可以是,例如,用于供专门应用的集成电路(Applica tionSpecific Integrated Circuit,简称ASIC)或者片上系统芯片(System-On-Chip,简称SOC)的设计。在原型验证系统中,被测试的芯片设计又可以称为被测芯片(Design Under Test,简称DUT),用于测试DUT的逻辑硬件构成原型验证系统。
原型验证系统可以包括一个或多个可编程逻辑器件(例如,现场可编程逻辑门阵列(Field Programmable Gate Array,简称FPGA))。原型验证系统可以对这些可编程逻辑器件进行配置使其模拟被测芯片,基于这些配置后的可编程逻辑器件可以在制造之前就测试并验证被测试的芯片设计中的各个模块的功能。
然而,随着芯片技术的不断发展,芯片规模更加复杂(如芯片面积扩大、计算复杂度增加等),需要对可编程逻辑器件进行配置的数据量也逐渐增加,而相关技术中的原型验证系统对可编程逻辑器件进行配置的配置效率无法满足大规模芯片设计的需求。
发明内容
本公开提供一种可编程逻辑器件、原型验证系统、方法、设备及存储介质。
根据本公开实施例的第一方面,提供一种可编程逻辑器件,用于对被测芯片进行原型验证;所述可编程逻辑器件内嵌有协处理器和存储器;其中,所述存储器预先存储有与被测芯片相关的配置信息和所述被测芯片的测试用例;
所述协处理器,用于响应于主处理器发送的启动中断信号,从所述存储器中加载所述配置信息,利用所述配置信息对所述可编程逻辑器件进行配置,并启动配置后的可编程逻辑器件;
所述可编程逻辑器件,用于在被启动后,从所述存储器中加载所述测试用例,并通过所述测试用例对所述配置后的可编程逻辑器件所模拟的被测芯片进行原型验证。
可选地,所述协处理器、所述存储器和所述可编程逻辑器件通过总线连接。
可选地,所述配置信息和所述测试用例由所述主处理器在发送所述启动中断信号之前存储至所述存储器。
可选地,所述可编程逻辑器件,还用于在被启动后,对加载的所述测试用例进行处理,获得处理结果并存储至所述存储器;以及在处理完所述测试用例之后,生成发送给所述主处理器的完成中断信号;其中,所述完成中断信号用于触发所述主处理器从所述存储器中读取所述处理结果,根据所述处理结果与所述测试用例的实际结果之间的差异,获取所述被测芯片的原型验证结果。
可选地,所述协处理器,还用于利用所述配置信息对所述可编程逻辑器件进行初始化配置,并启动初始化配置后的可编程逻辑器件;
所述可编程逻辑器件,还用于在被启动后,在对所述测试用例进行处理的过程中向所述协处理器反馈第一状态信号;所述第一状态信号表征所述测试用例的处理进度;
所述协处理器,还用于基于所述配置信息中与所述第一状态信号相关的信息,对所述可编程逻辑器件进行配置。
可选地,所述协处理器,还用于定时向所述主处理器发送第二状态信号;其中,所述第二状态信号指示所述协处理器的工作状态;所述第二状态信号用于触发所述主处理器对所述协处理器的工作状态进行监控。
可选地,所述可编程逻辑器件,还用于在对所述测试用例进行处理的过程中向所述主处理器反馈第一状态信号;其中,所述第一状态信号用于触发所述主处理器在所述第二状态信号指示所述协处理器异常的情况下,基于与所述第一状态信号相关的预设配置信息对所述可编程逻辑器件进行配置;以及,在所述第二状态信号指示所述协处理器正常运行的情况下,丢弃所述第一状态信号。
可选地,所述可编程逻辑器件还包括可编程逻辑模块;
所述配置信息包括针对于所述被测芯片的第一配置信息和针对于所述可编程逻辑器件的第二配置信息;
所述协处理器,还用于利用所述第一配置信息对所述可编程逻辑模块进行配置,以使配置后的可编程逻辑单元在行为级层面具有与所述被测芯片相同的功能;以及,利用所述第二配置信息对所述可编程逻辑器件中除所述可编程逻辑模块之外的其他组件进行配置,以使得配置后的其他组件能够配合配置后的可编程逻辑模块对所述测试用例的处理过程。
可选地,所述可编程逻辑器件和所述主处理器基于PCI-e协议或者USB协议通信连接。
可选地,所述可编程逻辑器件还包括有通信模块和中断控制模块;所述启动中断信号由所述主处理器发送给所述通信模块,并经由所述中断控制模块转发给所述协处理器;和/或,所述可编程逻辑器件在处理完所述测试用例之后生成的完成中断信号由所述中断控制模块转发给所述通信模块,并由所述通信模块发送给所述主处理器。
可选地,所述与被测芯片相关的配置信息被封装成固件文件;所述固件文件通过以下方式得到:将高级语言编程文件经编译器编译成二进制文件之后,保存为所述协处理器支持的格式。
可选地,所述主处理器包括ARM处理器,所述协处理器包括MCU,所述可编程逻辑器件包括FPGA。
根据本公开实施例的第二方面,提供一种原型验证系统,包括主处理器和如第一方面任意一项所述的可编程逻辑器件。
根据本公开实施例的第三方面,提供一种电子设备,包括如第二方面所述的原型验证系统。
根据本公开实施例的第四方面,提供一种原型验证方法,应用于如第一方面任意一项所述的可编程逻辑器件;所述方法由内嵌于可编程逻辑器件中的协处理器执行,所述方法包括:
响应于所述主处理器发送的启动中断信号,从存储器中加载预先存储的与被测芯片相关的配置信息;
利用所述配置信息对所述可编程逻辑器件进行配置,并启动配置后的可编程逻辑器件;其中,启动后的可编程逻辑器件用于从所述存储器中加载预先存储的所述被测芯片的测试用例,并通过所述测试用例对所述配置后的可编程逻辑器件所模拟的被测芯片进行原型验证。
根据本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现第二方面所述方法的步骤。
本公开实施例中,应当理解的是,协处理器内嵌于所述可编程逻辑器件中,使得所述协处理器和所述可编程逻辑器件之间的通信效率高于所述主处理器和所述可编程逻辑器件之间的通信效率。并且预先在可编辑逻辑器件的存储器中存储与被测芯片相关的固件文件,由协处理器响应于主处理器发送的启动中断信号,从存储器中加载固件文件对可编程逻辑器件进行配置,这种片上配置方式可以实现更快的芯片配置过程,提高芯片配置效率,从而有效加快芯片研发周期,而且这种片上配置方式也有效减轻主处理器负载。
以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1是本公开实施例的第一种原型验证系统的结构示意图。
图2是本公开实施例的第二种原型验证系统的结构示意图。
图3是本公开实施例的第三种原型验证系统的结构示意图。
图4是本公开实施例的第四种原型验证系统的结构示意图。
图5是本公开实施例的一种原型验证方法的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本技术领域的人员更好的理解本公开实施例中的技术方案,并使本公开实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本公开实施例中的技术方案作进一步详细的说明。
原型验证的工作原理是将芯片设计的系统功能模型映射到可编程逻辑器件上进行实现,然后让芯片设计中的软件部分在真正的硬件中运行,实现软硬件协同验证。原型验证系统可以包括一个或多个可编程逻辑器件,例如,现场可编程逻辑门阵列(FieldProgrammable Gate Array,简称FPGA)。原型验证系统可以载入与被测芯片相应的验证数据来对可编程逻辑器件进行配置,使得可编程逻辑器件在配置后的功能在行为级层面和被测芯片的功能保持一致,从而可以通过配置后的可编程逻辑器件来验证被测芯片,包括执行被测芯片的各种操作,在制造之前就测试并验证被测试的芯片设计中的各个模块的功能。
相关技术中的一种原型验证系统包括有处理器和可编程逻辑器件,处理器和可编程逻辑器件通信连接,处理器将与被测芯片相应的验证数据发送给可编程逻辑器件以实现配置可编程逻辑器件。然而,随着芯片技术的不断发展,芯片规模更加复杂(如芯片面积扩大、计算复杂度增加等),需要对可编程逻辑器件进行配置的数据量也逐渐增加,上述结构的原型验证系统的配置效率无法满足大规模芯片设计的需求。
基于相关技术中的问题,请参阅图1,本公开实施例提供了一种原型验证系统,所述系统包括主处理器10和可编程逻辑器件30;所述可编程逻辑器件30能够与主处理器10通信连接;其中,所述可编程逻辑器件30内嵌有协处理器20和存储器31;所述存储器31预先存储有与被测芯片相关的配置信息和所述被测芯片的测试用例。
所述主处理器10,用于向所述协处理器20发送启动中断信号。
所述协处理器20,用于响应于所述主处理器10发送的启动中断信号,从所述存储器31中加载所述配置信息,利用所述配置信息对所述可编程逻辑器件30进行配置,并启动配置后的可编程逻辑器件30;其中,配置后的可编程逻辑器件用于模拟所述被测芯片。
所述可编程逻辑器件30,用于在被启动后,从所述存储器31中加载所述测试用例,并通过所述测试用例对所述配置后的可编程逻辑器件所模拟的被测芯片进行原型验证。
在本实施例提供的原型验证系统中,协处理器20内嵌于所述可编程逻辑器件30中,使得所述协处理器20和所述可编程逻辑器件30之间的通信效率高于所述主处理器10和所述可编程逻辑器件30之间的通信效率。并且预先在可编辑逻辑器件的存储器31中存储与被测芯片相关的配置信息,由协处理器20响应于所述主处理器10发送的启动中断信号,从存储器31中加载配置信息对可编程逻辑器件30进行配置,这种片上配置方式可以实现更快的芯片配置过程,提高芯片配置效率,从而有效加快芯片研发周期,而且这种片上配置方式也有效减轻了主处理器10负载。
示例性的,所述主处理器10包括但不限于ARM处理器、现场可编程逻辑器件30(FPGA)、专用集成电路或者微控制器等,所述协处理器20包括微处理器(MCU),所述可编程逻辑器件30包括现场可编程逻辑器件30(FPGA)或者通用阵列逻辑(GAL)。所述存储器31可以是随机访问存储器31(如DDR存储器31)或者静态随机访问存储器31等。
示例性的,所述与被测芯片相关的配置信息被封装成固件文件。示例性的,所述固件文件可以通过以下方式得到:使用高级编程语言(如C语言或者C++语言)开发,将与被测芯片相关的配置信息编程成高级语言编程文件(C语言编程文件或C++语言编程文件),接着将高级语言编程文件经编译器编译成二进制文件之后,保存为所述协处理器20支持的格式。本实施例将被测芯片的相关配置信息封装成固件文件,从而实现协处理器20基于固件文件对可编程逻辑器件30进行自动化配置,无需主处理器10参与,从而有利于提高配置效率,减轻主处理器10的负载。
在一示例性的实施方式中,所述协处理器20、所述存储器31和所述可编程逻辑器件30通过总线连接,则所述协处理器20可以通过总线加载配置信息,以对可编程逻辑器件30进行配置。可以理解的是,所述总线的具体类型可依据实际应用场景进行具体设置,本实施例对此不做任何限制。示例性的,所述总线包括但不限于AXI总线、PCI总线、或者RS485总线等。
可以理解的是,本公开实施例对于所述可编程逻辑器件30和所述主处理器10的具体通信方式不做任何限制,可依据实际应用场景进行具体设置。在一示例性的实施例中,所述可编程逻辑器件30和所述主处理器10基于PCI-e或者USB通信连接;其中,基于PCI-e的通信效率高于基于USB的通信效率。在一个例子中,所述主处理器10提供PCIe Gen3 x16通用扩展插槽,与所述可编程逻辑器件30之间通过PCI-e进行通信,从而有利于提高通信效率。
在一些实施例中,在需要对被测芯片进行原型验证的情况下,主处理器10可以先获取与被测芯片相关的配置信息和所述被测芯片的测试用例,并存储在主处理器10的内置存储器中。在发送所述启动中断信号之前,主处理器10可以将内置存储器中存储的与被测芯片相关的配置信息和所述被测芯片的测试用例搬移到所述存储器31。在确定将所述配置信息和所述测试用例存储至所述可编程逻辑器件30中的存储器31之后,所述主处理器10可以向所述协处理器20发送启动中断信号,以告知所述协处理器20配置并启动可编程逻辑器件30。
在一些示例性的实施例中,请参阅图2,所述可编程逻辑器件30包括有通信模块32和中继控制模块33。示例性的,通信模块32、中继控制模块33、协处理器20和存储器31可以通过总线连接。所述通信模块32用于接收所述主处理器10发送的所述配置信息和所述测试用例,并将其存储至存储器31的指定地址中;以及接收所述主处理器10发送的启动中断信号,并将其发送给中继控制模块33。中继控制模块33负责中断信号的接收、转发以及处理功能。中继控制模块33在接收到所述启动中断信号之后,将其转发给协处理器20。在一个例子中,所述中继控制模块33在接收到启动中断信号之后,若所述启动中断信号的格式为所述协处理器20无法读取的格式,可以先将启动中断信号的格式转换为所述协处理器20支持的格式后再转发给所述协处理器20。
在一些实施例中,所述协处理器20响应于中继控制模块33转发的启动中断信号,从所述存储器31中加载所述配置信息,利用所述配置信息对所述可编程逻辑器件30进行配置,并启动配置后的可编程逻辑器件30;配置后的可编程逻辑器件30在行为级层面与所述被测芯片具有相同的功能,实现模拟被测芯片的硬件部分。所述可编程逻辑器件30,还用于在被启动后,从所述存储器31中加载所述测试用例,并通过所述测试用例对所述配置后的可编程逻辑器件所模拟的被测芯片进行原型验证;具体来说,配置后的可编程逻辑器件30可以对加载的所述测试用例进行处理,获得处理结果并存储至所述存储器31;以及在处理完所述测试用例之后,生成发送给所述主处理器10的完成中断信号。其中,所述测试用例为软件测试用例,以实现对被测芯片的软件部分进行模拟验证。
示例性的,所述可编程逻辑器件30可以将生成的完成中断信号发送给中继控制模块33,并由中断处理模块转发给所述通信模块32,进而由所述通信模块32发送给所述主处理器10。在一个例子中,所述可编程逻辑器件30和所述主处理器10基于PCI-e通信连接,所述中继控制模块33在接收到所述完成中断信号之后,可以将所述完成中断信号处理成PCI-e支持的MSIX中断信号,从而将处理后的完成中断信号经由所述通信模块32发送给所述主处理器10。
所述主处理器10响应于所述完成中断信号,从所述可编程逻辑器件30的存储器31中读取所述处理结果,将所述处理结果与所述测试用例的实际结果进行比对,并根据所述处理结果与所述测试用例的实际结果之间的差异,获取所述被测芯片的原型验证结果。示例性的,如果所述处理结果和所述实际结果相同或者两者之间的差异小于预设差异,则表示被测芯片的功能设计没有问题,反之,如果所述处理结果和所述实际结果之间的差异大于预设差异,则表示被测芯片在功能设计上存在问题,需要重新调整被测芯片的功能设计;可以理解的是,所述预设差异可依据实际应用场景进行具体设置。本实施例中,由于芯片配置任务由协处理来执行,主处理器10仅需基于处理结果和实际结果进行比对和验证,减轻了主处理器10负载,从而有利于提高主处理器10处理效率。
在一些实施例中,请参阅图3,所述可编程逻辑器件30还包括可编程逻辑模块34;所述可编程逻辑器件30由查找表(LUT)和寄存器(Register)组成的,查找表完成纯组合逻辑功能。所述协处理器20可以根据与被测芯片相关的配置信息对所述可编程逻辑模块34进行配置,以使得配置后的可编程逻辑模块34在行为级层面具有与所述被测芯片相同的功能,实现模拟被测芯片。示例性的,所述协处理器20可以对所述可编程逻辑器件30中的寄存器进行配置,比如寄存器可以被配置成带同步/异步复位和置位、时钟使能的触发器,也可以配置成为锁存器。示例性的,所述可编程逻辑器件30包括FPGA,所述可编程逻辑模块34包括有一个或多个可配置逻辑块(Configurable Logic Block,CLB),CLB是FPGA具有可编程能力的主要承担者,通过配置这些CLB可以让FPGA模拟被测芯片,使FPGA在行为级层面与被测芯片具有相同的功能。
在一些实施例中,考虑到被测芯片在实际应用过程中可能是需要跟其他硬件或者软件协同使用的,则模拟被测芯片的可编程逻辑模块34在处理测试用例的过程中可能需要其他硬件或者软件配合;或者,原型验证系统中需要收集可编程逻辑模块34处理测试用例得到的处理结果进行验证分析,而模拟被测芯片的可编程逻辑模块34并不具备收集处理结果以进行验证分析的功能。因此,本公开实施例除了对可编程逻辑模块34进行配置之外,也需要对可编程逻辑器件30中的其他组件也进行配置,保证原型验证过程的稳定进行。上述与被测芯片相关的配置信息包括针对于所述被测芯片的第一配置信息和针对于所述可编程逻辑器件30的第二配置信息。所述协处理器20,还用于利用所述第一配置信息对所述可编程逻辑模块34进行配置,以使配置后的可编程逻辑单元在行为级层面具有与所述被测芯片相同的功能;以及,利用所述第二配置信息对所述可编程逻辑器件30中除所述可编程逻辑模块34之外的其他组件进行配置,以使得配置后的其他组件能够配合配置后的可编程逻辑模块34对所述测试用例的处理过程。在一个例子中,比如配置后的其他组件能够在配置后的可编程逻辑模块34处理测试用例的过程中,模拟与被测芯片配合的硬件和软件,给所述可编程逻辑模块34发送相关的激励信息。在另一个例子中,比如配置后的其他组件能够在配置后的可编程逻辑模块34处理完测试用例,收集相关的处理数据以便后续进行验证分析。
所述可编程逻辑器件30中除所述可编程逻辑模块34之外的其他组件包括但不限于通信模块32、中继控制模块33、存储器31和协处理器20等等。示例性的,所述第二配置信息包括以下至少一种或多种:针对于所述协处理器20的驱动配置信息、针对于所述中继控制模块33的中断处理配置信息、针对于所述存储器31的存储配置信息、以及针对于所述通信模块32的通信配置信息等等。在一个例子中,配置后的中继控制模块33能够响应于配置后的可编程逻辑模块34发送的完成中断信号,将完成中断信号发送给主处理器10。在另一个例子中,比如配置后的协处理器20能够响应于可编程逻辑模块34在处理测试用例的过程中发送的第一状态信号,基于该第一状态信号执行相关的处理逻辑;其中,第一状态信号表征所述测试用例的处理进度。
在一些实施例中,请参阅图4,所述可编程逻辑器件30还包括存储控制模块35,所述存储控制模块35用于控制其他组件对所述存储器31的读写操作。比如所述主处理器10可以通过所述存储控制模块35将与被测芯片相关的配置信息和测试用例写入所述存储器31中;比如所述协处理器20可以通过所述存储控制模块35从所述存储器31中读取所述配置信息来配置可编程逻辑模块34和其他组件;比如配置后的可编程逻辑模块34可以通过所述存储控制模块35从存储器31中读取测试用例来进行处理。示例性的,如图4所示,通信模块32、中继控制模块33、可编程逻辑模块34、存储控制模块35和协处理器20可以通过总线连接。所述可编程逻辑模块34可以与所述存储控制模块35直接连接,从而有利于提高可编程逻辑模块34从存储器31中读取数据或写入数据的效率。
在一些实施例中,考虑到随着芯片设计规模的扩大,芯片的运算复杂度也逐渐增加,比如被测芯片在实际应用过程中可能是需要跟其他硬件或者软件协同使用的,则模拟被测芯片的可编程逻辑器件30在处理测试用例的过程中也需要其他硬件或者软件配合。则在原型验证系统中,所述协处理器20还用于利用所述配置信息对所述可编程逻辑器件30进行初始化配置,并启动初始化配置后的可编程逻辑器件30;所述可编程逻辑器件30,还用于在被启动后,在对所述测试用例进行处理的过程中向所述协处理器20反馈第一状态信号,所述第一状态信号表征所述测试用例的处理进度;所述协处理器20,还用于基于所述配置信息中与所述第一状态信号相关的信息,对所述可编程逻辑器件30进行配置。本实施例中通过测试用例处理过程中的状态反馈,实现对可编程逻辑器件30进行准确配置,从而保证被测芯片的原型验证过程稳定进行。
示例性的,请参阅图3和图4,所述可编程逻辑器件30中的可编程逻辑模块34在初始化配置并被启动之后,可以从所述存储器31中读取预先存储的所述被测芯片的测试用例,对所述测试用例进行处理,以及在对所述测试用例进行处理的过程中向所述协处理器20反馈第一状态信号。其中,所述第一状态信号可以反映出可编程逻辑模块34在处理过程中的工作状态,比如所述第一状态信号表征所述测试用例的处理进度。所述协处理器20还用于在接收到第一状态信号之后,基于所述配置信息中与所述第一状态信号相关的信息,对所述可编程逻辑模块34进行配置,从而模拟实际应用过程中其他硬件或者软件的配合效果,保证原型验证过程稳定进行。示例性的,所述配置信息可以包括不同状态信号所对应的可配置信息。
在一个例子中,假设所述被测芯片用于处理视频帧序列,比如对视频帧进行人脸检测,被测芯片的作用在于对图像进行人脸检测,但需要对哪一张图像进行人脸检测需要由其他硬件或者软件根据被测芯片对于上一帧图像的人脸检测结果决定。所述测试用例可以是待处理的视频帧序列。所述测试用例预先存储在存储器31中。所述可编程逻辑模块34在初始化配置并被启动之后,可以从所述存储器31中读取视频帧序列中的第一帧图像,并对该第一帧图像进行人脸检测处理,在处理完成之后,将第一帧图像的处理结果存储到所述存储器31中,并向所述协处理器20反馈表征第一帧图像处理完成的第一状态信号;所述第一状态信号表征第一帧图像处理完成,所述协处理器可以从存储器31中读取所述第一帧图像的处理结果,比如在第一帧图像中检测到人脸的情况下,跳过视频帧序列中的第二帧图像,直接对视频帧序列中的第三帧图像进行处理,在第一帧图像中没有检测到人脸的情况下,接下来需要继续处理视频帧序列中的第二帧图像,在实际应用过程中,被测芯片需要接收其他硬件或软件根据所述第一状态信号发送的处理信号,该处理信号指示被测芯片接下来应该处理视频帧序列中的哪一帧图像。
则在原型验证过程中,所述协处理器20可以基于所述配置信息中与所述第一状态信号相关的信息对可编程逻辑模块34进行配置,所述配置信息中与所述第一状态信号相关的信息可以模拟实际应用过程中其他硬件或者软件的配合效果,比如所述配置信息中与所述第一状态信号相关的信息可以包括模拟上述配合效果的激励信号,所述激励信号指示配置后的可编程逻辑模块34接下来应该处理哪一帧图像;则配置后的可编程逻辑模块34能够从存储器31中读取视频帧序列中的第二帧图像或者第三图像进行人脸检测,在处理完成之后,将处理结果存储到所述存储器31中,并向所述协处理器20反馈表征处理完成的第一状态信号,依次类推,直到可编程逻辑模块34处理完所述视频帧序列。在另一个例子中,被测芯片的作用在于对语音信号进行语音识别,但什么时候识别停止语音识别需要由其他硬件或者软件决定,比如其他硬件或软件在确定被测芯片的语音识别结果中有预设词汇时可以通知被测芯片停止语音识别。
所述测试用例可以是待处理的语音片段,所述测试用例预先存储在存储器31中。则在原型验证过程中,所述可编程逻辑模块34在初始化配置并被启动之后,可以从所述存储器31中读取语音片段进行语音识别,并将识别结果存储在存储器31中,并且每识别完预设时长的语音信号即可向所述协处理器20反馈第一状态信号;所述协处理器20可以根据该第一状态信号从存储器获取该预设时长的语音信号的语音识别结果,若确定该语音识别结果中包括预设词汇,所述协处理器20可以基于所述配置信息中与所述第一状态信号相关的信息对可编程逻辑模块34进行配置,使得配置后的可编程逻辑模块34停止识别接下来的语音信号;若该语音识别结果中不包括预设词汇,则不对可编程逻辑模块34进行配置,以便可编程逻辑模块34继续识别语音信号。
在一些实施例中,所述协处理器20还用于定时向所述主处理器10发送第二状态信号,所述第二状态信号指示所述协处理器20的工作状态;所述主处理器10还用于根据所述第二状态信号监控所述协处理器20的工作状态,从而保证被测芯片的验证过程稳定进行。示例性的,当所述第二状态信号包括有第一预设字段,所述主处理器10确定所述协处理器20正常运行,当所述第二状态信号包括有第二预设字段,所述主处理器10确定协处理器20异常。其中,第一预设字段和第二预设字段的具体取值可依据实际应用场景进行具体设置,本实施例对此不做任何限制,比如第一预设字段为1,第二预设字段为0。
示例性的,主处理器10在确定协处理器20异常的情况下,可以输出异常提示信息,以提示用户检查协处理器20,保证被测芯片的配置及验证过程稳定进行。
在一可能的实现方式中,所述可编程逻辑器件30在对测试用例进行处理的过程中,除了向所述协处理器20反馈第一状态信号,还可以向所述主处理器10反馈第一状态信号。所述主处理器10还用于在所述第二状态信号指示所述协处理器20正常运行的情况下,丢弃所述第一状态信号,此时由协处理器20对可编程逻辑器件30进行继续配置;以及在所述第二状态信号指示所述协处理器20异常的情况下,基于与所述第一状态信号相关的预设配置信息对所述可编程逻辑器件30进行配置。本实施例提供了一种协处理器20异常情况下的补救措施,在协处理器20异常的情况下可以由主处理器10继续执行芯片配置任务,从而保证被测芯片的原型验证过程稳定进行。
示例性的,所述第一状态信号由可编程逻辑器件30中的可编程逻辑模块34发送给所述协处理器20和所述主处理器10。在协处理器20正常运行的情况下,由协处理器20基于所述第一状态信号对可编程逻辑模块34进行继续配置;在协处理器20异常的情况下,由主处理器10基于所述第一状态信号对可编程逻辑模块34进行继续配置,从而保证被测芯片的原型验证过程稳定进行。
在一示例性的实施例中,所述原型验证系统在具体的验证调试过程中,主要分“编译”和“运行时”两个阶段(以下以可编程逻辑器件30为FPGA进行示例性说明):
在“编译”阶段:(1)将所有可综合的硬件描述源文件包括协处理器20、通信模块32、总线、中继控制模块33、存储控制模块35、存储器31以及可编程逻辑模块34等组件在专门的FPGA集成编译环境中,进行综合和实现,最终得到硬件电路的网表数据库,生成专门的FPGA位流文件。(2)使用高级编程语言(如C语言或者C++语言)开发,将与被测芯片相关的配置信息编程成C语言编程文件或C++语言编程文件,接着将C语言编程文件或C++语言编程文件经编译器编译成二进制文件之后,保存为所述协处理器20支持的格式,得到固件文件。
在“运行时”阶段:
1、将编译阶段完成的FPGA位流文件通过预设工具下载到FPGA。
2、主处理器10的内置存储器存放被测芯片的测试用例和固件文件。
3、主处理器10与FPGA基于PCI-e通信连接,主处理器10将内置存储器中的测试用例和固件文件发送给FPGA中的通信模块32,由通信模块32将其搬移到FPGA上的存储器31的指定地址。
4、主处理器10将启动中断信号发送给通信模块32,进而通过中继控制模块33转发给协处理器20,协处理器20加载存储器31中的固件文件实现可编程逻辑模块34的配置和FPGA上其他组件的配置,并在配置后启动可编程逻辑模块34。
5、可编程逻辑模块34在被启动后进行指令解析,然后从FPGA上的存储器31中取出所需要的测试用例进行芯片计算,输出处理结果仍存回FPGA上的存储器31,在计算完成后向中继控制模块33发送完成中断信号。
6、中继控制模块33接收来自可编程逻辑模块34的完成中断信号,一方面发送给协处理器20进行中断处理,另一方面将完成中断信号转换成PCIe专门的MSIX中断通过通信模块32发送至主处理器10。
7、主处理器10响应于完成中断信号,将测试用例的处理结果数据从FPGA上的存储器31通过通信模块32搬移到主处理器10的内置存储器中,并基于测试用例的实际结果和所述处理结果进行对比和验证。
其中,不难理解,上述各实施例中的描述的方案在不存在冲突的情况,可以进行组合,本公开实施例中不一一列举。
相应地,请参阅图1~图4,本公开实施例还提供了一种可编程逻辑器件,用于对被测芯片进行原型验证;所述可编程逻辑器件内嵌有协处理器和存储器;其中,所述存储器预先存储有与被测芯片相关的配置信息和所述被测芯片的测试用例。
所述协处理器,用于响应于主处理器发送的启动中断信号,从所述存储器中加载所述配置信息,利用所述配置信息对所述可编程逻辑器件进行配置,并启动配置后的可编程逻辑器件;
所述可编程逻辑器件,用于在被启动后,从所述存储器中加载所述测试用例,并通过所述测试用例对所述配置后的可编程逻辑器件所模拟的被测芯片进行原型验证。
在一些实施例中,所述协处理器、所述存储器和所述可编程逻辑器件通过总线连接。
在一些实施例中,所述配置信息和所述测试用例由所述主处理器在发送所述启动中断信号之前存储至所述存储器。
在一些实施例中,所述可编程逻辑器件,还用于在被启动后,对加载的所述测试用例进行处理,获得处理结果并存储至所述存储器;以及在处理完所述测试用例之后,生成发送给所述主处理器的完成中断信号;其中,所述完成中断信号用于触发所述主处理器从所述存储器中读取所述处理结果,根据所述处理结果与所述测试用例的实际结果之间的差异,获取所述被测芯片的原型验证结果。
在一些实施例中,所述协处理器,还用于利用所述配置信息对所述可编程逻辑器件进行初始化配置,并启动初始化配置后的可编程逻辑器件;所述可编程逻辑器件,还用于在被启动后,在对所述测试用例进行
处理的过程中向所述协处理器反馈第一状态信号;所述第一状态信号表征所述测试用例的处理进度;所述协处理器,还用于基于所述配置信息中与所述第一状态信号相关的信息,对所述可编程逻辑器件进行配置。
在一些实施例中,所述协处理器,还用于定时向所述主处理器发送第二状态信号;其中,所述第二状态信号指示所述协处理器的工作状态;所述第二状态信号用于触发所述主处理器对所述协处理器的工作状态进行监控。
在一些实施例中,所述可编程逻辑器件,还用于在对所述测试用例进行处理的过程中向所述主处理器反馈第一状态信号;其中,所述第一状态信号用于触发所述主处理器在所述第二状态信号指示所述协处理器异常的情况下,基于与所述第一状态信号相关的预设配置信息对所述可编程逻辑器件进行配置;以及,在所述第二状态信号指示所述协处理器正常运行的情况下,丢弃所述第一状态信号。
在一些实施例中,所述可编程逻辑器件还包括可编程逻辑模块;所述配置信息包括针对于所述被测芯片的第一配置信息和针对于所述可编程逻辑器件的第二配置信息;所述协处理器,还用于利用所述第一配置信息对所述可编程逻辑模块进行配置,以使配置后的可编程逻辑单元在行为级层面具有与所述被测芯片相同的功能;以及,利用所述第二配置信息对所述可编程逻辑器件中除所述可编程逻辑模块之外的其他组件进行配置,以使得配置后的其他组件能够配合配置后的可编程逻辑模块对所述测试用例的处理过程。
在一些实施例中,所述可编程逻辑器件和所述主处理器基于PCI-e协议或者USB协议通信连接。
在一些实施例中,所述可编程逻辑器件还包括有通信模块和中断控制模块;所述启动中断信号由所述主处理器发送给所述通信模块,并经由所述中断控制模块转发给所述协处理器;和/或,所述可编程逻辑器件在处理完所述测试用例之后生成的完成中断信号由所述中断控制模块转发给所述通信模块,并由所述通信模块发送给所述主处理器。
在一些实施例中,所述与被测芯片相关的配置信息被封装成固件文件;所述固件文件通过以下方式得到:将高级语言编程文件经编译器编译成二进制文件之后,保存为所述协处理器支持的格式。
在一些实施例中,所述主处理器包括ARM处理器,所述协处理器包括MCU,所述可编程逻辑器件包括FPGA。
其中,上述可编程逻辑器件的具体描述可以参考上述系统实施例中的描述,在此不再赘述。相应地,请参阅图5,本公开实施例还提供了一种原型验证方法,应用于上述的可编程逻辑器件;所述方法由内嵌于可编程逻辑器件中的协处理器执行,所述方法包括:
在步骤S101中,响应于所述主处理器发送的启动中断信号,从存储器中加载预先存储的与被测芯片相关的配置信息。
在步骤S102中,利用所述配置信息对所述可编程逻辑器件进行配置,并启动配置后的可编程逻辑器件;其中,启动后的可编程逻辑器件用于从所述存储器中加载预先存储的所述被测芯片的测试用例,并通过所述测试用例对所述配置后的可编程逻辑器件所模拟的被测芯片进行原型验证。
在一些实施例中,所述协处理器、所述存储器和所述可编程逻辑器件通过总线连接。所述配置信息和所述测试用例由所述主处理器在发送所述启动中断信号之前存储至所述存储器。
在一些实施例中,启动后的可编程逻辑器件用于对加载的所述测试用例进行处理,获得处理结果并存储至所述存储器;以及在处理完所述测试用例之后,生成发送给所述主处理器的完成中断信号;其中,所述完成中断信号用于触发所述主处理器从所述存储器中读取所述处理结果,根据所述处理结果与所述测试用例的实际结果之间的差异,获取所述被测芯片的原型验证结果。
在一些实施例中,所述利用所述配置信息对所述可编程逻辑器件进行配置,并启动配置后的可编程逻辑器件,包括:利用所述配置信息对所述可编程逻辑器件进行初始化配置,并启动初始化配置后的可编程逻辑器件;接收所述可编程逻辑器件在对所述测试用例进行处理的过程中反馈的第一状态信号,所述第一状态信号表征所述测试用例的处理进度;基于所述配置信息中与所述第一状态信号相关的信息,对所述可编程逻辑器件进行配置。
在一些实施例中,还包括:定时向所述主处理器发送第二状态信号;其中,所述第二状态信号指示所述协处理器的工作状态;所述第二状态信号用于触发所述主处理器对所述协处理器的工作状态进行监控。
在一些实施例中,所述可编程逻辑器件还用于在对所述测试用例进行处理的过程中向所述主处理器反馈第一状态信号;其中,所述第一状态信号用于触发所述主处理器在所述第二状态信号指示所述协处理器异常的情况下,基于与所述第一状态信号相关的预设配置信息对所述可编程逻辑器件进行配置;以及,在所述第二状态信号指示所述协处理器正常运行的情况下,丢弃所述第一状态信号。
在一些实施例中,所述可编程逻辑器件还包括可编程逻辑模块;所述配置信息包括针对于所述被测芯片的第一配置信息和针对于所述可编程逻辑器件的第二配置信息。所述利用所述配置信息对所述可编程逻辑器件进行配置,包括:利用所述第一配置信息对所述可编程逻辑模块进行配置,以使配置后的可编程逻辑单元在行为级层面具有与所述被测芯片相同的功能;以及,利用所述第二配置信息对所述可编程逻辑器件中除所述可编程逻辑模块之外的其他组件进行配置,以使得配置后的其他组件能够配合配置后的可编程逻辑模块对所述测试用例的处理过程。
在一些实施例中,所述与被测芯片相关的配置信息被封装成固件文件;所述固件文件通过以下方式得到:将高级语言编程文件经编译器编译成二进制文件之后,保存为所述协处理器支持的格式。
其中,上述原型验证方法的具体步骤可以参考上述系统实施例中的描述,在此不再赘述。
进一步的,本公开实施例还提供一种电子设备,包括上述的原型验证系统。
示例性的,所述电子设备包括但不限于计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理或者服务器等设备。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现前述任一实施例所述的方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本公开实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本公开实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本公开实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开实施例的保护范围。

Claims (16)

1.一种可编程逻辑器件,其特征在于,用于对被测芯片进行原型验证;所述可编程逻辑器件内嵌有协处理器和存储器;其中,所述存储器预先存储有与被测芯片相关的配置信息和所述被测芯片的测试用例;
所述协处理器,用于响应于主处理器发送的启动中断信号,从所述存储器中加载所述配置信息,利用所述配置信息对所述可编程逻辑器件进行配置,并启动配置后的可编程逻辑器件;
所述可编程逻辑器件,用于在被启动后,从所述存储器中加载所述测试用例,并通过所述测试用例对所述配置后的可编程逻辑器件所模拟的被测芯片进行原型验证。
2.根据权利要求1所述的可编程逻辑器件,其特征在于,所述协处理器、所述存储器和所述可编程逻辑器件通过总线连接。
3.根据权利要求1所述的可编程逻辑器件,其特征在于,所述配置信息和所述测试用例由所述主处理器在发送所述启动中断信号之前存储至所述存储器。
4.根据权利要求1所述的可编程逻辑器件,其特征在于,
所述可编程逻辑器件,还用于在被启动后,对加载的所述测试用例进行处理,获得处理结果并存储至所述存储器;以及在处理完所述测试用例之后,生成发送给所述主处理器的完成中断信号;
其中,所述完成中断信号用于触发所述主处理器从所述存储器中读取所述处理结果,根据所述处理结果与所述测试用例的实际结果之间的差异,获取所述被测芯片的原型验证结果。
5.根据权利要求1所述的可编程逻辑器件,其特征在于,
所述协处理器,还用于利用所述配置信息对所述可编程逻辑器件进行初始化配置,并启动初始化配置后的可编程逻辑器件;
所述可编程逻辑器件,还用于在被启动后,在对所述测试用例进行处理的过程中向所述协处理器反馈第一状态信号;所述第一状态信号表征所述测试用例的处理进度;
所述协处理器,还用于基于所述配置信息中与所述第一状态信号相关的信息,对所述可编程逻辑器件进行配置。
6.根据权利要求1至5任意一项所述的可编程逻辑器件,其特征在于,
所述协处理器,还用于定时向所述主处理器发送第二状态信号;
其中,所述第二状态信号指示所述协处理器的工作状态;所述第二状态信号用于触发所述主处理器对所述协处理器的工作状态进行监控。
7.根据权利要求6所述的可编程逻辑器件,其特征在于,
所述可编程逻辑器件,还用于在对所述测试用例进行处理的过程中向所述主处理器反馈第一状态信号;
其中,所述第一状态信号用于触发所述主处理器在所述第二状态信号指示所述协处理器异常的情况下,基于与所述第一状态信号相关的预设配置信息对所述可编程逻辑器件进行配置;以及,在所述第二状态信号指示所述协处理器正常运行的情况下,丢弃所述第一状态信号。
8.根据权利要求1所述的可编程逻辑器件,其特征在于,所述可编程逻辑器件还包括可编程逻辑模块;
所述配置信息包括针对于所述被测芯片的第一配置信息和针对于所述可编程逻辑器件的第二配置信息;
所述协处理器,还用于利用所述第一配置信息对所述可编程逻辑模块进行配置,以使配置后的可编程逻辑单元在行为级层面具有与所述被测芯片相同的功能;以及,利用所述第二配置信息对所述可编程逻辑器件中除所述可编程逻辑模块之外的其他组件进行配置,以使得配置后的其他组件能够配合配置后的可编程逻辑模块对所述测试用例的处理过程。
9.根据权利要求1所述的可编程逻辑器件,其特征在于,所述可编程逻辑器件和所述主处理器基于PCI-e协议或者USB协议通信连接。
10.根据权利要求1至9任意一项所述的可编程逻辑器件,其特征在于,所述可编程逻辑器件还包括有通信模块和中断控制模块;
所述启动中断信号由所述主处理器发送给所述通信模块,并经由所述中断控制模块转发给所述协处理器;和/或,
所述可编程逻辑器件在处理完所述测试用例之后生成的完成中断信号由所述中断控制模块转发给所述通信模块,并由所述通信模块发送给所述主处理器。
11.根据权利要求1所述的可编程逻辑器件,其特征在于,所述与被测芯片相关的配置信息被封装成固件文件;
所述固件文件通过以下方式得到:将高级语言编程文件经编译器编译成二进制文件之后,保存为所述协处理器支持的格式。
12.根据权利要求1所述的可编程逻辑器件,其特征在于,所述主处理器包括ARM处理器,所述协处理器包括MCU,所述可编程逻辑器件包括FPGA。
13.一种原型验证系统,其特征在于,包括主处理器和如权利要求1至12任意一项所述的可编程逻辑器件。
14.一种电子设备,其特征在于,包括如权利要求13所述的原型验证系统。
15.一种原型验证方法,其特征在于,应用于如权利要求1至12任意一项所述的可编程逻辑器件;所述方法由内嵌于可编程逻辑器件中的协处理器执行,所述方法包括:
响应于所述主处理器发送的启动中断信号,从存储器中加载预先存储的与被测芯片相关的配置信息;
利用所述配置信息对所述可编程逻辑器件进行配置,并启动配置后的可编程逻辑器件;其中,启动后的可编程逻辑器件用于从所述存储器中加载预先存储的所述被测芯片的测试用例,并通过所述测试用例对所述配置后的可编程逻辑器件所模拟的被测芯片进行原型验证。
16.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被处理器执行时实现权利要求15所述方法的步骤。
CN202210612892.5A 2022-05-31 2022-05-31 可编程逻辑器件、原型验证系统、方法、设备及存储介质 Pending CN114912397A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210612892.5A CN114912397A (zh) 2022-05-31 2022-05-31 可编程逻辑器件、原型验证系统、方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210612892.5A CN114912397A (zh) 2022-05-31 2022-05-31 可编程逻辑器件、原型验证系统、方法、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114912397A true CN114912397A (zh) 2022-08-16

Family

ID=82771464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210612892.5A Pending CN114912397A (zh) 2022-05-31 2022-05-31 可编程逻辑器件、原型验证系统、方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114912397A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116719583A (zh) * 2023-08-08 2023-09-08 飞腾信息技术有限公司 一种启动方法、可编程逻辑器件、计算设备及存储介质
CN118246373A (zh) * 2024-03-19 2024-06-25 无锡众星微系统技术有限公司 一种用于切换芯片工作方式的软硬件握手方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116719583A (zh) * 2023-08-08 2023-09-08 飞腾信息技术有限公司 一种启动方法、可编程逻辑器件、计算设备及存储介质
CN116719583B (zh) * 2023-08-08 2023-11-10 飞腾信息技术有限公司 一种启动方法、可编程逻辑器件、计算设备及存储介质
CN118246373A (zh) * 2024-03-19 2024-06-25 无锡众星微系统技术有限公司 一种用于切换芯片工作方式的软硬件握手方法和装置

Similar Documents

Publication Publication Date Title
CN115841089B (zh) 一种基于uvm的系统级芯片验证平台及验证方法
CN114912397A (zh) 可编程逻辑器件、原型验证系统、方法、设备及存储介质
CN109783340B (zh) SoC的测试代码烧写方法、IP测试方法及装置
CN113032202B (zh) 芯片验证方法、系统、装置、计算机设备及存储介质
US20130024178A1 (en) Playback methodology for verification components
CN107273249B (zh) 主板测试方法、处理器和主板测试系统
CN1987877A (zh) 一种原型机的测试系统和方法
US20060212768A1 (en) Verification circuitry for master-slave system
CN115827568A (zh) 获取逻辑系统设计的数据的方法、电子设备和存储介质
CN114218882A (zh) 一种SoC芯片检验方法、装置及相关设备
CN110765716A (zh) 数字产品的仿真信号查看方法及系统
CN113326670A (zh) 原型验证系统、方法、处理单元、及设备
CN107704351B (zh) 一种芯片的验证方法和装置
CN114548027A (zh) 在验证系统中追踪信号的方法、电子设备及存储介质
CN117910398A (zh) 仿真逻辑系统设计的方法、电子装置和存储介质
CN113760751B (zh) 生成测试用例的方法、电子设备及存储介质
CN116701208A (zh) 一种芯片中内核模块的验证方法、系统、芯片和设备
CN112885403A (zh) 一种Flash控制器的功能测试方法、装置及设备
CN114443375A (zh) 测试方法及装置、电子装置及计算机可读存储介质
CN113836825A (zh) 神经网络处理器关键标准与验证芯片的应用方法
JP5279817B2 (ja) 試験装置および試験方法
CN112131806A (zh) 验证设计的编译方法、电子设备及存储介质
CN110956007A (zh) 数字产品的仿真信号查看方法及系统
US20240241809A1 (en) Methods, electronic devices and storage media for executing assertions
CN117436405B (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