순차 논리
Sequential logic오토마타 이론에서 시퀀셜 로직은 입력 신호의 현재 값과 과거 입력의 시퀀스인 입력 이력에 따라 출력이 달라지는 논리 회로의 한 종류입니다.[1][2][3][4] 이는 출력이 현재 입력의 함수인 조합 로직과는 대조적입니다.즉, 순차 로직은 상태(메모리)를 가지지만 조합 로직은 그렇지 않습니다.
시퀀셜 로직은 모든 디지털 회로의 기본 구성 요소인 유한 상태 기계를 구성하기 위해 사용됩니다.실제 디지털 디바이스의 거의 모든 회로는 조합논리와 순차논리가 혼합되어 있습니다.
시퀀셜 로직을 가진 디바이스의 친숙한 예로는 "채널 업"[1] 및 "채널 다운" 버튼이 있는 TV가 있습니다."위" 버튼을 누르면 TV에 현재 수신 중인 채널 위의 다음 채널로 전환하라는 입력이 제공됩니다.TV가 채널 5에 있는 경우 "up"을 누르면 채널 6을 수신하도록 전환됩니다.그러나 TV가 채널 8에 있는 경우 "up"을 누르면 채널 "9"로 전환됩니다.채널 선택이 올바르게 작동하려면 텔레비전이 현재 수신 중인 채널을 인식해야 합니다. 이 채널은 과거의 채널 선택에 [1]의해 결정됩니다.텔레비전은 현재 채널을 상태의 일부로 저장합니다."채널 업" 또는 "채널 다운" 입력이 주어지면 채널 선택 회로의 순차 로직이 입력 및 현재 채널에서 새 채널을 계산합니다.
디지털 시퀀셜 논리회로는 동기형과 비동기형으로 나뉜다.동기순차회로에서 디바이스 상태는 클럭신호에 응답하여 이산시간에만 변화한다.비동기 회로에서는 입력의 변화에 따라 디바이스 상태가 언제든지 변경될 수 있습니다.
동기순차논리
오늘날 거의 모든 순차 논리는 클럭 또는 동기 논리입니다.동기회로에서 클럭(또는 클럭 제너레이터)이라고 불리는 전자발진기는 클럭 신호라고 불리는 일련의 반복펄스를 발생시켜 회로 내의 모든 메모리 소자에 분배한다.시퀀셜 로직의 기본 메모리 요소는 플립 플랍입니다.각 플립 플랍의 출력은 클럭 펄스에 의해 트리거될 때만 변경되므로 회로 전체의 논리 신호에 대한 변경은 클럭에 의해 동기화된 일정한 간격으로 동시에 시작됩니다.
회로내의 모든 스토리지 소자(플립 플롭스)의 출력(이것들에 포함되는 바이너리 데이터)은, 회선 상태라고 불립니다.동기회선 상태는 클럭펄스만으로 변화합니다.각 사이클에서 클럭 펄스가 발생했을 때의 현재 상태와 입력 신호의 값에 의해 다음 상태가 결정된다.
동기 로직의 주요 장점은 단순함입니다.데이터에 대한 연산을 수행하는 논리 게이트는 입력에 대한 변경에 응답하는 데 한정된 시간이 필요합니다.이것을 전파 지연이라고 부릅니다.다음 클럭 펄스가 발생하기 전에 모든 로직 게이트가 변경 및 그 출력에 응답할 시간을 가질 수 있도록 클럭 펄스 간격이 충분히 길어야 합니다.이 조건이 충족되고 있는 한(다른 세부 사항은 무시), 회선의 안정성과 신뢰성이 보증됩니다.동기회선의 최대 동작속도를 결정합니다.
동기 로직에는, 다음의 2개의 주된 단점이 있습니다.
- 가능한 최대 클럭환율은 회선 내에서 가장 느린 로직패스(일명 크리티컬패스)에 의해 결정됩니다.가장 간단한 것부터 가장 복잡한 것까지 모든 논리 계산은 1개의 클럭 사이클로 완료되어야 합니다.따라서 계산을 빠르게 완료하는 논리 경로는 대부분의 시간 동안 유휴 상태로 다음 클럭 펄스를 기다립니다.따라서 동기 로직은 비동기 로직보다 느릴 수 있습니다.동기회로를 고속화하는 한 가지 방법은 복잡한 동작을 몇 가지 간단한 동작으로 분할하는 것입니다.이 동작은 연속 클럭 사이클로 실행할 수 있습니다.이것은 파이프라인이라고 불리는 기술입니다.이 기술은 마이크로프로세서 설계에 광범위하게 사용되며 최신 프로세서의 성능을 향상시키는 데 도움이 됩니다.
- 클럭 신호는 회로의 모든 플립 플랍에 분배되어야 합니다.클럭은 보통 고주파 신호이기 때문에 이 분포는 비교적 많은 전력을 소비하고 많은 열을 방출합니다.아무것도 하지 않는 플립 플랍도 소량의 전력을 소비하기 때문에 칩 내에서 폐열이 발생합니다.배터리 전력이 제한된 휴대용 장치에서는 장치를 사용하지 않을 때에도 클럭 신호가 켜져 전력을 소비합니다.
비동기 순차 논리
비동기 시퀀셜 로직은 클럭 신호에 의해 동기화되지 않습니다.회로의 출력은 입력의 변화에 따라 직접 변경됩니다.비동기 로직의 장점은 회로가 입력을 처리하기 위해 클럭 신호를 기다릴 필요가 없기 때문에 동기 로직보다 빠를 수 있다는 것입니다.디바이스의 속도는 사용되는 논리 게이트의 전파 지연에 의해서만 제한될 가능성이 있습니다.
그러나 비동기 로직은 설계가 더 어렵고 동기 설계에서는 발생하지 않는 문제가 발생할 수 있습니다.주요 문제는 디지털 메모리 소자가 입력 신호가 도착하는 순서에 민감하다는 것입니다.두 신호가 거의 동시에 플립 플랍 또는 래치에 도달하는 경우 회로가 어떤 상태가 먼저 게이트에 도달하느냐에 따라 달라질 수 있습니다.따라서 로직 게이트의 전파 지연의 작은 차이에 따라 회선이 잘못된 상태가 될 수 있습니다.이것은 레이스 조건이라고 불립니다.메모리 소자의 출력은 클럭펄스마다 변화하기 때문에 동기회로에서는 이 문제가 심각하지 않습니다.클럭 신호간격은 메모리 요소의 출력이 다음 클럭이 올 때 변경되지 않도록 "설정"할 수 있을 정도로 길게 설계되어 있습니다.따라서 유일한 타이밍 문제는 클럭 신호에 동기화되지 않은 다른 시스템으로부터의 회로에 대한 입력인 "비동기 입력"에 의한 것입니다.
비동기식 시퀀셜 회로는 일반적으로 마이크로프로세서나 디지털 신호 처리 회로와 같이 속도가 중요한 동기 시스템의 일부에만 사용됩니다.
비동기 로직의 설계는 동기 로직과 다른 수학적 모델과 기술을 사용하며, 활발한 연구 영역이다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b c Vai, M. Michael (2000). VLSI Design. CRC Press. p. 147. ISBN 0849318769.
- ^ Cavanagh, Joseph (2006). Sequential Logic: Analysis and Synthesis. CRC Press. pp. ix. ISBN 0849375649.
- ^ Lipiansky, Ed (2012). Electrical, Electronics, and Digital Hardware Essentials for Scientists and Engineers. Wiley. p. 8.39. ISBN 978-1118414545.
- ^ Dally, William J.; Harting, R. Curtis (2012). Digital Design: A Systems Approach. Cambridge University Press. p. 291. ISBN 978-0521199506.
추가 정보
- Katz, R; Boriello, G. (2005). Contemporary Logic Design (2nd ed.). Prentice Hall. ISBN 0-201-30857-6.
- Kohavi, Zvi; Jha, Niraj K. (2009). Switching and Finite Automata Theory (3rd ed.). Cambridge University Press. ISBN 978-0-521-85748-2.
- Vasyukevich, V.O. (2009). "Asynchronous logic elements. Venjunction and sequention" (PDF). - 118p.