CN103163448B - 对现场可编程门阵列中查找表延迟故障进行检测的方法 - Google Patents

对现场可编程门阵列中查找表延迟故障进行检测的方法 Download PDF

Info

Publication number
CN103163448B
CN103163448B CN201110424160.5A CN201110424160A CN103163448B CN 103163448 B CN103163448 B CN 103163448B CN 201110424160 A CN201110424160 A CN 201110424160A CN 103163448 B CN103163448 B CN 103163448B
Authority
CN
China
Prior art keywords
row
lut
sram
delay fault
address
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
CN201110424160.5A
Other languages
English (en)
Other versions
CN103163448A (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.)
Institute of Semiconductors of CAS
Institute of Microelectronics of CAS
Original Assignee
Institute of Semiconductors of CAS
Institute of Microelectronics of CAS
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 Institute of Semiconductors of CAS, Institute of Microelectronics of CAS filed Critical Institute of Semiconductors of CAS
Priority to CN201110424160.5A priority Critical patent/CN103163448B/zh
Publication of CN103163448A publication Critical patent/CN103163448A/zh
Application granted granted Critical
Publication of CN103163448B publication Critical patent/CN103163448B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种对现场可编程门阵列中查找表延迟故障进行检测的方法,该方法包括:步骤101:横向配置;步骤102:横向测试;步骤103:横向延迟测试;步骤104:纵向配置;步骤105:纵向测试;步骤106:纵向延迟测试;步骤107:定位延迟故障。

Description

对现场可编程门阵列中查找表延迟故障进行检测的方法
技术领域
本发明涉及现场可编程门阵列(FPGA)的延迟故障检测技术领域,更具体地是指一种对静态随机存储器(SRAM)基FPGA中查找表(LookUpTable,LUT)延迟故障进行检测的方法。
背景技术
现场可编程门阵列(FPGA)的用户可编程性和低开发成本使它成为实现现代电路和系统的一种重要技术。与专用集成电路(ApplicationSpecificIntegratedCircuits,ASIC)相比,FPGA的研发成本低和开发周期短等特性使它成为实现现代数字电路和系统的一种重要核心技术,其市场占有额也在逐年增加。而对FPGA的测试工作也变得越来越重要,特别是对FPGA的延迟故障检测。
一般来说,FPGA的测试分为中测和成测,即在FPGA芯片流片结束而没有划片时的测试和划片并封装后的测试。而对中测和成测都有很多不同针对性的测试模型。例如,对时钟网络故障的检测、对沟道连线故障的检测、对I/O故障的检测和对LUT故障的检测等。而对LUT故障的检测尤其关键,一个原因是LUT是FPGA中功能实现的主要部分,另一个原因是部分LUT的准确故障检测是FPGA容错使用的前提保证。而FPGA中LUT的故障主要分为功能故障和延迟故障两种,所谓功能故障是指LUT无法完成所配置的功能,包括SRAM无法配置、连线开路等;而延迟故障是指LUT无法按时的完成配置功能,例如LUT的输入输出延迟过长等。本发明就是针对LUT延迟故障的检测方法。
现有的LUT延迟故障检测方法多数是以定位LUT的位置为目的,确定了LUT的位置后或者可以淘汰这个FPGA芯片,或者可以利用容错技术屏蔽该LUT。但是随着FPGA的发展,已经出现多SRAM比特的LUT,例如256比特的LUT。如果因为LUT中的一个比特的SRAM的故障而否定这个LUT,无疑会造成FPGA资源的浪费。
发明内容
(一)要解决的技术问题
有鉴于此,本发明的主要目的在于提供一种对SRAM基现场可编程门阵列中查找表延迟故障进行检测的方法,以解决多比特SRAM的LUT中延迟故障准确定位的问题,提高FPGA资源利用的效率。
(二)技术方案
为达到上述目的,本发明提供了一种对现场可编程门阵列中查找表延迟故障进行检测的方法,该方法包括:步骤101:横向配置;步骤102:横向测试;步骤103:横向延迟判断;步骤104:纵向配置;步骤105:纵向测试;步骤106:纵向延迟判断;步骤107:定位延迟故障。
(三)有益效果
本发明具有的优点如下:1、本发明提供的对现场可编程门阵列中查找表延迟故障进行检测的方法,对每一个LUT中的每一个SRAM都进行了测试并且定位,而不是仅定位延迟故障所在的LUT,因此提高了对延迟故障检测的精度;2、本发明提供的对现场可编程门阵列中查找表延迟故障进行检测的方法,仅需要对全芯片配置两次,所以本方法所需要的配置时间较少。
附图说明
本发明的上述和附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为依照本发明实施例对SRAM基现场可编程门阵列中查找表延迟故障进行检测的方法流程图;
图2是图1中横向配置的示意图;
图3为图1中纵向配置的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
如图1所示,图1为依照本发明实施例对SRAM基现场可编程门阵列中查找表延迟故障进行检测的方法流程图,该方法包括:步骤101:横向配置;步骤102:横向测试;步骤103:横向延迟判断;步骤104:纵向配置;步骤105:纵向测试;步骤106:纵向延迟判断;步骤107:定位延迟故障。
在步骤101横向配置中,FPGA中每一行中k个查找表(LUT)和k个触发器(ff)被配置成如图2所示的功能链,每一个LUT有n个输入a0至a(n-1),所有LUT(201、203、……、205和207等)的输入端a1到输入端a(n-1)公用相同的(n-1)个芯片输入端口,所有的LUT(201、203、……、205和207等)均被配置成功能f=E0,所有的触发器(202、204、……、206和208等)公用一个时钟信号clock。LUT1201是一行中最左端的LUT,它的最低位输入端a0由芯片输入端口提供,LUT1201的输出端Z连接ff1202的数据输入端D。ff1202的数据输出端Q接入LUT2203的输入端E0,以此类推逐级连接。
在步骤102横向测试中,依照表1的测试策略进行,表1为横向测试和纵向测试所用的测试策略。
表1
其中,401行表示的测试模型的名称;402行表示的是测试的时钟周期,所有的时钟周期均相等且等于从触发器的输出端到相邻的下一个触发器的输入端正常延迟时间,这样,正常的数值传播将会被触发器采样到,而有延迟故障的数值传播将不会被触发器采样;403行表示的LUT输入端的数值,当数值为(00..00)时,第0位的SRAM将会被打开,它的值将会被读出;404、405和406三行表示的是相邻三个LUT的输出值;407表示的横向测试链终点的数值;412列和413列是测试模型Im和I`m,其中412列是一个时钟周期,表示的是将初始地址(11..11)输入到各个LUT中,因为LUT和触发器的初始值是0,而LUT的配置所实现的功能是输出端f在逻辑上等于输入端E0,所以LUT在(11..11)输入时输出为1,这样会有触发器上的值的反转,以利于延迟故障的检测,而413列是(k-1)个时钟周期,其中k为横向LUT的数量,412列和413列的作用是将地址(11..11)输入每个LUT,每个LUT将打开地址为(11..11)的SRAM,而总共k个时钟周期将会保证横向k个LUT中的第(11..11)位SRAM的值都会传输到S端,如果每一个地址为(11..11)的SRAM到触发器的传输延迟都是正常的,即没有延迟故障,则S端在414列会得到正确的SRAM值,即1。如果中间有延迟故障,则会出现相反结果。414列,以及417列和419列的作用一方面是检测S的值是否正确,如果不正确则在该横向行中的上一个地址的SRAM存在延迟故障,另一方面是为所有LUT输入新的地址,为上一地址的减一位,这样SRAM的值会反转,便于检测,415列、418列和420列的作用都是传输SRAM的值到S端。421列的作用是检测地址(00..00)的SRAM是否有延迟故障,因为到421列,所有地址的SRAM都已经被检测,所以不用输入新的地址。
在步骤103横向延迟判断中,将会收集步骤102中的延迟故障信息,得到如下的集合:G103={(ax,ry),(ax`,ry`)....}。其中,每一个向量(ax,ry)表示一个延迟故障的信息,ry表示的是第y行出现的延迟故障,而ax表示的是故障的SRAM地址。
在步骤104纵向配置中,FPGA中每一列中k个LUT和k个触发器(ff)被配置成如图3所示的功能链,每一个LUT有n个输入a0至a(n-1),所有LUT(301、303、305和307等)的输入端a1到输入端a(n-1)公用相同的(n-1)个芯片输入端口,所有的LUT(301、303、305和307等)均被配置成功能f=E0,所有的触发器(302、304、306和308等)公用一个时钟信号clock。LUT1301是一列中最下端的LUT,它的最低位输入端a0由芯片输入端口提供,LUT1301的输出端Z连接ff1302的数据输入端D。ff1302的数据输出端Q接入LUT2303的输入端E0,以此类推逐级连接。
在步骤105纵向测试中,依照表1的测试策略进行,表2为横向测试和纵向测试所用的测试策略。
表2
其中,501行表示的测试模型的名称;502行表示的是测试的时钟周期,所有的时钟周期均相等且等于从触发器的输出端到相邻的下一个触发器的输入端正常延迟时间,这样,正常的数值传播将会被触发器采样到,而有延迟故障的数值传播将不会被触发器采样;503行表示的LUT输入端的数值,当数值为(00..00)时,第0位的SRAM将会被打开,它的值将会被读出;504、505和506三行表示的是相邻三个LUT的输出值;507表示的纵向测试链终点的数值;512列和513列是测试模型Im和I`m,其中512列是一个时钟周期,表示的是将初始地址(11..11)输入到各个LUT中,因为LUT和触发器的初始值是0,而LUT的配置所实现的功能是输出端f在逻辑上等于输入端E0,所以LUT在(11..11)输入时输出为1,这样会有触发器上的值的反转,以利于延迟故障的检测,而513列是(k-1)个时钟周期,其中k为纵向LUT的数量,512列和513列的作用是将地址(11..11)输入每个LUT,每个LUT将打开地址为(11..11)的SRAM,而总共k个时钟周期将会保证纵向k个LUT中的第(11..11)位SRAM的值都会传输到S端,如果每一个地址为(11..11)的SRAM到触发器的传输延迟都是正常的,即没有延迟故障,则S端在514列会得到正确的SRAM值,即1。如果中间有延迟故障,则会出现相反结果。514列、517列和519列的作用一方面是检测S的值是否正确,如果不正确则在该纵向行中的上一个地址的SRAM存在延迟故障,另一方面是为所有LUT输入新的地址,为上一地址的减一位,这样SRAM的值会反转,便于检测,515列、518列和520列的作用都是传输SRAM的值到S端。521列的作用是检测地址(00..00)的SRAM是否有延迟故障,因为到521列,所有地址的SRAM都已经被检测,所以不用输入新的地址。
在步骤106纵向延迟判断中,将会收集步骤105中的延迟故障信息,得到如下的集合:G106={(ax,cz),(ax`,cz`)....}。其中,每一个向量(ax,cz)表示一个延迟故障的信息,cz表示的是第z列出现的延迟故障,而ax表示的是故障的SRAM地址。
在步骤107的定位延迟故障中,将会合并步骤106纵向延迟判断和步骤103横向延迟判断中的两个集合,得到新的集合G107={(ax,ry,cz)...}。合并的方法是,将集合G103与G106中共有的SRAM地址ax作为G107中向量的第一个元素,将ax在G103和G106中的行和列地址做全组合,作为G107中向量的第二个元素和第三个元素,这样将得到集合G107={(ax,ry,cz)...}。(ax,ry,cz)的意义是第y行第z列的LUT中地址为x的SRAM有延迟故障。
此外,本发明的应用范围不局限于说明书中描述的特定实施例的FPGA类型。从本发明的公开内容,作为本领域的普通技术人员将容易地理解,对于目前已存在或者以后即将开发出的FPGA类型,其中它们执行与本发明描述的对应实施例大体相同的功能或者获得大体相同的结果,依照本发明可以对它们进行应用。因此,本发明所附权利要求旨在将这些类型的FPGA延迟故障检测包含在其保护范围内。

Claims (2)

1.一种对现场可编程门阵列中查找表延迟故障进行检测的方法,该方法包括:
步骤101:横向配置;
步骤102:横向测试;
步骤103:横向延迟判断;
步骤104:纵向配置;
步骤105:纵向测试;
步骤106:纵向延迟判断;
步骤107:定位延迟故障;
在步骤101横向配置中,现场可编程门阵列FPGA中每一行中k个查找表LUT和k个触发器ff被配置成一个功能链,在该功能链中每一个LUT有n个输入a0至a(n-1),所有LUT的输入端a1到输入端a(n-1)公用相同的n-1个芯片输入端口,所有的LUT均被配置成传输输入信号E0的功能,即输出端f逻辑等效于输入端E0,所有的ff公用一个时钟信号clock,LUT1(201)是一行中最左端的LUT,它的最低位输入端a0由芯片输入端口提供,LUT1(201)的输出端Z连接ff1(202)的数据输入端D,ff1(202)的数据输出端Q接入LUT2(203)的输入端E0,以此类推逐级连接;
在步骤102横向测试中,依照下表1的测试策略进行:
表1
其中,401行表示的测试模型的名称;402行表示的是测试的时钟周期,所有的时钟周期均相等且等于从触发器的输出端到相邻的下一个触发器的输入端正常延迟时间,则正常的数值传播将会被触发器采样到,而有延迟故障的数值传播将不会被触发器采样;403行表示的LUT输入端的数值,当数值为00..00时,第0位的静态随机存储器SRAM将会被打开,它的值将会被读出;404、405和406三行表示的是相邻三个LUT的输出值;407表示的横向测试链终点的数值;412列和413列是测试模型Im和I`m,其中412列是一个时钟周期,表示的是将初始地址11..11输入到各个LUT中,因为LUT和触发器的初始值是0,而LUT的配置所实现的功能是输出端f在逻辑上等于输入端E0,所以LUT在11..11输入时输出为1,则会有触发器上的值的反转,以利于延迟故障的检测,而413列是k-1个时钟周期,其中k为横向LUT的数量,412列和413列的作用是将地址11..11输入每个LUT,每个LUT将打开地址为11..11的SRAM,而总共k个时钟周期将会保证横向k个LUT中的第11..11位SRAM的值都会传输到S端,如果每一个地址为11..11的SRAM到触发器的传输延迟都是正常的,即没有延迟故障,则S端在414列会得到正确的SRAM值,即1;如果中间有延迟故障,则会出现相反结果;414列、417列和419列的作用一方面是检测S的值是否正确,如果不正确则在该横向行中的上一个地址的SRAM存在延迟故障,另一方面是为所有LUT输入新的地址,为上一地址的减一位,这样SRAM的值会反转,便于检测;415列、418列和420列的作用都是传输SRAM的值到S端;421列的作用是检测地址00..00的SRAM是否有延迟故障;
在步骤103横向延迟判断中,将会收集步骤102中的延迟故障信息,得到如下的集合:G103={(ax,ry),(ax`,ry`)....};其中,每一个向量(ax,ry)表示一个延迟故障的信息,ry表示的是第y行出现的延迟故障,而ax表示的是故障的SRAM地址;
在步骤104纵向配置中,FPGA中每一列中k个查找表LUT和k个触发器ff被配置成一个功能链,在该功能链中每一个LUT有n个输入a0至a(n-1),所有LUT的输入端a1到输入端a(n-1)公用相同的n-1个芯片输入端口,所有的LUT均被配置成传输输入信号E0的功能,即输出端f逻辑等效于输入端E0,所有的触发器ff公用一个时钟信号clock;LUT1(301)是一列中最下端的LUT,它的最低位输入端a0由芯片输入端口提供,LUT1(301)的输出端Z连接ff1(302)的数据输入端D;ff1(302)的数据输出端Q接入LUT2(303)的输入端E0,以此类推逐级连接;
在步骤105纵向测试中,依照下表2的测试策略进行:
表2
其中,501行表示的测试模型的名称;502行表示的是测试的时钟周期,所有的时钟周期均相等且等于从触发器的输出端到相邻的下一个触发器的输入端正常延迟时间,则正常的数值传播将会被触发器采样到,而有延迟故障的数值传播将不会被触发器采样;503行表示的LUT输入端的数值,当数值为00..00时,第0位的SRAM将会被打开,它的值将会被读出;504、505和506三行表示的是相邻三个LUT的输出值;507表示的纵向测试链终点的数值;512列和513列是测试模型Im和I`m,其中512列是一个时钟周期,表示的是将初始地址11..11输入到各个LUT中,因为LUT和触发器的初始值是0,而LUT的配置所实现的功能是输出端f在逻辑上等于输入端E0,所以LUT在11..11输入时输出为1,则会有触发器上的值的反转,以利于延迟故障的检测;而513列是k-1个时钟周期,其中k为纵向LUT的数量;512列和513列的作用是将地址11..11输入每个LUT,每个LUT将打开地址为11..11的SRAM,而总共k个时钟周期将会保证纵向k个LUT中的第11..11位SRAM的值都会传输到S端,如果每一个地址为11..11的SRAM到触发器的传输延迟都是正常的,即没有延迟故障,则S端在514列会得到正确的SRAM值,即1;如果中间有延迟故障,则会出现相反结果;514列、517列和519列的作用一方面是检测S的值是否正确,如果不正确则在该纵向行中的上一个地址的SRAM存在延迟故障,另一方面是为所有LUT输入新的地址,为上一地址的减一位,这样SRAM的值会反转,便于检测;515列、518列和520列的作用都是传输SRAM的值到S端;521列的作用是检测地址00..00的SRAM是否有延迟故障;
在步骤106纵向延迟判断中,将会收集步骤105中的延迟故障信息,得到如下的集合:G106={(ax,cz),(ax`,cz`)....};其中,每一个向量(ax,cz)表示一个延迟故障的信息,cz表示的是第z列出现的延迟故障,而ax表示的是故障的SRAM地址;
在步骤107的定位延迟故障中,将合并步骤106纵向延迟判断和步骤103横向延迟判断中的两个集合,得到新的集合G107={(ax,ry,cz)...}。
2.根据权利要求1所述的对现场可编程门阵列中查找表延迟故障进行检测的方法,所述合并步骤106纵向延迟判断和步骤103横向延迟判断中的两个集合,具体包括:
将集合G103与G106中共有的SRAM地址ax作为G107中向量的第一个元素,将ax在G103和G106中的行和列地址做全组合,作为G107中向量的第二个元素和第三个元素,则将得到集合G107={(ax,ry,cz)...};其中(ax,ry,cz)的意义是第y行第z列的LUT中地址为x的SRAM有延迟故障。
CN201110424160.5A 2011-12-16 2011-12-16 对现场可编程门阵列中查找表延迟故障进行检测的方法 Active CN103163448B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110424160.5A CN103163448B (zh) 2011-12-16 2011-12-16 对现场可编程门阵列中查找表延迟故障进行检测的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110424160.5A CN103163448B (zh) 2011-12-16 2011-12-16 对现场可编程门阵列中查找表延迟故障进行检测的方法

Publications (2)

Publication Number Publication Date
CN103163448A CN103163448A (zh) 2013-06-19
CN103163448B true CN103163448B (zh) 2016-01-27

Family

ID=48586698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110424160.5A Active CN103163448B (zh) 2011-12-16 2011-12-16 对现场可编程门阵列中查找表延迟故障进行检测的方法

Country Status (1)

Country Link
CN (1) CN103163448B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107452426B (zh) * 2017-07-24 2020-04-07 中国空间技术研究院 一种fpga芯片中存储元件的检测电路及检测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1237769A (zh) * 1998-05-19 1999-12-08 日本电气株式会社 半导体存储器件及老化检测的方法
US6144262A (en) * 1996-09-17 2000-11-07 Xilinx, Inc. Circuit for measuring signal delays of asynchronous register inputs
EP1701359A1 (en) * 2001-04-25 2006-09-13 Agilent Technologies, Inc. Memory tester with test program branch on error indication
CN101581762A (zh) * 2009-05-07 2009-11-18 北京大学 面向应用的fpga的延迟故障测试方法及系统
CN101915875A (zh) * 2010-07-30 2010-12-15 西安电子科技大学 基于fpga专用延迟单元的同周期信号相位差测量方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144262A (en) * 1996-09-17 2000-11-07 Xilinx, Inc. Circuit for measuring signal delays of asynchronous register inputs
CN1237769A (zh) * 1998-05-19 1999-12-08 日本电气株式会社 半导体存储器件及老化检测的方法
EP1701359A1 (en) * 2001-04-25 2006-09-13 Agilent Technologies, Inc. Memory tester with test program branch on error indication
CN101581762A (zh) * 2009-05-07 2009-11-18 北京大学 面向应用的fpga的延迟故障测试方法及系统
CN101915875A (zh) * 2010-07-30 2010-12-15 西安电子科技大学 基于fpga专用延迟单元的同周期信号相位差测量方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FPGA时延故障测试技术研究;杜社会;《湖南大学硕士学位论文》;20090131;全文 *
可编程逻辑器件PLD的故障检测与诊断;彭新光;《太原工业大学学报》;19970331;第28卷(第1期);全文 *
逻辑与延时故障统一检测的PLA易测试设计;彭新光;《太原工业大学学报》;19900930;第21卷(第3期);全文 *

Also Published As

Publication number Publication date
CN103163448A (zh) 2013-06-19

Similar Documents

Publication Publication Date Title
CN105044623B (zh) 一种适用于集成电路芯片的片上电源噪声峰值测量系统及其测量方法
CN105445569A (zh) 一种适用于高速集成电路的片上纳秒级电源噪声瞬态波形测量系统及其测量方法
CN102419417B (zh) 一种现场可编程逻辑门阵列触发器传播延迟的测试电路
CN106297893B (zh) 存储器测量电路的时钟电路及其设计方法
US9222971B2 (en) Functional path failure monitor
US10746795B2 (en) Method and apparatus for at-speed scan shift frequency test optimization
TW202343444A (zh) 用於記憶體應用之鎖存電路
CN106158044B (zh) Sram访问时间的测试电路与测试方法
CN105116318A (zh) 一种逻辑分析仪中实现毛刺检测的方法
CN109446708A (zh) 一种检查时钟路径的方法
CN102800364B (zh) 测试系统
CN102288903A (zh) 一种fpga内连线资源的测试结构及方法
CN103163448B (zh) 对现场可编程门阵列中查找表延迟故障进行检测的方法
CN101581762B (zh) 面向应用的fpga的延迟故障测试方法及系统
CN102570457A (zh) 一种基于内网量测数据的两端口外网静态等值方法
CN103376397B (zh) 一种异步电路的检测系统
CN116500339A (zh) 一种bms绝缘电阻检测电路及方法、存储介质、电子设备
CN104407211B (zh) 一种用电量计量装置
CN103472387B (zh) 一种适用于反熔丝型fpga的通用在线测试系统及测试方法
CN104123966A (zh) 一种基于自动地周期性读操作的读取速度测量电路
CN107465475A (zh) 一种网络设备时钟/时间检测方法和装置
CN103744094B (zh) 基于复杂可编程逻辑器件组合的导航系统时序差测量模块
CN103312307B (zh) 时钟频偏检测方法及装置
WO2022227382A1 (zh) 用于fpga支持全路径的电路延迟检测器及检测方法
CN109711204A (zh) 基于路径延迟指纹的硬件木马检测方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant