KR102652735B1 - 조절 가능한 메타-스테이블 전압을 이용하는 난수 생성기 및 난수 생성 방법 - Google Patents
조절 가능한 메타-스테이블 전압을 이용하는 난수 생성기 및 난수 생성 방법 Download PDFInfo
- Publication number
- KR102652735B1 KR102652735B1 KR1020160157442A KR20160157442A KR102652735B1 KR 102652735 B1 KR102652735 B1 KR 102652735B1 KR 1020160157442 A KR1020160157442 A KR 1020160157442A KR 20160157442 A KR20160157442 A KR 20160157442A KR 102652735 B1 KR102652735 B1 KR 102652735B1
- Authority
- KR
- South Korea
- Prior art keywords
- meta
- stable
- voltage
- random number
- inverter
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 19
- 238000005070 sampling Methods 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 4
- 230000003321 amplification Effects 0.000 claims description 3
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 23
- 230000001276 controlling effect Effects 0.000 description 10
- 239000003990 capacitor Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000006641 stabilisation Effects 0.000 description 2
- 238000011105 stabilization Methods 0.000 description 2
- 230000000087 stabilizing effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/582—Pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Amplifiers (AREA)
Abstract
본 발명은 조절 가능한 메타-스테이블 전압을 이용하는 난수 생성기에 관한 것이다. 난수 생성기는 입력단과 출력단이 서로 연결되어 메타-스테이블 전압을 생성하도록 구성되는 제 1 메타-스테이블 인버터, 동작 모드에 따라 상기 메타-스테이블 전압을 증폭하거나 또는 입력단과 출력단이 서로 연결되도록 구성되는 제 2 메타-스테이블 인버터, 상기 메타-스테이블 전압의 기초가 되는, 상기 제 1 메타-스테이블 인버터의 문턱 전압, 또는 상기 제 2 메타-스테이블 인버터의 공통 모드 입력 전압을 조절하는 컨트롤러, 그리고 상기 메타-스테이블 전압을 샘플링하여 난수를 생성하는 샘플러를 포함할 수 있다.
Description
본 발명은 난수 생성기에 관한 것으로, 좀 더 상세하게는, 조절 가능한 메타-스테이블 전압을 이용하는 난수 생성기에 관한 것이다.
정보 통신 기술의 발달에 따라, 정보를 암호화하는 것은 정보의 보안 유지를 위해 매우 중요하다. 정보의 암호화를 위해 일반적으로 난수(random number)가 필요하며, 난수 생성을 위한 난수 생성기 역시 필수적으로 요구된다. 일반적으로 암호화된 정보를 해독하기 어렵게 하기 위해서, 난수는 규칙적이어서는 안 되며, 특정한 하나의 값(예컨대, '0' 또는 '1')이 일정 길이 이상 연속적으로 출력되어서도 안 된다.
일반적으로 링-오실레이터 회로를 사용하는 난수 생성기의 경우, 지터(jitter)를 축적하는데 상당한 시간이 필요하므로, 난수를 생성하는 속도에 제약이 생긴다. 반면, 메타-스테이빌리티(meta-stability)를 사용하는 난수 생성기의 경우, 난수의 생성 속도는 빠르지만, 메타-스테이블 인버터와 증폭기 사이 또는 메타-스테이블 인버터들 사이의 미스매치로 인하여 난수의 품질이 저하되는 문제가 있다.
따라서, 정보의 신속한 암호화 및 정보의 보호를 위해, 난수의 생성 속도뿐만 아니라 난수의 품질도 향상시킬 수 있는 난수 생성기를 개발하는 것은 매우 중요하다.
본 발명의 기술적 사상은 조절 가능한 메타-스테이블 전압을 이용하여 난수를 생성하는 장치 및 방법을 제공한다.
본 발명의 실시 예에 따른 난수 생성기는 입력단과 출력단이 서로 연결되어 메타-스테이블 전압을 생성하도록 구성되는 제 1 메타-스테이블 인버터, 동작 모드에 따라, 상기 메타-스테이블 전압을 증폭하거나 또는 입력단과 출력단이 서로 연결되도록 구성되는 제 2 메타-스테이블 인버터, 상기 메타-스테이블 전압의 기초가 되는, 상기 제 1 메타-스테이블 인버터의 문턱 전압, 또는 상기 제 2 메타-스테이블 인버터의 공통 모드 입력 전압을 조절하는 컨트롤러, 그리고 상기 메타-스테이블 전압을 샘플링하여 난수를 생성하는 샘플러를 포함할 수 있다.
본 발명의 실시 예에 따른 난수 생성기는 입력단과 출력단이 서로 연결되어 메타-스테이블 전압을 생성하도록 구성되는 메타-스테이블 인버터, 상기 메타-스테이블 전압을 증폭하도록 구성되는 증폭기, 상기 메타-스테이블 전압의 기초가 되는, 메타-스테이블 인버터의 문턱 전압을 조절하는 컨트롤러, 그리고 상기 메타-스테이블 전압을 샘플링하여 난수를 생성하는 샘플러를 포함할 수 있다.
본 발명의 실시 예에 따른 난수 생성 방법은 입력단과 출력단이 서로 연결되는 메타-스테이블 인버터로부터 메타-스테이블 전압을 출력하는 단계, 상기 메타-스테이블 전압을 증폭하는 단계, 그리고 상기 증폭된 메타-스테이블 전압을 샘플링하여 난수를 생성하는 단계를 포함하되, 상기 메타-스테이블 전압의 기초가 되는, 상기 메타-스테이블 인버터의 문턱 전압은 조절 가능한 전압일 수 있다.
본 발명의 실시 예에 따르면, 조절 가능한 메타-스테이블 전압을 이용하여 난수를 생성할 수 있다.
뿐만 아니라, 본 발명의 실시 예에 따르면, 난수 생성 속도를 향상시킬 수 있으며, 특정한 값으로 스턱되지 않는 고품질의 난수를 생성할 수 있다.
도 1은 본 발명의 실시 예에 따른 난수 생성기를 예시적으로 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 난수 생성기의 제 1 모드시의 동작을 개략적으로 보여주는 블록도이다.
도 3은 본 발명의 실시 예에 따른 난수 생성기의 제 2 모드시의 동작을 개략적으로 보여주는 블록도이다.
도 4a 및 4b는 본 발명의 실시 예에 따른 난수 생성기를 이용하여 스턱된 난수를 바로잡는 과정을 개략적으로 보여주기 위한 그래프이다.
도 5a 및 5b는 본 발명의 실시 예에 따른 난수 생성기를 이용하여 스턱된 난수를 바로잡는 과정을 개략적으로 보여주기 위한 그래프이다.
도 6a는 도 1에 도시된 메타-스테이블 인버터를 예시적으로 보여주는 도면이다.
도 7은 도 1에 도시된 컨트롤러의 예시적인 구성을 보여주는 블록도이다.
도 8은 본 발명의 실시 예에 따른 난수 생성기의 동작 방법을 보여주는 순서도이다.
도 9는 도 8의 S110 단계를 좀 더 상세하게 보여주는 순서도이다.
도 10은 본 발명의 실시 예에 따른 난수 생성기를 예시적으로 보여주는 블록도이다.
도 11은 도 10에 도시된 전압 레귤레이터를 예시적으로 보여주는 블록도이다.
도 12는 본 발명의 실시 예에 따른 난수 생성기를 예시적으로 보여주는 블록도이다.
도 13은 도 12에 도시된 난수 생성기의 제 1 모드시의 동작을 개략적으로 보여주는 블록도이다.
도 14는 도 12에 도시된 난수 생성기의 제 2 모드시의 동작을 개략적으로 보여주는 블록도이다.
도 15a 내지 15b는 본 발명의 실시 예에 따른 난수 생성기를 이용하여 스턱된 난수를 바로잡는 과정을 개략적으로 보여주기 위한 그래프이다.
도 16은 본 발명의 실시 예에 따른 난수 생성기의 동작 방법을 보여주는 순서도이다.
도 17은 도 16에 도시된 S230 단계의 실시 예를 좀 더 상세하게 보여주는 순서도이다.
도 18은 도 16에 도시된 S230 단계의 다른 예를 좀 더 상세하게 보여주는 순서도이다.
도 19는 도 16에 도시된 S230 단계의 또 다른 예를 좀 더 상세하게 보여주는 순서도이다.
도 20은 본 발명의 실시 예에 따른 난수 생성기를 예시적으로 보여주는 블록도이다.
도 21은 도 20에 도시된 난수 생성기에 의해 생성되는 난수가 스턱되는 경우를 예시적으로 보여준다.
도 22는 도 20에 도시된 난수 생성기의 동작에 따라 스턱되지 않은 난수가 생성되는 것을 예시적으로 보여준다.
도 2는 본 발명의 실시 예에 따른 난수 생성기의 제 1 모드시의 동작을 개략적으로 보여주는 블록도이다.
도 3은 본 발명의 실시 예에 따른 난수 생성기의 제 2 모드시의 동작을 개략적으로 보여주는 블록도이다.
도 4a 및 4b는 본 발명의 실시 예에 따른 난수 생성기를 이용하여 스턱된 난수를 바로잡는 과정을 개략적으로 보여주기 위한 그래프이다.
도 5a 및 5b는 본 발명의 실시 예에 따른 난수 생성기를 이용하여 스턱된 난수를 바로잡는 과정을 개략적으로 보여주기 위한 그래프이다.
도 6a는 도 1에 도시된 메타-스테이블 인버터를 예시적으로 보여주는 도면이다.
도 7은 도 1에 도시된 컨트롤러의 예시적인 구성을 보여주는 블록도이다.
도 8은 본 발명의 실시 예에 따른 난수 생성기의 동작 방법을 보여주는 순서도이다.
도 9는 도 8의 S110 단계를 좀 더 상세하게 보여주는 순서도이다.
도 10은 본 발명의 실시 예에 따른 난수 생성기를 예시적으로 보여주는 블록도이다.
도 11은 도 10에 도시된 전압 레귤레이터를 예시적으로 보여주는 블록도이다.
도 12는 본 발명의 실시 예에 따른 난수 생성기를 예시적으로 보여주는 블록도이다.
도 13은 도 12에 도시된 난수 생성기의 제 1 모드시의 동작을 개략적으로 보여주는 블록도이다.
도 14는 도 12에 도시된 난수 생성기의 제 2 모드시의 동작을 개략적으로 보여주는 블록도이다.
도 15a 내지 15b는 본 발명의 실시 예에 따른 난수 생성기를 이용하여 스턱된 난수를 바로잡는 과정을 개략적으로 보여주기 위한 그래프이다.
도 16은 본 발명의 실시 예에 따른 난수 생성기의 동작 방법을 보여주는 순서도이다.
도 17은 도 16에 도시된 S230 단계의 실시 예를 좀 더 상세하게 보여주는 순서도이다.
도 18은 도 16에 도시된 S230 단계의 다른 예를 좀 더 상세하게 보여주는 순서도이다.
도 19는 도 16에 도시된 S230 단계의 또 다른 예를 좀 더 상세하게 보여주는 순서도이다.
도 20은 본 발명의 실시 예에 따른 난수 생성기를 예시적으로 보여주는 블록도이다.
도 21은 도 20에 도시된 난수 생성기에 의해 생성되는 난수가 스턱되는 경우를 예시적으로 보여준다.
도 22는 도 20에 도시된 난수 생성기의 동작에 따라 스턱되지 않은 난수가 생성되는 것을 예시적으로 보여준다.
아래에서는, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
도 1은 본 발명의 실시 예에 따른 난수 생성기(1000)를 예시적으로 보여주는 블록도이다. 난수 생성기(1000)는 메타-스테이블 인버터(1101), 증폭기(1102), 컨트롤러(1200) 및 샘플러(1300)를 포함할 수 있다. 그리고, 난수 생성기(1000)는 멀티플렉싱 회로(1400) 및 스위치(SW)를 더 포함할 수 있다.
메타-스테이블 인버터(1101)는 메타-스테이블 전압(V1)을 생성하도록 구성될 수 있다. 예를 들어, 메타-스테이블 인버터(1101)는 적어도 하나의 다이오드 연결된 PMOS (Diode-Connected PMOS) 트랜지스터와 적어도 하나의 다이오드 연결된 NMOS (Diode-Connected NMOS) 트랜지스터를 포함할 수 있다. 여기서, 메타-스테이블 전압(V1)은 다이오드 연결된 PMOS 트랜지스터와 다이오드 연결된 NMOS 트랜지스터의 저항값의 비에 따라 결정될 수 있다. 예를 들어, 메타-스테이블 인버터(1101)가 복수의 다이오드 연결된 PMOS 트랜지스터들과 복수의 다이오드 연결된 NMOS 트랜지스터들을 포함하는 경우, 메타-스테이블 인버터(1100)는 그들 각각을 개별적으로 동작시키기 위한 적절한 스위칭 소자들을 더 포함할 수 있다.
증폭기(1102)는 메타-스테이블 인버터(1101)로부터 출력된 메타-스테이블 전압(V1)을 증폭하여 증폭된 전압(V2)을 생성할 수 있다. 예를 들어, 증폭기(1102)의 구조는 메타-스테이블 인버터(1101)의 구조와 동일할 수 있다. 그러나, 증폭기(1102)의 구조는 이에 한정되지 않으며, 상대적으로 작은 진폭을 가지고 진동하는 메타-스테이블 전압(V1)을 증폭할 수 있는 다양한 구성을 취할 수 있다.
컨트롤러(1200)는 메타-스테이블 인버터(1101)로부터 출력되는 메타-스테이블 전압(V1)을 조절하도록 구성될 수 있다. 예를 들어, 컨트롤러(1200)는 메타-스테이블 인버터(1101)를 제어하기 위한 메타-스테이블 제어 신호(CTRL_MS)를 생성할 수 있다. 예를 들어, 메타-스테이블 제어 신호(CTRL_MS)는 메타-스테이블 인버터(1101)의 다이오드 연결된 PMOS 트랜지스터들과 다이오드 연결된 NMOS 트랜지스터들을 개별적으로 제어할 수 있다. 그 결과, 원하는 레벨의 메타-스테이블 전압(V1)이 생성될 수 있다.
샘플러(1300)는 증폭된 전압(V2) 및 샘플링 클럭(CLK)을 입력받아 난수를 생성할 수 있다. 예를 들어, 샘플러(1300)는 샘플링 클럭(CLK)에 동기화되어 입력되는 증폭 전압(V2)을 샘플링할 수 있다. 샘플러(1300)의 예로써 플립-플롭이 이용될 수 있으나, 이에 한정되는 것은 아니다. 플립-플롭 외에도, 샘플링 동작을 수행할 수 있는 다양한 논리 소자가 사용될 수 있다.
멀티플렉싱 회로(1400) 및 스위치(SW)는 메타 스테이블 인버터(1101)를 제어하여 난수를 생성하기 위해 적절하게 스위칭-온 되거나 스위칭-오프 될 수 있다. 예를 들어, 제 1 모드 (또는 증폭 모드)시, 멀티플렉싱 회로(1400)는 컨트롤러(1200)가 메타-스테이블 전압(V1)을 감지할 수 없도록 스위칭-오프 될 수 있다. 그리고, 제 1 모드시, 스위치(SW)는, 증폭기(1102)가 메타-스테이블 전압(V1)을 증폭할 수 있도록 스위칭-온 될 수 있다. 반면, 제 2 모드시, 멀티플렉싱 회로(1400)는 컨트롤러(1200)가 메타-스테이블 전압(V1)을 감지할 수 있도록 스위칭-온 될 수 있다. 그리고, 제 2 모드(또는 감지 모드)시, 스위치(SW)는 메타-스테이블 전압(V1)이 증폭기(1102)로 전달되지 않도록 스위칭-오프 될 수 있다.
본 발명의 난수 생성기(1000)는 샘플러(1300)로부터 출력되는 난수가 하나의 비트 '0' 또는 '1'로 스턱(stuck)되는 것을 방지하기 위해 다양한 동작 모드에서 동작할 수 있다. 예를 들어, 난수 생성기(1000)는 제 1 모드에서 난수를 생성할 수 있으며, 제 2 모드에서 메타-스테이블 인버터(1101)를 조절 또는 튜닝할 수 있다. 난수 생성기(1000)의 몇 가지 예시적인 동작 모드가 도 2 및 도 3에 도시되었다.
도 2는 본 발명의 실시 예에 따른 난수 생성기(1000)의 제 1 모드시의 동작을 개략적으로 보여주는 블록도이다. 설명의 이해를 돕기 위해 도 1을 함께 참조하여 설명하기로 한다.
제 1 모드시, 메타-스테이블 인버터(1101)는 메타-스테이블 전압(V1)을 생성할 수 있다. 메타-스테이블 인버터(1101)의 입력단과 출력단이 연결됨으로써, 다이오드 연결된 PMOS 와 다이오드 연결된 NMOS 트랜지스터의 저항 비에 기초하여 출력되는 특정한 레벨의 전압(이하, 문턱 전압이라 칭함)을 중심으로 하되 PMOS 트랜지스터와 NMOS 트랜지스터 자체의 노이즈가 섞여 있는 메타-스테이블 전압(V1)이 생성될 것이다. 이후, 증폭기(1102)는 메타-스테이블 전압(V1)을 증폭할 수 있으며, 샘플러(1300)는 증폭된 전압(V2)을 샘플링하여 난수를 생성할 수 있다.
이상적인 경우, 메타-스테이블 인버터(1101)와 증폭기(1102)가 매칭된다면, 즉, 메타-스테이블 전압(V1)의 진동의 중심이 되는 전압 레벨(즉, 문턱 전압)과 증폭기(1102)의 공통 모드 입력 전압의 레벨이 일치한다면, 샘플러(1300)로부터 출력되는 난수는 랜덤하게 배열되는 비트 '0' 및/또는 '1'을 포함할 것이다.
반면, 이상적이지 않은 경우, 메타-스테이블 인버터(1101)의 문턱 전압 레벨과 증폭기(1102)의 공통 모드 입력 전압의 레벨의 차이가 어떠한 임계값을 벗어날 수 있다. 이 경우, 샘플러(1300)로부터 출력되는 난수는 '0' 또는 '1'로 스턱(stuck)될 것이다. 즉, 고품질의 난수를 생성하기 위해, 난수가 '0' 또는 '1'로 스턱되지 않도록 메타-스테이블 인버터(1101)를 조절 또는 튜닝할 필요가 있다.
도 3은 본 발명의 실시 예에 따른 난수 생성기(1000)의 제 2 모드시의 동작을 개략적으로 보여주는 블록도이다. 설명의 이해를 돕기 위해 도 1을 함께 참조하여 설명하기로 한다.
제 2 모드시, 컨트롤러(1200)는 메타-스테이블 전압(V1)의 문턱 전압의 레벨을 감지할 수 있다. 이를 위해, 멀티플렉싱 회로(1400)는 메타-스테이블 인버터(1101)로부터 출력된 메타-스테이블 전압(V1)이 컨트롤러(1200)로 전달되도록 스위칭 동작을 수행할 것이다. 예를 들어, 메타-스테이블 전압(V1)이 어떠한 특정한 값의 상한(upper limit)과 하한(lower limit) 사이에서 진동한다면, 메타-스테이블 인버터(1101)의 문턱 전압의 레벨은 개략적으로 메타-스테이블 전압(V1)의 상한과 하한의 중간값일 것이다.
컨트롤러(1200)는 메타-스테이블 전압(V1)으로부터 증폭된 전압(V2)이 스턱되지 않도록 메타-스테이블 인버터(1101)와 증폭기(1102)를 매칭시킬 수 있다. 예를 들어, 컨트롤러(1200)는 메타-스테이블 인버터(1101)의 문턱 전압이 증폭기(1102)의 공통 모드 입력 전압과 일치하도록 메타-스테이블 인버터(1101)를 조절 또는 튜닝하는데 사용되는 메타-스테이블 제어 신호(CTRL_MS)를 생성할 수 있다. 예를 들어, 메타-스테이블 제어 신호(CTRL_MS)는 메타-스테이블 인버터(1101)를 구성하는 PMOS 트랜지스터들과 NMOS 트랜지스터들을 개별적으로 제어하는데 필요한 복수의 제어 신호들일 수 있다.
또는, 컨트롤러(1200)는, 증폭기(1102)의 공통 모드 입력 전압이 메타-스테이블 전압(V1)의 상한과 하한 사이에 있도록, 메타-스테이블 인버터(1101)의 문턱 전압을 조절할 수 있다. 추후 상세하게 설명되겠지만, 메타-스테이블 인버터(1101)의 문턱 전압은 메타-스테이블 인버터(1101)를 구성하는 PMOS 트랜지스터들과 NMOS 트랜지스터들 중 일부만 동작하도록 적절히 제어함으로써 조절될 수 있다.
제 2 모드에서 메타-스테이블 인버터(1101)의 문턱 전압의 조절 또는 튜닝이 완료되면, 멀티플렉싱 회로(1400)의 제어에 따라 메타-스테이블 인버터(1101)의 출력단과 컨트롤러(1200) 사이의 연결은 차단되고 메타-스테이블 인버터(1101)의 출력단과 증폭기(1102)는 연결됨으로써, 난수 생성기(1000)는 다시 제 1 모드로 진입할 것이다.
도 4a 및 4b는 본 발명의 실시 예에 따른 난수 생성기를 이용하여 스턱된 난수를 바로잡는 과정을 개략적으로 보여주기 위한 그래프이다. 예를 들어, 도 4a는 난수 생성기로부터 출력된 난수가 스턱되는 경우를 보여주고 있으며, 도 4b는 본 발명의 난수 생성기를 이용하여 스턱된 난수가 바로잡힌 경우를 예시적으로 보여준다. 설명의 이해를 돕기 위해 도 1 내지 도 3을 함께 참조하여 설명하기로 한다.
우선, 도 4a를 참조하면, 메타-스테이블 인버터(1101)로부터 출력되는 메타-스테이블 전압(V1)은 문턱 전압(Vth1)을 중심으로 하여 상하로 진동한다. 그리고, 메타-스테이블 전압(V1)의 상한은 문턱 전압(Vth1)과 △N의 합이며, 하한은 문턱 전압(Vth1)과 △N의 차라고 가정한다. 즉, △N은 메타-스테이블 전압(V1)의 상한과 문턱 전압(Vth1)의 차이이거나, 또는 문턱 전압(Vth1)과 메타-스테이블 전압(V1)의 하한의 차이일 수 있다. 물론 이러한 가정은 설명의 간략화를 위한 모델링일 뿐이며, 실제 메타-스테이블 전압(V1)의 파형은 이와 다를 수 있다.
만일, 메타-스테이블 전압(V1)의 상한이 증폭기(1102)의 공통 모드 입력 전압(Vth2)보다 작다면, 난수는 '0'으로 스턱될 것이다. 즉, 불규칙적으로 '0'과 '1'이 반복하는 난수가 생성되려면, 메타-스테이블 전압(V1)의 상한은 적어도 증폭기(1102)의 공통 모드 입력 전압(Vth2)보다 커야할 것이다.
물론 메타-스테이블 전압(V1)을 증폭하는 인버터의 개수, 메타-스테이블 전압(V1)을 증폭하는 인버터가 반전 증폭기인지 또는 비반전 증폭기인지 여부 등과 같은 다양한 요인에 따라, 난수는 '0'으로 스턱되거나 또는 '1'로 스턱될 수 있다. 본 실시 예에서 난수가 '0'으로 스턱되는 것으로 설명되는 것은 난수가 제대로 생성되지 않는다는 것을 의미할 뿐이며, 그 값은 중요하지 않다.
도 4b를 참조하면, 메타-스테이블 제어 신호(CTRL_MS)에 의해 메타-스테이블 인버터(1101)가 조절 또는 튜닝됨으로써, 증폭기(1102)의 공통 모드 입력 전압(Vth2)보다 큰 상한을 갖는 메타-스테이블 전압(V1)이 생성되는 것이 도시되었다. 이 경우, 공통 모드 입력 전압(Vth2)보다 큰 레벨을 갖는 메타-스테이블 전압(V1)으로부터 난수 '1'이 생성될 것이며(혹은 반대의 경우 '0'), 공통 모드 입력 전압(Vth2)보다 작은 레벨을 갖는 메타-스테이블 전압(V1)으로부터 난수 '0'이 생성될 것이며(혹은 반대의 경우 '1').
이상 설명된 도 4a와 도 4b를 종합해 보면, 난수가 한 값으로 스턱되지 않으려면, 메타-스테이블 전압(V1)의 상한은 증폭기(1102)의 공통 모드 입력 전압(Vth2)보다 적어도 커야 한다. 즉, 메타-스테이블 전압의 문턱 전압(Vth1')과 공통 모드 입력 전압(Vth2)의 차이(△Vth)는 △N보다 작아야 한다. 여기서 문턱 전압(Vth1')에 부가된 작은 따옴표는 메타-스테이블 제어 신호(CTRL_MS)에 의해 조절 또는 튜닝된 결과를 나타낸다. 예를 들어, △N은 메타-스테이블 전압(V1)의 상한과 문턱 전압(V1)의 차이일 수 있다. 또는 △N은 메타-스테이블 전압(V1)의 진폭의 1/2일 수 있다.
한편, 도 4a와는 달리, 증폭기(1102)의 문턱 전압(Vth2)이 메타-스테이블 인버터(1101)의 문턱 전압(Vth1)보다 작은 경우에도 난수는 특정한 값으로 스턱될 것이다. 이 경우, 난수는 도 4a와는 반대의 값으로 스턱될 것이다. 이러한 경우가 예시적으로 도 5a 및 도 5b에 도시되었다.
도 5a 및 5b는 본 발명의 실시 예에 따른 난수 생성기를 이용하여 스턱된 난수를 바로잡는 과정을 개략적으로 보여주기 위한 그래프이다. 본 실시 예에서 난수가 도 4a와는 반대의 값으로 스턱되는 것을 제외하고는, 도 5a 및 5b는 도 4a 및 4b와 유사하다.
우선, 도 5a를 참조하면, 메타-스테이블 인버터(1101)로부터 출력되는 메타-스테이블 전압(V1)은 문턱 전압(Vth1)을 중심으로 하여 상하로 진동한다. 만일, 메타-스테이블 전압(V1)의 하한이 증폭기(1102)의 공통 모드 입력 전압(Vth2)보다 크다면, 난수는 '1'로 스턱될 것이다. 즉, 불규칙적으로 '0'과 '1'이 반복하는 난수가 생성되려면, 메타-스테이블 전압(V1)의 하한은 적어도 증폭기(1102)의 공통 모드 입력 전압(Vth2)보다 작아야할 것이다.
도 5b를 참조하면, 메타-스테이블 제어 신호(CTRL_MS)에 의해 메타-스테이블 인버터(1101)가 조절 또는 튜닝됨으로써, 증폭기(1102)의 공통 모드 입력 전압(Vth2)보다 작은 하한을 갖는 메타-스테이블 전압(V1)이 생성되는 것이 도시되었다. 이 경우, 공통 모드 입력 전압(Vth2)보다 큰 레벨을 갖는 메타-스테이블 전압(V1)으로부터 난수 '1'이 생성될 것이며(혹은 반대의 경우 '0'), 공통 모드 입력 전압(Vth2)보다 작은 레벨을 갖는 메타-스테이블 전압(V1)으로부터 난수 '0'이 생성될 것이며(혹은 반대의 경우 '1').
이상 설명된 도 5a와 도 5b를 종합해 보면, 난수가 한 값으로 스턱되지 않으려면, 메타-스테이블 전압(V1)의 하한은 증폭기(1102)의 공통 모드 입력 전압(Vth2)보다 적어도 작아야 한다. 즉, 공통 모드 입력 전압(Vth2)과 메타-스테이블 전압의 문턱 전압(Vth1')의 차이(△Vth)는 △N보다 작아야 한다. 마찬가지로, 문턱 전압(Vth1')에 부가된 작은 따옴표는 메타-스테이블 제어 신호(CTRL_MS)에 의해 조절 또는 튜닝된 결과를 나타낸다.
나아가, 도 4b와 도 5b를 종합해 보면, 난수 생성기에 의해 생성되는 난수가 한 값으로 스턱되지 않으려면, 메타-스테이블 전압(V1)의 상한과 하한 사이에 증폭기(1102)의 공통 모드 입력 전압(Vth2)이 있도록, 메타-스테이블 인버터(1101)의 문턱 전압(Vth1)이 조절 또는 튜닝 되어야 할 것이다.
도 6a는 도 1에 도시된 메타-스테이블 인버터(1101)를 예시적으로 보여주는 도면이다. 설명의 이해를 돕기 위해, 도 1을 함께 참조하여 설명하기로 한다.
메타-스테이블 인버터(1101)는 복수의 다이오드 연결된 PMOS 트랜지스터들(P1~Pm)과 복수의 다이오드 연결된 NMOS 트랜지스터들(N1~Nm)을 포함할 수 있다. 도면에 도시된 바와 같이, PMOS 트랜지스터들(P1~Pm)의 소스 단자들과 NMOS 트랜지스터들(N1~Nm)의 드레인 단자들이 서로 연결됨으로서 메타-스테이블 전압(V1)이 생성될 수 있다.
메타 스테이블 인버터(1101)는 다이오드 연결된 PMOS 트랜지스터들(P1~Pm)과 다이오드 연결된 NMOS 트랜지스터들(N1~Nm)을 제어하기 위한 스위칭 트랜지스터들(PS1~PSm, NS1~NSm)을 포함할 수 있다. 예를 들어, PMOS 스위칭 트랜지스터들(PS1~PSm) 각각은, 각각의 PMOS 트랜지스터의 일단과 전원 전압(VDD) 사이에 연결될 수 있으며, NMOS 스위칭 트랜지스터들(NS1~NSm) 각각은, 각각의 NMOS 트랜지스터의 일단과 접지 전압 사이에 연결될 수 있다.
메타 스테이블 인버터(1101)는 PMOS 스위칭 트랜지스터들(PS1~PSm) 각각을 개별적으로 제어하기 위한 제 1 디코더(DEC1), 및 NMOS 스위칭 트랜지스터들(NS1~NSm) 각각을 개별적으로 제어하기 위한 제 2 디코더(DEC2)를 포함할 수 있다. 도면에는 PMOS 스위칭 트랜지스터들(PS1~PSm)이 서로 연결되어 있는 것처럼 보이나, 이들은 서로 연결되어 있지 않다. 즉, PMOS 스위칭 트랜지스터들(PS1~PSm) 각각의 게이트 전극은 제 1 디코더(DEC1)와만 연결되어 있다. 유사하게, 즉, NMOS 스위칭 트랜지스터들(NS1~NSm) 각각의 게이트 전극은 제 2 디코더(DEC2)와만 연결되어 있다.
제 1 및 제 2 디코더들(DEC1, DEC2)은 제 1 메타-스테이블 제어 신호(CTRL_MS1)와 제 2 메타-스테이블 제어 신호(CTRL_MS2)에 의해 각각 제어될 수 있다. 메타-스테이블 제어 신호들(CTRL_MS1, CTRL_MS2)에 의해 스위칭 트랜지스터들(PS1~PSm, NS1~NSm)이 개별적으로 턴-온 되거나 턴-오프 됨으로써, 원하는 레벨의 메타-스테이블 전압(V1), 좀 더 상세하게는 원하는 레벨의 문턱 전압(Vth)이 생성될 수 있다. 이러한 예시적인 실시 예가 도 6b에 도시되었다.
도 6b는 원하는 레벨의 메타-스테이블 전압을 생성하기 위해, 조절되거나 튜닝된 메타-스테이블 인버터의 일 예를 보여주는 도면이다. 예시적으로, 제 1 메타-스테이블 제어 신호(CTRL_MS1)에 의해 제 1, 2 PMOS 스위칭 트랜지스터들(PS1, PS2)이 턴-온 되었으며, 제 2 메타-스테이블 제어 신호(CTRL_MS2)에 의해 제 2, m PMOS 스위칭 트랜지스터들(PS2, PSm)이 턴-온 되었다고 가정하자.
이 경우, 메타-스테이블 인버터(1101)는 도 6b에 도시된 것과 같이 예시적으로 모델링 될 수 있을 것이다. 저항들(RP1, PR2)은 PMOS 트랜지스터들(P1, P2)의 저항 성분을 각각 나타내며, 저항들(RN1, PN2)은 NMOS 트랜지스터들(N2, Nm)의 저항 성분을 각각 나타낸다. 일반적인 전압 분배 법칙에 따라, 메타-스테이블 전압(V1)은 저항들(RP1, PR2)과 저항들(RN1, PN2)의 비에 전원 전압(VDD)을 곱한 값으로 표현될 수 있다. 물론, PMOS 트랜지스터들(P1, P2)과 NMOS 트랜지스터들(N2, Nm) 자체의 기생 성분에 의해, 메타-스테이블 전압(V1)은 문턱 전압(Vth1)을 가지고 상하로 진동하는 노이즈일 것이다.
본 실시 예에서, 메타-스테이블 인버터(1101)는 m개의 PMOS 트랜지스터들(P1~Pm)과 m개의 NMOS 트랜지스터들(P1~Pm)을 포함하고 있으므로, m×m 비트의 해상도를 갖는 메타-스테이블 전압(V1)이 생성될 수 있다. 여기서, 트랜지스터들의 개수 m은 난수 생성기(1000)가 적용되는 시스템의 사양, 칩 면적, 비용 등을 고려하여 다양하게 정해질 수 있을 것이다.
도 7은 도 1에 도시된 컨트롤러(1200)의 예시적인 구성을 보여주는 블록도이다. 설명의 이해를 돕기 위해, 도 1 및 도 6a를 함게 참조하여 설명하기로 한다.
컨트롤러(1200)는 증폭기(1202), 아날로그 디지털 컨버터(1204), 및 메타-스테이블 전압 제어 로직(1206)을 포함할 수 있다.
증폭기(1202)는 메타-스테이블 전압(V1)을 입력받아 증폭시킬 수 있다. 예를 들어, 증폭기(1202)는 전압 팔로워로 구현될 수 있다.
아날로그 디지털 컨버터(1204)는 증폭기(1202)의 출력 전압을 컨버팅하여 디지털 값을 생성할 수 있다. 즉, 아날로그 디지털 컨버터(1204)의 출력은 디지털화된 메타-스테이블 전압(V1)의 값일 것이다.
메타-스테이블 전압 제어 로직(1206)은 메타-스테이블 인버터(1101)를 조절 또는 튜닝할 필요가 있는지 판단할 수 있다. 예를 들어, 메타-스테이블 전압 제어 로직(1206)은 증폭기(1102)의 공통 모드 입력 전압 값을 미리 저장할 수 있다. 이 경우, 메타-스테이블 전압 제어 로직(1206)은 디지털화된 메타-스테이블 전압 값과 미리 저장된 증폭기(1102)의 공통 모드 입력 전압 값을 비교함으로써, 메타-스테이블 인버터(1101)의 조절을 판단할 것이다.
비교 결과, 디지털화된 메타-스테이블 전압 값이 허용 범위 내에 있다면, 메타-스테이블 인버터(1101)를 조절할 필요는 없을 것이다. 여기서 허용 범위란, 앞서 도 4a 내지 5b에서 설명된 메타 스테이블 전압(V1)의 상한 및 하한의 범위에 관한 것이다.
반면, 비교 결과, 디지털화된 메타-스테이블 전압 값이 허용 범위 밖에 있다면, 메타-스테이블 인버터(1101)의 문턱 전압(예컨대, 도 4a의 Vth1)을 조절하기 위한 메타-스테이블 제어 신호(CTRL_MS)를 생성할 수 있다. 메타-스테이블 제어 신호(CTRL_MS)는 스위칭 트랜지스터들(PS1~PSm, NS1~NSm) 각각을 개별적으로 제어하는 신호들을 포함할 수 있다. 메타-스테이블 제어 신호(CTRL_MS)가 스위칭 트랜지스터들(PS1~PSm, NS1~NSm)을 제어함으로써, 원하는 레벨의 문턱 전압(Vth1) 또는 메타-스테이블 전압(V1)을 생성하는 것은 앞서 도 6a 및 6b에서 상세하게 설명하였으므로 생략하기로 한다.
도 8은 본 발명의 실시 예에 따른 난수 생성기의 동작 방법을 보여주는 순서도이다. 설명의 이해를 돕기 위해 도 1 및 도 7을 함께 참조하여 설명하기로 한다.
S110 단계에서, 메타-스테이블 인버터(1101)를 이용하여 난수가 생성될 수 있다. 예를 들어, 메타-스테이블 인버터(1101) 외에도, 증폭기(1102), 및 샘플러(1300)가 더 이용될 것이다.
S120 단계에서, 메타-스테이블 인버터(1101)의 출력, 즉 메타-스테이블 전압(V1)이 허용 범위 내에 있는지 여부가 판단될 수 있다. 여기서 허용 범위는 도 4a 내지 5b에서 설명된 메타 스테이블 전압(V1)의 상한 및 하한의 범위에 관한 것이다. 이러한 판단은 메타-스테이블 전압 제어 로직(1206)에 의해 실행될 수 있다.
예를 들어, 본 단계는 실시간으로 또는 주기적으로 실행될 수 있다. 또는, 본 단계는 특정한 값(즉, '0' 또는 '1')으로 난수가 스턱됨이 감지되면 실행될 수 있다. 이 경우, 본 발명의 난수 생성기(1000)는 스턱된 난수를 감지하는 별도의 센서를 더 포함할 수 있다.
판단 결과에 따라 동작 분기가 발생할 것이다. 만일, 메타-스테이블 전압(V1)이 허용 범위 내에 있다면, S110 단계가 실행되어 난수 생성이 계속될 것이다. 반면, 메타-스테이블 전압(V1)이 허용 범위 밖에 있다면, S120 단계가 실행될 것이다.
S130 단계에서, 메타-스테이블 인버터(1101)가 허용 범위 내의 메타-스테이블 전압을 생성하도록 메타-스테이블 인버터(1101)가 조절될 것이다. 예를 들어, 이러한 조절은 메타-스테이블 인버터(1101)를 구성하는 다이오드 연결된 PMOS들과 다이오드 연결된 NMOS에 연결된 스위칭 트랜지스터들을 개별적으로 제어함으로써 실행될 수 있다. 메타-스테이블 인버터(1101)의 조절 또는 튜닝이 완료되면, S110 단계가 다시 실행될 것이다.
비록 도면에 도시되지는 않았지만, 본 발명의 실시 예에 따른 난수 생성기(1000)는 별도의 커맨드 또는 명령이 있을 때까지 난수 생성을 지속할 것이다. 예를 들어, 이러한 커맨드 또는 명령은 외부(예컨대, 난수 생성기가 장착된 전자 기기 등)로부터 수신될 수 있다. 예를 들어, 이러한 명령은 S110 단계 내지 S130 단계 중 어느 단계에서라도 수신될 수 있으며, 난수 생성 중지 명령이 수신 시, 난수 생성은 바로 중지될 수 있다.
뿐만 아니라, 비록 본 실시 예에서는 난수가 먼저 생성된 후, 메타-스테이블 인버터(1101)를 조절하는 것으로 설명되었으나, 이들의 순서는 바뀔 수 있다. 즉, 난수 생성 이전에, 메타-스테이블 인버터(1101)를 먼저 조절 또는 튜닝한 후, 난수를 생성할 수 있다.
도 9는 도 8의 S110 단계를 좀 더 상세하게 보여주는 순서도이다. 설명의 이해를 돕기 위해 도 1을 함께 참조하여 설명하기로 한다.
S112 단계에서, 메타-스테이블 인버터(1101)를 이용하여 메타-스테이블 전압(V1)이 생성될 수 있다. 다이오드 연결된 PMOS 트랜지스터들과 다이오드 연결된 NMOS 트랜지스터들의 저항비에 기초하여, 문턱 전압(Vth1)을 기준으로 하여 상하로 진동하는 노이즈가 메타-스테이블 인버터(1101)로부터 출력될 것이다.
S114 단계에서, 증폭기(1102)에 의해 메타-스테이블 전압(V1)이 증폭될 수 있다. 증폭기(1102)의 구조는 메타-스테이블 인버터(1101)와 동일/유사할 수 있으나, 이에 한정되지 않는다.
S116 단계에서, 샘플링 클럭(CLK)에 동기화되어 입력되는 증폭된 전압이 샘플링될 수 있다. 샘플링 결과, 난수가 생성될 것이다.
도 10은 본 발명의 실시 예에 따른 난수 생성기(2000)를 예시적으로 보여주는 블록도이다. 설명의 이해를 돕기 위해, 도 6a를 함께 참조하여 설명하기로 한다.
난수 생성기(2000)는 메타-스테이블 인버터(2101), 증폭기(2102), 컨트롤러(2200), 샘플러(2300), 멀티플렉싱 회로(2400) 및 스위치(SW)를 포함할 수 있다. 그리고, 난수 생성기(2000)는 전압 레귤레이터(2500) 및 분주기(2600)를 더 포함할 수 있다. 난수 생성기(2000)가 전압 레귤레이터(2500)와 분주기(2600)를 더 포함한다는 것을 제외하고, 난수 생성기(2000)는 도 1의 난수 생성기(1000)와 실질적으로 동일하다. 그러므로 중복되는 설명은 생략하기로 한다.
전압 레귤레이터(2500)는 난수 생성기(2000)에 안정적인 전압원을 공급하도록 구성될 수 있다. 앞서 도 4a 내지 5b에서 설명된 바와 같이, 메타-스테이블 인버터(2101)의 문턱 전압은 허용 범위 이내에 있어야 하며, 이를 위해서는, 메타-스테이블 인버터(2101)로의 안정적인 전압 공급(예컨대, 도 6a의 VDD)이 전제되어야 한다. 전원 전압(VDD)이 안정적이지 않다면, 메타-스테이블 인버터(2101)로부터 출력되는 메타-스테이블 전압(V1), 좀 더 정확하게는 문턱 전압이 허용 범위를 벗어날 수 있기 때문이다.
예를 들어, 전압 레귤레이터(2500)에 의해 생성된 전원 전압(VDD)은 메타-스테이블 인버터(2101)의 PMOS 스위칭 트랜지스터들(PS1~PSm)의 드레인 단자들로 제공될 수 있다. 그리고, 전원 전압(VDD)은 증폭기(2102)를 구동시키기 위해 제공될 수 있다.
분주기(2600)는 고속으로 진동하는 노이즈(즉, 메타-스테이블 전압)의 샘플링을 용이하게 하기 위해 제공될 수 있다. 예를 들어, 분주기(2600)의 예로서 플립-플롭이 이용될 수 있다. 이 경우, 플립-플롭의 입력(D)과 출력(Q)이 서로 연결됨으로써, 플립-플롭은 분주기로 동작할 수 있다. 그러나, 분주기의 구조는 이에 한정되지 않으며, 다양한 논리 소자가 이용될 수 있다.
도 11은 도 10에 도시된 전압 레귤레이터(2500)를 예시적으로 보여주는 블록도이다. 예를 들어, 전압 레귤레이터(2500)는 LDO (Low Dropout) 레귤레이터와 같은 선형 레귤레이터일 수 있다. 그러나, 이에 한정되지 않으며, 메타-스테이블 인버터(2101) 및/또는 증폭기(2102)를 안정적으로 구동하기 위한 다양한 구성의 레귤레이터가 이용될 수 있다.
전압 레귤레이터(2500)는 에러 증폭기(EA), 제 1 및 제 2 저항(R1, R2), 패스 트랜지스터(PT), 스위칭 트랜지스터(ST), 안정화 커패시터(C), 및 보호 회로(2510)를 포함할 수 있다.
에러 증폭기(EA)의 제 1 입력 단자로 기준 전압(Vref)이 인가될 수 있다. 에러 증폭기(EA)의 출력 단자는 패스 트랜지스터(PT)의 게이트 전극에 연결될 수 있다. 패스 트랜지스터(PT)의 드레인 단자로 외부로부터 공급된 전압(VS)이 인가될 수 있으며, 소스 단자를 통하여 전원 전압(VDD)이 출력될 수 있다. 에러 증폭기(EA)의 제 2 입력 단자와 패스 트랜지스터(PT)의 소스 단자 사이에 제 1 저항(R1)이 연결될 수 있으며, 에러 증폭기(EA)의 제 2 입력 단자와 접지 전극 사이에는 제 2 저항(R2)이 연결될 수 있다.
스위칭 트랜지스터(ST)는 온/오프 신호에 의해 턴-온 되거나 턴-오프 되어, 원하는 타이밍에 전원 전압(VDD)을 메타-스테이블 인버터(2101) 및/또는 증폭기(2102)로 제공하도록 구성될 수 있다. 예를 들어, 난수 생성기(2000)가 난수를 생성하거나, 또는 난수 생성기(2000)의 메타-스테이블 인버터(2101)를 조절 또는 튜닝하는 스위칭 트랜지스터(ST)는 턴-온 될 것이다.
안정화 커패시터(C)가 패스 트랜지스터(PT)의 소스 단자와 접지 전극 사이에 연결될 수 있다. 안정화 커패시터(C)는 전원 전압(VDD)이 급격히 변화하는 것을 방지하여 전원 전압(VDD)이 안정적으로 공급될 수 있도록 한다. 실시 예에 따라서, 안정화 커패시터(C)는 제공되지 않을 수도 있다.
보호 회로(2510)는 특정한 범위를 벗어나는 전원 전압(VDD)이 생성되는 것을 방지할 수 있다. 예를 들어, 보호 회로(2510)는 특정한 레벨을 초과하는 전압의 생성을 방지하는 과전압 보호 장치(over voltage protection) 및 특정한 레벨 미만의 전압의 생성을 방지하는 저전압 보호 장치(under voltage protection)를 포함할 수 있다.
그러나, 도 11에 도시된 전압 레귤레이터(2500)의 구성은 예시적인 것이며, 그 구성은 이에 한정되지 않는다. 예를 들어, NMOS 트랜지스터로 구현된 패스 트랜지스터를 포함하는 전압 레귤레이터, 또는 NMOS 트랜지스터와 PMOS 트랜지스터들의 조합으로 구성된 전압 레귤레이터 등 다양한 구성이 이용될 수 있다.
도 12는 본 발명의 실시 예에 따른 난수 생성기(3000)를 예시적으로 보여주는 블록도이다. 난수 생성기(3000)는 제 1 메타-스테이블 인버터(3101), 제 2 메타-스테이블 인버터(3102), 컨트롤러(3200), 및 샘플러(3300)를 포함할 수 있다. 난수 생성기(3000)는 멀티플렉싱 회로(3400), 제 1 스위치(SW1), 및 제 2 스위치(SW2)를 더 포함할 수 있다.
제 1 메타-스테이블 인버터(3101)는 메타-스테이블 전압(V1)을 생성하도록 구성될 수 있다. 예를 들어, 메타-스테이블 인버터(3101)는 적어도 하나의 다이오드 연결된 PMOS 트랜지스터와 적어도 하나의 다이오드 연결된 NMOS 트랜지스터를 포함할 수 있다. 제 1 메타-스테이블 인버터(3101)의 구성 및 동작은 앞서 도 6a에 도시된 것과 실질적으로 동일하다. 따라서 중복되는 설명은 생략하기로 한다.
제 2 메타-스테이블 인버터(3102)는 메타-스테이블 전압(V1)을 입력받아 증폭된 전압(V2)을 생성할 수 있다. 제 2 메타-스테이블 인버터(3102)의 구성은 제 1 메타-스테이블 인버터(3101)의 구성과 실질적으로 동일할 수 있다. 그러므로 중복되는 설명은 생략하기로 한다.
컨트롤러(3200)는 제 1 메타-스테이블 인버터(3101)로부터 출력되는 메타-스테이블 전압(V1), 좀 더 상세하게는, 제 1 메타-스테이블 인버터(3101)의 문턱 전압을 조절하도록 구성될 수 있다. 게다가, 컨트롤러(3200)는 제 2 메타-스테이블 인버터(3102)의 공통 모드 입력 전압을 조절하도록 구성될 수 있다.
예를 들어, 컨트롤러(3200)는 제 1 메타-스테이블 인버터(3101)의 문턱 전압과 제 2 메타-스테이블 인버터(3102)의 공통 모드 입력 전압이 미리 설정된 값과 일치하도록 제 1 및 제 2 메타-스테이블 인버터들(3101, 3012)을 조절할 수 있다. 예를 들어, 컨트롤러(3200)는 제 1 메타-스테이블 인버터(3101)의 문턱 전압이 미리 설정된 값과 일치하도록 제 1 메타-스테이블 인버터(3101)를 조절할 수 있으며, 난수가 스턱되지 않도록하는 허용 범위 내에서 제 2 메타-스테이블 인버터(3102)를 조절할 수 있다. 이 경우, 컨트롤러(3200)는 제 1 및 제 2 메타-스테이블 인버터(3101, 3102)을 조절 또는 튜닝하기 위한 메타-스테이블 제어 신호(CTRL_MS)를 생성할 것이다.
또는, 컨트롤러(3200)는 제 1 메타-스테이블 인버터(3101)의 문턱 전압이 제 2 메타-스테이블 인버터(3102)의 공통 모드 입력 전압과 일치하도록 (또는 허용 범위 내에 있도록) 제 1 및 메타-스테이블 인버터(3101)를 조절할 수 있다. 이 과정은 앞서 도 4a 내지 도 5b를 통하여 설명된 것과 유사할 것이다. 이 경우, 컨트롤러(3200)는 제 1 메타-스테이블 인버터(3101)를 조절 또는 튜닝하기 위한 메타-스테이블 제어 신호(CTRL_MS)를 생성할 것이다.
또는, 컨트롤러(3200)는 제 2 메타-스테이블 인버터(3102)의 공통 모드 입력 전압이 제 1 메타-스테이블 인버터(3101)의 문턱 전압과 일치하도록 (또는 허용 범위 내에 있도록) 제 2 및 메타-스테이블 인버터(3102)를 조절할 수 있다. 이 경우, 컨트롤러(3200)는 제 2 메타-스테이블 인버터(3102)를 조절 또는 튜닝하기 위한 메타-스테이블 제어 신호(CTRL_MS)를 생성할 것이다.
본 실시 예에서는, 앞서 도 1 내지 도 11을 통하여 설명된 실시 예와는 달리 두 개의 인버터들(3101, 3102)이 조절 또는 튜닝 된다. 따라서, 난수의 스턱에 대해 좀 더 유연하게 대처할 수 있다.
샘플러(3300)는 샘플링 클럭(CLK)에 동기화되어 입력되는 증폭 전압(V2)을 샘플링할 수 있다. 샘플러(3300)의 예로써 플립-플롭이 이용될 수 있으나, 이에 한정되는 것은 아니다. 플립-플롭 외에도, 샘플링 동작을 수행할 수 있는 다양한 논리 소자가 사용될 수 있다.
멀티플렉싱 회로(3400) 및 스위치들(SW1, SW2)은 난수 생성기(3000)의 동작 모드에 따라 적절하게 스위칭-온 되거나 스위칭-오프 될 수 있다.
예를 들어, 제 1 동작 모드시, 멀티플렉싱 회로(3400)는 컨트롤러(3200)가 메타-스테이블 전압(V1)을 감지할 수 없도록 스위칭-오프 될 수 있다. 그리고, 제 1 모드시, 제 1 스위치(SW1)는 제 2 메타-스테이블 인버터(3102)가 메타-스테이블 전압(V1)을 증폭할 수 있도록 스위칭 될 수 있다. 그리고, 제 2 스위치(SW2)는 증폭된 전압(V2)이 샘플러(3300)로 입력될 수 있도록 스위칭 될 수 있다.
반면, 제 2 모드시, 멀티플렉싱 회로(3400)는 컨트롤러(3200)가 메타-스테이블 전압(V1) 및 증폭된 전압(V2)을 감지할 수 있도록 스위칭-온 될 수 있다. 그리고, 제 2 모드시, 제 1 스위치(SW1)는 메타-스테이블 전압(V1)이 제 2 메타-스테이블 인버터(3102)로 전달되지 않도록 그리고 증폭된 전압(V2)이 제 2 메타-스테이블 인버터(3102)로 입력될 수 있도록 스위칭 될 수 있다. 그리고, 제 2 스위치(SW2)는 증폭된 전압(V2)이 샘플러(3300)로 전달되지 않도록 그리고 증폭된 전압(V2)이 제 2 메타-스테이블 인버터(3102)로 입력될 수 있도록 스위칭 될 수 있다.
본 발명의 난수 생성기(3000)는 샘플러(3300)로부터 출력되는 난수가 하나의 비트 '0' 또는 '1'로 스턱되는 것을 방지하기 위해 제 1 및 제 2 동작 모드들에서 동작할 수 있으며, 제 2 모드에서 제 1 및 제 2 메타-스테이블 인버터들(3101, 3102)을 조절 또는 튜닝할 수 있다.
물론, 실시 예에 따라서, 난수 생성기(3000)는 앞서 도 10을 통하여 설명된 것과 같은 전압 레귤레이터(2500) 및/또는 분주기(2600)를 더 포함할 수 있다. 추가로, 제 2 메타-스테이블 인버터(3102)와 샘플러(3300) 사이에 증폭기(예를 들어, 도 1의 1102)가 더 구비될 수도 있다. 이에 대한 상세한 설명은 생략하기로 한다.
도 13은 도 12에 도시된 난수 생성기(3000)의 제 1 모드시의 동작을 개략적으로 보여주는 블록도이다. 설명의 이해를 돕기 위해 도 12를 함께 참조하여 설명하기로 한다.
제 1 모드에서, 제 1 메타-스테이블 인버터(3101)는 메타-스테이블 전압(V1)을 생성할 수 있으며, 제 2 메타-스테이블 인버터(3102)는 메타-스테이블 전압(V1)을 증폭시킬 수 있다. 비록 제 2 메타-스테이블 인버터(3102)는 도 1에 도시된 증폭기(1102)와 구성이 다르다 하더라도, 메타-스테이블 전압(V1)을 증폭시킨다는 점에서, 도 13에 도시된 실시 예는 도 2에 도시된 실시 예와 유사하다. 그러므로, 상세한 설명은 생략하기로 한다.
도 14는 도 12에 도시된 난수 생성기(3000)의 제 2 모드시의 동작을 개략적으로 보여주는 블록도이다. 설명의 이해를 돕기 위해 도 12를 함께 참조하여 설명하기로 한다.
제 2 모드시, 컨트롤러(3200)는 메타-스테이블 전압(V1), 즉, 제 1 메타-스테이블 인버터(3101)의 문턱 전압의 레벨을 감지할 수 있다. 나아가, 컨트롤러(3200)는 증폭된 전압(V2), 즉, 제 2 메타-스테이블 인버터(3102)의 공통 모드 입력 전압의 레벨을 감지할 수 있다.
전압들의 감지를 위해, 컨트롤러(3200)는 도7에 도시된 것과 같은 증폭기, 아날로그 디지털 컨버터, 및 메타-스테이블 전압 제어 로직을 포함할 수 있다. 다만, 2개의 전압을 각각 감지하기 위해, 컨트롤러(3200)는 적어도 2개의 증폭기들, 적어도 2개의 아날로그 디지털 컨버터, 및 메타-스테이블 전압 제어 로직을 포함할 것이다. 2개의 전압을 감지한다는 것을 제외하고, 컨트롤러(3200)의 기능은 도 7에 도시된 컨트롤러(1200)의 기능과 유사하다.
컨트롤러(3200)는 메타-스테이블 전압(V1)으로부터 증폭된 전압(V2)이 스턱되지 않도록 제 1 메타-스테이블 인버터(3101)와 제 2 메타-스테이블 인버터(3102)를 매칭시킬 수 있다. 예를 들어, 컨트롤러(3200)는 제 1 메타-스테이블 인버터(3101)의 문턱 전압과 제 2 메타-스테이블 인버터(3102)의 공통 모드 입력 전압이 일치하도록 메타-스테이블 인버터들(3101, 3012) 중 적어도 하나를 제어할 수 있다.
또는, 컨트롤러(3200)는, 제 2 메타-스테이블 인버터(3102)의 공통 모드 입력 전압이 메타-스테이블 전압(V1)의 상한과 하한 사이에 있도록, 메타-스테이블 인버터들(3101, 3102) 중 적어도 하나를 제어할 수 있다.
제 2 모드에서 메타-스테이블 인버터들(3101, 3102) 중 적어도 하나의 조절 또는 튜닝이 완료되면, 멀티플렉싱 회로(3400)의 제어에 따라 제 1 메타-스테이블 인버터(3101)의 출력단과 컨트롤러(3200) 사이의 연결은 차단되고 제 1 메타-스테이블 인버터(3101)의 출력단과 제 2 메타-스테이블 인버터(3102)가 연결됨으로써, 난수 생성기(3000)는 다시 제 1 모드로 진입할 것이다.
도 15a 내지 15b는 본 발명의 실시 예에 따른 난수 생성기를 이용하여 스턱된 난수를 바로잡는 과정을 개략적으로 보여주기 위한 그래프이다. 예를 들어, 도 15a는 난수 생성기로부터 출력된 난수가 스턱되는 경우를 보여주고 있으며, 도 15b 내지 15d는 본 발명의 난수 생성기를 이용하여 스턱된 난수가 바로잡힌 경우를 예시적으로 보여준다. 설명의 이해를 돕기 위해 도 12 내지 도 14를 함께 참조하여 설명하기로 한다.
우선, 도 15a를 참조하면, 제 1 메타-스테이블 인버터(3101)로부터 출력되는 메타-스테이블 전압(V1)은 문턱 전압(Vth1)을 중심으로 하여 상하로 진동한다. 도면에 표시된 타깃 전압(Vtar)은 조정될 또는 튜닝될 메타-스테이블 전압(V1)을 나타낸다. 그리고, 메타-스테이블 전압(V1)의 상한은 문턱 전압(Vth1)과 △N의 합이며, 하한은 문턱 전압(Vth1)과 △N의 차라고 가정한다. 도 15a에서는, 메타-스테이블 전압(V1)의 상한이 제 2 메타-스테이블 인버터(3102)의 공통 모드 입력 전압보다 작기 때문에, 난수는 스턱될 것이다. 이는 앞서 도 4a에서 설명된 것과 유사하므로, 상세한 설명은 생략하기로 한다.
도 15b는 제 1 메타-스테이블 인버터(3101) 및 제 2 메타-스테이블 인버터(3102)를 모두 조절하는 경우를 보여준다.
메타-스테이블 제어 신호(CTRL_MS)의 제어 하에 제 1 메타-스테이블 인버터(3101)가 조절 또는 튜닝됨으로써, 제 1 메타-스테이블 인버터(3101)는 조절된 문턱 전압(Vth1') 또는 타깃 전압(Vtar)을 기준으로 상하로 진동하는 메타 스테이블 전압(V1)을 생성할 수 있다. 제 1 메타-스테이블 인버터(3101)의 문턱 전압(Vth1)의 조절은 앞서 도 6a에서 설명된 것과 유사하게 실행될 것이다. 그러나, 제 1 메타-스테이블 인버터(3101)만 조절한다면, 난수 생성기(3000)로부터 출력되는 난수는 여전히 스턱될 것이다. 따라서, 제 2 메타-스테이블 인버터(3101)도 조절할 필요가 있다.
메타-스테이블 제어 신호(CTRL_MS)의 제어 하에 제 2 메타-스테이블 인버터(3102)가 조절 또는 튜닝됨으로써, 제 2 메타-스테이블 인버터(3102)의 공통 모드 입력 전압(Vth2')은 메타-스테이블 전압(V1)의 상한과 하한 사이에 있을 것이다. 공통 모드 입력 전압(Vth2') 보다 큰 메타-스테이블 전압(V1)에 기초하여 난수 '1'이 생성될 것이며, 공통 모드 입력 전압(Vth2') 보다 작은 메타-스테이블 전압(V1)에 기초하여 난수 '0'이 생성될 것이다. (또는 그 반대일 수 있다.)
도 15c는 제 1 메타-스테이블 인버터(3101)를 조절하는 경우를 보여준다. 본 실시 예에서, 제 1 메타-스테이블 인버터(3101)의 문턱 전압(Vth1')이 허용 범위 내에 위치하도록, 제 1 메타-스테이블 인버터(3101)가 조절 또는 튜닝될 수 있다. 여기서 허용 범위는 난수가 스턱되지 않도록 하는 범위이므로, 메타-스테이블 전압(V1)의 상한은 공통 모드 입력 전압(Vth2)보다 크고, 메타-스테이블 전압(V1)의 하한은 공통 모드 입력 전압(Vth2)보다 작아야 할 것이다.
비록 메타-스테이블 인버터들(3101, 3102)의 구조는 동일하지만, 제 1 메타-스테이블 인버터(3101)에 대해서만 조절 또는 튜닝이 실행된다는 점에서, 본 실시 예는 앞서 도 4b에서 설명된 것과 유사하다. 그러므로, 상세한 설명은 생략하기로 한다.
도 15d 도 제 2 메타-스테이블 인버터(3102)를 조절하는 경우를 보여준다. 본 실시 예에서, 제 2 메타-스테이블 인버터(3102)의 공통 모드 입력 전압(Vth2')이 허용 범위 내에 위치하도록, 제 2 메타-스테이블 인버터(3102)가 조절 또는 튜닝될 수 있다. 여기서 허용 범위는 난수가 스턱되지 않도록 하는 범위이므로, 제 2 메타-스테이블 인버터(3102)의 공통 모드 입력 전압(Vth2')은 메타-스테이블 전압(Vth1)의 상한과 하한 사이에 위치해야할 것이다.
도 16은 본 발명의 실시 예에 따른 난수 생성기의 동작 방법을 보여주는 순서도이다. 설명의 이해를 돕기 위해 도 12 내지 도 15d를 함께 참조하여 설명하기로 한다.
S210 단계에서, 난수가 생성될 수 있다. 본 단계는 난수 생성기(3000)의 제 1 모드에서의 동작일 수 있다.
제 1 메타-스테이블 인버터(3101, INV1)를 이용하여 메타-스테이블 전압이 생성될 수 있다(S212). 다이오드 연결된 PMOS 트랜지스터들과 다이오드 연결된 NMOS 트랜지스터들의 저항비에 기초하여, 문턱 전압(Vth1)을 기준으로 하여 상하로 진동하는 노이즈가 제 1 메타-스테이블 인버터(3101)로부터 출력될 것이다.
제 2 메타-스테이블 인버터(3102, INV2)에 의해 메타-스테이블 전압(V1)이 증폭될 수 있다(S214). 메타-스테이블 전압(V1)을 증폭하기 위해, 제 1 스위치(SW1)가 적절히 스위칭 될 것이다. 제 2 메타-스테이블 인버터(3102, INV2)의 구조는 제 1 메타-스테이블 인버터(1101)와 실질적으로 동일할 수 있다.
샘플링 클럭(CLK)에 동기화되어 입력되는 증폭된 전압이 샘플링될 수 있다(S216). 증폭된 전압(V2)을 샘플링하기 위해, 제 2 스위치(SW2)가 적절히 스위칭 될 것이다. 샘플링 결과, 난수가 생성될 수 있다.
S220 단계에서, 난수가 스턱 되었는지 여부가 판단될 수 있다. 예를 들어, 본 단계는 실시간으로 또는 주기적으로 실행될 수 있다. 만일 난수가 스턱되지 않았다면(No), 정상적으로 난수가 생성되는 것을 의미한다. 그러므로, 별도의 난수 생성 중지 명령이 수신되기 전까지, 계속하여 S210 단계가 실행될 것이다. 반면, 난수가 스턱되었다면(Yes), S230 단계가 실행된다.
S230 단계에서, 제 1 메타-스테이블 인버터(3101, INV1)와 제 2 메타-스테이블 인버터(3102, INV2) 중 적어도 하나가 조절 또는 튜닝될 수 있다.
도 17은 도 16에 도시된 S230 단계의 실시 예를 좀 더 상세하게 보여주는 순서도이다. 설명의 이해를 돕기 위해, 도 12 및 15b를 함께 참조하여 설명하기로 한다.
S232a 단계에서, 제 1 메타-스테이블 인버터(3101)의 문턱 전압(Vth1)이 타깃 범위 내에 있는지 여부가 판단될 수 있다. 물론, 비교를 위해, 문턱 전압(Vth1)과 공통 모드 입력 전압(Vth2)의 감지가 선행되어야 할 것이다. 비록, 도면에는 타깃 범위라고 표시되었지만, 타깃 범위는 범위 값이 아닌 고정된 값일 수도 있다. 예를 들어, 컨트롤러(3200)는, 제 2 모드시, 제 1 메타-스테이블 인버터(3101)로부터 출력되는 메타-스테이블 전압(Vth1)을 미리 설정된 값과 비교할 수 있다.
판단 결과에 따라 동작 분기가 발생한다. 만일, 제 1 메타-스테이블 전압(Vth1)이 타깃 범위 내에 있다면, S236a 단계가 실행될 수 있다. 제 1 메타-스테이블 전압(Vth1)이 타깃 범위 내에 있으나 난수가 스턱된다는 것은, 제 2 메타-스테이블 인버터(3102)의 공통 모드 입력 전압(Vth2)이 허용 범위 밖에 있다는 의미이기 때문이다. 반면, 제 1 메타-스테이블 전압(Vth1)이 타깃 범위 밖에 있다면, S234a 단계가 실행될 수 있다.
S234a 단계에서, 제 1 메타-스테이블 인버터(3101)의 문턱 전압(Vth1)이 타깃 범위 내에 있도록, 제 1 메타-스테이블 인버터(3101, INV1)가 조절될 수 있다. 이 과정은 제 1 메타-스테이블 인버터(3101, INV2)를 구성하는 다이오드 연결된 PMOS들과 다이오드 연결된 NMOS들에 각각 연결된 스위칭 트랜지스터들을 개별적으로 제어함으로써 실행될 수 있다(도 6a 참조). 본 단계는 도 15b에 도시된, 문턱 전압(Vth1)을 타깃 전압(Vtar)과 일치시키는 것에 대응할 것이다.
S236a 단계에서, 허용 범위 내에서 제 2 메타-스테이블 인버터(3102, INV2)의 공통 모드 입력 전압(Vth2)이 조절될 수 있다. 도 15b에 도시된 것과 같이, 공통 모드 입력 전압(Vth2)은 조절된 메타-스테이블 전압(Vth1')의 상한과 하한 사이에 있어야 한다.
도 18은 도 16에 도시된 S230 단계의 다른 예를 좀 더 상세하게 보여주는 순서도이다. 설명의 이해를 돕기 위해, 도 12 및 15c를 함께 참조하여 설명하기로 한다.
S232b 단계에서, 제 1 메타-스테이블 인버터(3101, INV1)의 문턱 전압(Vth1)과 제 2 메타-스테이블 인버터(3102, INV2)의 공통 모드 입력 전압(Vth2)의 레벨이 감지될 수 있다.
S234b 단계에서, 허용 범위 내에 문턱 전압(Vth1)이 있도록 제 1 메타-스테이블 인버터(3101, INV1)가 조절될 수 있다. 여기서 허용 범위는 난수가 스턱되지 않도록 하는 범위이므로, 문턱 전압(Vth1)을 기준으로 진동하는 메타-스테이블 전압(V1)의 상한은 공통 모드 입력 전압(Vth2)보다 크고, 메타-스테이블 전압(V1)의 하한은 공통 모드 입력 전압(Vth2)보다 작아야 할 것이다.
게다가, 본 실시 예에서, 공통 모드 입력 전압(Vth2)에 맞추어 제 1 메타-스테이블 인버터(3101, INV1)가 조절되기 때문에, 도 15a에 도시된 타깃 전압(Vtar)에 관한 정보는 필요하지 않을 것이다.
도 19는 도 16에 도시된 S230 단계의 또 다른 예를 좀 더 상세하게 보여주는 순서도이다. 설명의 이해를 돕기 위해, 도 12 및 15d를 함께 참조하여 설명하기로 한다.
S232c 단계에서, 제 1 메타-스테이블 인버터(3101, INV1)의 문턱 전압(Vth1)과 제 2 메타-스테이블 인버터(3102, INV2)의 공통 모드 입력 전압(Vth2)의 레벨이 감지될 수 있다.
S234c 단계에서, 허용 범위 내에 공통 모드 입력 전압(Vth2)이 있도록 제 2 메타-스테이블 인버터(3102, INV2)가 조절될 수 있다. 여기서 허용 범위는 난수가 스턱되지 않도록 하는 범위이므로, 제 2 메타-스테이블 인버터(3102, INV2)의 공통 모드 입력 전압(Vth2')은 메타-스테이블 전압(Vth1)의 상한과 하한 사이에 위치해야할 것이다.
도 20은 본 발명의 실시 예에 따른 난수 생성기(4000)를 예시적으로 보여주는 블록도이다. 난수 생성기(4000)는 제 1 내지 제 n 메타-스테이블 인버터들(4101~410n), 컨트롤러(4200), 및 샘플러(3300)를 포함할 수 있다. 난수 생성기(4000)는 멀티플렉싱 회로(4400) 및 제 1 내지 제 n 스위치들(SW1~SWn)을 더 포함할 수 있다. 비록 도면에 도시되지 않았지만, 실시 예에 따라서, 난수 생성기(4000)는 도 10에 도시된 것과 같은 전압 레귤레이터(2500) 및 분주기(2600)를 더 포함할 수 있다.
제 1 내지 제 n 메타-스테이블 인버터들(4101~410n)은 서로 동일한 구조를 가질 수 있다. 예를 들어, 각각의 메타-스테이블 인버터는 다이오드 연결된 PMOS 트랜지스터들, 다이오드 연결된 NMOS 트랜지스터들, 각각의 트랜지스터에 연결된 스위칭 트랜지스터들 및 스위칭 트랜지스터들을 제어하기 위한 디코더를 포함할 수 있다(도 6a 참조).
제 1 모드시, 제 1 메타-스테이블 인버터(4101)는 메타-스테이블 전압(V1)을 생성하기 위한 소스로서 동작할 수 있으며, 제 2 내지 제 n 메타-스테이블 인버터들(4102~410n) 각각은 전 스테이지의 출력을 증폭하기 위한 증폭기로 동작할 수 있다. 이러한 동작을 위해, 스위치들(SW1~SWn) 각각은 전단과 뒷단의 메타-스테이블 인버터들이 서로 연결될 수 있도록 적절히 스위칭 되어야 할것이다.
제 2 모드시, 제 1 메타-스테이블 인버터(4101)의 문턱 전압(즉, 메타-스테이블 전압(V1)이 진동하는 중심이 되는 전압)은 컨트롤러(4200)에 의해 감지될 수 있다. 그리고, 제 2 내지 제 n 메타-스테이블 인버터들(4102~410n) 각각의 공통 모드 입력 전압도 컨트롤러(4200)에 의해 감지될 수 있다. 물론, 이를 위해 멀티플렉싱 회로(4400)와 스위치들(SW1~SWn)이 적절히 스위칭 되어야 할 것이다.
예를 들어, 컨트롤러(4200)는 미리 설정된 값에 문턱 전압(Vth1)을 맞추고, 허용 범위 내에서 공통 모드 입력 전압(Vth2~Vthn)을 조절할 수 있다. 여기서 공통 모드 입력 전압(Vth2~Vthn)은 메타-스테이블 인버터들(4102~410n)에 각각 대응할 수 있다.
또는, 컨트롤러(4200)는 제 1 메타-스테이블 인버터(4101)의 문턱 전압(Vth1)을 기준으로 하여 제 2 내지 n 메타-스테이블 인버터들(4102~410n)을 조절 또는 튜닝할 수 있다.
또는, 컨트롤러(4200)는 제 2 메타-스테이블 인버터(4102)의 공통 모드 입력 전압(Vth2)을 기준으로 하여 제 1, 제 3 내지 제 n 메타-스테이블 인버터들(4101, 4103~410n)을 조절 또는 튜닝할 수 있다. 즉, 조절 또는 튜닝의 기준이 되는 공통 모드 입력 전압은 제 2 내지 제 n 메타-스테이블 인버터들(4102~410n) 중 어느 것이라도 가능하다.
도 21은 도 20에 도시된 난수 생성기(4000)에 의해 생성되는 난수가 스턱되는 경우를 예시적으로 보여준다. 즉, 도 21은 난수 생성기(4000)에 의한 조절 또는 튜닝이 실행되지 않은 경우, 메타-스테이블 인버터들의 특성 곡선을 보여준다. 설명의 이해를 돕기 위해 도 20을 함께 참조하기로 한다. 예시적으로, 메타-스테이블 인버터들은 3개(즉, n=3)라 가정한다.
INV1에 의해 지시되는 그래프는 제 1 메타-스테이블 인버터(4101)의 입출력 그래프를 나타낸다. INV2에 의해 지시되는 그래프는 제 2 메타-스테이블 인버터(4102)의 입출력 그래프를 나타낸다. 그리고, INV3에 의해 지시되는 그래프는 제 3 메타-스테이블 인버터(4103)의 입출력 그래프를 나타낸다.
a에 의해 지시되는 점선을 기준으로 하여 위쪽에 분포하는 전압이 입력되면 '1'이 출력될 것이며, 아래쪽에 분포하는 전압이 입력되면 '0'이 출력될 것이다. 즉, INV1에 의해 지시되는 그래프와 a에 의해 지시되는 그래프의 교점은 제 1 메타-스테이블 인버터(INV1)의 문턱 전압(Vth1)으로 이해될 수 있다. 유사하게, INV2에 의해 지시되는 그래프와 a에 의해 지시되는 그래프의 교점은 제 2 메타-스테이블 인버터(INV2)의 공통 모드 입력 전압(Vth2)으로 이해될 수 있다. 그리고, INV3에 의해 지시되는 그래프와 a에 의해 지시되는 그래프의 교점은 제 3 메타-스테이블 인버터(INV3)의 공통 모드 입력 전압(Vth3)으로 이해될 수 있다.
설명의 간략화를 위해, 제 1 메타-스테이블 인버터(INV1)로부터 출력된 전압이 Vth1이라 가정하자, 물론, 실제로는 제 1 메타-스테이블 인버터(INV1)로부터 출력되는 전압은 문턱 전압(Vth1)을 기준으로 하여 진동하는 노이즈일 것이다. Vth1은 제 2 메타-스테이블 인버터(INV2)로 입력되며, 제 2 메타-스테이블 인버터(INV2)는 V2를 출력할 것이다. 다시 V2는 제 3 메타-스테이블 인버터(INV3)로 입력되며, 제 3 메타-스테이블 인버터(INV3)는 '0'을 출력할 것이다. 즉, 제 1 내지 제 3 메타-스테이블 인버터들(INV1~INV3)이 서로 매칭되지 않았기 때문에, 난수는 스턱된 것이다.
도 22는 도 20에 도시된 난수 생성기(4000)의 동작에 따라 스턱되지 않은 난수가 생성되는 것을 예시적으로 보여준다.
도면에는, 제 1 메타-스테이블 인버터(INV1)의 문턱 전압(Vth1)과, 제 2 메타-스테이블 인버터(INV2)의 공통 모드 입력 전압(Vth2)과, 제 3 메타-스테이블 인버터(INV3)의 공통 모드 입력 전압(Vth3)이 모두 일치하는 경우를 보여준다. 물론, 난수가 스턱되지 않는 허용 범위 내라면, 문턱 전압(Vth1), 공통 모드 입력 전압(Vth2), 및 공통 모드 입력 전압(Vth3)은 서로 일치하지 않을 수도 있다.
도면에 도시된 바와 같이, b에 의해 지시되는, 제 3 메타-스테이블 인버터(INV3)로부터 출력되는 증폭된 전압 그래프는 전압(Vth3)을 기준으로 하여 진동함을 알 수 있다. 증폭된 전압 그래프(b)는 최종적으로 샘플러에 의해 샘플링 될 수 있으며, 그 결과 난수가 생성될 수 있다.
위에서 설명한 내용은 본 발명을 실시하기 위한 구체적인 예들이다. 본 발명에는 위에서 설명한 실시 예들뿐만 아니라, 단순하게 설계 변경하거나 용이하게 변경할 수 있는 실시 예들도 포함될 것이다. 또한, 본 발명에는 위에서 설명한 실시 예들을 이용하여 앞으로 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다.
1000: 난수 생성기
1101: 메타-스테이블 인버터
1102: 증폭기
1200: 컨트롤러
1300: 샘플러
1400: 멀티플렉싱 회로
1101: 메타-스테이블 인버터
1102: 증폭기
1200: 컨트롤러
1300: 샘플러
1400: 멀티플렉싱 회로
Claims (20)
- 입력단과 출력단이 서로 연결되어 메타-스테이블 전압을 생성하도록 구성되는 제 1 메타-스테이블 인버터;
동작 모드에 따라, 상기 메타-스테이블 전압을 증폭하거나 또는 입력단과 출력단이 서로 연결되도록 구성되는 제 2 메타-스테이블 인버터;
상기 메타-스테이블 전압의 기초가 되는, 상기 제 1 메타-스테이블 인버터의 문턱 전압, 및 상기 제 2 메타-스테이블 인버터의 공통 모드 입력 전압 중 적어도 하나를 조절하는 컨트롤러; 그리고
상기 메타-스테이블 전압을 샘플링하여 난수를 생성하는 샘플러를 포함하는 난수 생성기. - 제 1 항에 있어서,
상기 동작 모드가 증폭 모드인 경우,
상기 제 2 메타-스테이블 인버터는 상기 메타-스테이블 전압을 증폭하고,
상기 제 2 메타-스테이블 인버터는 상기 증폭된 메타 스테이블-전압을 샘플링하여 난수를 생성하는 난수 생성기. - 제 1 항에 있어서,
상기 동작 모드가 감지 모드인 경우,
상기 컨트롤러는, 상기 문턱 전압이 타깃 전압이 되도록 상기 제 1 메타-스테이블 인버터를 제어하고, 상기 공통 모드 입력 전압이 상기 메타-스테이블 전압의 상한과 하한 사이에 있도록 상기 제 2 메타-스테이블 인버터를 제어하는 난수 생성기. - 제 1 항에 있어서,
상기 동작 모드가 감지 모드인 경우,
상기 컨트롤러는, 상기 메타-스테이블 전압의 상한이 상기 공통 모드 입력 전압보다 크고 상기 메타-스테이블 전압의 하한이 상기 공통 모드 입력 전압보다 작아지도록, 상기 제 1 메타-스테이블 인버터를 제어하는 난수 생성기. - 제 1 항에 있어서,
상기 동작 모드가 감지 모드인 경우,
상기 컨트롤러는, 상기 공통 모드 입력 전압이 상기 메타-스테이블 전압의 상한과 하한 사이에 있도록 상기 제 2 메타-스테이블 인버터를 제어하는 난수 생성기. - 제 1 항에 있어서,
상기 컨트롤러는:
상기 메타-스테이블 전압, 및 상기 입력단과 상기 출력단이 서로 연결된 상기 제 2 메타-스테이블 인버터의 출력 전압 중 적어도 하나를 입력받는 전압 팔로워;
상기 전압 팔로워의 출력으로부터 적어도 하나의 디지털 값을 생성하는 아날로그 디지털 컨버터; 그리고
상기 적어도 하나의 디지털 값을 수신하여 상기 제 1 또는 제 2 메타-스테이블 인버터들을 제어할지 여부를 판단하는 메타-스테이블 전압 제어 로직을 포함하는 난수 생성기. - 제 1 항에 있어서,
상기 제 1 메타-스테이블 인버터는:
상기 출력단에 게이트 전극과 소스 전극이 서로 연결되는 적어도 하나의 PMOS 트랜지스터;
상기 출력단에 게이트 전극과 드레인 전극이 서로 연결되는 적어도 하나의 NMOS 트랜지스터;
전원 전압과 상기 적어도 하나의 PMOS 트랜지스터의 드레인 전극에 연결되는 적어도 하나의 PMOS 스위칭 트랜지스터;
접지 전압과 상기 적어도 하나의 NMOS 트랜지스터의 소스 전극에 연결되는 적어도 하나의 NMOS 스위칭 트랜지스터; 그리고
상기 적어도 하나의 PMOS 스위칭 트랜지스터 및 상기 적어도 하나의 NMOS 스위칭 트랜지스터를 개별적으로 제어하는 디코더를 포함하는 난수 생성기. - 제 7 항에 있어서,
상기 제 2 메타-스테이블 인버터는 상기 제 1 메타-스테이블 인버터와 동일한 구조를 갖는 난수 생성기. - 제 1 항에 있어서,
상기 동작 모드에 따라, 상기 제 1 메타-스테이블 인버터의 상기 출력단을 상기 컨트롤러에 연결시키거나, 또는 상기 입력단과 상기 출력단이 서로 연결된 상기 제 2 메타-스테이블 인버터의 상기 출력을 상기 컨트롤러에 연결시키는 멀티플렉싱 회로를 더 포함하는 난수 생성기. - 제 1 항에 있어서,
상기 제 1 및 제 2 메타-스테이블 인버터들을 구동하기 위한 전원 전압을 생성하는 전압 레귤레이터; 그리고
상기 제 2 메타-스테이블 인버터에 의해 증폭된 메타-스테이블 전압을 분주하여 상기 샘플러로 전달하는 분주기를 더 포함하는 난수 생성기. - 입력단과 출력단이 서로 연결되어 메타-스테이블 전압을 생성하도록 구성되는 메타-스테이블 인버터;
상기 메타-스테이블 전압을 증폭하도록 구성되는 증폭기;
상기 메타-스테이블 전압의 기초가 되는, 메타-스테이블 인버터의 문턱 전압을 조절하는 컨트롤러; 그리고
상기 메타-스테이블 전압을 샘플링하여 난수를 생성하는 샘플러를 포함하는 난수 생성기. - 제 11 항에 있어서,
증폭 모드시, 상기 증폭기는 상기 메타-스테이블 전압을 증폭하고, 상기 샘플러는 상기 증폭된 메타 스테이블-전압을 샘플링하여 난수를 생성하는 난수 생성기. - 제 11 항에 있어서,
감지 모드시, 상기 컨트롤러는, 상기 메타-스테이블 전압의 상한이 상기 증폭기의 공통 모드 입력 전압보다 크고 상기 메타-스테이블 전압의 하한이 상기 공통 모드 입력 전압보다 작아지도록, 상기 메타-스테이블 인버터를 제어하는 난수 생성기. - 제 11 항에 있어서,
상기 메타-스테이블 인버터는:
상기 출력단에 게이트 전극과 소스 전극이 서로 연결되는 적어도 하나의 PMOS 트랜지스터;
상기 출력단에 게이트 전극과 드레인 전극이 서로 연결되는 적어도 하나의 NMOS 트랜지스터;
전원 전압과 상기 적어도 하나의 PMOS 트랜지스터의 드레인 전극에 연결되는 적어도 하나의 PMOS 스위칭 트랜지스터;
접지 전압과 상기 적어도 하나의 NMOS 트랜지스터의 소스 전극에 연결되는 적어도 하나의 NMOS 스위칭 트랜지스터; 그리고
상기 적어도 하나의 PMOS 스위칭 트랜지스터 및 상기 적어도 하나의 NMOS 스위칭 트랜지스터를 개별적으로 제어하는 디코더를 포함하는 난수 생성기. - 제 11 항에 있어서,
상기 메타-스테이블 인버터를 구동하기 위한 전원 전압을 생성하는 전압 레귤레이터; 그리고
상기 증폭기에 의해 증폭된 메타-스테이블 전압을 분주하여 상기 샘플러로 전달하는 분주기를 더 포함하는 난수 생성기. - 입력단과 출력단이 서로 연결되는 제 1 메타-스테이블 인버터로부터 메타-스테이블 전압을 출력하는 단계;
제 2 메타-스테이블 인버터를 이용하여 상기 메타-스테이블 전압을 증폭하는 단계; 그리고
상기 증폭된 메타-스테이블 전압을 샘플링하여 난수를 생성하는 단계를 포함하되,
상기 메타-스테이블 전압의 기초가 되는, 상기 제 1 메타-스테이블 인버터의 문턱 전압과, 상기 제 2 메타-스테이블 인버터의 공통 모드 입력 전압 중 적어도 하나는 조절 가능한 전압인 난수 생성 방법. - 제 16 항에 있어서,
상기 난수가 스턱되었는지 여부를 판단하는 단계; 그리고
상기 난수가 스턱된 경우, 상기 문턱 전압과 상기 공통 모드 입력 전압 중 적어도 하나를 조절하는 단계를 더 포함하는 난수 생성 방법. - 제 17 항에 있어서,
상기 조절하는 단계는:
상기 문턱 전압이 타깃 범위 내에 있는지 여부를 판단하는 단계;
상기 문턱 전압이 타깃 범위를 벗어난 경우, 상기 문턱 전압이 타깃 범위 내에 있도록 상기 제 1 메타-스테이블 인버터를 제어하는 단계; 그리고
상기 공통 모드 입력 전압이 상기 조절된 문턱 전압을 기초로 하는 메타-스테이블 전압의 상한과 하한에 있도록 상기 제 2 메타-스테이블 인버터를 제어하는 단계를 포함하는 난수 생성 방법. - 제 17 항에 있어서,
상기 조절하는 단계는:
상기 메타-스테이블 전압의 상한은 상기 공통 모드 입력 전압보다 크고 상기 메타-스테이블 전압의 하한은 상기 공통 모드 입력 전압)보다 작도록, 상기 제 1 메타-스테이블 인버터를 제어하는 단계를 포함하는 난수 생성 방법. - 제 17 항에 있어서,
상기 조절하는 단계는:
상기 공통 모드 입력 전압이 상기 메타-스테이블 전압의 상한과 하한 사이에 있도록, 상기 제 2 메타-스테이블 인버터를 제어하는 단계를 포함하는 난수 생성 방법.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160157442A KR102652735B1 (ko) | 2016-11-24 | 2016-11-24 | 조절 가능한 메타-스테이블 전압을 이용하는 난수 생성기 및 난수 생성 방법 |
US15/634,276 US10101968B2 (en) | 2016-11-24 | 2017-06-27 | Random number generators and methods of generating random numbers using adjustable meta-stable voltage |
DE102017122935.3A DE102017122935A1 (de) | 2016-11-24 | 2017-10-04 | Zufallszahlengeneratoren und Verfahren zum Erzeugen von Zufallszahlen unter Verwendung einer einstellbaren meta-stabilen Spannung |
NL2019942A NL2019942B1 (en) | 2016-11-24 | 2017-11-20 | Random number generators and methods of generating random numbers using adjustable meta-stable voltage |
CN201711163746.4A CN108108153B (zh) | 2016-11-24 | 2017-11-21 | 随机数发生器和用可调整的亚稳定电压生成随机数的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160157442A KR102652735B1 (ko) | 2016-11-24 | 2016-11-24 | 조절 가능한 메타-스테이블 전압을 이용하는 난수 생성기 및 난수 생성 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180058889A KR20180058889A (ko) | 2018-06-04 |
KR102652735B1 true KR102652735B1 (ko) | 2024-04-02 |
Family
ID=61187781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160157442A KR102652735B1 (ko) | 2016-11-24 | 2016-11-24 | 조절 가능한 메타-스테이블 전압을 이용하는 난수 생성기 및 난수 생성 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10101968B2 (ko) |
KR (1) | KR102652735B1 (ko) |
CN (1) | CN108108153B (ko) |
NL (1) | NL2019942B1 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10606560B1 (en) * | 2017-05-10 | 2020-03-31 | Verily Life Sciences Llc | Mitigating deterministic asymmetry in a random number generator |
US11023209B2 (en) | 2019-01-25 | 2021-06-01 | International Business Machines Corporation | On-chip hardware random number generator |
US10824396B2 (en) * | 2019-01-28 | 2020-11-03 | Nuvoton Technology Corporation | Random number generator based on meta-stability of shorted back-to-back inverters |
CN110838835B (zh) * | 2019-11-19 | 2023-04-28 | 天津津航计算技术研究所 | 基于高速动态比较器的随机信号发生电路 |
CN112199074B (zh) * | 2020-10-10 | 2022-10-25 | 安徽大学 | 一种真随机数发生电路及其真随机数发生芯片 |
CN112564650B (zh) * | 2020-12-21 | 2023-06-16 | 深圳市纽瑞芯科技有限公司 | 一种用于流水线逐次逼近型adc的残差放大器电路 |
US11601120B2 (en) | 2021-02-03 | 2023-03-07 | Nuvoton Technology Corporation | Attack-resistant ring oscillators and random-number generators |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6963888B2 (en) | 2001-11-29 | 2005-11-08 | Koninklijke Philips Electronics N.V. | Method and apparatus for preventing noise from influencing a random number generator based on flip-flop meta-stability |
US7124155B2 (en) * | 2002-07-25 | 2006-10-17 | Koninklijke Philips Electronics N.V. | Latching electronic circuit for random number generation |
US7325021B2 (en) | 2003-03-14 | 2008-01-29 | Nxp B.V. | VLSI implementation of metastability-based random number generator using delay ladders |
US8150900B2 (en) | 2004-08-09 | 2012-04-03 | Telecom Italia S.P.A. | Random number generation based on logic circuits with feedback |
US8346832B2 (en) * | 2006-10-12 | 2013-01-01 | The Regents Of The University Of Michigan | Random number generator |
CN1949708B (zh) * | 2006-11-10 | 2011-02-02 | 华为技术有限公司 | 随机数发生装置、方法及对应的数据交互系统 |
US8250129B2 (en) | 2007-06-22 | 2012-08-21 | Lsi Corporation | Cryptographic random number generator using finite field operations |
KR101481572B1 (ko) | 2007-10-19 | 2015-01-26 | 삼성전자주식회사 | 난수 발생 장치 |
JP5171315B2 (ja) | 2008-02-28 | 2013-03-27 | 株式会社東芝 | 乱数生成回路 |
KR20120101836A (ko) * | 2011-03-07 | 2012-09-17 | 삼성전자주식회사 | 난수 발생 장치 |
KR101579837B1 (ko) * | 2009-02-09 | 2015-12-24 | 삼성전자주식회사 | 난수 발생 장치 및 난수 발생 방법 |
US8886692B2 (en) * | 2009-02-09 | 2014-11-11 | Samsung Electronics Co., Ltd. | Apparatus for generating random number |
US8522065B2 (en) | 2009-09-06 | 2013-08-27 | Percello Ltd. | Generating a random number in an existing system on chip |
KR20110060033A (ko) | 2009-11-30 | 2011-06-08 | 박옥희 | 해상 구조물용 커플링 |
CN101957741A (zh) * | 2010-10-18 | 2011-01-26 | 东南大学 | 一种基于亚阈值特性的真随机数发生器 |
JP2013182097A (ja) | 2012-03-01 | 2013-09-12 | Sony Corp | 乱数生成装置、および暗号処理装置 |
US9047152B2 (en) | 2013-01-16 | 2015-06-02 | Skymedi Corporation | Delay device, method, and random number generator using the same |
KR20140108362A (ko) | 2013-02-25 | 2014-09-11 | 삼성전자주식회사 | 난수 발생기 |
KR101987141B1 (ko) | 2013-03-04 | 2019-10-01 | 삼성전자주식회사 | 난수 발생기 |
CN104572014B (zh) | 2013-10-15 | 2019-02-22 | 恩智浦美国有限公司 | 具有重复激活的振荡器的真随机数生成器 |
US9557964B2 (en) | 2014-11-21 | 2017-01-31 | Winbond Electronics Corp. | Random number generator and method for generating random number thereof |
DE102015100760A1 (de) | 2015-01-20 | 2016-07-21 | Infineon Technologies Ag | Generieren von Zufallszahlen |
-
2016
- 2016-11-24 KR KR1020160157442A patent/KR102652735B1/ko active IP Right Grant
-
2017
- 2017-06-27 US US15/634,276 patent/US10101968B2/en active Active
- 2017-11-20 NL NL2019942A patent/NL2019942B1/en active
- 2017-11-21 CN CN201711163746.4A patent/CN108108153B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
NL2019942A (en) | 2018-05-28 |
US10101968B2 (en) | 2018-10-16 |
CN108108153B (zh) | 2023-11-24 |
CN108108153A (zh) | 2018-06-01 |
NL2019942B1 (en) | 2018-09-11 |
KR20180058889A (ko) | 2018-06-04 |
US20180143806A1 (en) | 2018-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102652735B1 (ko) | 조절 가능한 메타-스테이블 전압을 이용하는 난수 생성기 및 난수 생성 방법 | |
EP2243062B1 (en) | Current mirror device and method | |
US20020084830A1 (en) | Pumping voltage regulation circuit | |
JP5379363B2 (ja) | ルックアップテーブルを利用した基板バイアス制御回路及び基板バイアス制御方法 | |
KR100399437B1 (ko) | 내부 전원전압 발생장치 | |
KR20190057748A (ko) | 스큐 보상 회로 및 이를 포함하는 반도체 장치 | |
US7511553B2 (en) | Current controlled level shifter with signal feedback | |
KR20180026957A (ko) | 듀티 보정장치 및 이를 포함하는 반도체 장치 | |
US20080061856A1 (en) | Internal voltage generator of semiconductor integrated circuit | |
TWI394372B (zh) | 具有可控制之迴轉率的晶片外驅動器系統及其相關方法 | |
US8324877B2 (en) | Voltage down converter | |
JP6027806B2 (ja) | 出力バッファ及び半導体装置 | |
US10680524B2 (en) | Fast-charging voltage generator | |
US20170117888A1 (en) | Voltage comparison circuit | |
JP4614234B2 (ja) | 電源装置およびそれを備える電子機器 | |
US7250793B2 (en) | Low voltage differential signaling driving apparatus | |
KR20040105976A (ko) | 내부 전압 발생기 | |
KR100608526B1 (ko) | 지연 회로 및 그 회로를 이용한 반도체 장치 | |
JP4783223B2 (ja) | 電圧レギュレータ | |
KR20120098025A (ko) | 하이브리드 전압 레귤레이터 | |
US7911262B2 (en) | External compensation for input current source | |
KR100324017B1 (ko) | 전압강하회로 | |
KR100631936B1 (ko) | 내부전압 발생회로 | |
KR20030092584A (ko) | 반도체 메모리 장치의 특정 모드에 따라 승압전압의레벨을 조정할 수 있는 승압전압 발생 회로 및 승압전압을발생시키는 방법 | |
JP2007281776A (ja) | デジタル/アナログ変換回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |