CN116302721A - 芯片设计验证系统与方法及计算机可读取记录介质 - Google Patents

芯片设计验证系统与方法及计算机可读取记录介质 Download PDF

Info

Publication number
CN116302721A
CN116302721A CN202111562327.4A CN202111562327A CN116302721A CN 116302721 A CN116302721 A CN 116302721A CN 202111562327 A CN202111562327 A CN 202111562327A CN 116302721 A CN116302721 A CN 116302721A
Authority
CN
China
Prior art keywords
module
register
storage space
test data
chip design
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
CN202111562327.4A
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.)
Realtek Semiconductor Corp
Original Assignee
Realtek Semiconductor Corp
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 Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Priority to CN202111562327.4A priority Critical patent/CN116302721A/zh
Priority to TW111105330A priority patent/TWI799135B/zh
Priority to US17/865,593 priority patent/US20230195994A1/en
Publication of CN116302721A publication Critical patent/CN116302721A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • 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/2273Test methods
    • 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
    • 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
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation

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)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)

Abstract

本发明提供一种芯片设计验证系统与方法及计算机可读取记录介质,用于验证一待测模块。芯片设计验证系统经配置以执行:驱动模块将多个测试数据组传递给验证结果模块,并执行写入程序以将该些测试数据组写入多个储存空间模块中;待测模块执行自动载入功能以将该些储存空间模块中储存的该些测试数据组对应载入多个寄存器;验证结果模块基于每一该测试数据组的位置数据在该些寄存器内读取对应的多个第一读取值,并且比较该些测试数据组与该些第一读取值以判断自动载入功能是否正常。

Description

芯片设计验证系统与方法及计算机可读取记录介质
技术领域
本发明是有关于一种数位芯片设计验证技术,尤其是一种可验证具有一次性可程序化单元的芯片设计的芯片设计验证系统及芯片设计验证方法。
背景技术
随着芯片制造技术的进步,以及市场对芯片产品的需求不断增长,导致芯片的复杂度越来越高。因此,芯片的验证要求也越来越高。为了能够更加真实的类比芯片的工作场景,就需要搭建更加完善,更能类比芯片真实使用场景的验证平台。现在芯片内广泛使用一次可编程(One Time Programmable)模块。一次可编程是一种熔断方式,只能在开始的时候进行修改,并且只能写一次,一旦修改就不能复原。一次可编程模块可用于存储存储器修复(Memory Repair)的存储修复资料,也可用于存储芯片的资讯:如芯片可使用的电源电压,芯片的版本号、生产日期。在厂家生产好裸片(die)后,会进行测试,将芯片的资讯写到一次可编程模块中去。一次可编程模块的功能运作正确性决定包含一次可编程模块的芯片是否能够正常工作。另外为能够快速测试芯片,一次可编程模块通常还包含了许多测试功能。这些测试功能运作的正确性对筛选芯片以及芯片的正常工作都非常重要。为了提高芯片的流片成功率,如何测试一次可编程模块的设计成为一个重要的课题。
发明内容
有鉴于此,本发明一些实施例提供一种芯片设计验证系统、芯片设计验证方法与内储程序之计算机可读取记录介质,用于验证一待测模块,以改善现有技术问题。
本发明一实施例提供一种芯片设计验证系统,用于验证待测模块。其中,待测模块包含一次性可程序化模块、一寄存器模块以及寄存器控制电路。一次性可程序化模块,包含多个储存空间模块,每一储存空间模块具有一个唯一编号。寄存器模块包含多个寄存器。芯片设计验证系统包含代理模块与验证结果模块。代理模块包含序列器模块以及驱动模块,其中序列器模块经配置以启动序列模块,使序列模块产生多个测试数据组。其中每一个测试数据组都包含位置数据与资料数据。验证结果模块耦接代理模块与待测模块。芯片设计验证系统经配置以执行下列步骤:驱动模块将该些测试数据组传递给验证结果模块;驱动模块并执行写入程序以将该些测试数据组写入该些储存空间模块中;待测模块执行自动载入功能以将该些储存空间模块中储存的该些测试数据组对应载入该些寄存器模块;以及验证结果模块基于每一测试数据组的位置数据在该些寄存器模块内读取对应的多个第一读取值;验证结果模块比较该些测试数据组与该些第一读取值以判断自动载入功能是否正常。
本发明一实施例提供一种芯片设计验证方法。芯片设计验证方法包含以下步骤:驱动模块将该些测试数据组传递给验证结果模块;驱动模块并执行写入程序以将该些测试数据组写入该些储存空间模块中;待测模块执行自动载入功能以将该些储存空间模块中储存的该些测试数据组对应载入该些寄存器;以及验证结果模块基于每一测试数据组的位置数据在该些寄存器内读取对应的多个第一读取值;验证结果模块比较该些测试数据组与该些第一读取值以判断自动载入功能是否正常。
本发明一实施例提供一种内储程序之计算机可读取介质,当一处理器载入该内储程序并执行后,使该处理器载入一待测模块档案,并在逻辑层面上配置前述待测模块与芯片设计验证系统,其中,该芯片设计验证系统经配置以执行下列步骤:驱动模块将该些测试数据组传递给验证结果模块;驱动模块并执行写入程序以将该些测试数据组写入该些储存空间模块中;待测模块执行自动载入功能以将该些储存空间模块中储存的该些测试数据组对应载入该些寄存器;以及验证结果模块基于每一测试数据组的位置数据在该些寄存器内读取对应的多个第一读取值;验证结果模块比较该些测试数据组与该些第一读取值以判断自动载入功能是否正常。
基于上述,本发明一些实施例提供一种芯片设计验证系统、芯片设计验证方法与内储程序之计算机可读取记录介质,借由配置芯片设计验证系统与待测模块并使芯片设计验证系统对待测模块写入测试数据并读出相关读取值可测试一次可编程模块的设计。
附图说明
图1为依据本发明一实施例所绘示的芯片设计验证系统与待测模块方块图。
图2为依据本发明一些实施例所绘示的芯片设计验证系统100运作示意图。
图3-1为依据本发明一实施例所绘示的芯片设计验证系统与待测模块。
图3-2为依据本发明一实施例所绘示的写入程序示意图。
图4-1为依据本发明一实施例所绘示的芯片设计验证系统与待测模块。
图4-2为依据本发明一实施例所绘示的间接存取模式示意图。
图5为依据本发明一实施例所绘示的芯片设计验证系统与待测模块。
图6为依据本发明的一些实施例所绘示的电子设备500的结构示意图。
图7为依据本发明一些实施例所绘示的芯片设计验证方法流程图。
图8为依据本发明一实施例所绘示的写入程序流程图。
图9为依据本发明一些实施例所绘示的芯片设计验证方法流程图。
图10为依据本发明一些实施例所绘示的间接存取模式验证方法。
图11为依据本发明一些实施例所绘示的修复读取模式验证方法流程图。
图12为依据本发明一实施例所绘示的芯片设计验证方法流程图。
图13为依据本发明一实施例所绘示的芯片设计验证方法流程图。
具体实施方式
有关本发明之前述及其他技术内容、特点与功效,在以下配合参考图式之实施例的详细说明中,将可清楚的呈现。图式中各元件的厚度或尺寸,系以夸张或省略或概略的方式表示,以供熟悉此技艺之人士之了解与阅读,且每个元件的尺寸并未完全为其实际的尺寸,并非用以限定本发明可实施之限定条件,故不具技术上之实质意义,任何结构之修饰、比例关系之改变或大小之调整,在不影响本发明所能产生之功效及所能达成之目的下,均仍应落在本发明所揭示之技术内容涵盖之范围内。在所有图式中相同的标号将用于表示相同或相似的元件。
图1系依据本发明一实施例所绘示的芯片设计验证系统与待测模块方块图。请参阅图1,芯片设计验证系统100用于验证待测模块106。其中,芯片设计验证系统100包含代理模块101与验证结果模块104。代理模块101包含序列器模块102以及驱动模块103,其中序列器模块102经配置以启动序列模块105使序列模块105产生多个测试数据组。在本实施例中,每一测试数据组包含位置数据与资料数据。验证结果模块104,耦接代理模块101与待测模块106。待测模块106包含一次性序列模块105、一寄存器模块109与寄存器控制电路111。一次性序列模块105包含多个储存空间模块108-1~108-N。每一个储存空间模块108-1~108-N都具有对应的编号110-1~110~N。寄存器模块109包含多个寄存器模块109-1~109-M。其中N、M为正整数,其数值视待测模块106之设计而定,本发明并不予以限制。
以下即配合图式详细说明本发明一些实施例之芯片设计验证方法以及芯片设计验证系统100与待测模块106的各模块之间如何协同运作。
图2为依据本发明一些实施例所绘示的芯片设计验证系统100运作示意图。图7为依据本发明一些实施例所绘示的芯片设计验证方法流程图,请同时参阅图1、图2与图7。在步骤S601中,驱动模块103将多个测试数据组传递给验证结果模块104。驱动模块103并同时执行写入程序将测试数据组写入一次性序列模块105中的多个储存空间模块中,在图2所绘示的实施例中,测试数据组包含第一测试数据组1234与5678,以及第二测试数据组ABCD与55AA。其中,1234为第一测试数据组的位置数据,5678为第一测试数据组的资料数据,ABCD为第二测试数据组的位置数据,55AA为第二测试数据组的资料数据。驱动模块103并同时执行写入程序将第一测试数据组与第二测试数据组写入一次性序列模块105中的储存空间模块108-1、108-2、108-3与108-4中,其编号分别为0(110-1)、1(110-2)、2(110-3)与3(110-4)。
在步骤S602中,待测模块106执行自动载入功能以将储存空间模块108-1、108-2、108-3与108-4中储存的该些测试数据组(在图2所绘示的实施例中为前述第一测试数据组与第二测试数据组)对应载入寄存器模块109中的多个寄存器。在图2所绘示的实施例中,第一测试数据组的资料数据5678被写入位置为对应第一测试数据组的位置数据1234的寄存器109-I中,第二测试数据组的资料数据55AA被写入位置为对应第二测试数据组的位置数据ABCD的寄存器109-J中,其中,I、J为介于1~M之间的整数。
在步骤S603中,验证结果模块104基于每一测试数据组(在图2所绘示的实施例中为前述第一测试数据组与第二测试数据组)的位置数据,在寄存器模块109的寄存器内读取对应的多个第一读取值。在图2所绘示的实施例中,验证结果模块104基于第一测试数据组的位置数据1234以及第二测试数据组的位置数据ABCD,在对应位置数据1234的寄存器109-I中与对应位置数据ABCD的寄存器109-J中读取所储存的数值作为前述多个第一读取值。在步骤S604中,比较该些测试数据组(在图2所绘示的实施例中为前述第一测试数据组与第二测试数据组)与该些第一读取值以判断自动载入功能是否正常。在本实施例中,验证结果模块104比对从对应位置数据1234的寄存器109-I中所读取的数值与第一测试数据组的资料数据值5678,验证结果模块104也比对从对应位置数据ABCD的寄存器109-J中所读取的数值与第二测试数据组的资料数据值55AA。若比对结果完全相同,则验证结果模块104判断自动载入功能正常。若比对结果有任一个不相同,则验证结果模块104判断自动载入功能不正常。
前述写入程序包含两种不同的方式。第一种是驱动模块103将该些测试数据组(在图2所绘示的实施例中为前述第一测试数据组与第二测试数据组)直接写入一次性序列模块105的多个储存空间模块中(在此例子中为储存空间模块108-1~108-4)。这种方式是模拟芯片出厂时,一次可编程模块内部已经写入数据。当真实的芯片上电工作时,其内部会自动触发前述自动载入功能,然后真实的芯片内的一次可编程模块会将已存放的数据下载到真实的芯片内部的寄存器。
需要说明的是,在图2所绘示的实施例中,驱动模块103是依据位置数据、资料数据的顺序将该些测试数据组(在图2所绘示的实施例中为前述第一测试数据组与第二测试数据组)直接写入一次性序列模块105的多个储存空间模块中。然而,这样的写入顺序是基于待测模块106自动载入功能的设计。驱动模块103可对应待测模块106不同的设计而以不同的顺序直接写入一次性序列模块105的多个储存空间模块中。
前述写入程序的另一种方式为间接写入(indirect access)。图3-1为依据本发明一实施例所绘示的芯片设计验证系统与待测模块。图3-2为依据本发明一实施例所绘示的写入程序示意图。图8为依据本发明一实施例所绘示的写入程序流程图。请同时参阅图3-1、图3-2与图8。相较于图1所绘示之待测模块106,图3-1所绘示的待测模块201还包含写入寄存器模块202与触发寄存器205。其中,写入寄存器模块202包含位置寄存器模块203与资料寄存器模块204。
在步骤S701中,驱动模块103将一个当前编号写入位置寄存器模块203中,在图3-2所绘示的实施例中,当前编号为0。在步骤S702中,驱动模块103将位置数据1234写入资料寄存器模块204中。在步骤S703中,驱动模块103将触发数据写入触发寄存器205以使位置数据1234写入储存空间模块108-1~108-N中对应当前编号的第一储存空间模块。在图3-2所绘示的实施例中,第一储存空间模块为储存空间模块108-1。在本实施例中,触发数据为1。但要说明的是,触发数据的值是基于待测模块106写入功能的设计。驱动模块103可因应待测模块201不同的设计而以不同的触发数据的值写入触发寄存器205中。
在步骤S704中,在再次将数据写入位置寄存器模块203与资料寄存器模块204前,驱动模块103将非触发数据写入触发寄存器205中。在本实施例中,非触发数据为0。在步骤S705中,驱动模块103将当前编号的数值加一以作为新的当前编号,并将这个新的当前编号写入位置寄存器模块203中。在图3-2所绘示的实施例中,当前编号0被加上1后写入位置寄存器模块203。在步骤S706将资料数据5678写入资料寄存器模块204。在步骤S707中,驱动模块103再一次将触发数据1写入触发寄存器205以使资料数据5678写入储存空间模块108-1~108-N中对应当前编号的第二储存空间模块。在图3-2所绘示的实施例中,第二储存空间模块为储存空间模块108-2。
在本发明一些实施例中,提出了一种检查待测模块106的重新自动载入功能的方法。前述重新自动载入功能是指在前述自动载入功能之后,若是对一次性序列模块105进行写入操作,需要将新的写入数据下载到寄存器模块109,就需要执行重新自动载入功能以将新的写入数据下载到寄存器模块109。图9为依据本发明一些实施例所绘示的芯片设计验证方法流程图,请同时参阅图1、图2与图9。
在步骤S801中,驱动模块103执行写入程序将该些测试数据组写入一次性序列模块105中的多个储存空间模块中,并将对应写入程序的多个写入指令与对应该些写入指令的多个写入资料值传递到验证结果模块104。在图2所绘示的实施例中,测试数据组包含第一测试数据组1234与5678,以及第二测试数据组ABCD与55AA。其中,1234为第一测试数据组的位置数据,5678为第一测试数据组的资料数据,ABCD为第二测试数据组的位置数据,55AA为第二测试数据组的资料数据。驱动模块103并同时执行写入程序将第一测试数据组与第二测试数据组写入一次性序列模块105中的储存空间模块108-1、108-2、108-3与108-4中,其编号分别为0(110-1)、1(110-2)、2(110-3)与3(110-4)。在此实施例中,写入程序以前述驱动模块103将该些测试数据组(在图2所绘示的实施例中为前述第一测试数据组与第二测试数据组)直接写入一次性序列模块105的多个储存空间模块中为例。由于驱动模块103将该些测试数据组直接写入一次性序列模块105的多个储存空间模块中,所以对应写入程序的多个写入指令与对应该些写入指令的多个写入资料值为(写入,0,1234),(写入,1,5678),(写入,2,ABCD),(写入,3,55AA)。
在步骤S802中,驱动模块103将激励信号传递给寄存器控制电路111以使待测模块106执行重新自动载入功能以将储存空间模块108-1、108-2、108-3与108-4中储存的该些测试数据组(在图2所绘示的实施例中为前述第一测试数据组与第二测试数据组)对应载入寄存器模块109中。在图2所绘示的实施例中,第一测试数据组的资料数据5678被写入位置为对应第一测试数据组的位置数据1234的寄存器109-I中,第二测试数据组的资料数据55AA被写入位置为对应第二测试数据组的位置数据ABCD的寄存器109-J中,其中,I、J为介于0~M之间的整数。
在步骤S803中,在待测模块106进入稳定状态后,验证结果模块104基于对应该些写入指令的该些写入资料值,在该些寄存器109-1~109-M内读取对应的多个第二读取值。在图2所绘示的实施例中,由于写入资料为(写入,0,1234),(写入,1,5678),(写入,2,ABCD),(写入,3,55AA),所以验证结果模块104判断要读取的寄存器位置为1234与ABCD。验证结果模块104接着会在位置为1234与ABCD读取多个第二读取值。
在步骤S804中,验证结果模块104基于该些写入指令、对应该些写入指令的该些写入资料值与该些第二读取值判断重新自动载入功能是否正常。在本实施例中,验证结果模块104比对从对应位置数据1234的寄存器109-I中所读取的数值与第一测试数据组的资料数据值5678,验证结果模块104也比对从对应位置数据ABCD的寄存器109-J中所读取的数值与第二测试数据组的资料数据值55AA。若比对结果完全相同,则验证结果模块104判断自动载入功能正常。若比对结果有任一个不相同,则验证结果模块104判断自动载入功能不正常。
需要说明的是,前述实施例是以写入程序为前述驱动模块103将该些测试数据组直接写入一次性序列模块105的多个储存空间模块中为例,写入程序当然也可为图8所绘示的间接写入,本发明并不予以限定。
一次性序列模块105通常还具有一些特定功能,这些特定功能需要与一些特定的寄存器合作运行。在本发明一些实施例中,提出了一种检查这些特定功能的方法。图4-1为依据本发明一实施例所绘示的芯片设计验证系统与待测模块。图4-2为依据本发明一实施例所绘示的间接存取模式示意图。图10为依据本发明一些实施例所绘示的间接存取模式验证方法。图11为依据本发明一些实施例所绘示的修复读取模式验证方法流程图。请同时参阅图4-1、图4-2、图10与图11。相较于图1所绘示之待测模块106,图4-1所绘示的待测模块301还包含间接存取寄存器模块302与状态记录寄存器模块303。间接存取寄存器模块302对应待测模块301的一种间接存取模式。间接存取寄存器模块302与状态记录寄存器模块303皆包含多个寄存器。其数量取决于待测模块301的间接存取模式的设计。例如,当间接存取模式为修复读取模式时,间接存取寄存器模块302包含第一间接存取寄存器3021与第二间接存取寄存器3022,状态记录寄存器模块303包含第一状态记录寄存器3031与第二状态记录寄存器3032。
以下说明会以间接存取模式为修复读取模式作为例子说明。在步骤S901中(对应步骤S1001),驱动模块103对应待测模块301的间接存取模式,修改该些储存空间模块108-1~108-N中的一个测试储存空间模块所储存的值。在此实施例中,间接存取模式为修复读取模式,测试储存空间模块为具有编号0的储存空间模块108-1。驱动模块103修改储存空间模块108-1所储存的比特值为非全1,例如是1234。
在步骤S902中(对应步骤S1002),验证结果模块104对应间接存取模式为修复读取模式,配置间接存取寄存器模块302中的第一间接存取寄存器3021的值为0x8371与第二间接存取寄存器3022的值为0x0000,以启动待测模块301的间接存取模式。其中,0x8371表示开启一次性序列模块105的可存取模式,0x0000表示开启修复读取模式并且指示第一间接存取寄存器3021与第二间接存取寄存器3022的位置。需要说明的是,前述0x8371与0x0000仅为示例性说明,其实际的数值还是要基于待测模块106之设计而定,本发明并不予以限制。
在步骤S903中(对应步骤S1003),验证结果模块104读取状态记录寄存器模块303的至少一记录数值。在本实施例中,验证结果模块104读取状态记录寄存器模块303的第一状态记录寄存器3031与第二状态记录寄存器3032所储存的第一记录数值与第二记录数值作为前述至少一记录数值。
在修复读取模式下,待测模块301被设计为在一次性序列模块105中寻找是否存在储存值非全为1的储存空间模块的编号,如果存在,表示一次性序列模块105是坏掉的,待测模块301会将储存值非全为1的储存空间模块的编号写入第一状态记录寄存器3031,并在第二状态记录寄存器3032写入1表示一次性序列模块105是坏掉的。因此在步骤S904中(对应步骤S1004)中,验证结果模块104比对测试储存空间模块(在此例子中为储存空间模块108-1)对应于该间接存取模式的至少一参数以及前述至少一记录数值(在此例子中为第一状态记录寄存器3031与第二状态记录寄存器3032所储存的数值)以确认该间接存取模式是否正常运作。在本实施例中,测试寄存器模块(在此例子中为储存空间模块108-1)对应于该间接存取模式的至少一参数为测试储存空间模块的编号(在此例子中为0)。验证结果模块104比对第一记录数值与测试储存空间模块的编号(在此例子中为0)。如果第一记录数值与测试储存空间模块的编号(在此例子中为0)相同,则进一步验证第二记录数值是否为指示一次性可程序化模块107损毁的数值1。如果两者皆相同,表示修复读取模式正常运作。如果有一者不同,表示修复读取模式没有正常运作。
图5为依据本发明一实施例所绘示的芯片设计验证系统与待测模块。图12为依据本发明一实施例所绘示的芯片设计验证方法流程图。请同时参阅图5与图12。相较于图1所绘示之芯片设计验证系统100,图5所绘示的芯片设计验证系统400还包含监控模块401。其中,监控模块401包含界面模块402,监控模块401通过界面模块402通过直接连接的方式与待测模块106连接。需要说明的是,监控模块401亦可通过界面模块402通过直接连接的方式与图4-1所绘示的待测模块301连接。在步骤S602中,待测模块106执行自动载入功能。响应于待测模块106执行自动载入功能,步骤S602还可以包含步骤S1101。
在步骤S1101中,监控模块401监测待测模块106中对应自动载入功能的多个第一信号的时序与电位以确定该些第一信号的时序与电位与待测模块106的规格书相符。如果不相符监控模块401将会传出错误信息。
图13为依据本发明一实施例所绘示的芯片设计验证方法流程图。请同时参阅图4-1、图5与图13。监控模块401亦可通过界面模块402通过直接连接的方式与图4-1所绘示的待测模块301连接。在步骤S902中,验证结果模块104对应间接存取模式,配置间接存取寄存器模块302,以启动待测模块301的间接存取模式。响应于验证结果模块104对应间接存取模式配置间接存取寄存器模块302以启动待测模块301的间接存取模式,步骤S902还可以包含步骤S1201。在步骤S1201中,监控模块401监测待测模块301中对应间接存取模式的多个第二信号的时序与电位。
在本发明的一些实施例中,芯片设计验证系统100为基于通用验证方法学(Universal Verification Methodology)所搭建之验证平台。通用验证方法学是一个以SystemVerilog类库为主体的验证平台开发框架,验证工程师可以利用其可重用组件构建具有标准化层次结构和接口的功能验证环境。前述待测模块106、201、301为由硬体描述程序档所描述的一芯片的电路行为及硬体描述来实现,借以模拟该芯片。硬体描述程序档系由例如但不限于超高速积体电路硬体描述语言代码(very high-speed hardwaredescription language,VHDL)、Verilog等代码编写而成。
在一实施例中,前述驱动模块103为衍生自通用验证方法学的uvm_driver类别(class)的一个类别的实例;序列器模块102为衍生自通用验证方法学的uvm_sequencer类别的一个类别的实例;序列模块105为衍生自通用验证方法学的uvm_sequene类别的一个类别的实例;验证结果模块104为衍生自通用验证方法学的uvm_scoreboard类别的一个类别的实例;监控模块401为衍生自通用验证方法学的uvm_monitor类别的一个类别的实例,界面模块402为通用验证方法学的一个interface函式(function);代理模块101为衍生自通用验证方法学的uvm_agent类别的一个类别的实例,代理模块101把驱动模块103和序列器模块102封装在一起;一个衍生自通用验证方法学的uvm_env类别的env类别包容代理模块101、验证结果模块104与监控模块401。
在本实施例中,监控模块401中定义界面模块402:otp_mntr_if,并定义信号,例如otp_ptm,代表一次性序列模块105的工作模式(mode),不同的otp_ptm值对应不同的间接存取模式(indirect access mode);令otp_pce代表一次性序列模块105工作的使能信号,接着利用以下程序码将otp_mntr_if的信号与待测模块106(或待测模块201、待测模块301)内部的信号连接起来:
Assign otp_mntr_if.otp_ptm=dut.otp_ptm;
Assign otp_mntr_if.otp_pce=dut.otp_pce;
再接下来在监控模块401中即时监测待测模块106(或待测模块201、待测模块301)的内部信号,并且与规格书(datasheet)规定的值进行对比,记录otp_ptm的信号变化时间,对比规格书(datasheet)的时间。举例来说,当一次性序列模块105工作在读模式(readmode)时,需要满足:当otp_ptm变化时,otp_pce的上升沿与otp_ptm发生变化的时间不能小于Tms。这个条件可用以下程序码完成检查:
@(otp_mntr_if.otp_ptm);
start_time=$time;
@(posedge otp_mntr_if.otp_pce);
endtime=$time;
delta_time=end_Time–start_time;
If(delta_time<Tms)begin
$display(“TIMING CHECK ERROR”);
end
else begin
$display(“TIMING CHECK PASS”);
end
在一些实施例中,另外监控模块401还可以利用下述方法检查间接存取模式(indirect access mode)下的内部信号值是否正确,例如,当间接存取模式是读模式时,需要otp_ptm=0;当验证结果模块104通过读模式去访问一次性序列模块105时,可使用以下程序码做出判断:
if(otp_mntr_if.otp_ptm!=0)begin
$display(“otp signal wrong”);
end
else begin
$display(“otp signal write”);
end
不同的芯片的一次性序列模块105会有多种不同的间接存取模式。所有的模式都可以使用上述方法进行检查。并且可以随机发送不同的间接存取模式的命令,来检查各种模式之间的切换是否会导致芯片出现问题。
图6为依据本发明的一些实施例所绘示的电子设备500的结构示意图。如图6所示,在硬体层面,电子设备500包括处理器501、内部存储器502以及非挥发性存储器503。内部存储器502例如是随机存取存储器(Random-Access Memory,RAM)。当然,电子设备500还可能包括其他功能所需要的硬体。
(0041)内部存储器502和非挥发性存储器503,用于存放程序,程序可以包括程序码,程序码包括计算机操作指令。内部存储器502和非挥发性存储器503向处理器501提供指令和资料。处理器501从非挥发性存储器503中读取对应的计算机程序到内部存储器502中然后运行。处理器501具体用于执行图7到图13所记载的各步骤。
处理器501可能是一种积体电路芯片,具有信号的处理能力。在实现过程中,前述实施例中公开的各方法、步骤可以通过处理器501中的硬体的积体逻辑电路或者软体形式的指令完成。处理器501可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、张量处理单元(Tensor Processing Unit)、数位信号处理器(Digital SignalProcessor,DSP)、专用积体电路(Application Specific Integrated Circuit,ASIC)、现场可程序化闸阵列(Field-Programmable Gate Array,FPGA)或者其他可程序化逻辑装置,可以实现或执行前述实施例中公开的各方法、步骤。
在本发明的一些实施例中,还提供了一种内储程序之计算机可读取记录介质,计算机可读取记录介质储存至少一指令,该至少一指令当被电子设备500的处理器501执行时,能够使电子设备500的处理器501载入待测模块档案,并在逻辑层面上配置一待测模块106(或待测模块201、待测模块301)与芯片设计验证系统100(或芯片设计验证系统400)。芯片设计验证系统经配置执行前述图7至图13所记载之步骤。
计算机的储存介质的例子包括,但不限于相变存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可抹除可程序化只读存储器(EEPROM)、快闪存储器或其他内部存储器技术、只读光碟只读存储器(CD-ROM)、数位多功能光碟(DVD)或其他光学储存器、磁盒式磁带,磁带式磁碟储存器或其他磁性储存设备或任何其他非传输介质,可用于储存可以被计算设备存取的资讯。按照本文中的界定,计算机可读介质不包括暂态介质(transitory media),如调变的资料信号和载波。
虽然本发明已以实施例公开如上,然其并非用以限定本发明,任何所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的申请专利范围所界定者为准。
【符号说明】
100、400:芯片设计验证系统
101:代理模块
102:序列器模块
103:驱动模块
104:验证结果模块
105:序列模块
106、201、301:待测模块
107:一次性可程序化模块
108-1~108-N:储存空间模块
109:寄存器模块
109-1~109-M:寄存器模块
110-1~110~N:编号
111:寄存器控制电路
202:写入寄存器模块
203:位置寄存器模块
204:资料寄存器模块
205:触发寄存器
302:间接存取寄存器模块
303:状态记录寄存器模块
3021:第一间接存取寄存器
3022:第二间接存取寄存器
3031:第一状态记录寄存器
3032:第二状态记录寄存器
401:监控模块
402:界面模块
500:电子设备
501:处理器
502:内部存储器
503:非挥发性存储器
I、J、N、M:正整数
S601~S604、S701~S707、S801~S804、S901~S904、S1001~1004、S1101、S1201:步骤。

Claims (10)

1.一种芯片设计验证系统,用于验证一待测模块,其中该待测模块包含:一一次性可程序化模块,包含多个储存空间模块,每一该储存空间模块具有一编号;一寄存器模块,包含多个寄存器;以及一寄存器控制电路;
该芯片设计验证系统包含:
一代理模块,包含一序列器模块以及一驱动模块,其中该序列器模块经配置以启动一序列模块使该序列模块产生多个测试数据组,每一该测试数据组包含一位置数据与一资料数据;以及
一验证结果模块,耦接该代理模块与该待测模块;
其中,该芯片设计验证系统经配置以执行下列步骤:
该驱动模块将所述多个测试数据组传递给该验证结果模块,并执行一写入程序以将所述多个测试数据组写入所述多个储存空间模块中;
该待测模块执行一自动载入功能以将所述多个储存空间模块中储存的所述多个测试数据组对应载入所述多个寄存器;以及
该验证结果模块基于每一该测试数据组的该位置数据在所述多个寄存器内读取对应的多个第一读取值,并且比较所述多个测试数据组与所述多个第一读取值以判断该自动载入功能是否正常。
2.根据权利要求1所述的芯片设计验证系统,其中该写入程序包含:将所述多个测试数据组直接写入该一次性可程序化模块的所述多个储存空间模块中。
3.根据权利要求1所述的芯片设计验证系统,其中该待测模块还包含:
一写入寄存器模块,包含一位置寄存器模块与一资料寄存器模块;以及
一触发寄存器;
该写入程序包含对每一该测试数据组执行以下步骤:
将一当前编号写入该位置寄存器模块;
将该位置数据写入该资料寄存器模块;
将一触发数据写入该触发寄存器以使该位置数据写入该储存空间模块中对应该当前编号的一第一储存空间模块;
将一非触发数据写入该触发寄存器;
将该当前编号的数值加一以作为该当前编号并将该当前编号写入该位置寄存器模块;
将该资料数据写入该资料寄存器模块;以及
将该触发数据写入该触发寄存器以使该资料数据写入所述多个储存空间模块中对应该当前编号的一第二储存空间模块。
4.根据权利要求1所述的芯片设计验证系统,其中该芯片设计验证系统经配置以进一步执行下列步骤:该驱动模块执行该写入程序,将所述多个测试数据组写入该一次性可程序化模块的所述多个储存空间模块中,并将对应该写入程序的多个写入指令与对应所述多个写入指令的多个写入资料值传递到该验证结果模块;
该驱动模块将一激励信号传递给该寄存器控制电以使该待测模块执行一重新自动载入功能以将所述多个储存空间模块中储存的所述多个测试数据组对应载入所述多个寄存器;
在该待测模块进入一稳定状态后,该验证结果模块该验证结果模块基于对应所述多个写入指令的所述多个写入资料值,在所述多个寄存器内读取对应的多个第二读取值;以及
该验证结果模块基于所述多个写入指令、对应所述多个写入指令的所述多个写入资料值与所述多个第二读取值判断该重新自动载入功能是否正常。
5.根据权利要求1所述的芯片设计验证系统,其中该待测模块还包含一间接存取寄存器模块与一状态记录寄存器模块;
该芯片设计验证系统经配置以进一步执行下列步骤:
该驱动模块对应该待测模块的一间接存取模式,修改所述多个储存空间模块中的一测试储存空间模块所储存的值;
该验证结果模块对应该间接存取模式配置该间接存取寄存器模块以启动该待测模块的该间接存取模式;
该验证结果模块读取该状态记录寄存器模块的至少一记录数值;以及
该验证结果模块比对该测试储存空间模块对应于该间接存取模式的至少一参数以及该至少一记录数值以确认该间接存取模式是否正常运作。
6.根据权利要求5所述的芯片设计验证系统,其中该间接存取模式为一修复读取模式,该至少一参数为该测试储存空间模块的该编号;该状态记录寄存器模块包含一第一状态记录寄存器与一第二状态记录寄存器;该驱动模块对应该修复读取模式修改该测试储存空间模块所储存的比特值为非全1;该验证结果模块对应该修复读取模式配置该间接存取寄存器模块以启动该待测模块的该修复读取模式;该验证结果模块读取该第一状态记录寄存器的一第一记录数值与该第二状态记录寄存器的一第二记录数值;以及该验证结果模块比对该测试储存空间模块的该编号与该第一记录数值以及验证该第二记录数值是否为指示该一次性可程序化模块损毁,以确认该修复读取模式是否正常运作。
7.根据权利要求5所述的芯片设计验证系统,其中该芯片设计验证系统还包含一监控模块,该监控模块包含一界面模块,通过直接连接的方式与该待测模块连接;以及
该芯片设计验证系统经配置以进一步执行下列步骤:
响应于该验证结果模块对应该间接存取模式配置该间接存取寄存器模块以启动该待测模块的该间接存取模式,该监控模块监测该待测模块中对应该间接存取模式的多个第二信号的时序与电位。
8.根据权利要求1所述的芯片设计验证系统,其中该芯片设计验证系统还包含一监控模块,该监控模块包含一界面模块,通过直接连接的方式与该待测模块连接;以及
该芯片设计验证系统经配置以进一步执行下列步骤:
响应于该待测模块执行该自动载入功能,该监控模块监测该待测模块中对应该自动载入功能的多个第一信号的时序与电位。
9.一种芯片设计验证方法,适用于一芯片设计验证系统验证一待测模块,其中该待测模块包含:一一次性可程序化模块,包含多个储存空间模块,每一该储存空间模块具有一编号;一寄存器模块,包含多个寄存器;以及一寄存器控制电路;该芯片设计验证系统包含:一代理模块,包含一序列器模块以及一驱动模块,其中该序列器模块经配置以启动一序列模块使该序列模块产生多个测试数据组,每一该测试数据组包含一位置数据与一资料数据;以及一验证结果模块,耦接该代理模块与该待测模块;
该芯片设计验证方法包含:
该驱动模块将所述多个测试数据组传递给该验证结果模块,并执行一写入程序以将所述多个测试数据组写入所述多个储存空间模块中;
该待测模块执行一自动载入功能以将所述多个储存空间模块中储存的所述多个测试数据组对应载入所述多个寄存器;以及
该验证结果模块基于每一该测试数据组的该位置在所述多个寄存器内读取对应的多个第一读取值,并且比较所述多个测试数据组与所述多个第一读取值以判断该自动载入功能是否正常。
10.一种内储程序的计算机可读取记录介质,当一处理器载入该内储程序并执行后,使该处理器载入一待测模块档案,并在逻辑层面上配置一待测模块与一芯片设计验证系统,其中该待测模块在逻辑层面上包含:一一次性可程序化模块,包含多个储存空间模块,每一该储存空间模块具有一编号;多个寄存器模块;以及一寄存器控制电路;该芯片设计验证系统包含:一代理模块,包含一序列器模块以及一驱动模块,其中该序列器模块经配置以启动一序列模块使该序列模块产生多个测试数据组,每一该测试数据组包含一位置数据与一资料数据;以及一验证结果模块,耦接该代理模块与该待测模块;
其中,该芯片设计验证系统经配置以执行下列步骤:
该驱动模块将所述多个测试数据组传递给该验证结果模块,并执行一写入程序以将所述多个测试数据组写入所述多个储存空间模块中;
该待测模块执行一自动载入功能以将所述多个储存空间模块中储存的所述多个测试数据组对应载入所述多个寄存器模块;以及
该验证结果模块基于每一该测试数据组的该位置数据在所述多个寄存器模块内读取对应的多个第一读取值,并且比较所述多个测试数据组与所述多个第一读取值以判断该自动载入功能是否正常。
CN202111562327.4A 2021-12-20 2021-12-20 芯片设计验证系统与方法及计算机可读取记录介质 Pending CN116302721A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202111562327.4A CN116302721A (zh) 2021-12-20 2021-12-20 芯片设计验证系统与方法及计算机可读取记录介质
TW111105330A TWI799135B (zh) 2021-12-20 2022-02-14 晶片設計驗證系統、晶片設計驗證方法與內儲程式之電腦可讀取記錄媒體
US17/865,593 US20230195994A1 (en) 2021-12-20 2022-07-15 Chip design verification system, chip design verification method, and computer readable recording media with stored program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111562327.4A CN116302721A (zh) 2021-12-20 2021-12-20 芯片设计验证系统与方法及计算机可读取记录介质

Publications (1)

Publication Number Publication Date
CN116302721A true CN116302721A (zh) 2023-06-23

Family

ID=86768391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111562327.4A Pending CN116302721A (zh) 2021-12-20 2021-12-20 芯片设计验证系统与方法及计算机可读取记录介质

Country Status (3)

Country Link
US (1) US20230195994A1 (zh)
CN (1) CN116302721A (zh)
TW (1) TWI799135B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117521572A (zh) * 2024-01-05 2024-02-06 创意电子(南京)有限公司 芯片设计验证方法及非暂态计算机可读取储存媒体

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021107336A1 (de) * 2021-03-24 2022-09-29 Infineon Technologies Ag VORRICHTUNGEN, SYSTEME, UND VERFAHREN FÜR PCIe ENDPUNKT INTERRUPT
CN117215857A (zh) * 2023-10-31 2023-12-12 紫光同芯微电子有限公司 用于验证芯片寄存器合格性的方法、芯片、电子设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW559672B (en) * 2002-07-24 2003-11-01 Via Tech Inc Testing method of chip configuration setup
TWI266070B (en) * 2004-03-19 2006-11-11 Realtek Semiconductor Corp Chip-level design under test verification environment and method thereof
TW202024971A (zh) * 2018-12-26 2020-07-01 新唐科技股份有限公司 晶片自動驗證系統及其方法
US11152038B2 (en) * 2020-02-17 2021-10-19 Qualcomm Incorporated Testing one-time programmable (OTP) memory with data input capture through sense amplifier circuit
CN113568560A (zh) * 2020-04-29 2021-10-29 瑞昱半导体股份有限公司 存取一次性可编程记忆体的方法及相关的电路
CN113742202A (zh) * 2020-05-29 2021-12-03 上海商汤智能科技有限公司 Ai芯片验证系统、方法、设备及存储介质
CN112083961B (zh) * 2020-08-05 2022-01-14 北京智芯微电子科技有限公司 嵌入式芯片的引导加载方法
CN113312224B (zh) * 2021-06-08 2022-09-13 合肥磐芯电子有限公司 一种用于测试otp型mcu及其测试方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117521572A (zh) * 2024-01-05 2024-02-06 创意电子(南京)有限公司 芯片设计验证方法及非暂态计算机可读取储存媒体
CN117521572B (zh) * 2024-01-05 2024-03-22 创意电子(南京)有限公司 芯片设计验证方法及非暂态计算机可读取储存媒体

Also Published As

Publication number Publication date
TW202326503A (zh) 2023-07-01
TWI799135B (zh) 2023-04-11
US20230195994A1 (en) 2023-06-22

Similar Documents

Publication Publication Date Title
CN116302721A (zh) 芯片设计验证系统与方法及计算机可读取记录介质
US10204698B2 (en) Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic
CN112331253B (zh) 一种芯片的测试方法、终端和存储介质
US10699796B2 (en) Validation of a repair to a selected row of data
US8201037B2 (en) Semiconductor integrated circuit and method for controlling semiconductor integrated circuit
US10007492B2 (en) System and method for automatically generating device drivers for run time environments
CN102568522B (zh) 硬盘性能的测试方法和装置
JP2003114260A (ja) Asicの埋め込みメモリ及びプロセッサを用いた内蔵自己テスト法
JP2014203314A (ja) Ecuシミュレーション装置
CN113049939A (zh) 一种芯片老化自测试方法及系统
CN109256173A (zh) 机载存储设备测试系统
US6012157A (en) System for verifying the effectiveness of a RAM BIST controller&#39;s ability to detect faults in a RAM memory using states indicating by fault severity information
US7818645B2 (en) Built-in self-test emulator
US20160293272A1 (en) Method and apparatus for optimized memory test status detection and debug
CN114218882A (zh) 一种SoC芯片检验方法、装置及相关设备
US9257201B2 (en) Memory testing method and apparatus
JP2006252267A (ja) システム検証用回路
US6131079A (en) Method and device for automatic simulation verification
CN113470723B (zh) 读重试测试方法、装置、可读存储介质及电子设备
CN112397136B (zh) 一种半导体存储器测试软件的参数测试方法和装置
JP2001051025A (ja) 半導体試験用プログラムデバッグ装置
US20110270599A1 (en) Method for testing integrated circuit and semiconductor memory device
Arora et al. Core test language based high quality memory testing and repair methodology
CN113268263A (zh) 一种fpga的回读刷新方法和系统
CN114333963A (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