CN113111616B - 一种基于fpga的面向微处理器测试的仿真方法及装置 - Google Patents

一种基于fpga的面向微处理器测试的仿真方法及装置 Download PDF

Info

Publication number
CN113111616B
CN113111616B CN202110413186.3A CN202110413186A CN113111616B CN 113111616 B CN113111616 B CN 113111616B CN 202110413186 A CN202110413186 A CN 202110413186A CN 113111616 B CN113111616 B CN 113111616B
Authority
CN
China
Prior art keywords
chip
test
virtual
tested
virtual chip
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
CN202110413186.3A
Other languages
English (en)
Other versions
CN113111616A (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 Information Science and Technology University
Original Assignee
Beijing Information Science and Technology University
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 Information Science and Technology University filed Critical Beijing Information Science and Technology University
Priority to CN202110413186.3A priority Critical patent/CN113111616B/zh
Publication of CN113111616A publication Critical patent/CN113111616A/zh
Application granted granted Critical
Publication of CN113111616B publication Critical patent/CN113111616B/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种基于FPGA的面向微处理器测试的仿真方法,涉及建模仿真技术领域,包括以下步骤:待测芯片上电并加载测试程序;根据所述待测芯片的待测功能确定所述虚拟芯片,并定义所述虚拟芯片和所述待测芯片的引脚规则;检测所述待测芯片是否与已经通过自检的虚拟芯片联通;执行所述测试程序的代码,测试所述待测芯片的功能。通过本发明中的方法,可以有效地发挥FPGA的可重构性、动态配置、灵活组合等特点,达到软件定义电路的目标,能够充分模拟外围电路的功能。较之传统的板级仿真方法,不用针对每一类外围电路设计电路板,只需要一个通用的功能电路板即可实现,并且可根据需要随时调整,监控点也可以任意设置,仿真评估效果更加明显。

Description

一种基于FPGA的面向微处理器测试的仿真方法及装置
技术领域
本发明涉及建模仿真领域,更具体的说是涉及一种基于FPGA的面向微处理器测试的仿真方法及装置。
背景技术
集成电路产业是支撑我国国民经济与社会发展的先导性新兴产业之一,是推动工业信息化和保障国家信息安全的的基础,具有重大的战略意义。伴随着集成电路设计与生产水平的提升,芯片封装与测试的复杂度和困难度也迅速提升。测试环节时长在整个开发周期中的比重越来越大,对于测试结果准确率和效率要求越来越高。传统的芯片测试方法需要为不同的芯片编写特定的测试代码、搭建专用的测试平台,并且需要利用逻辑分析仪等仪器对于芯片的输出结果进行比对判断。因而测试环境搭建难度大且测试工作开展的地点受限。为了应对当前芯片测试工作面临的诸多挑战,学界和业界在研究如何使用自动化芯片测试方方案代替传统的测试方案。
目前根据待测芯片种类的差异,可以将目前的自动化测量的方案大致分为两类:
第一类是使用针对结构简单的集成电路芯片的低端专用自动化测试仪器的方案。这种方案可以迅速完成针对特定型号的集成电路芯片的测试工作,测试能力强,性价比很高,但是只能针对某种特定的芯片进行测试工作。
第二类是使用针对不同种类芯片进行通用检测的中高端自动化测量设备的方案。这类自动化测量设备的分析通道数量多,测试效率和精度高,可以满足包括MCU、CPU、DSP、ASIC以及SoC等集成电路的仿真工作。
以上两类自动化测试方案都依赖于精密而昂贵的分析设备,测试过程中待测芯片并未实际接入应用电路,仿真过程无法模拟芯片与周围电路元件的通信过程,因而无法覆盖使用中可能出现的问题和故障的仿真用例。所以,如何充分模拟外围电路灵活、便捷的完成对微处理器的功能测试,对本领域技术人员来说,是亟待解决的技术难题。
发明内容
有鉴于此,本发明提供了一种基于FPGA的面向微处理器测试的仿真方法,可以充分模拟外围电路灵活、便捷的完成对微处理器的功能测试。
为了实现上述目的,本发明采用如下技术方案:第一方面提供一种基于FPGA的面向微处理器测试的仿真方法,包括以下步骤:
待测芯片上电并加载测试程序;
根据所述待测芯片的待测功能确定虚拟芯片,并定义所述虚拟芯片和所述待测芯片的引脚规则;
检测所述待测芯片是否与已经通过自检的虚拟芯片联通;
执行所述测试程序的代码,测试所述待测芯片的功能。
优选的,所述虚拟芯片的构造具体步骤为:
选定所述虚拟芯片的类型;
确定所述虚拟芯片的外围引脚定义;
根据所述虚拟芯片的芯片类型和所述虚拟芯片的外围引脚定义,生成VHDL语言的测试系统源代码,并对测试系统源代码进行编译综合;
将所述测试系统源代码编译综合的结果烧录到所述虚拟芯片中,完成所述虚拟芯片的构造。
优选的,所述外围引脚定义包括外围引脚数量、引脚数据方向以及所述虚拟芯片引脚与所述测试芯片引脚的映射关系。
优选的,所述虚拟芯片的自检包括以下步骤:
检测所述虚拟芯片的引脚规则是否符合所述外围引脚定义,若不满足,则自检不通过,继续进行所述虚拟芯片的构造;
若通过,则将外界的测试数据注入所述虚拟芯片,获取输出结果,若所述输出结果与预期结果不符,则自检不通过,继续进行所述虚拟芯片的构造;
若通过,则生成自检报告。
优选的,还包括上位机,所述上位机通过通信接口将FPGA配置信息和所述虚拟芯片的控制信息发送至测试系统,所述测试系统根据所述上位机的控制信息生成所述虚拟芯片,完成所述待测芯片测试,并将测试结果反馈至所述上位机。
第二方面,提供一种基于FPGA的面向微处理器测试的仿真装置,包括待测芯片、测试系统、上位机;其中,所述测试系统上配置有虚拟芯片,所述虚拟芯片与所述待测芯片对应连接,所述测试系统通过通信接口与所述上位机连接。
优选的,所述虚拟芯片包括SRAM存储芯片和A/D芯片。
经由上述的技术方案可知,本发明公开提供了一种基于FPGA的面向微处理器测试的仿真方法及装置,与现有技术相比,具有以下有益的技术效果:
1)通过本发明中的方法,可以有效地发挥FPGA的可重构性、动态配置、灵活组合等特点,达到软件定义电路的目标,能够充分模拟外围电路的功能。较之传统的板级仿真方法,不用针对每一类外围电路设计电路板,只需要一个通用的功能电路板即可实现,并且可根据需要随时调整,监控点也可以任意设置,仿真评估效果更加明显。
2)实现自动化测试,减少人力干预,降低对测试人员要求
3)实现测试过程与测试代码隔离,增强测试系统稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明的基于FPGA的仿真系统结构图;
图2附图为本发明的虚拟芯片构造流程与自检流程图;
图3附图为本发明的MCU测试过程流程图;
图4附图为本发明的虚拟存储类芯片设计结构图;
图5附图为本发明的虚拟A/D类芯片设计结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例1公开了一种基于FPGA的面向微处理器测试的仿真方法,由图3可见,为本发明中待测MCU功能测试的过程,包括以下步骤:
S1:待测芯片上电并加载测试程序;
需要进一步说明的是,测试程序的开发与待测试的功能有关。测试程序包括三个部分:
a)与上位机通信,请求分配可以使用的待测功能类型的虚拟芯片;如果分配到可以使用的虚拟芯片,测试程序继续执行,如果没有可以使用的虚拟芯片分配到MCU,那么延时等待后,继续请求分配所需型号的虚拟芯片,直到分配到所需芯片继续执行,若请求次数超过最大规定操作次数,测试程序向上位机提交错误码,测试程序退出执行。
b)执行测试程序主体。对于SRAM存储类芯片,测试程序向虚拟芯片的全部存储单元依次写入测试数据,之后从全部存储单元中读取存储数据,将写入与读取结果做比较。对于A/D类虚拟芯片,测试程序先发送使能虚拟A/D类芯片,启动A/D类虚拟芯片的数据传输过程。A/D类虚拟芯片将保存在芯片内部的测试数据集传输至MCU。MCU接收到A/D类虚拟芯片的传输的数据后,与测试数据集进行比较。
c)测试数据将比较结果上传至上位机。
S2、根据待测芯片的待测功能确定虚拟芯片,并定义虚拟芯片和待测芯片的引脚规则;
由图5可见,为本发明中测试系统生成的A/D类虚拟芯片结构图。图中的A/D类芯片是一个由用户定义配置生成的虚拟芯片。上位机通过通信接口向A/D类虚拟芯片传输数据,用以模拟实际的A/D类芯片采集模拟信号的过程。另外上位机还负责实时监测虚拟芯片I/O端口的动态状态。
由图4可见,为本发明测试系统生成的SRAM存储类虚拟芯片结构图。图中的SRAM芯片是一个由用户定义配置生成的虚拟芯片。上位机通过通信接口监测虚拟存储芯片的存储数据的信息,实时监测虚拟芯片I/O端口的动态状态。
进一步的,本发明中虚拟芯片构造与自检测过程由图2可见,虚拟芯片的构造具体步骤为:
S21、选定虚拟芯片的类型;
虚拟芯片的类型包括a)SRAM存储类芯片;b)A/D类芯片。确定芯片类型后,根据用户定义,确定虚拟芯片功能参数。对于SRAM存储类芯片,需要根据用户的需求确定存储器的存储单元位数和存储单元数量。对于A/D类虚拟芯片,需要根据用户的需求定义量化位数(8位、10位、12位和14位)以及通信方式(并行通信或串行通信)。自检测待注入数据根据不同的芯片类型生成。对于SRAM类存储芯片,待注入数据为一系列随机数,每一个数据位数与存储单元位数相同,数据个数与存储单元数量相同。对于A/D类芯片待注入数据集做如下定义:a)每一个数据位数与A/D类芯片量化位数有关:8位量化位数的A/D类芯片,测试数据位数为8位、10位、12位,14位量化位数的A/D类芯片,测试数据位数为16位;b)数据集包含了2048个待测数据。
S22、确定虚拟芯片的外围引脚定义;外围引脚定义包括外围引脚数量、引脚数据方向以及虚拟芯片引脚与测试芯片引脚的映射关系。
S23、根据虚拟芯片的芯片类型和虚拟芯片的外围引脚定义,生成VHDL语言的测试系统源代码,并对测试系统源代码进行编译综合;
S24、将测试系统源代码编译综合的结果烧录到FPGA芯片中,完成虚拟芯片的构造。
S3、检测待测芯片是否与已经通过自检的虚拟芯片联通;
如果已经联通,执行S4。如果没有与MCU联通的芯片,重新执行S3,直到有可用的虚拟芯片与MCU联通。
如图2所示,虚拟芯片的自检包括以下步骤:
S31、检测虚拟芯片的引脚规则是否符合S22确定的外围引脚定义,若不满足,则自检不通过,继续进行虚拟芯片的构造;
S32、若通过,则将外界的测试数据注入虚拟芯片,获取输出结果,若输出结果与预期结果不符,则自检不通过,继续进行虚拟芯片的构造;
S33、若通过,则生成自检报告。
S4、执行测试程序的代码,测试待测芯片的功能。
本发明实施例2公开了一种基于FPGA的面向微处理器测试的仿真装置,本发明的仿真方法框架如图1所示,包括待测芯片、测试系统、上位机;其中,测试系统上配置有虚拟芯片,虚拟芯片与待测芯片对应连接,测试系统通过通信接口与上位机连接。上位机负责控制与显示,主要的功能有I/O动态数据监测、虚拟设备功能仿真、虚拟设备数据监控、数据传输速率控制、设备时钟控制以及检测结果显示等。上位机通过通信接口将FPGA配置信息和虚拟芯片的控制信息发送至测试系统。测试系统根据上位机的控制信息生成虚拟芯片,完成MCU测试,并且将测试结果反馈至上位机。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (5)

1.一种基于FPGA的面向微处理器测试的仿真方法,其特征在于,包括以下步骤:
待测芯片上电并加载测试程序;
根据所述待测芯片的待测功能确定虚拟芯片,并定义所述虚拟芯片和所述待测芯片的引脚规则;
所述虚拟芯片的构造具体步骤为:
选定所述虚拟芯片的类型;
确定所述虚拟芯片的外围引脚定义;
根据所述虚拟芯片的芯片类型和所述虚拟芯片的外围引脚定义,生成VHDL语言的测试系统源代码;
将所述测试系统源代码烧录到所述虚拟芯片中,完成所述虚拟芯片的构造;
检测所述待测芯片是否与已经通过自检的虚拟芯片联通;
所述虚拟芯片的自检包括以下步骤:
检测所述虚拟芯片的引脚规则是否符合所述外围引脚定义,若不满足,则自检不通过,继续进行所述虚拟芯片的构造;
若通过,则将外界的测试数据注入所述虚拟芯片,获取输出结果,若所述输出结果与预期结果不符,则自检不通过,继续进行所述虚拟芯片的构造;
若通过,则生成自检报告;
执行所述测试程序的代码,测试所述待测芯片的功能。
2.根据权利要求1所述的一种基于FPGA的面向微处理器测试的仿真方法,其特征在于,所述外围引脚定义包括外围引脚数量、引脚数据方向以及所述虚拟芯片引脚与所述测试芯片引脚的映射关系。
3.根据权利要求1所述的一种基于FPGA的面向微处理器测试的仿真方法,其特征在于,还包括上位机,所述上位机通过通信接口将FPGA配置信息和所述虚拟芯片的控制信息发送至测试系统,所述测试系统根据所述上位机的控制信息生成所述虚拟芯片,完成所述待测芯片测试,并将测试结果反馈至所述上位机。
4.一种实现权利要求1-3任一所述的基于FPGA的面向微处理器测试的仿真方法的仿真装置,其特征在于,包括待测芯片、测试系统、上位机;其中,所述测试系统上配置有虚拟芯片,所述虚拟芯片与所述待测芯片对应连接,所述测试系统通过通信接口与所述上位机连接。
5.根据权利要求4所述的一种仿真装置,其特征在于,所述虚拟芯片包括SRAM存储芯片和A/D芯片。
CN202110413186.3A 2021-04-16 2021-04-16 一种基于fpga的面向微处理器测试的仿真方法及装置 Active CN113111616B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110413186.3A CN113111616B (zh) 2021-04-16 2021-04-16 一种基于fpga的面向微处理器测试的仿真方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110413186.3A CN113111616B (zh) 2021-04-16 2021-04-16 一种基于fpga的面向微处理器测试的仿真方法及装置

Publications (2)

Publication Number Publication Date
CN113111616A CN113111616A (zh) 2021-07-13
CN113111616B true CN113111616B (zh) 2023-04-18

Family

ID=76718092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110413186.3A Active CN113111616B (zh) 2021-04-16 2021-04-16 一种基于fpga的面向微处理器测试的仿真方法及装置

Country Status (1)

Country Link
CN (1) CN113111616B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114062907B (zh) * 2022-01-18 2022-04-26 江山季丰电子科技有限公司 芯片老化测试的监测方法、电子设备和存储介质
CN117632611B (zh) * 2023-12-05 2024-05-14 北京中天星控科技开发有限公司 一种微处理器芯片的通用测试装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018082340A1 (zh) * 2016-11-04 2018-05-11 宁德时代新能源科技股份有限公司 仿真测试系统和仿真测试方法
CN109541445A (zh) * 2018-12-26 2019-03-29 中核控制系统工程有限公司 一种fpga芯片功能测试装置及方法
CN109541432A (zh) * 2018-09-30 2019-03-29 天津大学 基于Labview的芯片级ESD自动化测试系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076708B2 (en) * 2003-09-25 2006-07-11 International Business Machines Corporation Method and apparatus for diagnosis and behavior modification of an embedded microcontroller
US20090100304A1 (en) * 2007-10-12 2009-04-16 Ping Li Hardware and Software Co-test Method for FPGA
US8127187B2 (en) * 2009-09-30 2012-02-28 Integrated Device Technology, Inc. Method and apparatus of ATE IC scan test using FPGA-based system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018082340A1 (zh) * 2016-11-04 2018-05-11 宁德时代新能源科技股份有限公司 仿真测试系统和仿真测试方法
CN109541432A (zh) * 2018-09-30 2019-03-29 天津大学 基于Labview的芯片级ESD自动化测试系统
CN109541445A (zh) * 2018-12-26 2019-03-29 中核控制系统工程有限公司 一种fpga芯片功能测试装置及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
田红丽 等.基于VHDL微处理器模拟实验系统的设计与实现.《河北省科学院学报》.2006,第22卷136-137、146. *
董明 等.一种基于FPGA的通用微处理器设计.《微计算机信息》.2008,第24卷(第4-2期),188-189、197. *

Also Published As

Publication number Publication date
CN113111616A (zh) 2021-07-13

Similar Documents

Publication Publication Date Title
US6487700B1 (en) Semiconductor device simulating apparatus and semiconductor test program debugging apparatus using it
CN111931445B (zh) 用于调试逻辑系统设计的方法、仿真器及存储介质
CN113111616B (zh) 一种基于fpga的面向微处理器测试的仿真方法及装置
US5923567A (en) Method and device for test vector analysis
CN113157501B (zh) 一种基于ate测试机的微系统模块ac参数测试方法
CN113255267B (zh) 使用现场可编程门阵列fpga重新编程检测仿真中的时序违规
KR20000017333A (ko) 반도체 집적 회로 설계 및 검증 시스템
CN204789908U (zh) 基于LabVIEW的电路板自动测试系统
US20020163351A1 (en) Method for producing test patterns for testing an integrated circuit
CN114325333A (zh) 一种高效率规范化的soc系统级验证方法及装置
CN103678075A (zh) 基于自动矢量生成技术的复杂微处理器测试方法
US9864004B1 (en) System and method for diagnosing failure locations in electronic circuits
KR20230002617A (ko) 아날로그 결함 검출성 분석을 위한 빠르고 스케일러블한 방법론
KR100506769B1 (ko) 고속 테스트 패턴 평가 장치
US11200127B2 (en) Automated self-check of a closed loop emulation replay
JP4213306B2 (ja) 半導体試験用プログラムデバッグ装置
CN103165405A (zh) 一种通过gpib接口实时生成多维变量密码方法
Chen et al. An efficient protocol framework solution on V93000
Peng et al. Function verification of SRAM controller based on UVM
CN110765711A (zh) 数字产品的仿真信号查看方法及系统
JP2005032191A (ja) 仮想テスタ、テスト装置、半導体集積回路用テストシステム、及び半導体集積回路用テストプログラムの検証方法
US11361135B2 (en) Guiding sample size choice in analog defect or fault simulation
Nandakumar et al. High Throughput Multiple Device Chain Diagnosis Methodology for Clock and Control Line Defects
CN107679266A (zh) 闪存电路的仿真方法及仿真装置
Muhammad et al. RTL platform validation of digital intellectual property (IP) of real time clock (RTC) for customized wireless microcontroller unit

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