Presentation is loading. Please wait.

Presentation is loading. Please wait.

논리 회로 설계 기초 (2) Lecture #2.

Similar presentations


Presentation on theme: "논리 회로 설계 기초 (2) Lecture #2."— Presentation transcript:

1 논리 회로 설계 기초 (2) Lecture #2

2 순차 논리회로 (1) 순차 논리회로(Sequential Logic Circuit) 순차 논리회로의 분류
출력이 현재의 입력과 이전의 논리회로 상태의 조합에 의해 결정되는 논리회로 순차 논리회로의 분류 동기(Synchronous) 순차 논리회로 클럭(clock)을 이용하여 새로운 입력의 순차와 응답의 출력 생성이 일정한 시간 간격을 둔 상태에서 제어된다 일정한 시간 지연  디자인 과정의 단순화 비동기(Asynchronous) 순차 논리회로 출력이 외부로부터의 관리에 의해서가 아닌 내부의 지연에 의해 일정하지 않은 시간 간격을 두고 발생한다 동기 순차 논리회로보다 설계 과정이 어렵다 모바일특강

3 순차 논리회로 (2) 순차 논리회로의 구성 조합 논리회로 + 기억 소자 기억 소자(Memory Element) 조합 논리회로
시스템의 상태를 기억(저장) 현재 상태(present state) = 기억 소자의 현재 저장 값 조합 논리회로 현재의 입력 신호와 기억 소자의 현재 상태 값을 이용하여 출력 값과 다음의 상태 값을 산출 동기 순차 논리회로는 클럭을 이용하여 조합 논리회로에서 산출된 다음 상태 값을 기억 소자에 저장하여 상태 값을 갱신한다 모바일특강

4 순차 논리회로 (3) 동기 순차 논리회로의 동작 단계 1. 시스템의 초기 상태 또는 “power-up” 상태를 결정하는 기억 소자의 초기값을 가정한다 단계 2. 입력 신호를 인가한다 단계 3. 현재 상태와 새로운 입력을 이용하여 출력과 기억 소자의 다음 값을 산출한다 단계 4. 클럭 신호의 제어 하에 기억 소자의 내용이 갱신된다. 즉, 다음 상태의 값이 현재 상태 값이 된다 단계 5. 단계 2로 복귀 모바일특강

5 순차 논리회로 (4) 동기 순차 논리회로의 종류 밀리(Mealy) 순차회로 : 무어(Moore) 순차회로 :
조합회로의 출력이 현재의 입력과 현재 상태 값에 의해 결정되는 회로 무어(Moore) 순차회로 : 조합회로의 출력이 단지 현재 상태 값에 의해 결정되는 회로 모바일특강

6 기억 소자 (1) 기억 소자(Memory Element) 순차 논리회로에서 현재의 상태 값을 저장하기 위해 사용
기억 소자 분류 : 논리준위가 0 또는 1 일 때에 소자의 동작을 제어하는 레벨-감지 소자 논리준위가 0->1 또는 1->0 과 같이 변할 대에 소자의 동작을 제어하는 천이-감지 소자 모바일특강

7 기억 소자 (2) Latch / Flip-Flop 쌍안정 기억 소자 시소에 비유 가능
두 개의 출력을 가지는데, 하나의 출력이 논리값 ‘1’을 가지면 다른 출력은 논리값 ‘0’을 가진다 출력 값의 변화를 전압 전위 이동으로 이루어진다 시소에 비유 가능 모바일특강

8 래치(Latch) (1) SR(Set-Reset) 래치 래치(Latch)는 기억 소자 중에서 가장 간단한 소자
래치는 입력 신호의 레벨에 의해 출력이 제어되는 레벨-감지 기억 소자 SR 래치 두 개의 nor 게이트가 상호결합(cross-coupled)하여 구성 가장 기본적인 래치 모바일특강

9 래치(Latch) (2) 래치의 안정 상태를 위반하는 부정입력 SR(Set-Reset) 래치의 동작 분석 모바일특강

10 래치(Latch) (3) JK 래치 셋과 리셋 입력이 동시에 인가될 수 없다는 제한을 제거한 변형된 SR 래치
출력 진동 (Output Oscillate) Q+ = (J • Q’) + (K’ • Q) 모바일특강

11 래치(Latch) (4) T(Toggle) 래치 JK 래치의 입력을 같이 연결한 변형된 JR 래치
JK 래치와 T 래치는 출력 진동으로 인해 실제 존재하지 않음 출력 진동 (Output Oscillate) 모바일특강

12 래치(Latch) (5) D(Data) 래치 SR 래치에서 셋과 리셋 입력이 동시에 1이 인가되는 것을 방지
Transparent latch – 입력 신호를 그대로 기억하여 출력 모바일특강

13 래치(Latch) (6) 게이트된 래치(Gated Latch)
기본 래치는 래치의 입력 레벨이 바뀔 때에 래치의 내용이 바뀌는 비동기적인 동작 방식으로 인해 동기 순차회로에 적용하기 힘들다 클럭(clock) 또는 가능(enabling) 신호를 입력에 추가하여 래치의 기억 내용이 갱신되는 시기를 제어 순차 논리회로에 포함되어 있는 조합 논리회로의 신호 지연이 갖는 다양성으로 인해 기억 소자의 내용을 동시에 변경하기 힘든 경우 기억 소자 갱신의 동기화가 요구될 때에 필요 모바일특강

14 래치의 값이 갱신될 정도로 클럭 신호를 ‘1’로 인가하여 유지하여야 한다
래치(Latch) (7) 게이트된 래치(Gated Latch) Gated SR-Latch Gated D-Latch 래치의 값이 갱신될 정도로 클럭 신호를 ‘1’로 인가하여 유지하여야 한다 모바일특강

15 플립플롭(Flip-Flop) (1) 플립플롭(Flip-Flop)
두 개의 게이트된 래치를 연결하여 클럭 펄스(clock pulse)의 인가 시간에 상관없이 기억 소자의 상태값이 일정하게 변화하도록 만든 기억 소자 정적 기억 소자로 가장 많이 적용 분류: 펄스-구동 플립플롭(Pulse-Triggered F/F) 클럭 펄스의 양 모서리(상승 & 하강)에 모두 동작 모서리-구동 플립플롭(Edge-Triggered F/F) 클럭 펄스의 양 모서리(상승 & 하강) 중에 하나에서만 동작 모바일특강

16 플립플롭(Flip-Flop) (2) 펄스-구동 SR 플립플롭 모바일특강

17 플립플롭(Flip-Flop) (3) 펄스-구동 JK 플립플롭 펄스-구동 T- 플립플롭 펄스-구동 D-플립플롭 모바일특강

18 플립플롭(Flip-Flop) (4) 펄스-구동 플립플롭의 1 캐칭(1-catching) 문제
펄스-구동 플립플롭은 타이밍 문제를 유발 클럭이 1인 동안 예기치 않은 주 래치의 입력 스파이크는 주 래치를 셋하고, 클럭이 1->0 일 때에 종 래치와 출력을 셋한다 한번 셋되면 플립플롭이 리셋되기 전까지 셋된 상태로 남는다 모바일특강

19 플립플롭(Flip-Flop) (5) 모서리-구동 플립플롭(Edge-Triggered Flip-Flop)
순차 논리회로에서 주로 사용되는 기억 소자 클럭 펄스의 상승 에지 또는 하강 에지에 기억 소자의 저장 내용을 갱신함으로써 타이밍 문제를 해결 일반적으로 말하는 플립플롭은 모서리-구동 플립플롭을 지칭한다 모바일특강

20 플립플롭(Flip-Flop) (6) 모서리-구동 SR 플립플롭 모바일특강

21 플립플롭(Flip-Flop) (7) 모서리-구동 D 플립플롭 모바일특강

22 (Minimized Encoded State Table)
순차 논리회로 설계 (1) 순차 논리회로 설계 과정 회로 기능 명세 서술문 합성(Synthesis) 상태도 (State Diagram) 최소화된 기호 상태표 (Minimized Encoded State Table) 구현(Implementation) 하드웨어 논리회로 모바일특강

23 순차 논리회로 설계 (2) 순차 논리회로의 세부 설계 과정 주어진 기능 명세에서 상태도를 만든다(state diagram)
상태의 수를 줄인다(state reduction) 각 상태마다 이진 부호를 할당한다(state assignment) 기호화된 상태표를 만든다(encoded state table) 출력에 대한 카르노우 도표를 만든다 각 기억 소자마다 다음 상태의 카르노우 도표(Karnaugh Map)을 만든다 기억 소자를 종류를 선택한다 각 기억 소자에 대해 다음 상태의 카르노우 도표와 관련 여기표를 사용하여 입력의 카르노우 도표를 만든다 출력과 다음 상태에 대한 최소화된 논리식을 구한다 기억 소자와 조합 논리회로를 구현한다 모바일특강

24 상태도 만들기 (1) 상태도 만들기 상태도(State Diagram)
순차 논리회로의 동작 과정을 일련의 상태 변환과 출력으로 정의하는 그래프 상태도에서 정의되는 상태는 순차 논리회로가 갖는 기억 소자의 상태 값을 의미한다 순차 논리회로 설계 과정에서 제일 먼저 회로에 대한 기능 명세로부터 상태도를 작성한다 순차 동작을 이해하기 위해 시험적으로 입력과 출력을 생성 문제가 있을 수 있는 상태에 대해 충분히 정의 성공적인 경로, 즉 인가된 출력 조건에 대한 상태 천이를 정의 초기화 조건을 확인 상태의 재사용 여부를 확인 모바일특강

25 리셋없는(nonresetting) 순차 동작
상태도 만들기 (2) 상태도 만들기 예제-1 비트열 탐지기(Sequence Detector)의 상태도 작성 비트열 탐지기의 기능 명세 입력에서 연속적으로 ‘1’이 3개 들어오면 출력은 ‘1’로 인가한다 샘플 입력/출력 비트열을 작성한다 입력/출력 특성을 이해 입력은 ‘X’로, 출력은 ‘Z’로 표기하기로 가정 X = • • •  Z = • • • X = • • •  Z = • • • 리셋하는 비트열 감지기에 대해 고려 리셋하는(resetting) 순차 동작 리셋없는(nonresetting) 순차 동작 모바일특강

26 상태도 만들기 (3) 상태도 만들기 예제-1 (계속) 성공적인 상태 변환 경로를 만든다
인가된 입력으로 이어지는 상태 변환 경로 각 상태에 대해 정의되지 않은 상태 변환을 정의한다 하나의 상태에 대해 입력이 N이면 2N개의 출력, 즉 상태 변환을 갖는다 작성된 상태도가 완성된 상태도인지를 검사한다 완성된 상태도에서는 상태의 수가 2의 지수만큼 정의되어야 한다 상태의 수에 의해 적용된 기억 소자의 개수가 결정되기 때문 만약 2의 지수보다 작은 경우에는 임의의 상태를 추가한다 Don’t-Care State / Not-allowed State 모바일특강

27 상태도 만들기 (4) 상태도 만들기 예제-1 (계속) Don’t-care state 모바일특강

28 상태도 만들기 (5) 상태도 만들기 예제-2 리셋없는 비트열 탐지기의 기능 명세 샘플 입력/출력 비트열을 작성한다
입력 비트열 또는 10002를 검출하는 디지털 시스템을 설계하여라 샘플 입력/출력 비트열을 작성한다 입력은 ‘X’로, 출력은 ‘Z’로 표기하기로 가정 X = • • •  Z = • • • 모바일특강

29 상태도 만들기 (6) 상태도 만들기 예제-2 (계속) 성공적인 경로 완성된 상태도 상태 정의 모바일특강

30 상태 제거하기 (1) 상태 제거하기(State Reduction)
동등한 상태(Equivalent state)을 찾아 중복된 상태를 제거하여 최소 개수의 상태만을 구성한다 상태 동등(State Equivalence) – 모든 가능한 입력에 대하여 같은 출력을 생성하는 두 상태는 동등하다 구현되는 순차 논리회로의 최적화를 위해 필요 상태 제거 방법 행 비교(Row Comparison) 함축표(Implication Table) 모바일특강

31 상태 제거하기 (2) 행 비교(Row Comparison) 행 비교를 이용한 상태 제거 과정
우선, 상태도를 이용하여 단순화되지 않는 상태표를 작성한다 상태표에서 각 행끼리 다음 상태와 출력이 같은지를 비교함으로써 중복된 상태를 제거한다 단순히 상태표의 행을 비교하는 것이므로 간단하나 항상 최소화된 상태 구성을 보장하지는 못한다 모바일특강

32 상태 제거하기 (3) 행 비교 예제 단순화되지 않은 상태표 예제 상태도 모바일특강

33 상태 제거하기 (4) 행 비교 예제 (계속) 단순화된 상태표 – 과정2 단순화된 상태표 – 과정1 S4 ≡ S7 S5 ≡ S8
모바일특강

34 상태 제거하기 (5) 함축표(Implication Table) 상호의존적인 상태 동등은 상태표의 행 비교로 찾을 수 없다
옆의 상태도에서 S0 ≡ S1 이면 S2 ≡ S3 이고, S2 ≡ S3 이면 S0 ≡ S1 이다 함축(Implication) 상호의존적인 상태 동등 함축표를 이용하여 검색 모바일특강

35 상태 제거하기 (6) 함축표 예제 예제 무어 상태도 단순화되지 않은 상태표 모바일특강

36 상태 제거하기 (7) 함축표 예제 (계속) 함축표 작성하기 모바일특강

37 상태 제거하기 (8) 함축표 예제 (계속) 작성된 함축표에서 잘못된 함축 제거하기
함축표에서 S3와 S7이 만나는 칸의 값이 ‘X’ 함축 S3≡S7은 거짓 함축표에서 함축 S3≡S7을 제거(X로 표시 모바일특강

38 상태 제거하기 (9) 함축표 예제 (계속) 작성된 함축표에서 잘못된 함축 제거하기
함축표에서 같은 방식으로 나머지 잘못된 함축을 제거 모바일특강

39 상태 제거하기 (10) 함축표 예제 (계속) 최종 함축표에서 동등한 상태 집합을 정의한다 모바일특강

40 상태 제거하기 (11) 함축표를 이용한 상태 제거 과정 모바일특강

41 상태 할당하기 (1) 상태 할당(State Assignment)
최소화된 일련의 상태를 기억 소자를 이용하여 어떻게 표현하는가를 결정  상태를 기억 소자 집합에 저장되는 이진 코드로 표현 상태 할당은 조합 논리회로 구성의 최적화에 영향 회로를 단순화하기 위해서는 최적의 상태 할당이 필요 상태 할당 과정 기억 소자의 개수를 선택한다 각 상태에 대해 고유한 이진 코드를 할당한다 모바일특강

42 상태 할당하기 (2) 기억 소자 개수 결정 하드웨어 비용을 줄이기 위해 최소의 기억 소자를 사용하는 것이 원칙
조합 논리회로의 구성을 단순화하기 위해 추가 기억 소자를 사용할 수 있다 Ns개의 상태를 표현하기 필요한 최소의 기억 소자 개수 ND는 log2Ns 보다 크거나 같은 최소의 정수 ND = ceil(log2Ns) 모바일특강

43 상태 할당하기 (3) 상태의 이진 코드 할당 암스트롱-험프리 법칙(Armstrong Humphrrey Rules)을 사용하여 각 상태에 고유의 이진 코드를 할당한다 주어진 입력에 대해 같은 다음 상태를 갖는 상태들은 “인접한 상태 할당”을 가져야 한다 한 상태의 다음 상태들은 “인접한 상태 할당”을 가져야 한다 주어진 입력에 대해 같은 출력을 갖는 상태들은 “인접한 상태 할당”을 가져야 한다 상태 인접(State Adjacency) 상태를 최소항(minterm)으로 가정 인접한 상태들은 최소항과 마찬가지로 카르노우 도표에서 함께 묶어 논리 회로를 최소화시킬 수 있다 모바일특강

44 상태 할당하기 (5) 상태의 이진 코드 할당 예제 법칙-1에 의한 인접 상태 할당  (S0, S5) (S3, S4), (S0, S3, S4, S5) (S1, S2) 법칙-2에 의한 인접 상태 할당  (S0, S1) (S4, S2), (S3, S2) (S5, S1) 법칙-3에 의한 인접 상태 할당  (S0, S1, S2, S4), (S3, S5), (S0, S1, S2, S3, S4, S5) 리셋없는 비트열 감지기의 상태표 모바일특강

45 상태 할당하기 (6) 상태의 이진 코드 할당 예제 (계속) 상태 할당을 위한 카르노우 도표 리셋없는 비트열 감지기의 상태 할당
모바일특강

46 기호화된 상태표 만들기 기호화된 상태표(Encoded State Table)
상태 부호로 작성된 상태표에 대해 상태 부호 대신에 상태에 할당된 이진 코드를 대치하여 기호화된 상태표를 만든다 리셋없는 비트열 감지기의 기호화된 상태표 모바일특강

47 출력의 논리식 만들기 (1) 조합 논리회로의 논리식 만들기
순차 논리회로의 출력과 다음 상태의 신호를 생성하는 조합 논리회로를 정의한 논리식을 정의 조합 논리회로 설계 기법을 적용 진리표  정준형 논리식  논리식 간소화 조합 논리회로의 논리식 작성 과정 카르노우 도표를 이용하여 출력에 대한 간소화된 논리식을 작성 순차 논리회로의 다음 상태에 대한 카르노우 도표 작성 기억 소자의 종류를 선택 기억 소자의 여기표를 이용하여 기억 소자의 입력에 대한 간소화된 논리식을 작성 모바일특강

48 출력의 논리식 만들기 (2) 출력의 논리식 만들기 기호화된 상태표를 이용하여 출력 신호에 대한 카르노우 도표를 작성한다
카르노우 도표를 이용한 논리식 간소화 기법을 적용하여 출력에 대한 간소화된 논리식을 작성한다 출력의 논리식 만들기 예제로 “리셋없는 비트열 감지기” 회로의 출력에 대한 논리식을 작성해본다 모바일특강

49 출력의 논리식 만들기 (3) 출력의 논리식 만들기 예제 Z = QC’ • X’ 출력의 간소화된 논리식 :
리셋없는 비트열 감지기의 기호화된 상태표 Don’t-care state Z = QC’ • X’ 출력의 간소화된 논리식 : 모바일특강

50 다음 상태의 카르노우 도표 작성 다음 상태의 카르노우 도표 작성하기
앞서 작성된 기호화된 상태표를 이용하여 다음 상태에 대한 카르노우 도표를 작성한다 리셋없는 비트열 감지기의 기호화된 상태표 모바일특강

51 기억 소자 및 여기표 선택하기 (1) 기억 소자 및 여기표 선택하기
다음 상태를 생성하는 조합 논리회로를 작성하기 위해서는 현재의 상태와 입력을 이용하여 다음 상태로 천이하는 기억 소자의 입력 회로를 작성하여야 한다 기억 소자의 입력 회로를 구성하기 위해서는 다음의 사항을 고려하여야 한다 다음 상태의 카르노우 도표 선택된 기억 소자 기억 소자에 대한 여기표(Excitation Table) 모바일특강

52 기억 소자 및 여기표 선택하기 (2) 기억 소자 선택하기 순차 논리회로에서 주로 사용하는 기억 소자는 플립플롭
플립플롭의 종류 : SR Flip-Flop (SR-F/F) JK Flip-Flop (JK-F/F) T Flip-Flop (T-F/F) D Flip-Flop (D-F/F) 요구되는 동작을 적절히 고려하여 플립플롭 종류를 선택 예제에서 D-F/F과 JK-F/F을 고려한다 모바일특강

53 기억 소자 및 여기표 선택하기 (3) 기억 소자의 여기표(Excitation Table) 출력에 대한 입력을 정의한 표
진리표의 역 출력에 대한 입력을 정의한 모바일특강

54 기억 소자 입력의 논리식 작성 (1) 기억 소자 입력의 논리식 작성 기억 소자의 입력에 대한 논리식 작성을 예제로 살펴본다
다음 상태의 카르노우 도표와 선택된 기억 소자의 여기표를 작성하여 기억 소자의 입력에 대한 카르노우 도표를 작성한다 카르노우 도표를 이용한 논리식 간소화 기법을 사용하여 입력에 대한 논리식을 간소화한다 기억 소자의 입력에 대한 논리식 작성을 예제로 살펴본다 예제 순차회로: 리셋없는 비트열 감지기 예제-1 : D-F/F 기억 소자를 사용하는 경우 예제-2 : JK-F/F 기억 소자를 사용하는 경우 모바일특강

55 기억 소자 입력의 논리식 작성 (2) 예제-1 : 리셋없는 비트열 감지기에서 D-F/F 기억 소자를 사용하는 경우 DA = X
유효 상태 수가 5이므로 3(=ceil(log25)) 개의 D-F/F을 요구 D 플립플롭 입력 카르노우 도표 DA = X DB = QA DC = QB’ + X D 플립플롭 입력의 간소화된 논리식 모바일특강

56 기억 소자 입력의 논리식 작성 (3) 예제-2 : 리셋없는 비트열 감지기에서 JK-F/F 기억 소자를 사용하는 경우
모바일특강

57 순차 논리회로 구현하기 (1) 선택한 기억 소자와 출력 및 기억 소자 입력에 대한 간소화된 논리식을 이용하여 논리회로를 구현한다 구현 방법 개별 기억 소자와 논리 게이트를 이용한 2-단계/다단계 논리회로 구현 Multiplexer / Decoder / Memory 이용한 구현 PLD(Programmable Logic Device)을 이용한 구현 순차 논리회로 모듈을 이용한 구현 Register / Shift Register / Counter 등 모바일특강

58 순차 논리회로 구현하기 (2) 순차 논리회로 구현 예제-1 리셋없는 비트열 감지기 D-F/F과 논리 게이트를 이용한 구현
모바일특강

59 순차 논리회로 구현하기 (3) 순차 논리회로 구현 예제-2 리셋없는 비트열 감지기 메모리를 이용한 구현
리셋없는 비트열 감지기의 기호화된 상태표 모바일특강


Download ppt "논리 회로 설계 기초 (2) Lecture #2."

Similar presentations


Ads by Google