링 오실레이터
NOT 게이트를 차례로 연결한 뒤 마지막 출력을 첫 번째 입력에 연결하면 고리 모양의 회로가 됩니다. 아래 실험에서 게이트를 홀수 개로 설정하면 신호가 계속 바뀌고, 짝수 개로 설정하면 일정한 값으로 유지됩니다.
NOT 게이트의 개수에 따른 신호 변화를 비교하는 시뮬레이션
빨간 테두리는 다음 단계에서 출력이 바뀔 게이트를 나타냅니다. 회로 아래의 파형은 n0 지점의 신호가 어떻게 변하는지 보여줍니다.
홀수 개의 NOT 게이트를 연결하면 신호가 계속 바뀝니다
NOT 게이트는 입력이 0이면 1을, 입력이 1이면 0을 출력합니다. 신호가 홀수 개의 게이트를 거쳐 처음 지점으로 돌아오면 출발할 때와 반대 값이 됩니다. 각 게이트는 이 변화에 따라 출력을 바꾸고, 바뀐 신호는 다시 회로를 한 바퀴 돕니다. 이 과정이 반복되면서 신호가 계속 진동합니다.
반대로 짝수 개의 게이트를 거친 신호는 출발할 때와 같은 값으로 돌아옵니다. 모든 게이트의 출력이 입력의 반대 값으로 맞춰지면 회로는 그 상태를 유지합니다. 인버터 두 개를 서로 연결해 이렇게 안정된 상태를 유지하도록 만들면 1비트를 저장할 수 있습니다. 이는 SRAM 셀의 기본 저장 원리이기도 합니다.
게이트 수와 전파 지연이 진동 주파수를 결정합니다
실제 게이트는 입력이 바뀌어도 즉시 출력을 바꾸지 않습니다. 입력 변화가 출력에 반영되기까지 걸리는 시간을 전파 지연이라고 합니다. 각 게이트의 지연이 같다고 가정하면, 신호가 회로를 두 바퀴 돌아 0→1→0으로 변하는 시간이 한 주기입니다. 아래 식에서 N은 게이트 수, t_pd는 게이트 하나의 전파 지연입니다.
f = 1 / (2 · N · t_pd)
예) t_pd = 10 ns, N = 5 → 10 MHz
게이트 수나 부하 커패시턴스가 커지면 한 주기가 길어지고 주파수는 낮아집니다. 인버터에 흐르는 전류를 제한해도 신호가 바뀌는 속도가 느려집니다. 이 지연을 전압으로 조절하면 전압 제어 발진기(VCO)를 만들 수 있으며, VCO는 PLL에도 사용됩니다.
링 오실레이터의 전파 지연은 온도와 공급 전압의 영향을 받습니다. 더 안정적인 기준 주파수가 필요할 때는 수정 결정의 진동을 이용하는 크리스탈 발진기를 사용합니다.