CN111128289A - 扫描链技术以及利用扫描链结构的方法 - Google Patents

扫描链技术以及利用扫描链结构的方法 Download PDF

Info

Publication number
CN111128289A
CN111128289A CN201911055812.5A CN201911055812A CN111128289A CN 111128289 A CN111128289 A CN 111128289A CN 201911055812 A CN201911055812 A CN 201911055812A CN 111128289 A CN111128289 A CN 111128289A
Authority
CN
China
Prior art keywords
memory
mapping
scan chain
index
registers
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.)
Granted
Application number
CN201911055812.5A
Other languages
English (en)
Other versions
CN111128289B (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.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN111128289A publication Critical patent/CN111128289A/zh
Application granted granted Critical
Publication of CN111128289B publication Critical patent/CN111128289B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318536Scan chain arrangements, e.g. connections, test bus, analog signals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318522Test of Sequential circuits
    • G01R31/31853Test of registers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318597JTAG or boundary scan test of memory devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/32Serial access; Scan testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C2029/1806Address conversion or mapping, i.e. logical to physical address
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C2029/3202Scan chain

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本申请提供用于测试集成电路的测试系统和方法。测试系统包括形成扫描链的输入端子、每个具有寄存器的多个电路元件和输出端子,输入信号通过所述扫描链传播。测试系统进一步包括调试器,该调试器包括映射模块,映射模块存储将寄存器值映射到其各自的功能含义的信息。施加输入信号以提取所有寄存器的所有值,无论该寄存器是否被处理器可访问。

Description

扫描链技术以及利用扫描链结构的方法
相关申请的交叉引用
本申请要求于2018年10月31日提交的申请号为62/753,194的美国临时申请的权益,该美国临时申请的全部内容通过引用并入本文。
技术领域
本公开的实施例涉及提高测试集成电路(IC)的扫描链技术。
背景技术
计算机环境范例已经转变成可被随时随地使用的普适计算系统。因此,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有存储器装置的存储器系统,即数据存储器装置。数据存储器装置用作便携式电子装置的主存储器装置或辅助存储器装置。
由于使用存储器装置的数据存储装置不具有移动部件,因此它们提供优异的稳定性、耐用性、高信息访问速度和低功耗。具有这些优点的数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
存储器系统通常包括组件,许多这种组件包括IC。例如,SSD可以包括闪速存储器组件和控制器,该控制器包括将闪速存储器组件桥接至SSD输入/输出(I/O)接口的电子器件。SSD控制器可以包括运行诸如固件的功能组件的嵌入式处理器。SSD功能组件通常是特定于装置的,并且在大多数情况下可被更新。
测试存储器系统中以及其它电子系统中的IC以保证它们正常工作。扫描链是测试/可测试性设计(DFT)中常用的一种技术。扫描输入和扫描输出定义了扫描链的输入和输出。当扫描使能信号生效时,设计中的每个触发器(flip-flop,FF)连接至长移位寄存器中。时钟信号用于在移位和捕获阶段期间控制链中的所有FF。模式被输入到FF的链中,并且读出每个FF的状态。
当在实验室中调试芯片的功能问题时,通常设计中可以访问的寄存器越多越好。但是,通常不是设计中的所有寄存器都可被中央处理器(CPU)访问。例如,设计者认为无需提供CPU访问权限的内部状态机的状态或计数器值可能是CPU不可访问的。
在此背景下提出本发明的实施例。
发明内容
本发明的方面包括用于实施扫描链技术的系统和方法。
在一方面,本发明涉及一种测试系统,包括:形成扫面链的输入端子、每个具有寄存器的多个电路元件和输出端子,输入信号通过扫描链传播;以及调试器,包括映射模块,映射模块存储将寄存器值映射到它们各自功能含义的信息。施加输入信号以提取所有寄存器的所有值,无论寄存器是否被处理器可访问。
在另一方面,本发明涉及一种系统,包括:计算机,包括映射模块,计算机将输入信号施加到扫描链并接收扫描链的输出;以及集成电路,包括扫描链的多个组合逻辑元件。映射模块捕获多个组合逻辑元件中的每一个的至少一个值,无论组合逻辑元件是否被处理器可访问。
在另一方面,提供一种测试包括多个电路元件的集成电路的方法,多个电路元件中的每一个具有存储值的寄存器。所述方法包括:生成映射信息,映射信息根据集成电路内的层次位置来识别多个电路元件中的每一个;通过形成扫描链的多个电路元件传播输入信号;接收包含扫描链的多个寄存器的值的输出信号;并且利用映射信息将输出信号中的值中的每一个的位置与其功能含义相关联。获得所有寄存器的所有值,无论寄存器是否被处理器可访问。
从以下描述,本发明的其它方面将变得显而易见。
附图说明
图1是示出根据本发明的实施例的存储器系统的框图。
图2是示出根据本发明的实施例的存储器系统的框图。
图3是示出根据本发明的实施例的存储器系统的存储器装置的存储块的电路图。
图4是示出根据本发明的实施例的测试系统的示意图。
图5是示出根据本发明的实施例的用于扫描链流程的步骤的流程图。
具体实施方式
下面参照附图更详细地描述各个实施例。然而,本发明可以不同的形式实施并且因此不应被解释为限于本文阐述的实施例。而是,提供这些实施例使得本公开彻底且完整,并且向本领域技术人员充分传达本发明的范围。此外,本文对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任意这些短语的不同参考不一定针对相同的实施例。在整个公开中,相同的附图标记在本发明的附图和实施例中表示相同的部件。
本发明可以以多种方式来实施,包括作为:进程;设备;系统;物质组成;在计算机可读存储介质上实现的计算机程序产品;和/或诸如适于运行存储在联接至处理器的存储器上和/或由联接至处理器的存储器提供的指令的处理器。在本说明书中,这些实施例或本发明可以采用的任意其它形式可以被称为技术方案。通常,可以在本发明的范围内改变所公开进程的步骤的顺序。除非另有说明,否则被描述为适于执行任务的、诸如处理器或存储器的组件可以被实施为被临时配置为在给定时间执行该任务的通用组件或者被制造为执行该任务的专用组件。如本文所使用的,术语“处理器”等是指适于处理诸如计算机程序指令的数据的一个或多个装置、电路和/或处理内核。
以下与示出本发明的方面的附图一起提供本发明的实施例的详细描述。结合这些实施例来描述本发明,但是本发明不限于任意实施例。本发明的范围仅由权利要求限定。本发明涵盖在权利要求范围内的许多替换方案、修改方案和等同方案。在以下描述中阐述了许多具体细节,以便提供对本发明的透彻理解。提供这些细节是为了示例的目的;本发明可以在没有一些或全部这些具体细节的情况下根据权利要求来实践。为清楚起见,没有详细描述与本发明相关的技术领域中公知的技术材料,以免不必要地模糊本发明。
图1是示意性地示出根据本发明的实施例的存储器系统的框图。
参照图1,存储器系统10可以包括存储器控制器100和半导体存储器装置200,半导体存储器装置200可代表多于一个的这种装置。半导体存储器装置200可以是闪速存储器装置,特别是NAND型闪速存储器装置。存储器控制器100和半导体存储器装置200在下文有时可以分别简称为控制器100和存储器装置200。
控制器100可以控制存储器装置200的全部操作。
存储器装置200可以在存储器控制器100的控制下执行一个或多个擦除操作、编程操作和读取操作。存储器装置200可以通过输入/输出(I/O)线接收命令CMD、地址ADDR和数据DATA。存储器装置200可以通过电源线接收电力PWR,并且通过控制线接收控制信号CTRL。控制信号CTRL可以包括命令锁存使能(CLE)信号、地址锁存使能(ALE)信号、芯片使能(CE)信号、写入使能(WE)信号、读取使能(RE)信号等。
存储器控制器100和半导体存储器装置200可以被集成到诸如固态驱动器(SSD)的单个半导体装置中。SSD可以包括用于将数据存储在其中的存储装置。当半导体存储器系统10用于SSD中时,联接至存储器系统10的主机(未示出)的操作速度可显著提高。
存储器控制器100和半导体存储器装置200可以被集成在诸如存储卡的单个半导体装置中。例如,存储器控制器100和半导体存储器装置200可以被如此集成以配置:个人计算机存储卡国际协会(PCMCIA)的PC卡、紧凑式闪存(CF)卡、智能媒体(SM)卡、记忆棒、多媒体卡(MMC)、尺寸减小的多媒体卡(RS-MMC)、微型版本的MMC(微型MMC)、安全数字(SD)卡、迷你安全数字(迷你SD)卡、微型安全数字(微型SD)卡、安全数字高容量(SDHC)和/或通用闪存(UFS)。
在另一实施例中,存储器系统10可以被设置为诸如下列的电子装置中的各种组件中的任意一种:计算机、超移动PC(UMPC)、工作站、上网本计算机、个人数字助理(PDA)、便携式计算机、网络平板PC、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器(PMP)、便携式游戏装置、导航装置、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境中接收和传送信息的装置、射频识别(RFID)装置、以及家庭网络的各种电子装置中的一种、计算机网络的各种电子装置中的一种、远程信息处理网络的电子装置中的一种或计算系统的各种组件中的一种。
图2是示出根据本发明的实施例的存储器系统的详细框图。例如,图2的存储器系统可以描绘图1中所示的存储器系统10。
参照图2,存储器系统10可以包括存储器控制器100和半导体存储器装置200。存储器系统10可以响应于来自主机装置的请求而操作,并且特别地,存储待由主机装置访问的数据。
主机装置可以利用各种种类的电子装置中的任意一种来实施。在一些实施例中,主机装置可以包括诸如下列的电子装置:台式计算机、工作站、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器和/或数字视频记录器和数字视频播放器。在一些实施例中,主机装置可以包括诸如下列的便携式电子装置:移动电话、智能电话、电子书、MP3播放器、便携式多媒体播放器(PMP)和/或便携式游戏机。
存储器装置200可以存储待由主机装置访问的数据。
存储器装置200可以利用诸如动态随机存取存储器(DRAM)和/或静态随机存取存储器(SRAM)的易失性存储器装置或者诸如下列的非易失性存储器装置来实施:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)和/或电阻式RAM(RRAM)。
存储器控制器10可以控制数据在存储器装置200中的存储。例如,存储器控制器100可以响应于来自主机装置的请求来控制存储器装置200。存储器控制器100可以将从存储器装置200读取的数据提供至主机装置,并且可以将从主机装置提供的数据存储至存储器装置200中。
存储器控制器100可以包括通过总线160联接的存储装置110、控制组件120、错误校正码(ECC)组件130、主机接口(I/F)140和存储器接口(I/F)150,控制组件120可被实施为诸如中央处理单元(CPU)的处理器。
存储装置110可以用作存储器系统10和存储器控制器100的工作存储器,并且存储用于驱动存储器系统10和存储器控制器100的数据。当存储器控制器100控制存储器装置200的操作时,存储装置110可以存储由存储器控制器100和存储器装置200所使用的数据以用于诸如读取操作、写入操作、编程操作和擦除操作的操作。
存储装置110可以利用诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)的易失性存储器来实施。如上所述,存储装置110可以将由主机装置使用的数据存储在存储器装置200中以用于读取操作和写入操作。为了存储数据,存储装置110可以包括程序存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
控制组件120可以控制存储器系统10的一般操作,并且响应于来自主机装置的写入请求或读取请求,控制对存储器装置200的写入操作或读取操作。控制组件120可以驱动被称为闪存转换层(FTL)的固件,以控制存储器系统10的一般操作。例如,FTL可以执行诸如逻辑至物理(L2P)映射、损耗均衡、垃圾收集和/或坏块处理的操作。L2P映射被称为逻辑块寻址(LBA)。
在读取操作期间,ECC组件130可以检测并校正从存储器装置200读取的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC组件130可以不校正错误位,而是可以输出指示校正错误位失败的错误校正失败信号。
在实施例中,ECC组件130可以基于诸如下列的编码调制来执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、turbo码、turbo乘积码(TPC)、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)或分组编码调制(BCM)。因此,ECC组件130可以包括适于错误校正操作的任意和所有电路、系统或装置。
主机接口140可以通过诸如下列的各种接口协议中的一种或多种与主机装置通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和电子集成驱动器(IDE)。
存储器接口150可以提供存储器控制器100和存储器装置200之间的接口,以允许控制器100响应于来自主机装置的请求来控制存储器装置200。存储器接口150可以在CPU120的控制下生成用于存储器装置200的控制信号并且处理数据。当存储器装置200是诸如NAND闪速存储器的闪速存储器时,存储器接口150可以在CPU 120的控制下生成用于存储器的控制信号并且处理数据。
存储器装置200可以包括存储器单元阵列210、控制电路220、电压生成电路230、行解码器240、可以是页面缓冲器阵列形式的页面缓冲器(阵列)250、列解码器260和输入/输出电路270。存储器单元阵列210可以包括可存储数据的多个存储块211。电压生成电路230、行解码器240、页面缓冲器阵列250、列解码器260和输入/输出电路270可以形成存储器单元阵列210的外围电路。外围电路可以对存储器单元阵列210执行编程操作、读取操作或者擦除操作。控制电路220可以控制外围电路。
电压生成电路230可以生成各种电平的操作电压。例如,在擦除操作中,电压生成电路230可以生成诸如擦除电压和通过电压的各种电平的操作电压。
行解码器240可以与电压生成电路230和多个存储块211电通信。行解码器240可以响应于由控制电路220生成的行地址RADD在多个存储块211之中选择至少一个存储块,并且将从电压生成电路230供应的操作电压传送至选择的存储块。
页面缓冲器250可以通过位线BL(图3中示出)与存储器单元阵列210电通信。页面缓冲器250可以响应于由控制电路220生成的页面缓冲器控制信号,利用正电压对位线BL预充电、在编程操作和读取操作中将数据传送至选择的存储块和从选择的存储块接收数据、或临时存储传送的数据。
列解码器260可以将数据传送至页面缓冲器250并且从页面缓冲器250接收数据,并且还可以与输入/输出电路270交换数据。
输入/输出电路270可以通过输入/输出电路270,将从外部装置(例如,存储器控制器100)接收的命令和地址传送至控制电路220,将来自外部装置的数据传送至列解码器260,或将来自列解码器260的数据输出至外部装置。
控制电路220可以响应于命令和地址来控制外围电路。
图3是示出根据本发明的实施例的半导体存储器装置的存储块的电路图。例如,图3的存储块可以是图2中所示的存储器单元阵列210的存储块211中的任意一个。
参照图3,示例性存储块211可以包括联接至行解码器240的多个字线WL0至WLn-1、漏极选择线DSL和源极选择线SSL。这些线并联布置,并且多个字线在DSL和SSL之间。
示例性存储块211可以进一步包括分别联接至位线BL0至BLm-1的多个单元串221。每列的单元串可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在所示的实施例中,每个单元串具有一个DST和一个SST。在单元串中,多个存储器单元或存储器单元晶体管MC0至MCn-1可以串联联接在选择晶体管DST和SST之间。存储器单元中的每一个可以形成为存储多位数据信息的多层单元(MLC)。
每个单元串中的SST的源极可以联接至公共源极线CSL,并且每个DST的漏极可以联接至相应位线。单元串中的SST的栅极可以联接至SSL,并且单元串中的DST的栅极可以联接至DSL。横跨单元串的存储器单元的栅极可以联接至各个字线。也就是说,存储器单元MC0的栅极联接至相应字线WL0,存储器单元MC1的栅极联接至相应字线WL1等等。联接至特定字线的一组存储器单元可以被称为物理页面。因此,存储块211中的物理页面的数量可以对应于字线的数量。
页面缓冲器阵列250可以包括联接至位线BL0至BLm-1的多个页面缓冲器251。页面缓冲器251可以响应于页面缓冲器控制信号而操作。例如,在读取或验证操作期间,页面缓冲器251可以临时存储通过位线BL0至BLm-1接收的数据或者感测位线的电压或电流。
在一些实施例中,存储块211可以包括NAND型闪速存储器单元。然而,存储块211不限于这种单元类型,而是可以包括NOR型闪速存储器单元。存储器单元阵列210可以被实施为组合两种或更多种类型的存储器单元的混合闪速存储器,或者控制器嵌入在存储器芯片内的1-NAND闪速存储器。
上面参照图1至图3所描述的存储器系统是具有在设计期间待进行测试的IC的电子系统的示例。本发明的实施例可以应用于任何类型的电子系统中的任何合适的IC。
结合这种测试,针对DFT的扫描链用于验证所有触发器(FF)和组合逻辑门(统称为组合逻辑元件或电路元件)按预期工作。但是,即使芯片内的所有这种元件均按预期工作,也就是说,从逻辑上讲每个元件均按照寄存器传送级(RTL)设计的规定工作,但在芯片开发期间仍会遇到RTL或固件中的功能性错误(bug),这意味着某些组合逻辑元件的值在某些情况下不正确。在调试此类问题时,需要在错误点或节点处从设计中获取尽可能多的信息。
本发明的各方面解决了这个问题。本发明的实施例提供利用扫描链结构提取所有寄存器值,并且使用映射表来示出通过扫描链移出的位流的功能含义的技术。即使对于通过系统总线,例如图2的总线160,CPU不可访问的寄存器,也可以这样做。
当在设计的网表上构建扫描链时,为扫描链中的每个触发器提供设计层次和寄存器名称信息。因此,可以构建位流位置的索引与其设计功能含义,即与其设计层次名称的简单映射。当需要特定寄存器值时,可以开启扫描使能以通过扫描链移出所有触发器值,并且根据先前构建的映射信息,可以找出该位流中的哪个位是所需的寄存器值。
图4示出测试系统40,该测试系统40包括用于调试的装置41,例如调试器或调试PC,以及具有多个块,即分别为Block0 43和Block1 44的顶(top)层电路设计表示42。在所示的电路设计中,Block0 43包括串联链接的三个触发器(FF)45、46和47。另一块Block1 44也包括三个FF 48-50。Block1 44中的第一FF 48紧接在链中的FF 47之后,接着是Block144中的FF 49和50。
可以是软件形式的映射模块51在调试装置41上运行,该调试装置41保持包含映射表信息的映射表52。在所示的实施例中,如图4所示,映射表信息包括位位置和各个层次名称的映射,芯片设计者可以从各个层次名称中理解对应的各个功能含义。
调试装置41通过连接到扫描链中的第一FF 45的元件42的输入端子55使实现模式或输入矢量的扫描输入信号53生效。当扫描使能信号生效后,扫描输入信号53被施加到FF45并通过链中的所有FF,即所示实施例中的FF 45-50传播,以移出这些FF的所有值,这些值经由扫描输出信号54通过元件42的输出端子56传送到调试装置41。这些值被输入到映射到其功能含义的映射表52中。
在图4所示的示例中,存在由FF 45和46表示的两位计数器,该两位计数器通过系统总线不可被访问,但是它们的值在芯片故障情况下对于设计者识别错误的根本原因很有用。在这种情况下,当发生故障时,芯片可以从功能模式翻转到扫描模式,并且所有寄存器值都可以作为位流通过扫描链被移出。在通过链移出的位流的映射表52中,位位置[1:0]被分组在一起,作为感兴趣的2位计数器值。通过移出的位流,芯片设计者可以使用该信息来获取感兴趣的计数器值以调试芯片。
在另一实施例中,映射软件52可以包括多个映射表,以容纳可以分开链接的FF的不同块。也就是说,可以存在针对每个块的一个映射表。因此,在图4的实施例中,可以存在两个映射表,一个针对块0 43,另一个针对块1 44。因此,当启动扫描模式时,可以使用不同的映射表来获取寄存的、针对各个块的FF的各个位的层次信息。
如果存在安全问题,则使用安全的联合测试行动组(JTAG)接口将每个扫描链切换到扫描模式或从扫描模式切换出。
在图5所示的流程图500中示出根据实施例的扫描链流程。首先参照图5并且其次参照图4来描述该流程。
在步骤501中,将输入信号施加到形成扫描链的电路元件的组件的输入端子。因此,如图4所示,输入信号53被施加到与FF的扫描链中的第一FF 45连接的输入端子55。
在步骤502中,输入信号通过扫描链的电路元件,例如FF传播。这可以通过施加扫描使能信号以开启扫描模式来进行,以通过扫描链移出所有电路元件的所有值。
在步骤503中,由调试装置41接收输出信号。该输出信号包含值串,值串中的至少一个来自电路元件中的每一个。这些值被添加到在调试装置41上运行的映射表。
接下来,在步骤504中,执行查找操作。也就是说,可以从通过将输出信号中的每个值的位置与其功能含义相关联的映射表来确定每个值的功能含义。有利地,获得所有寄存器的所有值,无论寄存器是否由处理器可访问。
流程图500中示出的步骤是示例性的。本领域技术人员将理解的是,在不脱离本文公开的发明构思的情况下,可以执行附加和/或替代步骤,或者可以改变步骤的顺序,来实施本发明的各方面。
如前所述,本发明的实施例提供即使对于处理器,例如CPU没有访问权的寄存器,也提取在扫描链中链接的所有触发器或其它逻辑元件的所有寄存器值的技术。因此,本发明改善了诸如DFT的测试和调试过程。
虽然出于清楚和理解的目的,已经在一些细节上描述了前述实施例,但是本发明不限于所提供的细节。如本领域技术人员根据前述公开内容将理解的是,存在实施本发明的许多替代方式。因此,所公开的实施例是说明性的而非限制性的。

Claims (13)

1.一种测试系统,包括:
形成扫描链的输入端子、每个具有寄存器的多个电路元件和输出端子,输入信号通过所述扫描链传播;以及
调试器,包括映射模块,所述映射模块存储将寄存器值映射到其各自功能含义的信息,
其中施加所述输入信号以提取所有所述寄存器的所有值,无论所述寄存器是否被处理器可访问。
2.根据权利要求1所述的测试系统,其中所述多个电路元件包括多个触发器。
3.根据权利要求2所述的测试系统,进一步包括集成电路,所述集成电路包括所述多个触发器。
4.根据权利要求1所述的测试系统,其中所述映射模块包括映射表,所述映射表具有用于所提取的值的位置的索引和用于功能含义的索引。
5.根据权利要求4所述的测试系统,其中针对位置索引中的每个值,功能含义索引包括识别块和所述电路元件的信息,与该值相关联的所述寄存器被实现在所述电路元件中。
6.根据权利要求1所述的测试系统,其中所述多个电路元件的各个子集被实现在各个块中,并且所述映射模块包括多个映射表,所述多个映射表中的一个用于所述块中的每一个。
7.一种系统,包括:
计算机,包括映射模块,所述计算机将输入信号施加到扫描链并接收扫描链的输出;以及
集成电路,包括所述扫描链的多个组合逻辑元件;
其中所述映射模块捕获所述多个组合逻辑元件中的每一个的至少一个值,无论所述组合逻辑元件是否被处理器可访问。
8.根据权利要求7所述的系统,其中所述多个组合逻辑元件包括多个触发器。
9.根据权利要求7所述的系统,其中所述映射模块包括映射表,所述映射表具有用于位位置的索引和用于功能含义的索引。
10.一种测试集成电路的方法,所述集成电路包括多个电路元件,所述多个电路元件中的每一个具有存储值的寄存器,所述方法包括:
生成映射信息,所述映射信息识别根据所述集成电路内的层次位置来识别所述多个电路元件中的每一个;
通过形成扫描链的所述多个电路元件传播输入信号;
接收包含所述扫描链的多个寄存器的值的输出信号;并且
利用所述映射信息将所述输出信号中的所述值中的每一个的位置与其功能含义相关联;
其中获得所有所述寄存器的所有值,无论所述寄存器是否被处理器可访问。
11.根据权利要求10所述的方法,其中所述映射信息被保持在映射表中。
12.根据权利要求11所述的方法,其中所述映射表具有用于所提取的值的位置的索引和用于功能含义的索引。
13.根据权利要求12所述的方法,其中针对位置索引中的每个值,功能含义索引包括识别块和所述电路元件的信息,与该值相关联的所述寄存器被实现在所述电路元件中。
CN201911055812.5A 2018-10-31 2019-10-31 扫描链技术以及利用扫描链结构的方法 Active CN111128289B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862753194P 2018-10-31 2018-10-31
US62/753,194 2018-10-31

Publications (2)

Publication Number Publication Date
CN111128289A true CN111128289A (zh) 2020-05-08
CN111128289B CN111128289B (zh) 2024-01-19

Family

ID=70326755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911055812.5A Active CN111128289B (zh) 2018-10-31 2019-10-31 扫描链技术以及利用扫描链结构的方法

Country Status (2)

Country Link
US (1) US11156664B2 (zh)
CN (1) CN111128289B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113272906A (zh) * 2021-03-30 2021-08-17 长江存储科技有限责任公司 具有引脚功能映射的模式生成系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1226323A (zh) * 1996-09-23 1999-08-18 Arm有限公司 数据处理装置寄存器
CN1231741A (zh) * 1996-09-23 1999-10-13 Arm有限公司 数字信号处理集成电路体系结构
US20030074615A1 (en) * 2000-12-27 2003-04-17 Chih-Jen Lin Weighted random pattern test using pre-stored weights
US20050010880A1 (en) * 1999-11-30 2005-01-13 Bridges2Silicon, Inc. Method and user interface for debugging an electronic system
JP2005180952A (ja) * 2003-12-16 2005-07-07 Matsushita Electric Ind Co Ltd テスト回路、半導体集積回路及びその製造方法
CN101097245A (zh) * 2006-06-29 2008-01-02 国际商业机器公司 实现高速测试电路的扫描链和方法
US20090144594A1 (en) * 2007-12-04 2009-06-04 Chakraborty Tapan J Method and apparatus for describing and testing a system-on-chip
CN102680881A (zh) * 2011-03-11 2012-09-19 阿尔特拉公司 测试技术和电路的设计
US20140229778A1 (en) * 2013-02-14 2014-08-14 Lsi Corporation At-speed scan testing of interface functional logic of an embedded memory or other circuit core

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979764B2 (en) * 2007-11-01 2011-07-12 Cadence Design Systems, Inc. Distributed test compression for integrated circuits
US8522097B2 (en) 2010-03-16 2013-08-27 Qualcomm Incorporated Logic built-in self-test programmable pattern bit mask
US9897653B2 (en) * 2016-03-16 2018-02-20 Stmicroelectronics (Grenoble 2) Sas Scan chain circuit supporting logic self test pattern injection during run time
US10417363B1 (en) * 2016-12-27 2019-09-17 Cadence Design Systems, Inc. Power and scan resource reduction in integrated circuit designs having shift registers

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1226323A (zh) * 1996-09-23 1999-08-18 Arm有限公司 数据处理装置寄存器
CN1231741A (zh) * 1996-09-23 1999-10-13 Arm有限公司 数字信号处理集成电路体系结构
US20050010880A1 (en) * 1999-11-30 2005-01-13 Bridges2Silicon, Inc. Method and user interface for debugging an electronic system
US20030074615A1 (en) * 2000-12-27 2003-04-17 Chih-Jen Lin Weighted random pattern test using pre-stored weights
JP2005180952A (ja) * 2003-12-16 2005-07-07 Matsushita Electric Ind Co Ltd テスト回路、半導体集積回路及びその製造方法
CN101097245A (zh) * 2006-06-29 2008-01-02 国际商业机器公司 实现高速测试电路的扫描链和方法
US20090144594A1 (en) * 2007-12-04 2009-06-04 Chakraborty Tapan J Method and apparatus for describing and testing a system-on-chip
CN102680881A (zh) * 2011-03-11 2012-09-19 阿尔特拉公司 测试技术和电路的设计
US20140229778A1 (en) * 2013-02-14 2014-08-14 Lsi Corporation At-speed scan testing of interface functional logic of an embedded memory or other circuit core

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113272906A (zh) * 2021-03-30 2021-08-17 长江存储科技有限责任公司 具有引脚功能映射的模式生成系统
WO2022204915A1 (en) * 2021-03-30 2022-10-06 Yangtze Memory Technologies Co., Ltd. Pattern generation system with pin function mapping
CN113272906B (zh) * 2021-03-30 2024-04-16 长江存储科技有限责任公司 具有引脚功能映射的模式生成系统
US11977115B2 (en) 2021-03-30 2024-05-07 Yangtze Memory Technologies Co., Ltd. Pattern generation system with pin function mapping

Also Published As

Publication number Publication date
US11156664B2 (en) 2021-10-26
US20200132767A1 (en) 2020-04-30
CN111128289B (zh) 2024-01-19

Similar Documents

Publication Publication Date Title
US10180805B2 (en) Memory system and operating method thereof
US11532372B2 (en) Remote SSD debug via host/serial interface and method of executing the same
US11294743B2 (en) Firmware event tracking for NAND-based storage devices, and methods and instruction sets for performing the same
US9653176B2 (en) Read disturb reclaim policy
CN106372011B (zh) 用于pcie ssd控制器的高性能主机队列监控器
US10169289B2 (en) Memory system and method for accelerating boot time
US9946644B2 (en) Memory system and operating method thereof
US11093369B2 (en) Reconfigurable simulation system and method for testing firmware of storage
US11650795B2 (en) Raw read based physically unclonable function for flash memory
CN111177041B (zh) 支持新能力的可配置集成电路
US10921988B2 (en) System and method for discovering parallelism of memory devices
CN111128289B (zh) 扫描链技术以及利用扫描链结构的方法
US11967391B2 (en) System and method for testing multicore SSD firmware based on preconditions generation
US11650914B2 (en) System and method for identification of memory device based on physical unclonable function
CN110989919B (zh) 用于存储器系统的日志记录机制
CN110941567B (zh) 存储器控制器及其操作方法
US11646091B2 (en) System for outputting test data from multiple cores and method thereof
US11520507B1 (en) System and method for test precondition generation based on factory-formatted state of memory device
US10970086B1 (en) Efficient use of RAM in resource-constrained embedded systems

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