-
Ring Oscillator란?VLSI Design 2013. 3. 10. 20:54반응형
실제로 활용되는 여러가지 발진회로 중에 Ring Oscillator이 있습니다.
링 오실레이터는 인버터를 직렬로 여러개 연결해서 만든 발진기 입니다.
원리는 비교적 간단합니다.
입력에 'HIGH'가 들어가면 홀수개의 인버터를 거쳐 출력단에 'LOW' 신호가 나올 것이고,
입력에 'LOW'가 들어가면 출력단에는 'HIGH' 가 나오게 됩니다.
여기서 중요한 점은 Ring Oscillator를 설계하기 위해서 반드시 인버터는 홀수개가 사용되어야 한다는 점 입니다.
짝수개의 인버터를 사용하면 입력과 출력이 같은 Level로 나오기 때문에 의미가 없겠죠.
위 그림은 3단 Ring Oscillator의 스키메틱입니다. CMOS 구조로 되어있으며 PMOS size는 NMOS의 2배이며 VDD전원으로 2.5V를 사용하고 있네요. 각 단의 출력단에 구성된 RC 회로는 로직이 전환될 때 발생하는 리플 신호 제거를 위한 것이라 볼 수 있습니다.
아래 그림은 Electric CAD를 이용해서 Ring Oscillator의 출력을 시뮬레이션 한 결과입니다.
보시는 바와 같이 RC LPF필터를 적용하지 않았을 경우에 위와같이 리플 성분이 나타나는것을 확인할 수 있었습니다.
Oscillator 설계에 있어서 가장 중요한 부분이 바로 주파수 설정입니다. 원하는 주파수를 정확하게 뽑아 낼 수 없다면, 혹은 주파수가 외부 요인에 의해서 쉽게 요동친다면 훌륭한 발진기라고 볼 수 없겠죠.
Ring Oscillator 의 발진 주파수를 구하려면 우선 각 인버터의 logical effort를 알아야 합니다.
High or Low skewed 되지 않은 기본 unit inverter 이므로 logical effort는 1이 됩니다.
각 인버터의 FO(fan out)은 1이며, parastic delay 또한 1 이 되므로 각 stage의 delay는 d = gh + p = 1 x 1 + 1 = 2 가 됩니다.
로직이 'H'에서 'L'이 됬다가 다시 'H' 가 되는 것이 1 주기입니다. 다시 로직이 원상태로 돌아오기 위해서는 인버터를 2개 지나야 합니다. 따라서 주기 T는 T = 2 x 2N (N은 인버터 개수) 가 됩니다.
즉, (각각의 인버터의 delay) * (인버터의 개수) * (2) 를 계산하면 4N 이 됩니다.
따라서 Ring Oscillator의 주파수는 1/4N 이 됩니다. Ring Oscillator에 사용되는 인버터의 개수가 많아질수록 Clock 주파수는 떨어지게 됩니다.
예를 들어서 31-stage의 Ring Oscillator가 65nm 공정으로 설계되었다고 가정하면, 주파수는 1/(4 x 31 x 3ps) = 2.7GHz 가 됩니다. 어떤 공정을 사용하느냐에 따라서 layout의 parastic component가 달라지게 되므로 주파수 역시 달라지게 됩니다.
위의 스키메틱은 Bus line을 통해서 inverter 심볼 하나만 가지고 Ring Oscillator를 구현한 그림입니다.
Schematic에 따른 layout을 설계한 모양입니다. Ring Oscillator는 몇 번째에서 출력을 뽑던지 관계가 없습니다.
왜냐하면 계속해서 출력이 다시 입력으로 들어가는 폐루프 회로이기 때문이죠.
이상으로 Ring Oscillator에 대한 포스트를 마치겠습니다.
반응형'VLSI Design' 카테고리의 다른 글
Layout versus Schematic이란? (LVS) (4) 2013.03.10 LT Spice와 Electric CAD를 이용한 Inverter Layout 설계 (11) 2013.03.03