- 순차 회로 설계 기술
- 상태와 플립플롭의 구현
- 클럭 신호를 사용한 동기식 제어
- 디지털 회로의 순차적 동작
- 동기식 순차 회로 설계 절차
- 유한 상태 기계(Finite State Machines, FSM)의 개념
첫 번째 섹션 "순차 회로 설계 기술" 번역을 시작합니다.
- 출력은 입력의 현재 값뿐만 아니라 회로의 과거 동작에도 의존합니다.
- 조합 논리 (Combinational Logic): 입력에 따라 즉각적인 출력을 생성.
- 원시 순차 요소 (Primitive Sequential Elements): 저장 요소와 피드백 루프를 포함.
- 순차 회로를 나타내기 위한 주요 모델:
- 유한 상태 기계(Finite State Machines, FSMs):
- Moore 모델: 출력이 상태의 동작에만 의존.
- Mealy 모델: 출력이 상태의 동작과 입력 값에 의존.
- 유한 상태 기계(Finite State Machines, FSMs):
- 알람 제어 시스템:
- "Set" 신호가 센서에 의해 생성되면 알람이 켜지고, 리셋 버튼을 눌러야만 알람이 꺼짐.
- 리셋 신호가 도착할 때까지 활성 상태를 유지하기 위해 메모리가 필요함.
- 회로를 다음으로 나눌 수 있음:
- 조합 논리: 입력과 저장된 상태에 따라 출력을 결정.
- 원시 순차 요소: 피드백을 통해 상태를 저장.
- 동기식 순차 회로 (Synchronous Sequential Circuit):
- 클럭 신호로 동작을 제어.
- 비동기식 순차 회로 (Asynchronous Sequential Circuit):
- 클럭 신호 없이 작동.
다음 섹션 "플립플롭과 래치"의 번역으로 넘어가겠습니다.
-
기본 메모리 요소:
- 두 개의 인버터로 구성된 정적 메모리 셀.
- 상태는 메모리 셀의 값으로 정의됨:
- 예: A=0, B=1로 설정하면 값이 무한정 유지됨.
-
새로운 값을 메모리 셀에 넣는 방법:
- 피드백 경로를 선택적으로 끊음.
- 새로운 값을 셀에 로드.
- SR 래치:
- 두 개의 NOR 게이트를 교차 연결.
- 입력 S(Set)와 R(Reset)를 사용해 상태를 제어.
- 상태 변경 속성:
- ( S=0, R=0 ): 현재 상태 유지.
- ( S=1, R=0 ): 출력 ( Q=1 ).
- ( S=0, R=1 ): 출력 ( Q=0 ).
- ( S=1, R=1 ): 불안정한 상태 발생.
- 입력 제어를 위한 게이트 추가:
- 클럭 신호(enable)가 1일 때만 ( S, R ) 입력 신호의 변화가 반영됨.
- NAND 게이트를 사용해 구성 가능.
- SR 래치의 개선형으로, ( J )와 ( K ) 입력을 사용.
- ( J=1, K=0 ): Set.
- ( J=0, K=1 ): Reset.
- ( J=1, K=1 ): Toggle (출력 값 반전).
- ( J=0, K=0 ): 상태 유지.
- ( D ) 입력 값이 출력으로 바로 전달.
- 불안정한 상태(S=1, R=1)를 제거.
- 클럭 신호가 활성화된 동안만 출력이 변경됨.
- 클럭 신호의 상승 또는 하강 엣지에서만 상태가 변경됨.
- 마스터-슬레이브 D 플립플롭: 두 개의 게이트형 D 래치로 구성.
- 마스터: 클럭 신호가 1일 때 상태 변경.
- 슬레이브: 클럭 신호가 0일 때 상태 변경.
- 마스터-슬레이브 D 플립플롭: 두 개의 게이트형 D 래치로 구성.
이어서 "유한 상태 기계(FSM)" 섹션을 번역하겠습니다.
- 순차 회로는 유한 상태 기계로도 불림.
- 상태 (State): 순차적 저장 요소의 가능한 값으로 정의.
- 전이 (Transition): 상태의 변화.
- 상태 다이어그램 작성:
- 필요한 상태의 수와 상태 간 전이를 정의.
- 상태 표 생성:
- 상태 다이어그램을 표 형식으로 변환.
- 상태 할당:
- 상태를 코드로 인코딩.
- 플립플롭 선택 및 논리 설계:
- 사용될 플립플롭의 유형을 선택하고 조합 논리를 구현.
- 목표:
- 연속된 두 개의 ( 1 ) 입력을 인식하는 회로 설계.
- 가정:
- 동기식 설계: 양의 엣지 클럭 사용.
- Moore 모델.
- 시작 상태 (A):
- 전원이 켜지거나 리셋 신호가 적용되었을 때.
- 출력: 0.
- 준비 상태 (B):
- 첫 번째로 ( w=1 )이 관찰될 때.
- 출력: 0.
- 활성 상태 (C):
- 연속된 두 번째 ( w=1 )이 관찰될 때.
- 출력: 1.
- 상태는 원(circle)으로, 상태 간 전이는 화살표로 표현.
- 예: ( A \rightarrow B \rightarrow C ).
- 상태 다이어그램의 정보를 표 형식으로 변환.
- 현재 상태, 입력, 다음 상태, 출력 등 포함.
- 세 가지 상태를 두 개의 변수 (( Y1, Y2 ))로 표현.
- D 플립플롭을 사용해 저장 요소 구현.
- 조합 논리를 설계해 상태 전이를 제어.
다음으로 "카운터와 레지스터" 섹션을 번역하겠습니다.
- 정의:
- ( n )개의 플립플롭으로 구성된 데이터 저장 장치.
- ( n ) 비트의 정보를 저장 가능.
- 특징:
- 모든 레지스터는 하나의 클럭 신호에 의해 동작.
- 회로의 고유 지연(inherent delay)에 의존.
- 기능:
- 클럭 펄스마다 비트를 왼쪽이나 오른쪽으로 한 위치씩 이동.
- 구성:
- D 플립플롭을 사용해 구현.
- 활용:
- 직렬 데이터 처리 및 변환.
- 정의:
- 1씩 증가 또는 감소하는 회로.
- 종류:
- 비동기식 카운터 (Asynchronous Counter):
- T 플립플롭을 사용.
- 동기식 카운터 (Synchronous Counter):
- T 또는 D 플립플롭을 사용.
- 비동기식 카운터 (Asynchronous Counter):
- 예제:
- 2비트 업 카운터: 00 → 01 → 10 → 11 → 00...
- 2비트 다운 카운터: 11 → 10 → 01 → 00 → 11...
- 특징:
- 클럭 신호가 플립플롭마다 순차적으로 전달.
- 구현이 간단하지만, 큰 지연 발생 가능.
- 예제:
- T 플립플롭을 사용한 업/다운 카운터.
- 특징:
- 모든 플립플롭이 동일한 클럭 신호에 의해 제어.
- 지연 시간이 짧고 동작이 안정적.
- 구성:
- T 또는 D 플립플롭을 사용해 다양한 모듈로 구성 가능.
다음으로 "버스와 제어 회로" 섹션을 번역하겠습니다.
- 정의:
- 데이터를 전달하기 위한 ( n )개의 공통 와이어 집합.
- 공유 매체:
- 레지스터 간 데이터 입출력을 위해 사용.
- 특징:
- 다중 장치가 버스를 공유함.
- 데이터 전송 시 선택 신호를 통해 특정 레지스터와 연결.
- MUX를 사용하는 버스 구조:
- 특정 레지스터 데이터를 버스로 로드하기 위해 선택 신호(S)를 사용.
- ( 2^j > k ): ( j )개의 선택 비트로 ( k )개의 레지스터 선택 가능.
- 구성:
- 여러 레지스터와 연산 유닛, 버스를 포함한 기본 디지털 시스템.
- 목표 연산:
- 데이터 읽기, 연산, 쓰기 등의 간단한 작업.
- 제어 신호:
- 다양한 작업을 수행하기 위한 제어 라인의 조합.
- 예제:
- ( Fr_{in} = wT_0 ): 데이터 읽기 신호.
- ( AddSub = I_3 ): 덧셈 또는 뺄셈 선택 신호.
-
타이밍 제어:
- 카운터와 디코더를 사용해 작업 순서를 정의.
- 예:
- ( T_0 ): 데이터 읽기.
- ( T_1 ): 연산 준비.
- ( T_2 ): 연산 수행.
- ( T_3 ): 결과 쓰기.
-
입력 신호 디코딩:
- 작업 유형과 피연산자를 제어하기 위해 디코더 사용.
- ( Clear = w'T_0 + Done ): 초기화 신호.
- ( Done = T_1(I_0 + I_1) + T_3(I_2 + I_3) ): 작업 완료 신호.
- ( Rn_{in} ): 특정 레지스터로 데이터 로드.