CN114460447B - 锁存器的自测试电路及其自测试方法 - Google Patents

锁存器的自测试电路及其自测试方法 Download PDF

Info

Publication number
CN114460447B
CN114460447B CN202110071284.3A CN202110071284A CN114460447B CN 114460447 B CN114460447 B CN 114460447B CN 202110071284 A CN202110071284 A CN 202110071284A CN 114460447 B CN114460447 B CN 114460447B
Authority
CN
China
Prior art keywords
test
self
latch
slave
circuit
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
CN202110071284.3A
Other languages
English (en)
Other versions
CN114460447A (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.)
Muxi Integrated Circuit Shanghai Co ltd
Original Assignee
Muxi Integrated Circuit Shanghai 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 Muxi Integrated Circuit Shanghai Co ltd filed Critical Muxi Integrated Circuit Shanghai Co ltd
Priority to CN202110071284.3A priority Critical patent/CN114460447B/zh
Priority to PCT/CN2021/136786 priority patent/WO2022156418A1/zh
Publication of CN114460447A publication Critical patent/CN114460447A/zh
Application granted granted Critical
Publication of CN114460447B publication Critical patent/CN114460447B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/31702Testing digital circuits including elements other than semiconductor transistors, e.g. biochips, nanofabrics, mems, chips with magnetic elements
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Nanotechnology (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

公开了一种锁存器的自测试电路及其自测试方法。自测试电路包括自测试主控单元和自测试模块。自测试主控单元包括:自测试模块使能逻辑电路,用于产生自测试模块的使能信号;自测试模块测试向量产生电路,用于产生自测试模块的测试向量;存储单元,用于存储自测试模块的测试结果。自测试模块被配置为:根据使能信号选择锁存器自测试子模块进入自测试模式;当被选择进行自测试的锁存器自测试子模块的锁存器输出与测试向量相同时,测试结果为该锁存器自测试子模块的锁存器无故障,否则有故障。本公开的方案实现了采用较少的数字集成测试电路有效提高锁存器的测试覆盖率,解决了锁存器测试的难题。

Description

锁存器的自测试电路及其自测试方法
技术领域
本公开涉及数字集成电路设计测试技术领域,尤其涉及一种锁存器的自测试电路。
背景技术
随着半导体集成电路产业的迅猛发展,集成电路高度集成化,芯片规模日益增长,集成电路测试的设计和方法已经成为集成电路发展过程中不可分割的一个部分。
随着设计方法的更新升级,制造方法当然也在进步。在摩尔定律的驱动下,最新的工艺也在从5nm往3nm稳步推进。
早期集成电路的内部模块不多,逻辑功能单一,工艺相对简单,在测试机上实现功能测试相对容易。这导致测试方法学的研究曾一度处于一个不被重视的地位。而如今,集成电路测试成本的快速增长已经达到生产商无法承受的地步。随着对测试方法学的不断深入研究,业界逐渐发现,对于复杂的、大规模的集成电路设计项目,必须要提前在集成电路产品的设计阶段,就去考虑如何对产品进行测试,这样能大大缩短产品的测试时间,从而降低成本,提高产品的竞争力。
可测性设计(DFT)技术在满足芯片功能正常的基础上加入测试电路,降低集成电路的测试难度和测试成本。但是,在不加入太多的电路又不占据太多的功耗和面积的前提下实现集成电路的测试目的,对设计人员提出了更高的要求。
目前,主流的Mux-Scan扫描测试方法是DFT技术中的一项方法。Mux-Scan扫描测试方法是将集成电路中的时序元件替换成相应的可扫描时序元件(例如D触发器),将D触发器串连起来,形成一个从输入到输出的测试串行移位寄存器(扫描链路),以实现对于时序元件和组合逻辑的测试。通过控制锁存器单元端口的测试使能信号使得锁存器单元“透明化”,减少锁存器单元造成错误传输的影响,但无法检测到锁存器单元本身是否存在故障。当集成电路中的时序元件以D触发器为主,则个别锁存器单元的“透明化”不会对整个集成电路的故障覆盖率造成太大影响。随着集成电路设计的发展,锁存器器件在设计中为了解决时序问题,或减小面积,被越来越广泛的使用,但锁存器“透明化”的测试方法无法适应测试故障覆盖率的要求。
发明内容
有鉴于此,本公开提出了一种锁存器的自测试电路,实现了采用较少的数字集成测试电路有效提高锁存器的测试覆盖率,解决了锁存器测试的难题。
根据本公开的一方面,提供了一种锁存器的自测试电路。所述电路包括自测试主控单元和自测试模块。所述自测试主控单元包括:自测试模块使能逻辑电路,用于产生自测试模块的使能信号;自测试模块测试向量产生电路,用于产生自测试模块的测试向量;存储单元,用于存储自测试模块的测试结果。所述自测试模块被配置为:根据使能信号选择锁存器自测试子模块进入自测试模式;当被选择进行自测试的锁存器自测试子模块的锁存器测试输出与测试向量相同时,测试结果为该锁存器自测试子模块的锁存器无故障,否则有故障。
在一种可能的实现方式中,所述自测试模块包括一个或多个锁存器自测试子模块,每个所述锁存器自测试子模块包括:主锁存器单元,用于根据所述使能信号,选择接收所述自测试模块测试向量产生的自测试模块的测试向量;自测试地址产生电路,用于产生遍历从锁存器单元的地址信号;从锁存器单元,根据所述地址信号依次接收所述测试向量,并进行锁存器测试输出。
在一种可能的实现方式中,所述主锁存器单元包括主锁存器和多路选择器,其中,所述主锁存器用于接收所述多路选择器的输出,所述多路选择器用于根据所述使能信号,使得所述锁存器自测试子模块进入自测试模式或功能模式,并相应地选择所述测试向量或外部功能数据进行输出。
在一种可能的实现方式中,所述从锁存器单元包括从锁存器阵列,其中,所述从锁存器阵列中的每个从锁存器用于在所述自测试地址产生电路所产生的地址信号的控制下接收所述主锁存器的输出。
在一种可能的实现方式中,所述主锁存器单元包括N个主锁存器和N个多路选择器,N个主锁存器和N个多路选择器分别一一对应,N为正整数,其中,每个主锁存器的D端和其对应的所述多路选择器的输出端相连接,所述多路选择器的第一输入端分别与所述测试向量产生电路的输出端相连接,第二输入端用于输入外部功能数据,控制选择端与自测试模块使能逻辑电路的输出端相连接。
在一种可能的实现方式中,所述从锁存器单元包括M行N列的从锁存器,M为正整数,每M个从锁存器为一列,对应于N个主锁存器之一,其中,每个从锁存器的D端和与其同列的所述主锁存器的Q端相连接,每个从锁存器在所述自测试地址产生电路所产生的地址信号的控制下接收其分别所连接的主锁存器的输出。
在一种可能的实现方式中,所述自测试地址产生电路的输出端输出遍历M*N个从锁存器的地址信号。
在一种可能的实现方式中,所述从锁存器单元还包括M*N个与门电路,与M*N个从锁存器分别一一对应,其中,每个从锁存器的D端和其对应的所述与门电路的输出端相连接,所述与门电路的第一输入端和与其同列的所述主锁存器的Q端相连接,所述与门电路的第二输入端与所述自测试地址产生电路的输出端相连接。
在一种可能的实现方式中,所述从锁存器单元还包括M*N个与门电路,与M*N个从锁存器分别一一对应,其中,每个从锁存器的时钟端和其对应的所述与门电路的输出端相连接,所述与门电路的第一输入端和时钟信号相连接,所述与门电路的第二输入端与所述自测试地址产生电路的输出端相连接。
在一种可能的实现方式中,每个从锁存器还包括地址使能端,用于与所述自测试地址产生电路的输出端相连接。
在一种可能的实现方式中,所述自测试地址产生电路所产生的地址信号每时钟周期选择一行从锁存器来接收相应主锁存器的输出。
在一种可能的实现方式中,所述主锁存器被配置为高电平有效,则从锁存器被配置为低电平有效;或,所述主锁存器被配置为低电平有效,则从锁存器被配置为高电平有效。
在一种可能的实现方式中,所述自测试模块测试向量产生电路产生的测试向量数据的位数与所述从锁存器阵列的列数相同,所述主锁存器并行与所述自测试主控单元的自测试模块测试向量产生电路的输出端相连接。
在一种可能的实现方式中,所述自测试模块测试向量产生电路产生的测试向量数据的位数为1,所述主锁存器依次串行连接。
在一种可能的实现方式中,所述测试向量是具有周期性的数据。
在一种可能的实现方式中,所述锁存器自测试子模块包括初始化、扫描、比较、结果输出四种状态。
在一种可能的实现方式中,根据所述自测试主控单元的使能信号和测试向量控制所述锁存器自测试子模块在初始化、扫描、比较、结果输出四种状态间进行转换。
根据本公开的另一方面,提出了一种锁存器的自测试方法,所述方法包括:根据自测试模块的使能信号,选择锁存器自测试子模块进入自测试模式;将自测试模块的测试向量输入到所选择的锁存器自测试子模块;将从所选择的锁存器自测试子模块输出的测试输出与所述测试向量进行比较,当两者相同时,测试结果为所述锁存器自测试子模块无故障,否则有故障;存储所述测试结果。
在一种可能的实现方式中,所述自测试模块包括一个或多个锁存器自测试子模块,其中,根据自测试模块的使能信号,选择锁存器自测试子模块进入自测试模式进一步包括:根据自测试模块的使能信号,使得所述锁存器自测试子模块进入自测试模式或功能模式,并相应地选择所述测试向量或外部功能数据输入所述锁存器自测试子模块。
在一种可能的实现方式中,将自测试模块的测试向量输入到所选择的锁存器自测试子模块进一步包括:所述锁存器自测试子模块中的锁存器在地址信号的控制下依次接收所述测试向量,并进行锁存器测试输出。
在一种可能的实现方式中,所述测试向量是具有周期性的数据。
本公开的锁存器的自测试电路及方法实现了采用较少的数字集成测试电路,有效提高锁存器的测试覆盖率,解决了锁存器测试的难题。
根据下面参考附图对示例性实施例的详细说明,本公开的其他特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1A和1B示出了现有技术中触发器的结构原理图;
图2示出了现有技术中锁存器的结构原理图;
图3示出了根据本公开一实施例的锁存器的自测试电路原理图;
图4示出了根据本公开另一实施例的锁存器的自测试电路原理图;
图5示出了根据本公开一实施例的锁存器的自测试电路的锁存器自测试子模块的原理图。
图6A、6B和6C示出了用地址信号控制锁存器的操作的三种可能方式。
图7示出了根据本公开一实施例的锁存器的自测试电路的锁存器自测试子模块的状态图。
图8示出了根据本公开一实施例的锁存器的自测试方法的流程图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步详细的说明,但本发明不限于下面的实施例。
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其他实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1A和1B示出了现有技术中触发器的结构原理图,图2示出了现有技术中锁存器的结构原理图。为了便于理解本公开的技术方案,首先介绍下触发器和锁存器的区别。
触发器(Flip-Flop,FF)的结构如图1A和1B所示。图1A表示主从D触发器的电路结构,其中左侧为主触发器,右侧为从触发器。图1B表示主从D触发器的状态图。触发器是一种可以在两种状态下运行的数字逻辑电路。触发器也叫双稳态门或双稳态触发器,触发器对脉冲边沿敏感,其状态在时钟脉冲的上升沿或下降沿瞬间改变。当收到输入时钟脉冲之前,触发器一直保持状态不变,直到收到输入时钟脉冲(即触发),触发器会根据触发规则改变状态。
如图2所示,传输门控D锁存器包括D输入端口(数据输入信号DATA_IN)和C输入端口(使能信号EN或时钟信号输入端口)两个输入端口,一个输出端口Q。锁存器可以在使能信号EN有效时,将数据输入信号DATA_IN的值传给输出端口Q。锁存器对脉冲电平敏感,当时钟脉冲(使能信号)的电平改变时,锁存器的状态也相应的发生改变。锁存器是电平触发的存储单元,根据输入时钟信号或使能信号EN的电平值存储数据,当锁存器处于使能状态时,输出端口Q随着数据输入信号DATA_IN的值发生变化。锁存器的面积小、速度快,适用于地址锁存。不过一定要保证所有的锁存器信号源的质量。锁存器在CPU设计中很常见,正是由于它的应用使得CPU的速度比外部IO部件逻辑快许多。锁存器完成同一个功能所需要的门较触发器要少,所以在ASIC中用的较多,其缺点是时序分析较困难,很难用传统的测试电路去做故障测试和定位失效。
为了提高数字集成电路的密集度,锁存器以其面积小,功耗低的优势取代传统的SRAM或触发器实现数据的存储。针对锁存器的测试,本公开提出一种锁存器的自测试电路,可以用较少的测试电路完成锁存器的故障测试,与扫描链测试(scan chain)电路结合提高集成电路的测试覆盖率。
本公开的锁存器的自测试电路中,锁存器单元在测试模式下,被依次串联成一条或者多条锁存器自测试链路(bist chain)。自测试链路由锁存器自测试主状态机控制,依次自动执行初始化测试电路,将测试向量依次注入测试所有锁存器单元,若干个时钟周期后,测试向量将充满整个锁存器测试链路。测试向量被设计成具有明显周期性的特定向量,持续将测试向量移入锁存器测试链路的同时,可依次移出自测试链路,将输入数据与输出数据进行比较,即可判断锁存器阵列是否存在故障(defect)。
图3示出了根据本公开一实施例的锁存器的自测试电路原理图。
如图3所示,自测试电路可以包括自测试主控单元和自测试模块,自测试主控单元包括自测试模块使能逻辑电路、自测试模块测试向量产生电路和存储单元。
自测试模块使能逻辑电路的输出端与自测试模块的测试选择输入端Sel相连接,自测试模块测试向量产生电路的输出端与自测试模块的测试向量输入端相Bist连接,存储单元与自测试模块的结果输出端Rest相连接。
其中,自测试模块使能逻辑电路用于产生自测试模块的使能信号,自测试模块测试向量产生电路用于产生自测试模块的测试向量,存储单元用于存储自测试模块的测试结果。
自测试模块用于根据使能信号和测试向量完成所述的故障测试。即自测试模块被配置为根据使能信号选择锁存器自测试子模块进入自测试模式,当被选择进行自测试的锁存器自测试子模块的锁存器输出与测试向量相同时,测试结果为该锁存器自测试子模块的锁存器无故障,否则有故障。
图4示出了根据本公开另一实施例的锁存器的自测试电路原理图。
如图4所示,该电路可以包括锁存器自测试主控制单元和自测试模块。自测试主控制单元可以包括自测试向量生成逻辑电路(自测试模块测试向量产生电路)、子模块自测试使能电路(自测试模块使能逻辑电路)和子模块自测试结果存储单元。
自测试模块包括一个或多个锁存器自测试子模块。如图4所示,自测试模块包括测试对象-子模块1(锁存器自测试子模块1),…,测试对象-子模块n(锁存器自测试子模块n)共n个锁存器自测试子模块,n为正整数。
每个锁存器自测试子模块的电路结构、原理和功能端口相同。每个锁存器自测试子模块的主要功能端口如表1所示,主要包括输入测试时钟信号的时钟输入端口test_clk、输入测试选择信号的测试选择端口test_sel_in、输入测试复位信号的复位端口tdr_rstb、输入自测试(bist)控制输入信号的控制输入端口bist_ctl_in、输入自测试(bist)数据输入信号的数据输入端口bist_data_in和输出自测试(bist)结果的输出端口bist_result_out。
端口 方向 描述
test_clk 输入 测试时钟
test_sel_in 输入 测试选择输入
tdr_rstb 输入 测试复位信号
bist_ctl_in 输入 自测试(bist)控制输入
bist_data_in 输入 自测试(bist)数据输入
bist_result_out 输出 自测试(bist)结果输出
表1锁存器自测试子模块的主要功能端口
其中,子模块自测试使能电路(自测试模块使能逻辑电路)用于产生自测试模块的使能信号,通过测试选择端口test_sel_in输入到锁存器自测试子模块中,当使能信号有效时,自测试模块为自测试模式,否则,为功能模式(空闲模式)。例如,如图4所示,子模块自测试使能电路产生的使能信号通过测试选择端口test_sel_in输入到锁存器自测试子模块中,当某个锁存器自测试子模块的测试选择端口test_sel_in输入的使能信号为高电平时,表明该锁存器自测试子模块被选中,进入自测试模式。当某个锁存器自测试子模块的测试选择端口test_sel_in输入的使能信号为低电平时,表明该锁存器自测试子模块未被选中,进入功能模式(空闲模式)。
自动测试向量生成逻辑电路(自测试模块测试向量产生电路)可以产生自测试模块的测试向量,通过数据输入端口bist_data_in(如图4所示)输入到锁存器自测试子模块中,控制自测试子模块完成自测试。
子模块自测试结果存储单元用于存储通过锁存器自测试子模块的自测试(bist)结果输出端口bist_result_out输出的锁存器自测试子模块的测试结果,便于锁存器自测试子模块的故障分析和统计。例如,可以将目标锁存器自测试子模块的测试结果存入自测试主控单元,便于对目标锁存器自测试子模块进行故障统计及分析。通过自测试链路的自测试主控单元的控制,能够依次自动执行初始化自测试模块的各个锁存器自测试子模块的电路。
本公开的自测试电路可以包括自测试主控单元和自测试模块,自测试主控单元包括自测试模块使能逻辑电路,用于产生自测试模块的使能信号、自测试模块测试向量产生电路,用于产生自测试模块的测试向量和存储单元,用于存储自测试模块的测试结果。所述自测试模块被配置为:根据使能信号选择锁存器自测试子模块进入自测试模式,当被选择进行自测试的锁存器自测试子模块的锁存器输出与测试向量相同时,测试结果为该锁存器自测试子模块的锁存器无故障,否则有故障。实现了采用较少的数字集成测试电路有效提高锁存器的测试覆盖率,解决了锁存器测试的难题。
图5示出了根据本公开一实施例的锁存器的自测试电路的锁存器自测试子模块的原理图。
在一种可能的实现方式中,锁存器自测试子模块包括主锁存器单元、从锁存器单元(图4中的从锁存器阵列)和自测试地址产生电路(图4中的自测试地址生成逻辑电路)。其中,主锁存器单元用于根据使能信号,选择接收自测试模块测试向量产生的自测试模块的测试向量;自测试地址产生电路用于产生遍历从锁存器单元的地址信号;从锁存器单元,根据地址信号依次接收测试向量,并进行锁存器测试输出。
一般地,主锁存器单元包括主锁存器和多路选择器。主锁存器用于接收所述多路选择器的输出。多路选择器用于根据所述使能信号,使得锁存器自测试子模块进入自测试模式或功能模式,并相应地选择测试向量或外部功能数据进行输出。
另一方面,一般地,从锁存器单元包括从锁存器阵列。从锁存器阵列中的每个从锁存器用于在所述自测试地址产生电路所产生的地址信号的控制下接收所述主锁存器的输出。
根据本公开的一个实施例,所述主锁存器单元包括N个主锁存器和N个多路选择器,N个主锁存器和N个多路选择器分别一一对应,N为正整数。每个主锁存器的D端和其对应的多路选择器的输出端相连接。多路选择器的第一输入端分别与测试向量产生电路的输出端相连接,第二输入端用于输入外部功能数据,控制选择端与自测试模块使能逻辑电路的输出端相连接。
在一种实施例中,主锁存器也可以受到地址信号的控制来进行锁存操作。
在如图5所示的实施例中,主锁存器单元,包括N个主锁存器、N个与门电路和N个多路选择器,N为正整数。
对于每一个主锁存器来说,主锁存器的D端和其对应的与门电路的输出端相连接。该与门电路的第一输入端和其对应的多路选择器的输出端相连接,与门电路的第二输入端与自测试地址产生电路的输出端相连接。多路选择器的第一输入端分别与测试向量产生电路的输出端相连接,用于输入自测试模块测试向量产生电路产生的自测试模块的测试向量,其第二输入端用于输入外部功能数据。当该锁存器自测试子模块为测试模式下,D端输入为测试向量数据,Q端输出为测试向量数据;当该锁存器自测试子模块为功能模式下,D端输入为外部功能数据,Q端输出为外部功能数据。
通过在主锁存器的D端增加Mux多路选择器,用外部端口控制主锁存器的状态,即主锁存器为功能状态(功能模式)或为自测试状态(自测试模式)。
尽管在图5所示的实施例中,所示地址信号被描述为与锁存器的输入信号一起通过与门输入到锁存器的D端,但本领域技术人员应当理解,地址信号的控制还可以通过其他方式来实现。例如,参见以下关于从锁存器单元的描述。
根据本公开的一个实施例,从锁存器单元包括M行N列的从锁存器,M为正整数,每M个从锁存器为一列,对应于N个主锁存器之一。每个从锁存器的D端和与其同列的所述主锁存器的Q端相连接。每个从锁存器在所述自测试地址产生电路所产生的地址信号的控制下接收其分别所连接的主锁存器的输出。自测试地址产生电路的输出端输出遍历M*N个从锁存器的地址信号。
在如图5所示的实施例中,从锁存器单元,即从锁存器阵列,可以包括M*N个从锁存器和与门电路,且M*N个从锁存器和与门电路分别一一对应,M为正整数。如图5所示,从锁存器单元包括第1行,第2行,…,第M-1行共M行的从锁存器和与门电路,且每一行有N个从锁存器和与门电路,从锁存器和与门电路一一对应。
针对每个从锁存器,从锁存器的D端和其对应的与门电路的输出端相连接,从锁存器的时钟输入端与时钟电路相连接,用于输入时钟信号(测试模式下的时钟信号或功能模式下的时钟信号)。与门电路的第一输入端和与其同列的主锁存器的Q端相连接,用于接收主锁存器Q端输出的测试向量数据或功能数据。
若每行从锁存器的D端在功能模式下,则D端的输入信号为主锁存器正常的功能数据输出。若每行从锁存器的D端在测试模式下,则D端的输入信号为主锁存器在测试模式下的测试向量数据的输出,通过这种方式,能够实现M*N个从锁存器阵列共享1*N个主锁存器。与门电路的第二输入端与自测试地址产生电路的输出端相连接。
自测试地址产生电路为一个D触发器和地址信号转换电路组成,产生地址信号数据bist_addr,通过地址信号转换电路能够将地址信号数据bist_addr转换为二进制数据,进而遍历M*N个从锁存器,当某一行从锁存器被选中时,该行从锁存器的地址输入信号置为高电平1,其余行从锁存器的地址输入信号置为低电平0。例如如果地址信号数据bist_addr转化为二进制数为001时,说明是第1行的从锁存器被选中,则第1行从锁存器的地址输入信号置为高电平1,其余行从锁存器的地址输入信号置为低电平0;若地址信号数据bist_addr转化为二进制数为011时,说明是第3行的从锁存器被选中,则第3行的从锁存器的地址输入信号置为高电平1,其余行从锁存器的地址输入信号置为低电平0。
主锁存器单元和从锁存器单元共用一个外部时钟信号,能够保证在下一个时钟信号到来时,能够保证注锁存器单元的输出数据锁存被选中的从锁存器中。例如,如图5所示,在自测试模式下,主锁存器单元低电平导通,从锁存器单元高电平导通。通过这种主从锁存器的结构,可以在时钟信号的下降沿时,将自测试主控单元输出的测试向量锁存到主锁存器中,在下一个时钟的上升沿后将测试向量数据锁存到从锁存器中。
在一种可能的实现方式中,主锁存器被配置为高电平有效,则从锁存器被配置为低电平有效;或,所述主锁存器被配置为低电平有效,则从锁存器被配置为高电平有效。
如图5所示,对于N个主锁存器,M*N从锁存器阵列,其中,在自测试模式下,N个主锁存器置为低电平有效,则M*N从锁存器阵列高电平有效。同理,也可以将N个主锁存器置为高电平有效,则M*N从锁存器阵列低电平有效。可以通过外部时钟信号进行控制,在此不做限定。
如上所述,在图5所示的实施例中,所示地址信号被描述为与锁存器的输入信号一起通过与门输入到锁存器的D端,但本领域技术人员应当理解,地址信号的控制还可以通过其他方式来实现。
图6A、6B和6C示出了用地址信号控制锁存器的操作的三种可能方式。
图6A示出了第一种方式,即如图5所示的实施例。从锁存器单元包括M*N个与门电路,与M*N个从锁存器分别一一对应。每个从锁存器的D端和其对应的与门电路的输出端相连接,与门电路的第一输入端和与其同列的主锁存器的Q端相连接,与门电路的第二输入端与自测试地址产生电路的输出端相连接。
图6B示出了第二种方式。从锁存器单元仍包括M*N个与门电路,与M*N个从锁存器分别一一对应。每个从锁存器的时钟端和其对应的与门电路的输出端相连接,与门电路的第一输入端和时钟信号相连接,与门电路的第二输入端与自测试地址产生电路的输出端相连接。
图6C示出了第三种方式。每个从锁存器还包括地址使能端,用于与自测试地址产生电路的输出端相连接。
以上三种方式都可以实现以下功能:自测试地址产生电路所产生的地址信号每时钟周期选择一行从锁存器来接收相应主锁存器的输出。
在一种可能的实现方式中,所述自测试模块测试向量产生电路产生的测试向量数据的位数可以与从锁存器的列数相同,N个主锁存器并行与所述自测试主控单元的自测试模块测试向量产生电路的输出端相连接。
例如,自测试向量数据bist_data_in的位数可以与从锁存器的列数相同,如M*N从锁存器阵列,自测试向量数据bist_data_in可为[N-1:0]共N位。M*N从锁存器阵列在位宽为N的情况下,主锁存器行并行与自测试主控单元的自测试模块测试向量产生电路的输出端相连接。每一个时钟周期可以将自测试向量数据bist_data_in锁存到地址信号数据bist_addr选择对应的从锁存器行。同理,经过M个时钟周期后,地址信号数据bist_addr能够遍历第1行至第M行,自测试向量数据bist_data_in也将充满整个M*N从锁存器阵列。
在一示例中,所述自测试模块测试向量产生电路产生的测试向量数据的位数为1,所述N个主锁存器依次串行连接。
自测试向量数据bist_data_in的位数也可以是1位宽,以降低锁存器自测试电路测试模式下连线的复杂度。如M*N从锁存器阵列在位宽为1的情况下,主锁存器行依次将N个主锁存器首尾相连。在N个时钟周期之后,自测试向量数据bist_data_in充满主锁存器行,然后在每一个时钟周期便可以将主锁存器行的数据,锁存到地址信号数据bist_addr选择对应的从锁存器行。同理,经过M个时钟周期后,地址信号数据bist_addr遍历第0行至第M行共M行,自测试向量数据bist_data_in也将充满M*N所锁存器阵列。
在一种可能的实现方式中,测试向量数据具有周期性。例如,测试向量数据可以为0000…,5555…,5a5a…,这样可以保证在自测试模式下,每个锁存器都可以具有从0到1或从1到0状态的翻转。如图5所示,以测试向量数据为5a5a…为例,在第一个时钟信号的下降沿时,将测试向量数据的第一位数据5的二进制形式“0101”锁存到主锁存器中,在时钟信号的第一个上升沿到来时,将主锁存器中的测试向量数据“0101”锁存到地址信号选中的一行从锁存器中;在第二个时钟信号的下降沿到来时,将测试向量数据的第二位数据a的二进制形式“1010”锁存到主锁存器中,在时钟信号的第二个上升沿到来时,将主锁存器中的测试向量数据“1010”锁存到地址信号选中的一行从锁存器中。这里,首先实现了主锁存器的状态翻转。在地址信号遍历锁存器阵列的情况下,在若干时钟周期之后,测试向量数据为5a5a…能够依次充满整个M*N从锁存器阵列,则所有的锁存器进入确定的0或1数据状态。同理,通过控制地址信号数据bist_addr,周期性地选择相同的从锁存器行来锁存不同数据(5或a,即“0101”或“1010”),也可以实现从锁存器的状态翻转。
在一种可能的实现方式中,锁存器自测试子模块包括初始化、扫描、比较、结果输出四种状态。且根据自测试主控单元的使能信号和测试向量控制锁存器自测试子模块在初始化、扫描、比较、结果输出四种状态间进行转换。
图7示出了根据本公开一实施例的锁存器的自测试电路的锁存器自测试子模块的状态图。
如图7所示,根据自测试主控单元的使能信号和测试向量的控制,锁存器自测试子模块可分为初始化,扫描,比较,结果输出四种状态,并且由自测试(bist)控制输入bist_ctrl_in(测试向量),自测试选择输入test_sel_in(使能信号)完成锁存器自测试子模块在这四个状态之间的变换。
其中,锁存器自测试子模块在初始化状态时,初始化相关自测试电路。此时,从锁存器阵列没有复位信号的输入,因此,处于0或1的随机不确定的数据状态。
锁存器自测试子模块在扫描状态时,把自测试向量数据bist_data_in通过自测试数据输入接口输入测试向量数据,例如0000…,5555…,5a5a…等。自测试向量数据bist_data_in可以保证在自测试的过程中,每个锁存器都可以有由0到1或由1到0状态的翻转。经过若干时钟周期之后,所有的锁存器为确定的0或1的数据状态。
锁存器自测试子模块在比较状态时,自测试向量数据bist_data_in持续串行输入,进过若干个时钟周期后,将输入的自测试向量数据bist_data_in和从锁存器阵列移位输出链路上的最后一个从锁存器的输出进行比较,若结果相同,则测试结果正确,否则测试结果错误。
锁存器自测试子模块在测试结果输出状态时,将锁存器自测试子模块在比较状态时产生的测试结果输出到测试统计电路中,以用于集成电路流片后的故障测试及分析。
通过自测试主控单元的控制完成测试向量的注入,并利用测试向量的重复性,在注入测试向量的同时,进行注入数据与输出数据的比较。周而复始,完成所有从锁存器阵列的故障测试,并把测试结果输出到测试控制电路。
根据本公开的另一方面,还提出了一种锁存器的自测试方法。
图8示出了根据本公开一实施例的锁存器的自测试方法的流程图。
如图8所示,根据本公开的方法800开始于步骤S810,在此步骤,根据自测试模块的使能信号,选择锁存器自测试子模块进入自测试模式。
在步骤S820,将自测试模块的测试向量输入到所选择的锁存器自测试子模块。
在步骤S830,将从所选择的锁存器自测试子模块输出的测试输出与测试向量进行比较,当两者相同时,测试结果为锁存器自测试子模块无故障,否则有故障。
在步骤S840,存储测试结果。这一次测试就可以结束了。
在一示例中,自测试模块包括一个或多个锁存器自测试子模块。则步骤S810可以进一步包括:根据自测试模块的使能信号,使得所述锁存器自测试子模块进入自测试模式或功能模式,并相应地选择所述测试向量或外部功能数据输入所述锁存器自测试子模块。
在一示例中,步骤S820可以进一步包括:所述锁存器自测试子模块中的锁存器在地址信号的控制下依次接收所述测试向量,并进行锁存器测试输出。
在一示例中,所述测试向量是具有周期性的数据。
本领域技术人员应该理解,这里所述的锁存器的自测试方法可以应用于之前所描述的锁存器的自测试电路。因此,锁存器的自测试电路的一些优选实现方式也是锁存器的自测试方法的优选实现方式。
综上所述,本公开的技术方案实现了采用较少的数字集成测试电路有效提高锁存器的测试覆盖率,解决了锁存器测试的难题。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。

Claims (14)

1.一种锁存器的自测试电路,其特征在于,所述电路包括自测试主控单元和自测试模块,
所述自测试主控单元包括:
-自测试模块使能逻辑电路,用于产生自测试模块的使能信号;
-自测试模块测试向量产生电路,用于产生自测试模块的测试向量;
-存储单元,用于存储自测试模块的测试结果,以及
所述自测试模块被配置为:
根据使能信号选择锁存器自测试子模块进入自测试模式,
当被选择进行自测试的锁存器自测试子模块的锁存器测试输出与测试向量相同时,测试结果为该锁存器自测试子模块的锁存器无故障,否则有故障,
其中,所述自测试模块包括一个或多个锁存器自测试子模块,每个所述锁存器自测试子模块包括:主锁存器单元,用于根据所述使能信号,选择接收所述自测试模块测试向量产生电路产生的自测试模块的测试向量;自测试地址产生电路,用于产生遍历从锁存器单元的地址信号;从锁存器单元,根据所述地址信号依次接收所述测试向量,并进行锁存器测试输出,
其中,所述主锁存器单元包括:主锁存器,用于接收多路选择器的输出;多路选择器,用于根据所述使能信号,使得所述锁存器自测试子模块进入自测试模式或功能模式,并相应地选择所述测试向量或外部功能数据进行输出,
其中,所述从锁存器单元包括从锁存器阵列,所述从锁存器阵列中的每个从锁存器用于在所述自测试地址产生电路所产生的地址信号的控制下接收所述主锁存器的输出,其中,所述主锁存器单元包括N个主锁存器和N个多路选择器,N个主锁存器和N个多路选择器分别一一对应,N为正整数,每个主锁存器的D端和其对应的所述多路选择器的输出端相连接,所述多路选择器的第一输入端分别与所述测试向量产生电路的输出端相连接,第二输入端用于输入外部功能数据,控制选择端与自测试模块使能逻辑电路的输出端相连接,
其中,所述从锁存器单元包括M行N列的从锁存器,M为正整数,每M个从锁存器为一列,对应于N个主锁存器之一,每个从锁存器的D端和与其同列的所述主锁存器的Q端相连接,每个从锁存器在所述自测试地址产生电路所产生的地址信号的控制下接收其分别所连接的主锁存器的输出。
2.根据权利要求1所述的自测试电路,其特征在于,所述自测试地址产生电路的输出端输出遍历M*N个从锁存器的地址信号。
3.根据权利要求1所述的自测试电路,其特征在于,所述从锁存器单元还包括M*N个与门电路,与M*N个从锁存器分别一一对应,其中,
每个从锁存器的D端和其对应的所述与门电路的输出端相连接,所述与门电路的第一输入端和与其同列的所述主锁存器的Q端相连接,所述与门电路的第二输入端与所述自测试地址产生电路的输出端相连接。
4.根据权利要求1所述的自测试电路,其特征在于,所述从锁存器单元还包括M*N个与门电路,与M*N个从锁存器分别一一对应,其中,
每个从锁存器的时钟端和其对应的所述与门电路的输出端相连接,所述与门电路的第一输入端和时钟信号相连接,所述与门电路的第二输入端与所述自测试地址产生电路的输出端相连接。
5.根据权利要求1所述的自测试电路,其特征在于,每个从锁存器还包括地址使能端,用于与所述自测试地址产生电路的输出端相连接。
6.根据权利要求1所述的自测试电路,其特征在于,所述自测试地址产生电路所产生的地址信号每时钟周期选择一行从锁存器来接收相应主锁存器的输出。
7.根据权利要求1所述的自测试电路,其特征在于,所述主锁存器被配置为高电平有效,则从锁存器被配置为低电平有效;
或,所述主锁存器被配置为低电平有效,则从锁存器被配置为高电平有效。
8.根据权利要求1所述的自测试电路,其特征在于,所述自测试模块测试向量产生电路产生的测试向量数据的位数与所述从锁存器阵列的列数相同,所述主锁存器并行与所述自测试主控单元的自测试模块测试向量产生电路的输出端相连接。
9.根据权利要求1所述的自测试电路,其特征在于,所述自测试模块测试向量产生电路产生的测试向量数据的位数为1,所述主锁存器依次串行连接。
10.根据权利要求1所述的自测试电路,其特征在于,所述测试向量是具有周期性的数据。
11.根据权利要求1所述的自测试电路,其特征在于,所述锁存器自测试子模块包括初始化、扫描、比较、结果输出四种状态。
12.根据权利要求1所述的自测试电路,其特征在于,根据所述自测试主控单元的使能信号和测试向量控制所述锁存器自测试子模块在初始化、扫描、比较、结果输出四种状态间进行转换。
13.一种锁存器的自测试方法,其特征在于,所述方法包括:
根据自测试模块的使能信号,选择锁存器自测试子模块进入自测试模式;
将自测试模块的测试向量输入到所选择的锁存器自测试子模块;
将从所选择的锁存器自测试子模块输出的测试输出与所述测试向量进行比较,当两者相同时,测试结果为所述锁存器自测试子模块无故障,否则有故障;
存储所述测试结果,
其中,所述锁存器自测试子模块包括主锁存器单元、从锁存器单元和自测试地址产生电路,所述方法进一步包括:主锁存器单元根据所述使能信号选择接收所述测试向量;自测试地址产生电路产生遍历从锁存器单元的地址信号;从锁存器单元根据所述地址信号依次接收所述测试向量并进行锁存器测试输出,
其中,所述主锁存器单元包括主锁存器和多路选择器,所述方法进一步包括:多路选择器根据所述使能信号,使得所述锁存器自测试子模块进入自测试模式或功能模式,并相应地选择所述测试向量或外部功能数据输入所述主锁存器,
其中,所述从锁存器单元包括从锁存器阵列,所述方法进一步包括:所述从锁存器阵列中的每个从锁存器在所述地址信号的控制下接收所述主锁存器的输出,
其中,所述主锁存器单元包括N个主锁存器和N个多路选择器,N个主锁存器和N个多路选择器分别一一对应,N为正整数,每个主锁存器的D端接收与其对应的所述多路选择器的输出,所述多路选择器的第一输入端接收所述测试向量,第二输入端接收外部功能数据,控制选择端接收所述使能信号,
其中,所述从锁存器单元包括M行N列的从锁存器,M为正整数,每M个从锁存器为一列,对应于N个主锁存器之一,每个从锁存器的D端和与其同列的所述主锁存器的Q端相连接,所述方法进一步包括:每个从锁存器在所述地址信号的控制下接收其分别所连接的主锁存器的输出。
14.根据权利要求13所述的锁存器的自测试方法,其特征在于,所述测试向量是具有周期性的数据。
CN202110071284.3A 2021-01-19 2021-01-19 锁存器的自测试电路及其自测试方法 Active CN114460447B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110071284.3A CN114460447B (zh) 2021-01-19 2021-01-19 锁存器的自测试电路及其自测试方法
PCT/CN2021/136786 WO2022156418A1 (zh) 2021-01-19 2021-12-09 锁存器的自测试电路及其自测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110071284.3A CN114460447B (zh) 2021-01-19 2021-01-19 锁存器的自测试电路及其自测试方法

Publications (2)

Publication Number Publication Date
CN114460447A CN114460447A (zh) 2022-05-10
CN114460447B true CN114460447B (zh) 2023-03-28

Family

ID=81406508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110071284.3A Active CN114460447B (zh) 2021-01-19 2021-01-19 锁存器的自测试电路及其自测试方法

Country Status (2)

Country Link
CN (1) CN114460447B (zh)
WO (1) WO2022156418A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6046947A (en) * 1997-12-03 2000-04-04 Samsung Electronics Co., Ltd. Integrated circuit memory devices having direct access mode test capability and methods of testing same
CN1509479A (zh) * 2001-03-15 2004-06-30 用于测试和修复的电路和方法
CN102339641A (zh) * 2010-07-23 2012-02-01 北京兆易创新科技有限公司 检错/纠错校验模块及该模块读写数据的方法
CN103971742A (zh) * 2013-01-30 2014-08-06 德克萨斯仪器股份有限公司 具有内建测试驱动器的非易失性逻辑阵列

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5961653A (en) * 1997-02-19 1999-10-05 International Business Machines Corporation Processor based BIST for an embedded memory
US6975238B2 (en) * 2003-10-01 2005-12-13 Infineon Technologies Ag System and method for automatically-detecting soft errors in latches of an integrated circuit
JP2005129174A (ja) * 2003-10-27 2005-05-19 Matsushita Electric Ind Co Ltd メモリ自己検査機能を有する半導体装置
US7574642B2 (en) * 2005-04-07 2009-08-11 International Business Machines Corporation Multiple uses for BIST test latches
US7487397B2 (en) * 2005-10-27 2009-02-03 International Business Machines Corporation Method for cache correction using functional tests translated to fuse repair
US7406640B2 (en) * 2006-03-31 2008-07-29 International Business Machines Corporation Method and apparatus for testing a ring of non-scan latches with logic built-in self-test
US7992062B2 (en) * 2006-06-22 2011-08-02 Qualcomm Incorporated Logic device and method supporting scan test
WO2009039316A2 (en) * 2007-09-18 2009-03-26 Mentor Graphics Corporation Fault diagnosis in a memory bist environment using a linear feedback shift register
CN101996687A (zh) * 2010-10-27 2011-03-30 山东大学 基于扫描测试的多个sram的内建自测试方法
CN103093829A (zh) * 2011-10-27 2013-05-08 迈实电子(上海)有限公司 存储器测试系统及存储器测试方法
CN102495357B (zh) * 2011-11-25 2013-09-11 哈尔滨工业大学 一种基于比较器响应分析器的输入向量监测并发内建自测试电路
US8856602B2 (en) * 2011-12-20 2014-10-07 International Business Machines Corporation Multi-core processor with internal voting-based built in self test (BIST)
US9057766B2 (en) * 2012-11-29 2015-06-16 International Business Machines Corporation Isolating failing latches using a logic built-in self-test
CN103617810A (zh) * 2013-11-26 2014-03-05 中国科学院嘉兴微电子与系统工程中心 嵌入式存储器的测试结构及方法
CN105445653B (zh) * 2014-09-29 2019-11-08 恩智浦美国有限公司 具有低功耗扫描触发器的集成电路
CN104375078B (zh) * 2014-11-06 2017-04-05 北京时代民芯科技有限公司 一种扫描测试锁存器宏单元及扫描测试方法
CN106874177A (zh) * 2015-12-14 2017-06-20 中国航空工业第六八研究所 一种基于场景的锁存器测试方法
US9941866B2 (en) * 2016-07-12 2018-04-10 Qualcomm Incorporated Apparatus for design for testability of multiport register arrays
CN106816178B (zh) * 2016-12-19 2020-02-21 北京时代民芯科技有限公司 一种单芯片上多块嵌入式存储器的内建自测试设计方法
CN109408846B (zh) * 2017-08-18 2024-03-08 三星电子株式会社 集成电路、非暂时性计算机可读介质以及计算系统
CN109903805B (zh) * 2019-02-25 2021-08-20 中国科学院上海微系统与信息技术研究所 存储器片内自测试方法、装置和存储器
CN111157881B (zh) * 2020-01-03 2022-05-31 深圳市紫光同创电子有限公司 测试电路及电路测试方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6046947A (en) * 1997-12-03 2000-04-04 Samsung Electronics Co., Ltd. Integrated circuit memory devices having direct access mode test capability and methods of testing same
CN1509479A (zh) * 2001-03-15 2004-06-30 用于测试和修复的电路和方法
CN102339641A (zh) * 2010-07-23 2012-02-01 北京兆易创新科技有限公司 检错/纠错校验模块及该模块读写数据的方法
CN103971742A (zh) * 2013-01-30 2014-08-06 德克萨斯仪器股份有限公司 具有内建测试驱动器的非易失性逻辑阵列

Also Published As

Publication number Publication date
CN114460447A (zh) 2022-05-10
WO2022156418A1 (zh) 2022-07-28

Similar Documents

Publication Publication Date Title
US10725102B2 (en) Addressable test chip with sensing circuit
US8780648B2 (en) Latch based memory device
US8261138B2 (en) Test structure for characterizing multi-port static random access memory and register file arrays
US5325367A (en) Memory device containing a static ram memory that is adapted for executing a self-test, and integrated circuit containing such a device as an embedded static ram memory
US10338136B2 (en) Integrated circuit with low power scan system
US6360342B1 (en) Built-in self test for multiple memories in a chip
US6223313B1 (en) Method and apparatus for controlling and observing data in a logic block-based asic
KR20060043690A (ko) 테스트 회로, 그 테스트 회로를 내장한 반도체집적회로장치및 그 테스트 방법
US6611932B2 (en) Method and apparatus for controlling and observing data in a logic block-based ASIC
US5640402A (en) Fast flush load of LSSD SRL chains
EP1727156B1 (en) An improved area efficient memory architecture with decoder self test and debug capability
US8438433B2 (en) Registers with full scan capability
CN106291313B (zh) 用于测试集成电路的方法和设备
US6941494B1 (en) Built-in test for multiple memory circuits
CN114460447B (zh) 锁存器的自测试电路及其自测试方法
US6898133B2 (en) Package map data outputting circuit of semiconductor memory device and method for outputting package map data
US7376872B1 (en) Testing embedded memory in integrated circuits such as programmable logic devices
US20080059853A1 (en) Semiconductor Integrated Circuit
US11848066B2 (en) Programmable logic device with design for test functionality
JP2002236145A (ja) テストセル回路
JPH06102327A (ja) メモリ内蔵型半導体集積回路およびその論理設計方法
US6629275B1 (en) Reinstate apparatus and method to recreate data background for testing SRAM
KR20050041706A (ko) 반도체 테스트 장치
US20050044461A1 (en) Semiconductor device test circuit and semiconductor device
EP2501040A1 (en) Scannable configuration memory

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40066976

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant