KR20180077533A - Stochastic computing based SNG and neuromorphic circuit using the same - Google Patents
Stochastic computing based SNG and neuromorphic circuit using the same Download PDFInfo
- Publication number
- KR20180077533A KR20180077533A KR1020160181976A KR20160181976A KR20180077533A KR 20180077533 A KR20180077533 A KR 20180077533A KR 1020160181976 A KR1020160181976 A KR 1020160181976A KR 20160181976 A KR20160181976 A KR 20160181976A KR 20180077533 A KR20180077533 A KR 20180077533A
- Authority
- KR
- South Korea
- Prior art keywords
- random number
- sng
- bit
- circuit
- input terminal
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Logic Circuits (AREA)
Abstract
본 발명에 따른 SNG는 유니크 시드(Unique seed)를 이용하여 각 뉴런마다 독립된 난수를 제공하는 기존의 SNG(Stochastic Number Generator) 대비 뉴로모픽 회로의 면적을 대폭 감소시킬 수 있고, 생성된 난수를 로테이션(Rotation)하여 비교기에 공급하는 로테이셔널 방식의 LFSR(Linear Feedback Shift Register) 대비 다량의 난수를 생성 가능하므로, 뉴로모픽 회로의 면적을 크게 낮추면서도 적은 비트수로 많은 난수를 생성하여 이용할 수 있다. 또한, 상기한 SNG를 적용하여 뉴로모픽 회로를 구현 시, 기존의 뉴로모픽 회로 대비 작은 면적과 높은 난수 효율성을 구현할 수 있다. 이를 위해 본 발명은 난수열 발생기에서 생성되는 m개의 난수 비트열 중 n개의 비트를 랜덤 추출하여 복수의 난수열을 생성하는 난수열 추출기 및 데이터 입력단과 난수 입력단을 구비하며 상기 데이터 입력단으로 인가되는 데이터와 상기 난수 입력단으로 인가되는 난수열을 비트 단위로 비교하는 복수의 비교기를 포함하여 구성될 수 있다. The SNG according to the present invention can greatly reduce the area of the novel Lomic circuit compared to the existing SNG (Stochastic Number Generator) that provides independent random numbers for each neuron using a unique seed, It is possible to generate a large number of random numbers as compared with a rotary type LFSR (Linear Feedback Shift Register) which is supplied to a comparator by rotating the circuit, thereby generating a large number of random numbers with a small number of bits have. In addition, when implementing the SNG to implement a neuromorphic circuit, it is possible to realize a small area and a high random number efficiency compared to a conventional neuromotive circuit. For this purpose, the present invention provides a random number sequence extractor for randomly extracting n bits out of m random number bit strings generated by the random number sequence generator to generate a plurality of random number sequences, a data input terminal and a random number input terminal, And a plurality of comparators for comparing the random number sequence applied to the random number input terminal bit by bit.
Description
본 발명은 SNG(Stochastic Number Generator) 및 뉴로모픽 회로에 관한 것으로, 뉴로모픽 회로를 구현 시, 가장 많은 면적을 차지하는 난수 발생기의 면적을 최소화하여 작고 효율적으로 구현되는 SNG 및 이를 구비하는 뉴로모픽 회로에 관한 것이다.The present invention relates to a SNG (Stochastic Number Generator) and a neuromorphic circuit. When implementing a neuromorphic circuit, SNG that can be realized in a small and efficient manner by minimizing the area of a random number generator occupying the largest area, Pick circuit.
뉴로모픽(Neuromorphic) 회로는 수많은 뉴런들이 시냅스에 의해 연결되는 인간의 뇌 구조를 모델링하는데 주안점을 두어 설계된다. 뉴로모픽 회로는 인간의 신경망과 마찬가지로, 입력층(Input layer), 출력층(Output layer) 및 은닉층(Hidden layer)으로 모델링되며, The Neuromorphic circuit is designed with the focus on modeling the human brain structure, where many neurons are connected by synapses. Like the human neural network, the neuromorphic circuit is modeled as an input layer, an output layer, and a hidden layer,
입력층은 데이터를 입력받고, 데이터의 연산은 은닉층 및 출력층이 담당하도록 구성된다. 또한, 뉴로모픽 회로를 구성하는 뉴런은 인간의 뉴런과 마찬가지로, 각 뉴런은 이웃하는 타 뉴런과 연결되고, 타 뉴런의 결과 값에 영향을 주도록 구성될 수 있다.The input layer is configured to receive data, and the data to be computed is configured to be managed by the hidden layer and the output layer. In addition, neurons constituting a neuromodule circuit, like human neurons, can be configured so that each neuron is associated with neighboring neurons and influences the outcome of other neurons.
각 뉴런은 도 1에 도시된 바와 같이 입력 데이터(x1, x2)와 가중치 값(w1, w2)을 각각 승산한 후, 가산기에서 더해지고, 더해진 값이 쓰레스홀드 펑션(threshold function)을 거쳐 최종 출력이 산출되도록 구성된다. 이에 따라, 뉴로모픽 회로를 구성하는 각 뉴런은 기본적으로, 곱셈기, 가산기 및 쓰레스홀드 펑션을 위한 SRAM을 필요로 한다. 단일 뉴런이 하나의 곱셈기, 하나의 가산기 및 쓰레스홀드 펑션을 위한 SRAM을 필요로 하는데, 1) SRAM은 셀 하나의 크기 자체가 타 회로의 소자보다 큰 문제가 있고, 2) 곱셈기는 하드웨어적으로 연산 대상 데이터의 비트 수에 해당하는 가산기의 집합에 해당하므로 뉴로모픽(Neuromorphic) 회로의 면적을 증가시키는 문제를 유발할 수 있다. As shown in FIG. 1, each neuron multiplies input data x1 and x2 by weight values w1 and w2, and then multiplies the weighted values w1 and w2 by an adder. The added value is passed through a threshold function And the output is calculated. Thus, each neuron that constitutes a neuromodule circuit basically requires an SRAM for multipliers, adders, and threshold functions. A single neuron requires one multiplier, one adder, and SRAM for the threshold function, 1) SRAM has a problem that the size of one cell itself is larger than that of other circuits, and 2) It corresponds to a set of adders corresponding to the number of bits of the data to be processed, which may cause a problem of increasing the area of neuromorphic circuits.
이에 대해, 확률적 컴퓨팅(Stochastic Computing) 방법은 확률을 이용하여 확률적 근사치를 산출하고, 이를 통해 1)과 2)의 문제를 해결하고 있다.On the other hand, the stochastic computing method calculates the probabilistic approximation using the probability, and solves the problems of 1) and 2).
확률적 컴퓨팅 방법에서는 확률을 비트 스트림(Bit stream)에서 논리 "1"이 몇 개가 도출되는가로 표현될 수 있다. 예컨대, 6/8은 8개의 비트 중 논리 "1"이 무작위로 6개가 존재하는 것으로 표현될 수 있고, 4/8은 8개의 비트 중 논리 "1"이 4개 존재하는 것으로 표현될 수 있다. 이를 이용하면, 곱셈기를 AND 게이트 하나로 대체할 수 있으며, 이는 도 2를 함께 참조하여 설명하도록 한다.In the probabilistic computing method, the probability can be expressed by how many logic "1" s derived from the bit stream. For example, 6/8 can be represented by the presence of six random "1" s of the eight bits, and 4/8 can be represented by the presence of four logical "ones" among the eight bits. With this, the multiplier can be replaced by a single AND gate, which will be described with reference to FIG. 2 together.
도 2는 확률적 컴퓨팅 방법에서 AND 게이트를 곱셈기로 적용하는 일 예를 도시한다.FIG. 2 shows an example of applying an AND gate to a multiplier in a stochastic computing method.
도 2를 참조하면, 비트 스트림으로 표현되는 확률 6/8과 4/8을 곱셈하는 곱셈기를 단일 AND 게이트로 처리하는 것을 나타낸다. Referring to FIG. 2, a multiplier for multiplying the
곱셈기를 통해 6/8과 4/8을 곱할 경우, 그 결과 값은 3/8에 해당한다. 확률을 비트 스트림으로 표현하였을 때, 6/8은 비트 스트림 "10110111"으로 표현되고, 4/8은 비트 스트림 "10101001"로 표현된다.If you multiply 6/8 and 4/8 by a multiplier, the result is 3/8. When the probability is represented by a bit stream, 6/8 is represented by the bit stream "10110111" and 4/8 is represented by the bit stream "10101001".
비트 스트림 "10110111"과 비트 스트림 "10101001"을 각각 Pa, Pb로 하여 AND 게이트의 두 입력단에 인가할 때, AND 게이트는 그 연산 값(Sy)으로서 비트 스트림 "10100001"로 표현되며, 이 값은 3/8에 해당한다.When the bit stream "10,110,111" with a bit stream "10,101,001" respectively as Pa, Pb to be applied to the two input terminals of the AND gate, the AND gate is represented by a bit stream "10,100,001" as the calculation value (S y), the value Is equivalent to 3/8.
상기한 바와 같이, 확률적 컴퓨팅 방법을 적용하여 곱셈기를 AND 게이트로 단순화하면 인공신경망의 뉴런에 해당하는 곱셈기의 개수를 대폭 경감시킬 수 있다. 그러나, 뉴로모픽 회로를 구성하는 뉴런의 크기를 대폭 감소시킨다 하여도 전체 뉴로모픽 회로를 구성하는 회로의 면적은 크게 감소되지 않는다. 이는 뉴로모픽 회로를 구성하는 전체 로직의 70% 내지 80%의 논리소자는 각 뉴런에 각기 다른 난수를 생성하여 제공하기 위한 SNG(Stochastic Number Generator)와 관련된 회로가 차지하는데 따른 것으로 뉴로모픽 회로의 면적을 감소시키기 위해서는 SNG의 최적화가 요구된다.As described above, if the multiplier is simplified to an AND gate by applying the stochastic computing method, the number of multipliers corresponding to the neurons of the artificial neural network can be greatly reduced. However, even if the size of the neurons constituting the neuromodule circuit is largely reduced, the area of the circuit constituting the entire tomographic circuit is not significantly reduced. This is because 70% to 80% of the logic elements constituting the neuromorphic circuit are occupied by a circuit related to the SNG (Stochastic Number Generator) for generating and supplying different random numbers to each neuron, In order to reduce the area of the SNG, optimization of the SNG is required.
본 발명은 면적을 최소화하면서 정확도를 크게 낮추지 않는 SNG 및 이를 포함하는 뉴로모픽 회로를 제공함에 있다.SUMMARY OF THE INVENTION The present invention provides a SNG that minimizes the area and does not significantly decrease the accuracy, and a novel Lomographic circuit including the SNG.
상기한 목적은 본 발명에 따라, 난수열 발생기에서 생성되는 m개의 난수 비트열 중 n개의 비트를 랜덤 추출하여 복수의 난수열을 생성하는 난수열 추출부; 및 데이터 입력단과 난수 입력단을 구비하며 상기 데이터 입력단으로 인가되는 데이터와 상기 난수 입력단으로 인가되는 난수열을 비트 단위로 비교하는 복수의 비교기;를 통해 구현될 수 있다.According to another aspect of the present invention, there is provided a random number sequence extraction apparatus comprising: a random number sequence extracting unit for randomly extracting n bits out of m random number bit sequences generated by an random number sequence generator to generate a plurality of random numbers; And a plurality of comparators each having a data input terminal and a random number input terminal and for comparing the data applied to the data input terminal and the random number sequence applied to the random number input terminal bit by bit.
본 발명에 따른 SNG는 유니크 시드(Unique seed)를 이용하여 각 뉴런마다 독립된 난수를 제공하는 기존의 유니크 시드 방식의 SNG(Stochastic Number Generator) 대비 뉴로모픽 회로의 면적을 대폭 감소시킬 수 있고, 생성된 난수를 로테이션(Rotation)하여 비교기에 공급하는 로테이셔널 방식의 SNG 대비 다량의 난수를 생성 가능하므로, 뉴로모픽 회로의 면적을 크게 낮추면서도 적은 비트수로 많은 난수를 생성하여 이용할 수 있다. 또한, 상기한 SNG를 적용하여 뉴로모픽 회로를 구현 시, 기존의 뉴로모픽 회로 대비 작은 면적과 높은 난수 효율성을 구현할 수 있다.The SNG according to the present invention can greatly reduce the area of the novel Lomic circuit compared to a conventional unique SNG (Stochastic Number Generator) that provides independent random numbers for each neuron using a unique seed, It is possible to generate a large number of random numbers as compared with the rotation type SNG that rotates the random number and supplies it to the comparator. Therefore, it is possible to generate and use a large number of random numbers with a small number of bits while greatly reducing the area of the neuromorphic circuit. In addition, when implementing the SNG to implement a neuromorphic circuit, it is possible to realize a small area and a high random number efficiency compared to a conventional neuromotive circuit.
도 1은 종래의 뉴로모픽 회로의 개념도를 도시한다.
도 2는 종래의 뉴로모픽 회로에서 곱셈기를 AND 게이트로 단순화하는 방법에 대한 개념도를 도시한다.
도 3은 본 발명의 일 실시예에 따른 SNG가 적용되는 뉴로모픽 회로의 개념도를 도시한다.
도 4는 실시예에 따른 SNG 회로의 개념도를 도시한다.
도 5는 도 4에 도시된 난수 발생기의 개념도를 도시한다.
도 6은 SNG에서 생성되는 난수의 확률적 정확성에 대한 참조도면을 도시한다.
도 7은 유니크 시드를 할당하여 정확도를 높이는 일 예에 대한 참조도면을 도시한다.
도 8은 각 비교기에 제공되는 난수가 중첩되지 않도록 하여 난수의 정확도를 높이는 방법을 나타낸다.
도 9는 실시예에 따른 SNG의 블록 개념도를 도시한다.
도 10은 실시예에 따른 뉴로모픽 회로를 적용하였을 경우, 뉴로모픽 회로의 전체 면적을 비교 설명하기 위한 참조도면을 도시한다.
도 11은 실시예에 따른 뉴로모픽 회로를 적용하였을 때, 뉴로모픽 회로의 정확도 향상을 설명하기 위한 참조도면을 도시한다.Fig. 1 shows a conceptual diagram of a conventional neuromorphic circuit.
Fig. 2 shows a conceptual diagram of a method for simplifying a multiplier to an AND gate in a conventional neuromorphic circuit.
3 is a conceptual diagram of a novel Lomographic circuit to which an SNG according to an embodiment of the present invention is applied.
Fig. 4 shows a conceptual diagram of the SNG circuit according to the embodiment.
FIG. 5 shows a conceptual diagram of the random number generator shown in FIG.
Figure 6 shows a reference diagram for the probabilistic accuracy of random numbers generated in the SNG.
Figure 7 shows a reference diagram for an example of assigning a unique seed to increase accuracy.
FIG. 8 shows a method of increasing the accuracy of the random number by preventing the random numbers provided to the respective comparators from overlapping each other.
9 shows a block conceptual diagram of an SNG according to an embodiment.
FIG. 10 shows a reference diagram for comparing and comparing the total area of a neuromorphic circuit when the inventive neuromorphic circuit is applied.
Fig. 11 shows a reference diagram for explaining improvement of the accuracy of a neuromorphic circuit when the neuromorphic circuit according to the embodiment is applied.
이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다.Hereinafter, the present invention will be described in detail with reference to the drawings.
도 3은 본 발명의 일 실시예에 따른 SNG가 적용되는 뉴로모픽 회로의 개념도를 도시한다.3 is a conceptual diagram of a novel Lomographic circuit to which an SNG according to an embodiment of the present invention is applied.
도 3을 참조하면, 뉴로모픽 회로는 입력층(Input), 은닉층(Hidden) 및 출력층(Output)으로 구성되고, 은닉층(Hidden)과 출력층(Output)이 복수의 뉴런(Neuron)을 구비하는 신경망 구조에 따라 구현된다. 입력층(Input)에는 데이터(x1, x2) 외에, SNG가 입력 데이터와 가중치(w1 내지 w8)값을 이진수(bianry)에서 비트 스트림(bit stream)으로 변환한다. 이후, 은닉층(Hidden)과 출력층(Output)에서는 뉴런 연산을 수행한다. 마지막으로 카운터(Counter)가 출력층(Output)의 출력을 비트 스트림에서 이진수로 다시 변환하도록 구성될 수 있다.3, the neuromorphic circuit is composed of an input layer, a hidden layer, and an output layer, and the hidden layer and the output layer are formed of a neural network having a plurality of neurons, Structure. In addition to the data (x1, x2), the input layer (Input) converts the input data and weight values (w1 to w8) from a binary number to a bit stream. Thereafter, the hidden layer and the output layer perform a neuron operation. Finally, the counter Counter may be configured to convert the output of the output layer Output back to a binary number from the bitstream.
도 3에서, 은닉층(Hidden)이나 출력층(Output)에 속하는 뉴런들은 입력 데이터와 가중치 값(w1 내지 w8)을 비교 연산하여 출력하는 구조를 가지며, 도 2를 통해 전술한 바와 같이 단일 게이트로도 구현될 수 있으므로 전체 뉴로모픽 회로에서 차지하는 면적은 극히 적다. 반면, SNG는 각 뉴런에게 독립된 가중치나 난수를 제공하여야 하므로 뉴런의 수가 증가하는 만큼 더욱 복작하고 많은 소자로 구성되어야 하므로 뉴로모픽 회로에서 차지하는 면적이 매우 크다. In FIG. 3, the neurons belonging to the hidden layer or output layer have a structure in which input data and weight values (w1 to w8) are compared with each other and output. The neurons are also implemented as a single gate The area occupied by the whole new LomoPic circuit is extremely small. On the other hand, the SNG needs to provide independent weights or random numbers for each neuron, so that the number of neurons must be increased and the number of elements must be increased.
도 4는 실시예에 따른 SNG 회로의 개념도를 도시한다.Fig. 4 shows a conceptual diagram of the SNG circuit according to the embodiment.
도 4를 참조하면, SNG는 난수 발생기(10)와 비교기(20)로 구성되며, 비교기(20)는 입력 데이터(Binary number)와 난수 발생기(10)에서 제공되는 데이터를 비트 단위로 비교하여 출력하도록 구성된다.Referring to FIG. 4, the SNG includes a
예컨대, 입력 데이터로서, 5/8을 의미하는 "5"가 입력 데이터로 들어오면, 랜덤 넘버와 비교하여 클 경우, 논리 "1"을 출력하고, 반대의 경우, 논리 "0"을 출력할 수 있다. 8비트 베이스인 경우, 난수는 0부터 7까지의 값이 무작위로 나오기 때문에 확률에 대응되는 비트 스트림이 만들어질 수 있으며, 비교기(20)에서 출력되는 출력값은 뉴런으로 제공되어 뉴런의 입력 데이터로 이용된다.For example, when "5", which means 5/8, is input as input data, the logic "1" is output when the input data is larger than the random number, and the logic "0" have. In the case of an 8-bit base, since a random number is randomly output from 0 to 7, a bitstream corresponding to the probability can be generated, and the output value outputted from the
도 5는 도 4에 도시된 난수 발생기의 개념도를 도시한다.FIG. 5 shows a conceptual diagram of the random number generator shown in FIG.
도 5를 참조하면, 난수 발생기(10)는 통상 LFSR(Linear Feedback Shift Register)로 구현되며, 1비트를 저장하는 n개의 플립플롭과 이들의 출력값을 논리 연산하는 XOR 게이트로 구성될 수 있다.Referring to FIG. 5, the
예컨대, 초기값(1, 0, 0)이 플립플롭에 저장되어 있다고 가정하면, 다음 사이클(cycle)에는 초기값 "1, 0, 0"이 한 자리씩 자리 이동을 하여 "0, 1, 0"이 되고, 그 다음 사이클에는 "0, 0, 1"로 그 값이 변환된다. XOR 게이트는 입력 데이터의 입력값이 서로 상이할 때, 출력값이 논리 "1"이므로, 이것을 매 사이클마다 반복하면 아래와 같이 랜덤 넘버를 생성하게 된다. For example, assuming that the initial value (1, 0, 0) is stored in the flip-flop, the initial value "1, 0, 0" is shifted by one digit in the next cycle, ", And the value is converted to" 0, 0, 1 "in the next cycle. When the input values of the input data are different from each other, the output value of the XOR gate is logic "1". This is repeated every cycle to generate a random number as shown below.
LFSR에서 중요한 점은, 0을 제외한 1부터 2의 n승 마이너스 1까지의 숫자가 동등하게 나온다는 점과 시드(Seed)가 달라지면 난수 스트림이 달라진다는 점이다. 즉, 도 5에서는, 시드로 주어진 초기값이 논리 "1, 0, 0"이므로, "0, 1, 0", "0, 0, 1"의 순서로 난수가 출력되지만, 초기값 (1, 0, 0)이 바뀌면, 출력되는 난수의 값이 달라지는 것을 의미한다.The important point in LFSR is that the numbers from 1 to 2 minus n equals
또한, LFSR에서 출력되는 난수의 정확도는 비트 스트림의 길이나 난수의 독립성에 따라 달라질 수 있다. 이는 도 6을 함께 참조하여 설명하도록 한다.In addition, the accuracy of the random number outputted from the LFSR can be changed according to the bit stream length and the independence of the random number. This will be described with reference to FIG.
도 6은 SNG에서 생성되는 난수의 확률적 정확성에 대한 참조도면을 도시한다.Figure 6 shows a reference diagram for the probabilistic accuracy of random numbers generated in the SNG.
난수의 정확도는 발생되는 난수가 서로 중복되지 않게 뉴런에 제공되는 정도를 의미할 수 있다.The accuracy of a random number can mean the degree to which the generated random number is provided to the neuron without overlapping each other.
따라서, 난수의 정확도는 난수를 구성하는 비트 스트림의 길이가 길어질수록 증가하고, 난수를 생성하는 난수 생성기가 독립적일수록 증가하며, 반대의 경우 감소한다고 볼 수 있다. Therefore, the accuracy of the random number increases as the length of the bit stream constituting the random number increases, and as the independent random number generator generating the random number increases, the accuracy decreases.
난수가 상호 독립적이지 않고 연관되어 있으면, 뉴런에 제공되는 비트 스트림이 비슷해질 가능성이 있다. 예컨대, 도 5에 도시된 것처럼, LFSR의 시드(Seed)가 동일한 경우, 상호 독립적인 난수 발생기라 하더라도 동일한 난수를 생성할 우려가 있다. 이에 대해, 시드를 서로 상이한 값으로 할당하면 비트 스트림 간 독립성이 높아져 정확도를 높일 수 있으나, 독립된 난수 발생기와 상호 연관성이 적은 시드를 뉴런에 제공하기 위해서, 뉴로모픽 회로는 더욱 복잡해질 우려가 있다. If the random numbers are not mutually independent, the bitstreams provided to the neurons may be similar. For example, as shown in FIG. 5, when the seeds of the LFSRs are the same, it is feared that the same random number may be generated even in mutually independent random number generators. On the other hand, if the seeds are assigned different values, the independence between the bitstreams can be improved and the accuracy can be improved. However, the neuromorphic circuit may become more complex in order to provide a seed to the neuron which is not correlated with the independent random number generator .
이에 대해, 유니크 시드(Unique seed)를 이용하여 동일한 난수가 발생하지 않도록 할 수 있으며, 이는 도 7과 도 8을 참조하여 설명하도록 한다.On the other hand, the same random number can be prevented from being generated by using a unique seed, which will be described with reference to FIGS. 7 and 8. FIG.
도 7은 유니크 시드를 할당하여 정확도를 높이는 일 예에 대한 참조도면을 도시한다.Figure 7 shows a reference diagram for an example of assigning a unique seed to increase accuracy.
도 6을 통해 설명한 전술한 문제의 해결을 위한 첫번째 기존 방법은 유니크 시드 방법(unique seed method)으로, 이 방법은 SNG 마다 LFSR 시드를 다른 값으로 할당한다. 가장 쉽게 난수의 중복을 방지할 수 있으나, The first conventional method for solving the above-described problem described with reference to FIG. 6 is a unique seed method, which assigns LFSR seeds to different values for each SNG. Although it is most easy to prevent duplication of random numbers,
- 각 SNG 마다 고유의 시드를 할당하기 위한 로직이 요구되고,- logic is required to allocate a unique seed for each SNG,
- 그에 따라 뉴로모픽 회로의 면적이 증가하는 단점이 있다. - There is a disadvantage that the area of the neuromotor circuit increases accordingly.
다음으로, 도 8은 각 비교기에 제공되는 난수가 중첩되지 않도록 하여 난수의 정확도를 높이는 방법을 나타낸다. Next, FIG. 8 shows a method of increasing the accuracy of the random number by preventing the random numbers provided to the respective comparators from overlapping each other.
도 8을 참조하면, 단일 LFSR(10)을 이용하되, LFSR(10)에서 출력되는 출력값을 1비트씩 로테이션(Rotation)하여 각 비교기에 제공함으로써, 각 비교기(21, 22, 23)에 제공되는 난수가 상호 중첩되지 않도록 하는 SNG를 도시한다.Referring to FIG. 8, a
도 8에 도시된 SNG는 단일 LFSR(10)에서 출력되는 난수를 공유하는 방법으로서, SNG에는 비교기(21, 22, 23)만 존재하고, 난수는 외부의 LFSR(10)에서 제공 받도록 구성될 수 있다. The SNG shown in FIG. 8 is a method of sharing a random number output from a
단일 LFSR(10)이 생성하는 단일 난수를 도 8에 도시된 것처럼 비교기(21)에는 1비트 로테이션하여 제공하고, 비교기(22)에는 2비트 로테이션하여 제공하며, 비교기(23)에는 3비트 로테이션하여 제공할 수 있다. 8, a single random number generated by the
1비트 로테이션된 난수, 2비트 로테이션된 난수 및 3비트 로테이션된 난수가 각각 비교기(21), 비교기(22), 및 비교기(23)에 난수로서 제공된다. A random number of 1 bit rotated, a random number of 2 bits rotated, and a random number of 3 bits rotated are provided as a random number to the
로테이션은 도 8에 도시된 것처럼, k bit 만큼 LFSR(10)에서 출력되는 난수를 회전시키는 것이다. 이러면 1bit 로테이션과 2bit 로테이션된 값이 달라지고, 결과적으로 각 비교기(21, 22, 23)를 위한 서로 다른 시드가 만들어진다. The rotation is to rotate the random number output from the
한편, 도 8에 도시된 SNG는 LFSR(10)의 개수가 도 7에 도시된 것 대비 대폭 감소되어 뉴로모픽 회로의 면적을 감소시키는 잇점이 있으나, 하나의 LFSR(10)이 생성할 수 있는 난수의 수가 제한되는 단점이 있다. The SNG shown in FIG. 8 is advantageous in that the number of the
본 발명은 상기한 문제점을 해결하기 위해 안출되었으며, 하나의 LFSR이 비교기에 공급하는데 충분한 만큼의 독립적인 난수를 생성할 수 있도록 한다. 이하, 도 9를 참조하여 본 발명의 SNG를 상술하도록 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems and enables one LFSR to generate enough independent random numbers to supply the comparator. Hereinafter, the SNG of the present invention will be described in detail with reference to FIG.
도 9는 실시예에 따른 SNG의 블록 개념도를 도시한다.9 shows a block conceptual diagram of an SNG according to an embodiment.
실시예에 따른 SNG는 단일 LFSR(30), 난수열 추출기(40) 및 비교기(50)를 포함하여 구성될 수 있다. LFSR(30)은 도 7과 도 8을 통해 설명된 것과 동일한 것으로, 유니크 시드(Seed)를 초기값으로 하여 순차로 비트열을 생성할 수 있다.The SNG according to the embodiment may be configured to include a
난수열 추출기(40)는 연결되는 비교기(50)의 수에 따라 LFSR(30)에서 생성된 비트열의 일 영역을 추출할 수 있다. 이때, 난수열 추출기(40)는 LFSR(30)에서 생성된 비트열을 구성하는 비트 수 보다는 작아야 하고, 1 비트 보다는 큰 비트열로 구성되어야 한다.The
예컨대, LFSR(30)에서 출력되는 비트열이 5비트라면, 난수열 추출기(40)는 2비트 내지 4비트로 구성되는 비트열을 난수열로 추출할 수 있다.For example, if the bit stream output from the
이때, 난수열 추출기(40)는 LFSR(30)에서 출력되는 비트열을 랜덤하게 추출하여야 하며, 사전에 어떤 규칙을 가지고 추출하지 않는 것이 바람직하다.At this time, it is preferable that the random
전술한 도 5를 통해 설명한 바와 같이, 본 발명에서 확률은, 특정 비트열에 포함되는 논리 "1"(또는 논리 "0")의 개수에 따라 정해진다. 즉 8개의 비트 중 3개의 비트가 논리 "1"이면, 확률은 3/8에 해당한다. 따라서, 난수열 추출기(40)가 LFSR(30)에서 출력되는 비트열을 가지고 생성할 수 있는 경우의 수는 mPn개에 해당하며, m은 난수열 발생기(30)에서 출력되는 비트열의 수에 해당하고, n은 난수열 추출기(40)에서 추출되는 난수열의 구성 비트 수를 나타낸다.As described above with reference to FIG. 5, the probability in the present invention is determined according to the number of logic "1" (or logic "0") included in a specific bit string. That is, if three of the eight bits are logic "1 ", the probability corresponds to 3/8. Therefore, the number of cases in which the random
난수열 발생기(30)에서 생성되는 비트열의 일 영역을 난수열로서 획득하는 경우의 수는 mPn개에 해당하므로, 난수열 추출기(40)는 이 수에 해당하는 난수를 생성할 수 있으며, 도 7을 통해 설명된 유니크 시드 방식의 SNG 대비 N(LFSR의 개수) : 1로 SNG 수가 최소화되고,Since the number of cases in which one region of a bit string generated by the
도 8을 통해 설명된 로테이셔널 방식의 SNG 대비 n : mPn의 비율로 비교기(50)에 제공 가능한 난수의 수를 증가시킬 수 있다. It is possible to increase the number of random numbers that can be provided to the
즉, 단일 LFSR(30)을 이용한다는 측면에서는 로테이셔널 방식의 SNG와 유사점이 있으나, In other words, there is a similar point to the robust SNG in terms of using a
도 8을 통해 설명된 로테이셔널 방식의 SNG는 LFSR(20) 출력 비트수에 따라 비교기(21, 22, 23)에 제공할 수 있는 난수의 수가 제한되는 반면, 실시예에 따른 SNG는 출력 비트수(m)와 비교기(50)의 수(n)의 경우의 수로서 표현되어(mPn) 그 수가 대폭 증가하게 된다. 8, the number of random numbers that can be provided to the
또한, 유니크 시드(Seed)를 이용한다는 측면에서는 도 7을 통해 설명된 유니크 시드 방식의 SNG와 유사점이 있으나,In addition, there is a similar point to the unique seed SNG described in FIG. 7 in terms of using a unique seed,
도 7을 통해 설명된 유니크 시드 방식의 SNG는 각 SNG 마다 독립적인 LFSR을 구비하여야 하는 반면, 실시예에 따른 SNG는 단일 LFSR(30)을 필요로 할 뿐이다.The SNG of the unique seed scheme described with reference to FIG. 7 must have an independent LFSR for each SNG, whereas the SNG according to the embodiment only requires a
즉, 실시예에 따른 SNG는 도 7의 유니크 시드 방식의 SNG와, 도 8의 로테이셔널 방식의 SNG 양자의 장점을 모두 가지면서도, 유니크 시드 방식의 SNG와 로테이셔널 방식의 SNG 대비 더 적은 면적으로 뉴로모픽 회로를 구현할 수 있도록 하는데 그 특징이 있다. That is, the SNG according to the embodiment has both the advantages of both the unique SNG of FIG. 7 and the robust SNG of FIG. 8, while the SNG of the unique seed SNG is less than that of the robotic SNG And it is possible to implement a neuromorphic circuit by an area.
도 10은 실시예에 따른 뉴로모픽 회로를 적용하였을 경우, 뉴로모픽 회로의 전체 면적을 비교 설명하기 위한 참조도면을 도시한다.FIG. 10 shows a reference diagram for comparing and comparing the total area of a neuromorphic circuit when the inventive neuromorphic circuit is applied.
도 10을 참조하면, 도 7의 유니크 시드 방식이 황색으로 표현되고, 도 8의 로테이셔널 방식이 청색으로 표현되며, 도 9의 SNG가 적색으로 표현된 그래프를 도시한다. Referring to FIG. 10, the unique seeding method of FIG. 7 is expressed in yellow, the ratcheting method of FIG. 8 is represented by blue, and the SNG of FIG. 9 is expressed in red.
테스트 방법은 필기체 인식에 뉴로모픽 회로를 적용하였으며, 뉴로모픽 회로는 비트 스트림 길이가 2의 10승, 14승, 18승일 때로 나눠서 합성하였다. 비트 스트림에 따른 LFSR 구성은, 예를 들어 l이 10인 경우에는 비트 스트림의 길이가 1024bit이고 10bit shared LFSR 로부터 9bit을 랜덤으로 선택하였다. In the test method, a neuromorphic circuit was applied to handwriting recognition, and the neuromorphic circuit was synthesized by dividing the bit stream length into 2, 10, 14 and 18 times. For example, if l is 10, the bitstream has a length of 1024 bits and 9 bits randomly selected from a 10-bit shared LFSR.
실험 결과, LFSR을 공유하는 실시예는 SNG와 로테이셔널 방식이 유니크 시드(unique seed) 방식 대비 면적을 최대 81%까지 줄일 수 있음이 드러난다. Experimental results show that the LFSR-sharing embodiment can reduce the SNG and the robotics area by up to 81% compared to the unique seed method.
도 11은 실시예에 따른 뉴로모픽 회로를 적용하였을 때, 뉴로모픽 회로의 정확도 향상을 설명하기 위한 참조도면을 도시한다.Fig. 11 shows a reference diagram for explaining improvement of the accuracy of a neuromorphic circuit when the neuromorphic circuit according to the embodiment is applied.
정확도의 경우, 제안한 방법은 유니크 시드(unique seed) 방식 대비 정확도를 5% 낮추는데 그친 반면, 로테이셔널 방식은 46%나 낮음을 볼 수 있다. 대체로 제안한 SNG는 일반적인 스토캐스틱 컴퓨팅(stochastic computing) 방법과 유사한 정확도를 유지하고 있음을 볼 수 있다. 반면, 로테이셔널 방식은 정확도가 30% 미만으로 낮아져서, 현실적으로 사용하기 어렵다는 것을 볼 수 있다. In the case of accuracy, the proposed method only reduced the accuracy by 5% compared to the unique seed method, while the rotary method was 46% lower. It can be seen that the proposed SNG maintains an accuracy similar to that of a typical stochastic computing method. On the other hand, we can see that the rotary method is less accurate than the actual method because accuracy is lowered to less than 30%.
이를 뉴로모픽 회로의 면적과 연관시켜서 생각해보면, 실시예에 따른 SNG는 정확도를 크게 낮추지 않으면서 면적은 유니크 시드 방식 대비 81%를 낮추며, 로테이셔널 방식 대비 난수의 정확도가 2배 이상 차이나는 것을 볼 수 있다. Considering this in relation to the area of the neuromodic circuit, the SNG according to the embodiment is 81% lower than the unique seed method without significantly lowering the accuracy, and the accuracy of the random number is twice or more Can be seen.
반면에 유니크 시드 방식이나 로테이셔널 방식은 뉴로모픽 회로의 면적이 크면 정확도가 높으나, 면적을 낮추면 정확도도 대폭 낮아지는 한계를 갖는 것을 볼 수 있다. On the other hand, the unique seed method and the rotary method have high accuracy when the area of the neuromotor circuit is large, but the accuracy is greatly lowered when the area is reduced.
난수 발생기(LFSR)에서 출력되는 비트 스트림의 길이를 늘리면 난수의 정확도가 늘어나지만, 이는 전술한 바와 같이, 이상적인 난수에 가까워지는데 따른 특성으로 로테이션 방식의 경우엔 정확도가 증가하지 않는다. 그 이유는 로테이셔널 방식의 경우, 비트 스트림의 길이를 늘려서 얻을 수 있는 정확도 이득보다 시드 개수가 적어서 생기는 비정확도가 더 크기 때문이며, 실시예에 따른 SNG는 유니크 시드 방식처럼 정확도를 높이면서도 로테이셔널 방식 대비 난수의 정확도가 향상되는 특징을 갖는다. Increasing the length of the bit stream output from the random number generator (LFSR) increases the accuracy of the random number, but as described above, the accuracy is not increased in the case of the rotation method due to the fact that it approaches the ideal random number. The reason for this is that, in the case of the rotary method, the non-accuracy due to the smaller number of seeds is greater than the accuracy gain obtained by increasing the bit stream length. The SNG according to the embodiment has the same accuracy as that of the unique seed method, The accuracy of the random number is improved compared to the null method.
30 : LFSR : 난수 발생기
40 : 난수 추출기
50 : 비교기30: LFSR: random number generator 40: random number extractor
50: comparator
Claims (6)
데이터 입력단과 난수 입력단을 구비하며 상기 데이터 입력단으로 인가되는 데이터와 상기 난수 입력단으로 인가되는 난수열을 비트 단위로 비교하는 복수의 비교기;를 구비하는 것을 특징으로 하는 스토캐스틱 컴퓨팅 기반의 에스엔지.A random number sequence extractor for randomly extracting n bits out of m random number bit sequences generated by the random number generator to generate a plurality of random number sequences; And
And a plurality of comparators, each having a data input terminal and a random number input terminal, for comparing the data applied to the data input terminal and the random number sequence applied to the random number input terminal bit by bit.
상기 n은,
비트 수가 상기 m보다 작고, 1 보다 큰 것을 특징으로 하는 스토캐스틱 컴퓨팅 기반의 에스엔지.The method according to claim 1,
Wherein n is a number
Wherein the number of bits is less than m and greater than 1.
상기 난수열 발생기는,
유니크 시드(Seed)를 초기값으로 하여 상기 m개의 비트열을 생성하는 것을 특징으로 하는 스토캐스틱 컴퓨팅 기반의 에스엔지.The method according to claim 1,
The random number sequence generator includes:
And generates the m bit strings using a unique seed as an initial value.
상기 난수열 추출기는,
상기 m개의 난수 비트열로 mPn개의 난수열을 2차 생성하는 것을 특징으로 하는 스토캐스틱 컴퓨팅 기반의 에스엔지.The method according to claim 1,
The random number sequence extractor includes:
And m P n random number sequences are generated secondarily with the m random number bit strings.
상기 난수열 발생기는,
LFSR(Linear Feedback Shift Register) 난수열 발생기인 것을 특징으로 하는 스토캐스틱 컴퓨팅 기반의 에스엔지.The method according to claim 1,
The random number sequence generator includes:
And a linear feedback shift register (LFSR) random number generator.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020160181976A KR101914701B1 (en) | 2016-12-29 | 2016-12-29 | Stochastic computing based SNG and neuromorphic circuit using the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020160181976A KR101914701B1 (en) | 2016-12-29 | 2016-12-29 | Stochastic computing based SNG and neuromorphic circuit using the same |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20180077533A true KR20180077533A (en) | 2018-07-09 |
| KR101914701B1 KR101914701B1 (en) | 2019-01-14 |
Family
ID=62918826
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020160181976A Expired - Fee Related KR101914701B1 (en) | 2016-12-29 | 2016-12-29 | Stochastic computing based SNG and neuromorphic circuit using the same |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR101914701B1 (en) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20200050895A (en) * | 2018-11-02 | 2020-05-12 | 울산과학기술원 | Log-quantized mac for stochastic computing and accelerator comprising the same |
| EP3671575A3 (en) * | 2018-12-19 | 2020-09-16 | Samsung Electronics Co., Ltd. | Neural network processing method and apparatus based on nested bit representation |
| KR20200125226A (en) * | 2019-04-26 | 2020-11-04 | 울산과학기술원 | Method to Improve Accuracy in Stochastic Computing for Deep Neural Networks |
| CN113312862A (en) * | 2021-06-04 | 2021-08-27 | 上海交通大学 | LFSR-based random circuit hardware overhead minimization design method |
| CN113726314A (en) * | 2021-08-19 | 2021-11-30 | 江苏润石科技有限公司 | High-precision fast comparator and design method thereof |
| KR20230123130A (en) * | 2022-02-16 | 2023-08-23 | 한국전자통신연구원 | Spike neural network circuit including probabilistic operator |
| KR102752638B1 (en) * | 2023-12-05 | 2025-01-10 | 경북대학교 산학협력단 | Stochastic computing based counter and stochastic computing circuit using the same |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1840730A1 (en) * | 2006-03-31 | 2007-10-03 | Alain Schumacher | Method and apparatus for generating true random numbers |
-
2016
- 2016-12-29 KR KR1020160181976A patent/KR101914701B1/en not_active Expired - Fee Related
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20200050895A (en) * | 2018-11-02 | 2020-05-12 | 울산과학기술원 | Log-quantized mac for stochastic computing and accelerator comprising the same |
| EP3671575A3 (en) * | 2018-12-19 | 2020-09-16 | Samsung Electronics Co., Ltd. | Neural network processing method and apparatus based on nested bit representation |
| US12443829B2 (en) | 2018-12-19 | 2025-10-14 | Samsung Electronics Co., Ltd. | Neural network processing method and apparatus based on nested bit representation |
| KR20200125226A (en) * | 2019-04-26 | 2020-11-04 | 울산과학기술원 | Method to Improve Accuracy in Stochastic Computing for Deep Neural Networks |
| CN113312862A (en) * | 2021-06-04 | 2021-08-27 | 上海交通大学 | LFSR-based random circuit hardware overhead minimization design method |
| CN113312862B (en) * | 2021-06-04 | 2022-04-05 | 上海交通大学 | A Design Method for Minimizing Hardware Cost of Random Circuits Based on LFSR |
| CN113726314A (en) * | 2021-08-19 | 2021-11-30 | 江苏润石科技有限公司 | High-precision fast comparator and design method thereof |
| CN113726314B (en) * | 2021-08-19 | 2023-11-21 | 江苏润石科技有限公司 | High-precision fast comparator and design method thereof |
| KR20230123130A (en) * | 2022-02-16 | 2023-08-23 | 한국전자통신연구원 | Spike neural network circuit including probabilistic operator |
| KR102752638B1 (en) * | 2023-12-05 | 2025-01-10 | 경북대학교 산학협력단 | Stochastic computing based counter and stochastic computing circuit using the same |
Also Published As
| Publication number | Publication date |
|---|---|
| KR101914701B1 (en) | 2019-01-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101914701B1 (en) | Stochastic computing based SNG and neuromorphic circuit using the same | |
| CA2839152C (en) | Method of providing a portable true random number generator based on the microstructure and noise found in digital images | |
| CN110046513B (en) | Plaintext associated image encryption method based on Hopfield chaotic neural network | |
| CN106296560B (en) | Composite cascade chaotic color image encryption algorithm | |
| CN115694784A (en) | Data safety storage method | |
| KR20190055447A (en) | Apparatus and method for generating and using neural network model applying accelerated computation | |
| JP2015210709A (en) | Arithmetic processing unit | |
| CN105931175B (en) | A kind of New Image disorder method based on chaos technology | |
| Rožić et al. | Iterating von Neumann's post-processing under hardware constraints | |
| ES2284478T3 (en) | PROCEDURE AND APPARATUS FOR THE TREATMENT OF COLOR IMAGES. | |
| JP7689748B2 (en) | Stochastic signal generating element, stochastic neuron and its neural network | |
| KR20240049671A (en) | Npu for generating kernel of artificial neural network model and method thereof | |
| US20190278566A1 (en) | System and method for long addition and long multiplication in associative memory | |
| EP0405738A2 (en) | Numeric encoding and decoding method and apparatus for neural networks | |
| CN104573814A (en) | Software and hardware partition method based on multi-target shuffled frog leaps | |
| CN107833174A (en) | A kind of image encryption method based on Logistic chaos system algorithms | |
| CN110677552B (en) | Carrier-free information hiding method based on complete packet bases | |
| Kuzmenko et al. | Modification of the scheme of division of asmuth-bloom data with the application of the method of fractal geometry | |
| Kim et al. | Two-step spike encoding scheme and architecture for highly sparse spiking-neural-network | |
| US11500767B2 (en) | Method and device for determining a global memory size of a global memory size for a neural network | |
| Sasao | A Design method of address generators using hash memories | |
| JPH11177529A (en) | Hadamad code generation circuit | |
| CN109951282B (en) | Pseudo-random sequence generation method based on segmented CUBIC chaotic mapping | |
| Abbasian et al. | Solving cryptarithmetic problems using parallel genetic algorithm | |
| CN113378197A (en) | Color digital image encryption method based on weight trigram coding and decoding rule |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20221030 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20221030 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |