CN105404728A - 一种基于fpga芯片多控制信号的布局方法 - Google Patents
一种基于fpga芯片多控制信号的布局方法 Download PDFInfo
- Publication number
- CN105404728A CN105404728A CN201510737241.9A CN201510737241A CN105404728A CN 105404728 A CN105404728 A CN 105404728A CN 201510737241 A CN201510737241 A CN 201510737241A CN 105404728 A CN105404728 A CN 105404728A
- Authority
- CN
- China
- Prior art keywords
- register
- control signal
- group
- macroblock
- clock
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及一种基于FPGA芯片多控制信号的布局方法,方法包括:通过网表将用户设计的多个控制信号分成M组;根据M组控制信号的分组信息,对寄存器进行分组;根据扇出量对M组控制信号进行排序,插入全局时钟缓存器和区域时钟缓存器;根据区域时钟缓存器与分组的寄存器的连接关系,组建宏模块;并通过宏模块,进行芯片布局。本发明实施例的方法优化了多控制信号设计用例的时钟资源使用状况,提高了时钟信号布线通过率,以及减少了用户设计的耗电量,使多控制信号的用户设计得到了支持。
Description
技术领域
本发明涉及集成电路技术领域,特别是一种基于现场可编程门阵列(Field-ProgrammableGateArray,FPGA)芯片多控制信号的布局方法。
背景技术
FPGA是一种具有丰富硬件资源、强大并行处理能力和灵活可重配置能力的逻辑器件。这些特征使得FPGA在数据处理、通信、网络等很多领域得到了越来越多的广泛应用。
FPGA内部的时钟分为多个区域,在这个区域内有特定的时钟能够驱动寄存器(reg)和随机存取存储器(RandomAccessMemory,RAM)的时钟端。在FPGA中,这些时钟由时钟树的专用的时钟线连接起来。FPGA的全局时钟路径需要专用时钟驱动器--全局时钟缓冲器(GlobalClockbuffer,GBUF),时钟信号只有经过GBUF之后才可以驱动全局时钟网络。然而全局时钟资源一般是非常有限的。
图1为现有技术中C1架构的时钟信号输入端的结构示意图。C1是FPGA芯片中cloud系列的第一款芯片,主要用于高速通信领域。如图1所示,C1架构的输入端由8个全局时钟信号通道和4个区域时钟信号通道组成。8个全局时钟信号输入端rclk[7:0]接收的全局时钟信号经选通器rclk0和rclk1选择通过不同局部缓冲器驱动后面的寄存器;4根区域时钟信号输入端rc[3:0]接收芯片内部其他逻辑单元输出的时钟信号采用与GBUF级联来驱动一个时钟区域或几个特定的寄存器。但是对于用户设计中多于8组控制信号的情况将不能通过GBUF与区域时钟级联的方式实现。
发明内容
为克服上述现有技术中存在的问题,本发明提供了一种基于FPGA芯片多控制信号的布局方法。该方法包括:通过网表将用户设计的多个控制信号分成M组;根据M组控制信号的分组信息,对寄存器进行分组;根据扇出量对M组控制信号进行排序,插入全局时钟缓存器和区域时钟缓存器;根据区域时钟缓存器与分组的寄存器的连接关系,组建宏模块;通过宏模块,进行芯片布局。
进一步的,通过网表将用户设计的多个控制信号分成M组的步骤,包括:根据网表信息,对多个控制信号按照时钟信号、使能信号和置位/复位信号分成M组。根据M组控制信号的分组信息,对寄存器进行集群打包的步骤,包括根据M组控制信号的分组信息,将线网信息和参数配置信息相同的用户设计寄存器分为一组。
进一步的,所述根据扇出量对M组控制信号进行排序,插入全局时钟缓存器和区域时钟缓存器的步骤,包括将扇出量大的前P组控制信号驱动的P组寄存器中每组寄存器前插入一个全局时钟信号缓存器;将M-P组控制信号驱动的M-P组寄存器进行集群分组,每组寄存器插入一个或多个区域时钟缓存器。
进一步的,通过集群算法对M-P组控制信号驱动的M-P组寄存器进行集群分组,集群算法包括:在M-P组寄存器中,将接收相同控制信号的k个寄存器集群分组,形成k/N或k/N+1个寄存器子集,在每个寄存器子集前插入一个或多个时钟区域缓冲器;其中,N为芯片中每个区域时钟缓存器驱动的寄存器数量。
进一步的,根据宏模块进行芯片布局的步骤,包括根据宏模块进行全局布局和局部布局;将宏模块作为整体进行全局布局,确定每个宏模块在芯片中的位置;根据宏模块的位置进行局部布局,依次确定每个逻辑单元在芯片布局中的位置;
进一步的,根据用户设计的不同,利用调整集群粒度对全局布局和局部布局进行优化。
本发明实施例的布局方法,优化了多控制信号设计用例的时钟资源使用状况,提高了时钟信号布线通过率,以及减少了用户设计的耗电量,使多控制信号的用户设计得到了支持。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为现有技术中FPGA芯片C1架构的时钟信号输入端的结构示意图;
图2为本发明实施例提供的一种基于FPGA芯片多控制信号布局方法的流程图;
图3为本发明实施例提供的区域时钟缓存器在逻辑资源上工作状态示意图;
图4为本发明实施例提供的一种宏模块全局布局示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图2为本发明实施例提供的一种基于FPGA芯片多控制信号布局方法的流程图.如图2所示,本发明实施例FPGA芯片的布局方法包括:
步骤S201、根据网表对用户设计的多控制信号进行分组;
根据综合工具根据用户设计输入的硬件描述语言(Verilog或VHDL)将用户设计转化为网表(netlist),网表用于描述电路中各模块的连接关系信息,它包括用户设计的各个逻辑单元、每个逻辑单元的所有端口和每个逻辑单元的所有端口的连接信息。通过建立网表对用户设计的多控制信号进行分析。其中,多控制信号包括时钟信号、使能信号和置位/复位信号,并将分析后的多控制信号按时钟信号、使能信号和重置或复位信号的不同进行分类打包集群,例如,若多控制信号中时钟信号包括C1和C2,使能信号包括E1和E2,重置或复位信号包括R1和R2,那么该多控制信号能分成:C1,E1,S1、C1,E1,S2、C1,E2,S1、C1,E2,S2、C2,E2,S2、C2,E2,S1、C2,E1,S1和C2,E1,S2共8组。
寄存器通过接收相应控制信号进行正常工作,根据用户设计的多控制信号的分组信息,将设计中的所有寄存器按照线网信息和参数配置信息进行集群打包,也就是说,将线网信息和参数配置信息相同的寄存器分为一组,该组寄存器接收与自身的线网信息和参数配置信息相同的一组控制信号,保证了寄存器的整体性,也便与后续芯片的整体布局。其中,线网信息是指该寄存器接收的控制信号类型;参数配置信息是指该寄存器接收的控制信号参数。
步骤S202、根据扇出量(fan-out)将分组后的控制信号进行排序;
扇出量是描述单个逻辑门能够驱动的控制信号输出量,将分组后的寄存器组根据其控制信号的扇出量按从大到小的顺序进行排序,扇出量大表示驱动寄存器的数量多,扇出量小表示驱动寄存器的数量少。
步骤S203、根据排序信息和芯片架构自动插入GBUF或RBUF
一个FPGA芯片中有P根全局时钟信号通道和Q根区域时钟信号通道,由步骤2中扇出量的排序信息,得到扇出量最大的前P组控制信号,在该P组控制信号驱动的寄存器前分别插入一个GBUF,也就是设置该P组控制信号由P根全局时钟信号通道输入芯片。
图3为本发明实施例提供的区域时钟缓存器在逻辑资源上工作状态示意图,如图3所示,全局时钟信号经全局时钟信号通道驱动区域时钟缓存器rbuf,每一个区域时钟缓存器rbuf在逻辑资源上只能驱动垂直方向上的寄存器,即rbuf在逻辑资源上存在固定约束,这种约束是由芯片内部的时钟树布线决定的。其中,时钟树是由许多缓冲器单元平衡搭建的网状结构,有一个源点和一级一级的缓冲单元搭建而成,该源点可以是时钟输入端(clockinputport)也可以芯片内部某一个单元的输出端,这种结构使每一个区域时钟缓存器rbuf只能驱动垂直方向上的m*n个单元格的逻辑单元LE(LogicElement)。
例如,在CME-HR3FPGA架构中,一个rbuf可以驱动4×4的LE阵列中的所有寄存器reg,一个4×4的LE中包含4个可编程逻辑单元LP(LogicParcel),每个LP包含2个寄存器reg。因此,此架构中的一个RBUF可以驱动的reg总数为4*4*4*2=128个。又如,CME-M5/M7FPGA架构中,一个rbuf可以驱动2×8的LE阵列中的所有寄存器reg,一个2×8的LE中包含4个LP,每个LP包含2个寄存器reg。因此,此架构中的一个RBUF可以驱动的reg总数为2*8*4*2=128个。在其他的FPGA架构中,一个RBUF可以驱动的reg个数可以更多也可以更少,但每个LE中包含的寄存器reg的个数是固定的。
综合上述两个例子,在某个FPGA芯片架构中,每个LE中包含的寄存器reg的个数为a,这样该架构中,每个rbuf能驱动N=m*n*a个寄存器reg,即在FPGA芯片每种架构中寄存器的个数是固定的,这种情况称为RBUF在逻辑资源上的固定约束,为了要适应接收多控制信号的情况,需要插入的RBUF来对该约束进行控制。
如前所述,在多控制信号扇出量排序中前P组控制信号驱动的寄存器前分别插入rbuf,使前P组的控制信号由全局时钟信号通道输入。对于其余的控制信号由区域时钟信号通道输入芯片,根据控制信号得到的用户设计寄存器分组中,每组寄存器接收到的控制信号是相同的,由于在FPGA芯片中一组控制信号驱动一个rbuf,芯片中rbuf可以有多个,每个rbuf仅可以驱动N个reg。在用户设计寄存器分组中,接收相同控制信号的一组寄存器个数为k,对于k大于N的情况,需要对k个寄存器进行分组,使其集群到一个个的寄存器子集里,使寄存器子集中的寄存器数量不大于FPGA芯片中寄存器的数量N,在每个寄存器子集前插入一个rbuf,从而适应FPGA硬件芯片的构架。对于k不大于N的情况,现有技术已有记载,这里不再赘述;需要说明的是,将分组的寄存器集群到一个个的寄存器子集的过程是通过集群算法实现的,该算法是对每个rbuf的约束检查。
集群算法包括:在k大于N时,按照控制信号进行寄存器集群分类形成k/N或k/N+1个寄存器子集,在每个寄存器子集前插入时钟区域缓冲器RBUF,使得每个rbuf驱动的寄存器数量不多于N。在一个具体事例中,一个FPGA芯片中每个rbuf可以驱动128个reg,若用户设计的一组控制信号可驱动512个reg,这样可得寄存器子集512/128=4个,此时在得到的4个寄存器子集前分别插入时钟区域缓冲器rbuf即可;若用户设计的一组控制信号可驱动129个reg,为了使每个rbuf驱动的寄存器数量不多于128,可得寄存器子集129/128+1=2个,这2个寄存器子集中一个子集含有寄存器128个,另一个寄存器子集含有1个寄存器。
步骤S204、根据rbuf与寄存器reg的连接关系,组建宏模块
根据网表中RBUF与寄存器reg的连接关系,将一个rbuf与该rbuf驱动的所有寄存器reg进行打包,组建成一个宏模块。FPGA芯片的控制信号通过一个rbuf驱动该rbuf连接的一个宏模块内的所有reg,使得一个宏模块内所有寄存器reg由相同频率的控制信号驱动。
步骤S205、根据宏模块进行芯片布局
对芯片的布局包括对芯片全局布局和对芯片局部布局。在全局布局中,将宏模块作为一个整体在FPGA中进行布局,确定其在全局布局中的位置。图4为本发明实施例提供的一种宏模块全局布局示意图。如图4所示,在宏模块整体移动过程中,需要保证宏模块的整体性。
FPGA芯片包括多个布局区域,每个布局区域包括逻辑单元(LogicElement,LE),每个LE包括多个reg。局部布局就是将宏模块内包括的所有reg和其他逻辑单元作为整体在全局布局中求取最优解,然后确定其布局区域。同时,驱动该宏模块内所有reg的rbuf的位置也被确定下来。在布局过程中要保证宏模块中LE的布局位置满足布局合法化约束条件。
其中,可以对布局区域的设计进行设计规则检查(designrulecheck,DRC),确定reg的放置位置是否合法,将所有DRC检测合法的位置作为寄存器的可用位置。
需要说明的是,不同的用户设计为了提高可布性和芯片利用率,可根据集群粒度形成的粒度系数进行调整,使芯片达到最优性能。其中,集群粒度是指芯片中逻辑单元的细化程度,细化程度越高,粒度越小;细化程度越低,粒度越大。逻辑单元的细化程度用粒度系数来表达。在芯片的实际设计中,可以形成逻辑单元粒度系数、时钟区域粒度系数、块区域粒度系数和全局区域粒度系数,通过调整这些系数进行布局优化。
本发明实施例提供的布局方法,首先需要对用户设计实例进行控制信号分析,该分析包括对控制信号中的时钟信号,使能信号和置位/复位信号的识别,将用户设计的reg根据控制信号的分析信息进行分组,保证每组reg的控制信号完全相同(线网信号和参数配置值均相同)。其次根据控制信号组合的扇出量和硬件架构自动插入GBUF或RBUF,最后将每个RBUF驱动的所有reg会作为一个宏模块在总体布局中进行优化,布局中需保证宏模块在一个时钟区域内的合法化和优化,GBUF驱动的所有reg会在布线阶段使用时钟网络进行布线。通过上述方法,优化了多控制信号设计用例的时钟资源使用状况,提高了时钟信号布线通过率,以及减少了用户设计的耗电量,使多控制信号的用户设计得到了支持。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于FPGA芯片多控制信号的布局方法,其特征在于,所述方法包括:
通过网表将用户设计的多个控制信号分成M组;
根据所述M组控制信号的分组信息,对寄存器进行分组;
根据扇出量对所述M组控制信号进行排序,插入全局时钟缓存器和区域时钟缓存器;
根据所述区域时钟缓存器与分组的所述寄存器的连接关系,组建宏模块;
通过所述宏模块,进行芯片布局。
2.根据权利要求1所述的方法,其特征在于,所述通过网表将用户设计的所述多个控制信号分成M组的步骤,包括:根据所述网表信息,对所述多个控制信号按照时钟信号、使能信号和置位/复位信号分成M组。
所述根据所述M组控制信号的分组信息,对寄存器进行集群打包的步骤,包括:根据所述M组控制信号的分组信息,将线网信息和参数配置信息相同的用户设计寄存器分为一组。
3.根据权利要求1所述的方法,其特征在于,所述根据扇出量对所述M组控制信号进行排序,插入全局时钟缓存器和区域时钟缓存器的步骤,包括,将所述扇出量大的前P组所述控制信号驱动的P组所述寄存器中每组所述寄存器前插入一个所述全局时钟信号缓存器;将M-P组所述控制信号驱动的M-P组所述寄存器进行集群分组,每组所述寄存器插入一个或多个所述区域时钟缓存器。
4.根据权利要求3所述的方法,其特征在于,通过集群算法,对所述M-P组所述控制信号驱动的M-P组寄存器进行集群分组,所述集群算法包括:在所述M-P组所述寄存器中,将接收相同所述控制信号的k个寄存器集群分组,形成k/N或k/N+1个寄存器子集,在每个所述寄存器子集前插入一个或多个所述时钟区域缓冲器;其中,N为芯片中每个区域时钟缓存器驱动的寄存器数量。
5.根据权利要求1所述的方法,其特征在于,所述根据所述宏模块,进行芯片布局的步骤,包括:根据所述宏模块进行全局布局和局部布局;
将所述宏模块作为整体进行所述全局布局,确定每个所述宏模块在芯片中的位置;
根据所述宏模块的位置进行所述局部布局,依次确定每个逻辑单元在芯片布局中的位置。
6.根据权利要求5所述的方法,其特征在于,根据用户设计的不同,利用调整集群粒度对所述全局布局和所述局部布局进行优化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510737241.9A CN105404728B (zh) | 2015-11-03 | 2015-11-03 | 一种基于fpga芯片多控制信号的布局方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510737241.9A CN105404728B (zh) | 2015-11-03 | 2015-11-03 | 一种基于fpga芯片多控制信号的布局方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105404728A true CN105404728A (zh) | 2016-03-16 |
CN105404728B CN105404728B (zh) | 2018-12-21 |
Family
ID=55470215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510737241.9A Active CN105404728B (zh) | 2015-11-03 | 2015-11-03 | 一种基于fpga芯片多控制信号的布局方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105404728B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503291A (zh) * | 2016-09-18 | 2017-03-15 | 北京深维科技有限公司 | 高扇出线网的物理综合方法 |
CN108549751A (zh) * | 2018-03-28 | 2018-09-18 | 湖南融创微电子有限公司 | 寄存器矩阵的布局方法 |
CN110825210A (zh) * | 2019-11-12 | 2020-02-21 | 天津飞腾信息技术有限公司 | 片上系统的时钟树结构的设计方法、装置、设备及介质 |
CN110895649A (zh) * | 2018-08-23 | 2020-03-20 | 珠海零边界集成电路有限公司 | 一种集成电路后端布线管理系统、布线管理方法和芯片 |
CN115859886A (zh) * | 2023-02-16 | 2023-03-28 | 山东启芯软件科技有限公司 | 一种基于多fanout逻辑的高效率低耦合的设计拆分方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5526276A (en) * | 1994-04-21 | 1996-06-11 | Quicklogic Corporation | Select set-based technology mapping method and apparatus |
US5649165A (en) * | 1995-01-31 | 1997-07-15 | Fujitsu Limited | Topology-based computer-aided design system for digital circuits and method thereof |
CN1541364A (zh) * | 2001-06-15 | 2004-10-27 | ��ѧ�뼼������˾@UNM | 具有选择运算符的数字电路 |
-
2015
- 2015-11-03 CN CN201510737241.9A patent/CN105404728B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503291A (zh) * | 2016-09-18 | 2017-03-15 | 北京深维科技有限公司 | 高扇出线网的物理综合方法 |
CN108549751A (zh) * | 2018-03-28 | 2018-09-18 | 湖南融创微电子有限公司 | 寄存器矩阵的布局方法 |
CN110895649A (zh) * | 2018-08-23 | 2020-03-20 | 珠海零边界集成电路有限公司 | 一种集成电路后端布线管理系统、布线管理方法和芯片 |
CN110825210A (zh) * | 2019-11-12 | 2020-02-21 | 天津飞腾信息技术有限公司 | 片上系统的时钟树结构的设计方法、装置、设备及介质 |
CN115859886A (zh) * | 2023-02-16 | 2023-03-28 | 山东启芯软件科技有限公司 | 一种基于多fanout逻辑的高效率低耦合的设计拆分方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105404728B (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105404728A (zh) | 一种基于fpga芯片多控制信号的布局方法 | |
CN102160054B (zh) | 用于设计使用自适应电压和调节优化的集成电路的系统和方法 | |
US8543955B1 (en) | Apparatus and methods for time-multiplex field-programmable gate arrays | |
US5930499A (en) | Method for mixed placement of structured and non-structured circuit elements | |
CN103258066B (zh) | 逻辑簇的布局方法 | |
CN110457849B (zh) | 一种可配置的数字集成电路设计方法 | |
US9673824B2 (en) | Techniques and circuitry for configuring and calibrating an integrated circuit | |
CN111046624B (zh) | 芯片模块接口时钟结构的构建方法、装置、设备及介质 | |
CN103077183A (zh) | 一种分布式顺序表的数据导入方法及其系统 | |
US8006206B1 (en) | Gated clock conversion | |
US9026967B1 (en) | Method and apparatus for designing a system on multiple field programmable gate array device types | |
US8181139B1 (en) | Multi-priority placement for configuring programmable logic devices | |
US9292640B1 (en) | Method and system for dynamic selection of a memory read port | |
US8954906B1 (en) | Method and apparatus for performing parallel synthesis on a field programmable gate array | |
CN104424367B (zh) | 一种优化寄存器控制信号的工艺映射方法及集成电路 | |
US7441212B1 (en) | State machine recognition and optimization | |
US6006023A (en) | Method of optimizing a logic circuit | |
US7603646B1 (en) | Method and apparatus for power optimization using don't care conditions of configuration bits in lookup tables | |
US8595668B1 (en) | Circuits and methods for efficient clock and data delay configuration for faster timing closure | |
CN102855147A (zh) | 用于局部重配置模拟的方法和系统 | |
US7467368B1 (en) | Circuit clustering during placement | |
CN104536931B (zh) | 一种硬件仿真中多个fpga自动互联的方法及系统 | |
CN105760558A (zh) | Fpga芯片中多输入查找表的布局方法 | |
US10068045B1 (en) | Programmable logic device design implementations with multiplexer transformations | |
CN104678815A (zh) | Fpga芯片的接口结构及配置方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |