CN116994638A - 测试电路与在存储器转储操作中读取存储器装置数据的方法 - Google Patents

测试电路与在存储器转储操作中读取存储器装置数据的方法 Download PDF

Info

Publication number
CN116994638A
CN116994638A CN202210447664.7A CN202210447664A CN116994638A CN 116994638 A CN116994638 A CN 116994638A CN 202210447664 A CN202210447664 A CN 202210447664A CN 116994638 A CN116994638 A CN 116994638A
Authority
CN
China
Prior art keywords
memory
signal
dump
memory device
read
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
CN202210447664.7A
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 CN202210447664.7A priority Critical patent/CN116994638A/zh
Publication of CN116994638A publication Critical patent/CN116994638A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56008Error analysis, representation of errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56012Timing aspects, clock generation, synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种测试电路,其耦接一存储器装置,用于在一存储器转储操作中读取存储器装置所储存的数据,包括一转储控制器与一图样产生电路。转储控制器用于响应于一处理器对于存储器转储模式的设定触发图样产生电路开始图样产生操作。图样产生电路用于在图样产生操作中产生多个控制信号,并将控制信号提供至存储器装置。控制信号至少包括一地址信号、一存储器致能信号与一读取致能信号。地址信号包括被安排于处理器的多个连续时钟周期的多个存储器地址,用于在多个连续时钟周期读取多个存储器地址所储存的数据。

Description

测试电路与在存储器转储操作中读取存储器装置数据的方法
技术领域
本发明涉及一种用于执行存储器转储的电路与其对应方法。
背景技术
扫描式转储(Scan Dump)和存储器转储(Memory Dump)操作是在开发板上针对制造的芯片执行诊断时所需的两种常见操作。当错误或非预期的例外事件发生时,这些操作可被用于除错阶段以确定导致错误的原因。扫描转储涉及读取芯片的所有寄存器内容,而存储器转储涉及读取芯片的所有存储器内容。当错误或非预期的例外事件发生时,系统会将芯片的时钟停止,并开启另一频率较低的扫描时钟,接着执行扫描式转储和存储器转储。
在扫描式转储操作中,每个寄存器的内容以串联的顺序转移到输出扫描引脚。类似地,存储器转储操作会读取芯片内存储器的全部或部分内容并将其输出。通过分析这些内容,例如,将其与主机端模拟器在相同条件下所产生的黄金图样(golden pattern)做比较,以确定错误或例外事件发生的原因。
由于存储器转储通常需要读出所有存储器储存的内容,且由芯片外部的装置来执行转储的指令时间较长,随着芯片内配置的存储器数量增加,存储器转储操作所需的时间也大幅增加,因而产生存储器转储操作过度耗时的问题。
为解决此问题,需要一种可有效地执行存储器转储的电路与对应方法。
发明内容
本发明的目的在于提供一种可有效地执行存储器转储的电路与对应方法,以解决传统存储器转储操作耗时过久的问题。
根据本发明一实施例,一种测试电路,耦接一存储器装置,用于在一存储器转储操作中读取存储器装置所储存的数据,包括一转储控制器与一图样产生电路。转储控制器用于响应于一处理器对于存储器转储模式的设定触发图样产生电路开始图样产生操作。图样产生电路用于在图样产生操作中产生多个控制信号,并将控制信号提供至存储器装置,其中控制信号至少包括一地址信号、一存储器致能信号与一读取致能信号,地址信号包括被安排在处理器的多个连续时钟周期的多个存储器地址,用于在多个连续时钟周期读取多个存储器地址所储存的数据。
根据本发明的另一实施例,一种用于在存储器转储操作中读取存储器装置数据的方法,包括:响应于一处理器对于一存储器转储模式的设定产生多个控制信号,其中控制信号至少包括一地址信号、一存储器致能信号与一读取致能信号,并且地址信号包括被安排在处理器的多个连续时钟周期的多个存储器地址,用于在多个连续时钟周期读取多个存储器地址所储存的数据;将控制信号提供至存储器装置;以及响应于控制信号依序在连续时钟周期读取存储器地址所储存的数据。
附图说明
图1是根据本发明一实施例示出的除错流程。
图2是根据本发明一实施例示出的一系统模块图。
图3是根据本发明一实施例示出的一测试电路模块图。
图4是根据本发明一实施例示出的控制信号范例波形图。
图5是根据本发明一实施例示出的用于在一存储器转储操作中读取一存储器装置所储存数据的方法流程图。
图6是根据本发明另一实施例示出的一测试电路模块图。
图7是根据本发明一实施例示出的通过测试电路的控制将存储器装置的数据以序向输出的信号波形图。
图8是根据本发明另一实施例示出的通过测试电路的控制将存储器装置的多笔数据平行输出的信号波形图。
附图标记说明:
200:开发板 210:芯片 220、320、620:存储器装置
250:主机装置 255:电路模拟器 240、340、640:寄存器模组
260:测试界面 310、610控制模组 230、300、600:测试电路
642:调度器 311、611:图样产生电路 330、630:多工器
CMD:指令 312、612:转储控制器 CLK:时钟信号
D:数据信号 ADDR:地址信号 ME:存储器致能信号
OP:操作 Q:输出通信端口 Read:读取操作
Next:通知信号 Start:起始信号 WE:读取致能信号
BIST_Mode、Memory_Dump_Mode:设定信号 OUT:总线上传送的信号
Value_From_Memory:读取自存储器的数值 Value:输出通信端口的信号
REG_0、REG_1、REG_2:寄存器 Function_Input:功能输入信号
D0、D1、D2、D3、D4、D5、D6、D7、D8:数REG*:写入寄存器的数据信号据
A_0、A_1、A_2、A_3、A_4、A_5、A_6、A_7、A_8:存储器地址
R_0(D0)、R_1(D1)、R_2(D2)、R_0(D3)、R_1(D4)、R_2(D5)、R_0(D6)、R_1(D7)、R_2(D8):寄存器被写入的数据
具体实施方式
图1是根据本发明一实施例示出的除错(debug)流程。一般而言,在芯片测试过程中,当芯片内所配置的处理器(例如,一中央处理单元)在运作过程中发生错误或非预期的例外事件时,除错流程可包括以下处理步骤:
步骤S100:检测到错误或非预期例外事件的发生。例如,处理器或待测芯片本身,或者耦接待测芯片或耦接安装有待测芯片的开发板的另一主机装置可通过监控一个或多个除错通信端口(debug port)执行所述检测。
步骤S102:停止处理器时钟,并且切换至扫描式转储(Scan Dump)模式。此时会开启另一频率较低的扫描时钟以辅助后续的转储操作。
步骤S104:读取芯片的所有寄存器内容(或者状态),并将其提供至主机装置。
步骤S106:切换至存储器转储(Memory Dump)模式。
步骤S108:读取芯片的所有存储器内容,并将其提供至主机装置。
步骤S110:在主机装置端将转储的内容与软件模拟结果(例如,模拟器于相同条件下所产生的黄金图样(golden pattern)进行比较,以确定错误或例外事件发生的原因。
其中,在类似于步骤S108所涉及的存储器的读取操作过程中,现有技术的处理器(例如,芯片所配置的处理器)必须依序为每一个存储器地址下读取指令,再通过测试界面,例如IEEE1149.1 JTAG(联合测试工作群组,原文为Joint Test Action Group),依序将各存储器地址的读取数据提供给主机装置。
然而,对于每一个由处理器所发出读取指令,每个读取操作通常需要花费数个(例如,3~5个)处理器时钟周期(clock cycle)才能完成,其原因在于由处理器发出的指令必须经历解码及诸多对应的处理。随着芯片内配置的存储器数量增加,存储器转储操作所需的时间还将大幅增加,因而产生存储器转储操作过度耗时的问题。
为解决此问题,本发明提出一种可有效地执行存储器转储的电路与对应方法。在本发明一实施例中,利用一测试电路执行存储器转储的相关操作(例如,上述步骤S108的操作),此测试电路可以是一存储器内建自测试(Memory Built-in Self Test,缩写MBIST)电路。在本发明的实施例中,测试电路或MBIST电路可配置有对应的测试演算法,用于在存储器转储模式下完成所需的存储器读取操作,且不同于现有技术,在本发明的实施例中,一个存储器地址的读取操作仅需花费一处理器的时钟周期。即,在本发明的实施例中,无需通过处理器对每一个存储器地址依序下读取指令,而是由测试电路或MBIST电路自动完成所有存储器地址的读取操作,且存储器装置的一个存储器地址的读取操作可在处理器的一个时钟周期内完成。如此一来,相较于现有技术中需要多个时钟周期才完成一个存储器地址的读取操作,通过应用本发明所提出的电路与对应方法,可大幅缩短存储器转储的执行时间。
图2是根据本发明一实施例示出的一系统模块图。所述系统可包括开发板(development board)200与主机装置250,其中的开发板200也可以是系统芯片(SoC)平台。主机装置250的处理器(图中未示出)可通过执行对应的软件以实现一电路模拟器255。开发板200安装有待测的芯片210,芯片210可包括存储器装置220、测试电路230以及寄存器模组240。主机装置250的处理器可通过对应的总线对测试界面260,例如前述的JTEG,进行指令CMD的传输,并通过测试界面260及对应的总线接收读取数据,例如图中所示的读取自存储器的数值Value_From_Memory。值得注意的是,图2为一简化的示意图,其中仅示出与本发明相关的元件。本技术领域中具有普通知识的技术人员均可理解,主机装置与芯片内当可包括许多未在图2中示出的元件,以实施对应的信号处理功能。此外,在本发明一实施例中,测试电路230可以是为存储器装置220专门配置的MBIST电路。
在本发明的实施例中,当主机装置250的处理器发出指令切换至存储器转储模式以执行存储器转储时,待测的芯片210将于其内部通过测试电路230依序对不同存储器地址执行数值读取操作,并将读取自存储器的数值储存在寄存器模组240。在寄存器模组240的储存达到一既定程度时,寄存器模组240所储存的数据可被读取并输出至连接于开发板200与主机装置250之间的总线,以传送给与主机装置250。需注意的是,本发明的实施例并不限于将寄存器模组240设置在测试电路230外部。在本发明的一些实施例中,寄存器模组240也可被设置在测试电路230内部。
图3是根据本发明一实施例示出的一测试电路模块图。测试电路300耦接存储器装置320,用于在存储器转储操作中读取存储器装置320所储存的数据。需注意的是,为说明测试电路300的操作,图3中也示出了存储器装置320。然而,测试电路300实际上可以不包括存储器装置320。
测试电路300可包括一控制模组310、一多工器330与一寄存器模组340。控制模组310可包括一图样产生电路311与一转储控制器312。转储控制器312可响应于一处理器(例如,包括测试电路300的芯片所配置的处理器)对于一存储器转储模式的设定触发图样产生电路311开始对应的图样产生操作。多工器330可接收来自多个输入源的信号以及一选择信号,并根据选择信号的设定选择将所述多个输入源中的一个输出。所述多个输入源可包括由图样产生电路311产生的图样以及由一处理器(例如,前述的芯片所配置的处理器,或者存储器装置320所对应的存储器控制器)产生的一功能输入信号Function_Input。
在本发明一实施例中,测试电路300可为存储器装置320所专属配置的MBIST电路。多工器330所接收的选择信号可以是内建自测试模式的设定信号BIST_Mode或者存储器转储模式的设定信号Memory_Dump_Mode。例如,测试电路300除配置有用于接收设定信号BIST_Mode的通信端口外,可新增另一通信端口用于接收设定信号Memory_Dump_Mode。
当测试电路300要对存储器装置320执行内建自测试时,芯片的处理器可编程设定信号BIST_Mode所对应的寄存器数值(例如,设定为1),以控制多工器330选择将图样产生电路311所产生的图样输出,此时的图样针对内建自测试所产生。类似地,当测试电路300要对存储器装置320执行存储器转储操作时,处理器可编程设定信号Memory_Dump_Mode所对应的寄存器数值(例如,设定为1),以控制多工器330选择将图样产生电路311所产生的图样输出,此时的图样针对存储器转储所产生。而当测试电路300非对存储器装置320执行内建自测试及存储器转储操作时,处理器可通过将设定信号BIST_Mode所对应的寄存器数值设定为其他数值(例如,设定为0),以控制多工器330选择将功能输入信号Function_Input输出。
根据本发明的一个实施例,响应于主机装置发出指令要求芯片切换至存储器转储模式,芯片的处理器可通过将设定信号Memory_Dump_Mode所对应的寄存器数值设定为一既定值,例如,前述设定为1,以通知测试电路300切换至存储器转储模式。控制模组310也可接收此设定信号Memory_Dump_Mode,并且转储控制器312可响应于存储器转储模式的设定(例如,前述的既定值)触发图样产生电路311开始产生存储器转储模式所需的控制信号图样,并将控制信号提供至存储器装置320。
在本发明的实施例中,在存储器转储模式中,由图样产生电路311所产生的控制信号可至少包括一地址信号ADDR、一存储器致能信号ME与一读取致能信号WE,其中的读取致能信号WE也可被视为一写入致能信号。例如,读取致能信号WE的一信号电平可被定义为用于致能存储器装置的写入操作的电平,读取致能信号WE的另一信号电平可被定义为用于致能存储器装置的读取操作的电平。而在内建自测试模式中,由图样产生电路311所产生的控制信号还可包括数据信号D。在存储器转储模式中,图样产生电路311将控制信号提供至存储器装置320,以控制存储器装置320根据地址信号ADDR所指示的内容依序读取对应的存储器地址所储存的数据,并将读取数据依序通过输出通信端口Q提供至寄存器模组340,其中寄存器模组340可包括一个或多个寄存器,用于依序接收并储存数据。在本发明一实施例中,图样产生电路311所产生的控制信号图样可以是仅包括存储器读取操作的一序列图样。
图4是根据本发明一实施例示出的控制信号范例波形图。响应于存储器转储模式的设定,图样产生电路311可将存储器致能信号ME的电平设为1(高电平),用于致能存储器装置320,并且将读取致能信号WE的电平设为0(低电平),用于致能存储器装置320的读取操作。此外,图4也显示出处理器的时钟信号CLK波形,而图样产生电路311在存储器转储模式中所产生的地址信号ADDR可包括被安排在处理器的多个连续时钟周期的多个存储器地址,例如图中所示的存储器地址A_0~A_5。
在本发明的实施例中,图样产生电路311通过设定地址信号ADDR的图样将一个存储器地址的读取操作安排在处理器的一个时钟周期内,并且在地址信号ADDR的图样中,图样产生电路311可在多个连续的时钟周期内安排多个存储器地址,例如,多个连续的存储器地址,用于在连续时钟周期依序一个接着一个读取这些存储器地址所储存的数据,如图4所示的操作OP波型所示意的,在多个时钟周期内将连续执行的多个读取操作Read。通过所述存储器地址的安排,以及其他对应的控制信号图样的设定,使得测试电路300在处理器的一既定数量的时钟周期内可对存储器装置320完成此既定数量次的数据读取操作。其中,假设由存储器装置320的一个存储器地址所定址的一个存储器空间可储存128比特的数据,则测试电路230/300可在处理器的一个时钟周期内完成128比特的数据读取操作,并且可在处理器的一既定数量的时钟周期内响应于前述控制信号完成此同等数量个(即,前述既定数量个)存储器地址的读取操作,其中每次读取的数据量为128比特,但本发明并不以此为限。
以下为利用测试电路或MBIST电路自动完成存储器转储的脚本(script)范例。在此范例中,存储器转储脚本包括P个步骤,以读取N个存储器地址,并且其对应的描述依序为:
步骤0:由主机装置传送存储器转储指令。
步骤1:由芯片执行存储器转储。
步骤2:(测试电路内部操作)由测试电路读取第一存储器地址,并将数据存在寄存器中。
步骤3:执行寄存器的读取操作。
步骤4:将读取数据传送至主机装置。
(…省略)
步骤(P-3):(测试电路内部操作)由测试电路读取第(N-1)个存储器地址,并将数据存在寄存器中。
步骤(P-2):执行寄存器的读取操作。
步骤(P-1):将读取数据传送至主机装置。
由于本发明并非通过处理器依序对每一个存储器地址下读取指令,而是通过设定信号Memory_Dump_Mode触发测试电路进入存储器转储模式,并产生对应的控制信号图样以执行对应的读取操作,因此本发明相较于现有技术会以更短的时间完成读取N个存储器地址的操作。例如,以上范例的步骤1、步骤2与步骤3均不涉及处理器操作。
图5是根据本发明一实施例示出的用于在一存储器转储操作中读取一存储器装置所储存数据的方法流程图,包括以下步骤:
步骤S502:响应于处理器对于存储器转储模式的一设定产生多个控制信号。
步骤S504:将控制信号提供至存储器装置。
步骤S506:响应于控制信号依序在连续时钟周期读取多个存储器地址所储存的数据。
在步骤S506中,在处理器的一既定数量的时钟周期内,存储器装置将依序输出同等数量个存储器地址所储存的数据。
根据本发明的另一实施例,寄存器模组除了一个或多个寄存器之外,还可包括一调度器(Scheduler),用于调度数据的接收,并且调度器可与控制模组进行交握(handshake),以完成数据的序向(serial)输出或多笔数据的平行(parallel)输出。
图6是根据本发明另一实施例示出的一测试电路模块图。测试电路600耦接存储器装置620,用于在存储器转储操作中读取存储器装置620所储存的数据。需注意的是,为说明测试电路600的操作,图6也示出了存储器装置620。然而,测试电路600实际上可以不包括存储器装置620。
测试电路600可包括一控制模组610、一多工器630与一寄存器模组640。控制模组610可包括一图样产生电路611与一转储控制器612。转储控制器612可响应在一处理器(例如,包括测试电路600的芯片所配置的处理器)对在一存储器转储模式的设定产生一起始信号Start(例如,产生一对应的脉冲),并且触发图样产生电路611开始对应的图样产生操作。
在本发明一实施例中,测试电路600同样可以是为存储器装置620专属配置的MBIST电路,其中的控制模组610、存储器装置620、多工器630、图样产生电路611与转储控制器612的基本操作分别与图3中的控制模组310、存储器装置320、多工器330、图样产生电路311与转储控制器312相同,因此可参考以上段落说明内容,并于此不再赘述。
根据本发明一实施例,寄存器模组640可包括多个寄存器,例如,寄存器REG_0、寄存器REG_1与寄存器REG_2,以及调度器642,用于调度数据的接收。需注意的是,本发明并不限于图6中的寄存器数量。
控制模组610接收设定信号Memory_Dump_Mode,并且转储控制器612可响应于存储器转储模式的设定(例如,前述的既定值)产生起始信号Start,并触发图样产生电路611开始产生存储器转储模式所需的控制信号图样,其中起始信号Start会被提供给调度器642,以通知读取操作的开始,并且控制信号会被提供给存储器装置620,以控制存储器装置620的读取操作。存储器装置620会响应于控制信号并根据其中地址信号ADDR所指示的内容依序读取对应的存储器地址所储存的数据,并将读取数据依序通过输出通信端口Q提供至寄存器模组640,其中寄存器模组640可包括一个或多个寄存器,用于依序接收并储存数据。调度器642可响应于起始信号Start依序安排寄存器中的一个储存接收自存储器装置620的数据。
在寄存器模组640的储存达到一既定程度时,调度器642可将寄存器模组640所储存的数据以序向或平行的方式读出,并输出至与主机装置相连的总线,以将数据传送给与主机装置。此外,调度器642可向转储控制器612发出一通知信号Next(例如,产生一对应的脉冲),以通知转储控制器612可继续次一轮的读取操作。
转储控制器612可响应于通知信号Next的接收再次产生起始信号Start(例如,产生一对应的脉冲),并触发图样产生电路611可响应于起始信号Start(其等同于响应于通知信号Next)接续在地址信号ADDR内安排多个尚未被读取的存储器地址,并且产生对应的地址信号ADDR、存储器致能信号ME与读取致能信号WE。
根据本发明一实施例,调度器642也可计数一既定时间,例如,计数一特定数量的时钟周期,并且在既定时间届期时,调度器642可将寄存器模组640所储存的数据以序向或平行的方式读出,并输出至与主机装置相连的总线,以将数据传送给与主机装置,并且调度器642可在既定时间届期时向转储控制器612发出一通知信号Next(例如,产生一对应的脉冲),以通知转储控制器612可继续次一轮的读取操作。
根据本发明一实施例,所述既定时间或特定数量可与寄存器模组640内配置的寄存器数量相关。例如,若寄存器模组640内包括3个寄存器,则响应于起始信号Start的接收,调度器642可反复地计数3个时钟周期,并且每计数完3个时钟周期,调度器642可将3个寄存器所储存的数据读出并产生对应的通知信号Next的脉冲,以通知转储控制器612可继续次一轮的读取操作。
需注意的是,寄存器模组640也可由一先进先出(FIFO)电路实现,而在这样的实施中,起始信号Start与通知信号Next可分别被提供以做为指标使用,用于指示数据写入FIFO电路或从FIFO电路输出的操作。
图7是根据本发明一实施例示出的通过测试电路的控制将存储器装置的数据以序向输出的信号波形图。图7中除了示出处理器的时钟信号CLK、地址信号ADDR、存储器致能信号ME、读取致能信号WE、起始信号Start及通知信号Next等信号的波形外,也示出了在存储器装置的输出通信端口Q的信号Value、写入寄存器的数据信号REG*、以及在连接在寄存器模组与主机装置之间的总线上传送的信号OUT等信号的波形。
如图所示,响应于起始信号Start的脉冲,图样产生电路会产生对应的控制信号,并且存储器装置会根据控制信号的设定在时钟信号CLK的各周期依序将存储器地址A_0~A_8的数据D0~D8输出。假设在此实施例中寄存器模组内包括3个寄存器,其编号分别为REG_0~REG_2,寄存器的数据信号REG*的波形中则以简化的寄存器编号R_0~R_2与括号内标记的数据D0~D8表示各寄存器在不同时钟周期中所被写入的数据。在此实施例中,寄存器模组会依序将接收到的数据输出至总线上,因此,总线上传送的信号OUT在对应的时钟周期内具有有效数据,图中以斜线填满的部分代表总线上的有效数据。在此实施例中,存储器地址A_0~A_8所对应的数据D0~D8会依序在连续的9个时钟周期被读取,并且依序在连续的9个时钟周期被输出至总线,而调度器可在每计数完1个时钟周期产生对应的通知信号Next的脉冲,以通知转储控制器可继续次一轮的读取操作。因此,在序向输出的实施例中,因测试电路可在处理器的一个时钟周期内完成一笔数据的读取操作,因此在相邻的N个时钟周期可连续将N笔数据输出,其中N为一正整数。
图8是根据本发明另一实施例示出的通过测试电路的控制将存储器装置的多笔数据平行输出的信号波形图。在此实施例中,在不同时钟周期被写入寄存器REG_0~REG_2的数据R_0(D0),R_1(D1)与R_2(D2),R_0(D3),R_1(D4)与R_2(D5)以及R_0(D6),R_1(D7)与R_2(D8)等会同时被平行输出至总线上。因此,总线上传送的信号OUT仅在数据被输出的时钟周期内具有有效数据。在此实施例中,响应于起始信号Start的脉冲,图样产生电路会产生对应的控制信号,而调度器可在寄存器的数据被读取后,或者在计数至少3个时钟周期后,产生对应的通知信号Next的脉冲,以通知转储控制器可继续次一轮的读取操作。在平行输出的实施例中,因测试电路可在处理器的一个时钟周期内完成一笔数据的读取操作,因此存储器装置可在相邻的M个时钟周期连续输出M笔数据,其中M为一正整数,并且调度器可在M笔数据被写入寄存器后,例如,在计数M个时钟周期后,将数据平行输出至总线上,因此M笔数据可同时被平行输出至总线上。
综上所述,在本发明的实施例中,主机装置仅需发出切换模式的信号,并且在切换至存储器转储模式以执行存储器转储时,将由待测芯片内部的测试电路依序对不同存储器地址执行数值读取操作,而无需再经由处理器对各存储器地址分别发出对应的读取指令。即,当接收到切换模式的信号,待测芯片内部的处理器仅需执行设定信号Memory_Dump_Mode的数值设定操作,无需参与存储器的读取操作。响应于存储器转储模式的设定(例如,设定信号Memory_Dump_Mode的数值被设定为既定值),测试电路可自动产生对应的控制信号,包括在多个连续时钟周期内安排多个存储器地址的地址信号ADDR,并控制存储器装置在存储器转储模式中仅执行对应的读取操作。如此一来,本发明的实施例相较于现有技术可大幅缩短存储器转储的执行时间。此外,本发明的测试电路可直接利用一般为存储器装置所专属配置的MBIST电路,而无需新增额外的存储器转储电路,因此,虽然本发明利用硬件电路执行存储器转储操作,但实际上并不会增加额外的电路面积,是一种低面积开销的解决方案。
以上所述仅为本发明的优选实施例,凡是依据本发明专利范围所作出的等同变化与修饰,均应属于本发明所要求的保护范围内。

Claims (10)

1.一种测试电路,耦接一存储器装置,用于在一存储器转储操作中读取所述存储器装置所储存的数据,包括:
一转储控制器,用于响应于一处理器对于一存储器转储模式的设定触发一图样产生电路开始一图样产生操作;以及
所述图样产生电路,用于在所述图样产生操作中产生多个控制信号,并将所述多个控制信号提供至所述存储器装置,其中所述多个控制信号至少包括一地址信号、一存储器致能信号与一读取致能信号,所述地址信号包括被安排于所述处理器的多个连续时钟周期的多个存储器地址,用于在所述多个连续时钟周期读取所述多个存储器地址所储存的数据。
2.根据权利要求1所述的测试电路,其特征在于,所述测试电路在所述处理器的一既定数量的时钟周期内完成所述既定数量次的数据读取操作。
3.根据权利要求1所述的测试电路,其特征在于,所述转储控制器还响应于所述存储器转储模式的设定产生一起始信号,并且所述测试电路还包括:
一寄存器模组,耦接所述存储器装置,包括:
多个寄存器,用于依序接收并储存所述数据;以及
一调度器,用于调度所述数据的接收,其中所述调度器响应于所述起始信号依序安排所述多个寄存器中的一个储存接收自所述存储器装置的所述数据。
4.根据权利要求3所述的测试电路,其特征在于,所述调度器还计数一既定时间,所述既定时间与所述多个寄存器的一数量相关,在所述既定时间届期时,所述调度器还将所述多个寄存器所储存的所述数据读出,并发出一通知信号。
5.根据权利要求4所述的测试电路,其特征在于,所述图样产生电路响应于所述通知信号接续于所述地址信号内安排多个尚未被读取的存储器地址,并且产生对应的所述地址信号、所述存储器致能信号与所述读取致能信号。
6.一种方法,用于在一存储器转储操作中读取一存储器装置的数据,包括:
响应于一处理器对于一存储器转储模式的设定产生多个控制信号,其中所述等多个控制信号至少包括一地址信号、一存储器致能信号与一读取致能信号,并且所述地址信号包括被安排在所述处理器的多个连续时钟周期的多个存储器地址,用于在所述多个连续时钟周期读取所述多个存储器地址所储存的数据;
将所述多个控制信号提供至所述存储器装置;以及
响应于所述多个控制信号依序在所述多个连续时钟周期读取所述多个存储器地址所储存的所述数据。
7.根据权利要求6所述的方法,其特征在于,在所述处理器的一既定数量的时钟周期内,所述存储器装置输出所述既定数量个存储器地址所储存的所述数据。
8.根据权利要求6所述的方法,其特征在于,还包括:
响应于所述存储器转储模式的设定产生一起始信号;以及
响应于所述起始信号依序安排多个寄存器中的一个从所述存储器装置接收所述数据。
9.根据权利要求8所述的方法,其特征在于,还包括:
计数一既定时间,其中所述既定时间与所述多个寄存器的一数量相关;以及
在所述既定时间届期时,将所述多个寄存器所储存的所述数据读出,并发出一通知信号。
10.根据权利要求9所述的方法,其特征在于,还包括:
响应于所述通知信号产生所述多个控制信号,
其中多个尚未被读取的存储器地址被接续安排在所述地址信号内。
CN202210447664.7A 2022-04-26 2022-04-26 测试电路与在存储器转储操作中读取存储器装置数据的方法 Pending CN116994638A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210447664.7A CN116994638A (zh) 2022-04-26 2022-04-26 测试电路与在存储器转储操作中读取存储器装置数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210447664.7A CN116994638A (zh) 2022-04-26 2022-04-26 测试电路与在存储器转储操作中读取存储器装置数据的方法

Publications (1)

Publication Number Publication Date
CN116994638A true CN116994638A (zh) 2023-11-03

Family

ID=88532662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210447664.7A Pending CN116994638A (zh) 2022-04-26 2022-04-26 测试电路与在存储器转储操作中读取存储器装置数据的方法

Country Status (1)

Country Link
CN (1) CN116994638A (zh)

Similar Documents

Publication Publication Date Title
KR100488232B1 (ko) 집적 dma 제어기를 이용한 집적 메모리 테스트 방법
EP1129408B1 (en) Microcomputer with test instruction memory
US7168005B2 (en) Programable multi-port memory BIST with compact microcode
US5568437A (en) Built-in self test for integrated circuits having read/write memory
US6122762A (en) Memory interface device and method for supporting debugging
US6523136B1 (en) Semiconductor integrated circuit device with processor
JPH06500392A (ja) 集積回路およびその集積回路をテストする方法
GB2325317A (en) Logic analysis subsystem in a time-sliced emulator
US7805644B2 (en) Multiple pBIST controllers
US7149944B2 (en) Semiconductor integrated circuit device equipped with read sequencer and write sequencer
JP3072531B2 (ja) 集積回路試験装置のパターンメモリ回路
JP2591825B2 (ja) 圧縮データを用いた論理回路試験方法及びその装置
US20080052574A1 (en) Circuits and associated methods for improved debug and test of an application integrated circuit
US6060897A (en) Testability method for modularized integrated circuits
CN110717311A (zh) 一种fpga内部访问系统、fpga验证方法
TWI783898B (zh) 測試電路與於記憶體傾印操作中讀取記憶體裝置之資料之方法
CN116994638A (zh) 测试电路与在存储器转储操作中读取存储器装置数据的方法
CN111913097B (zh) 一种用于测试SoC功能的测试电路、测试方法和SoC
JPH11282709A (ja) インサーキットエミュレータ
JP2007058450A (ja) 半導体集積回路
US20160282408A1 (en) Integrated Circuit Including a Programmable Logic Analyzer with Enhanced and Debugging Capabilities and a Method Therefor
CN117234831B (zh) 一种基于多核cpu的芯片功能测试方法及系统
US20050028059A1 (en) Processor interface for test access port
US11892508B2 (en) Joint test action group transmission system capable of transmitting data continuously
US20040107388A1 (en) Microcomputer

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