IT COOKBOOK 디지털논리회로 이론, 실습, 시뮬레이션 (Problem Solutions of Chapter 9) 디지털논리회로 Solutions of Chapter 9 1. 동기순서논리회로의 해석 (1) 변수명칭 부여 ◦ F-F A 플립플롭의 입력 : , ◦ F-F B 플립플롭의 입력 : ◦ F-F A 플립플롭의 출력 : , ◦ F-F B 플립플롭의 출력 : (2) 부울 대수식 유도 ◦ 플립플롭의 입력 : (3) 상태표 작성 ① 이면, 이므로 차기상태는 ② 이면, 이므로 차기상태는 ③ 이면, 이므로 차기상태는 ④ 이면, 이므로 차기상태는 현재상태 A 차기상태 B 0 0 1 1 A 0 1 0 1 B 0 1 0 0 1 0 0 0 (4) 상태도 작성 11 00 10 01 (5) 00→01→10의 순서를 갖는 카운터로 동작 2. 동기순서논리회로의 해석(상태표 및 상태도) (1) 상태표 작성 차기상태 출력 x=0, y=0 x=0, y=1 x=1, y=0 x=1, y=1 x=0, y=0 x=0, y=1 x=1, y=0 x=1, y=1 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 1 현재상태 (2) 상태도 작성 11/0 00/0 01/1 10/1 z=0 z=1 00/1 3. 동기순서논리회로의 해석(상태표 및 상태도) (1) 부울 함수 , ⊙ ⊙, ⊕ ⊕ 1 01/0 10/0 11/1 디지털논리회로 Solutions of Chapter 9 (2) 상태표 작성 ① x=0, A=0, B=0 일 때 JA=0 and KA=1이므로 A=0, JB=1 and KB=1이므로 B=1, F=0 JB=1 and KB=1이므로 B=0, F=1 JB=0 and KB=0이므로 B=0, F=1 JB=0 and KB=0이므로 B=1, F=0 JB=0 and KB=0이므로 B=0, F=1 JB=0 and KB=0이므로 B=1, F=0 JB=1 and KB=1이므로 B=1, F=0 JB=1 and KB=1이므로 B=0, F=1 ② x=0, A=0, B=1 일 때 JA=1 and KA=0이므로 A=1, ③ x=0, A=1, B=0 일 때 JA=0 and KA=1이므로 A=0, ④ x=0, A=1, B=1 일 때 JA=1 and KA=0이므로 A=1, ⑤ x=1, A=0, B=0 일 때 JA=0 and KA=1이므로 A=0, ⑥ x=1, A=0, B=1 일 때 JA=1 and KA=0이므로 A=1, ⑦ x=1, A=1, B=0 일 때 JA=0 and KA=1이므로 A=0, ⑧ x=1, A=1, B=1 일 때 JA=1 and KA=0이므로 A=1, 현재상태 A 0 0 1 1 B A 0 1 0 1 x=0 0 1 0 1 차기상태 B A 1 0 0 1 x=1 0 1 0 1 x=0 F B 0 1 1 0 출 력 0 1 1 0 (3) 상태도 작성 1/1 00 0/0 0/1 1/0 01 11 1/0 0/1 1/1 10 4. 동기순서논리회로의 해석(상태표 및 상태도) (1) 부울함수 : ⊕⊕ , , (2) 상태표 작성 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ x1=0, x1=0, x1=0, x1=0, x1=1, x1=1, x1=1, x1=1, x2=0, x2=0, x2=1, x2=1, x2=0, x2=0, x2=1, x2=1, z2=0 z2=1 z2=0 z2=1 z2=0 z2=1 z2=0 z2=1 일 일 일 일 일 일 일 일 때, 때, 때, 때, 때, 때, 때, 때, J=0 J=0 J=0 J=0 J=0 J=0 J=1 J=1 and and and and and and and and K=1이므로 K=1이므로 K=0이므로 K=0이므로 K=0이므로 K=0이므로 K=0이므로 K=0이므로 2 z2=0, z2=0, z2=0, z2=1, z2=0, z2=1, z2=1, z2=1, z1=0 z1=0 z1=1 z1=0 z1=1 z1=0 z1=1 z1=1 0/0 x=1 F 1 0 0 1 디지털논리회로 Solutions of Chapter 9 차기상태 1=1 2=0 0 0 1 1 x1=0 x2=0 현재상태 0 1 x1=0 x2=1 0 0 x x x1=1 x2=1 x1=0 x2=0 1 1 x1=0 x2=1 0 0 출력 1 0 x1=1 x2=0 1 0 x1=1 x2=1 1 1 (3) 상태도 작성 11/1 00/0 01/1 10/1 z2=0 z2=1 01/0 10/0 11/1 110 00/0 5. 상태도 결정 111 011 001 100 010 011 110 6. 순서논리회로 해석 000 101 7. 순서논리회로 설계 (1) 상태 여기표 작성 차기 상태 x=0 A B C 현재 상태 A B 0 0 0 0 1 C 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 플립플롭 입력 출력 x=1 x=0 x=1 x=0 A B C DA DB DC DA DB DC F x=1 F BC 00 xA 00 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0 01 11 1 10 X X X X X X (2) 플립플롭 입력 및 출력 함수 BC 00 xA 00 01 11 10 01 X X X 01 11 X X X 11 10 1 1 BC 00 xA 00 1 01 11 10 1 1 X X X 01 1 X X X 11 10 1 3 1 10 디지털논리회로 Solutions of Chapter 9 BC 01 11 10 01 X X X 11 X X X 1 1 1 xA 00 10 00 1 (3) 회로도 x F DA Q Q DB Q Q DC Q Q A A B B C C CP 8. 순서논리회로 설계 (1) 상태표 작성 x=0 현재 상태 A 0 0 1 1 B 0 1 0 1 A 0 0 1 0 차기상태 B A 1 0 1 0 x=1 0 1 1 0 x=0 F B 0 0 0 1 출력 0 1 1 0 x=1 F 0 0 1 1 (2) 상태 여기표 작성 조합논리회로 입력 입력 현재 상태 x 0 0 0 0 1 1 1 1 A 0 0 1 1 0 0 1 1 B 0 1 0 1 0 1 0 1 차기 상태 A 0 0 1 0 0 1 1 0 B JA 1 0 1 0 0 0 0 1 0 0 x x 0 1 x x 4 조합논리회로 출력 플립플롭 입력 KA x x 0 1 x x 0 1 JB 1 x 1 x 0 x 0 x KB x 1 x 1 x 1 x 0 디지털논리회로 Solutions of Chapter 9 (3) 플립플롭 입력 및 출력 함수 AB AB 00 x 01 11 10 X X X X 0 1 1 AB 00 01 11 0 X X 1 0 1 X X 1 1 x 10 00 01 11 10 1 X X 1 X X AB AB 00 01 11 10 0 X 1 1 X 0 1 X 1 X 1 x x 00 x 01 11 1 1 1 x JA Q A KA Q JB Q KB Q B CP F x에 1 (4) 회로도 (5) 펄스입력 10 대한 회로 동작도 CP x A B F 5 디지털논리회로 Solutions of Chapter 9 9. 순서논리회로 설계 (1) 상태 여기표 작성 입력 현재 상태 차기 상태 플립플롭 입력 출력 x A B C A B C J A KA J B KB J C 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 x x 0 1 1 x x x x x 0 1 x x x 0 0 0 x x 0 0 1 x x 0 0 x 0 1 x x x 1 1 x x KC F 0 x 0 x 0 1 x 1 x 1 0 0 0 0 0 0 0 0 1 1 x 1 x 1 x x 0 x 0 x 0000, 0110, 0111, 1000, 1110, 1111은 Don't Care 처리. (2) 플립플롭 입력 및 출력 함수 BC 00 xA 00 X 01 11 10 BC 00 xA 00 X 01 X X X X 01 11 X X X X 11 10 X 1 1 10 X 11 X 10 X 1 X X X X X BC 00 xA 00 X 11 X 10 X 01 X X X 11 X X X 10 X X X 01 X 11 1 10 BC 00 xA 00 X 01 X X X X 01 11 X X X X 11 10 X X 1 1 10 1 X BC 00 xA 00 X 11 X 10 1 X X X 01 X X X X 11 X X X 10 X 01 01 11 1 10 X BC 00 xA 00 X 01 X 1 (3) 회로도 6 1 01 11 10 X X X 1 X X 1 1 X 11 10 X X X X 01 BC 00 xA 00 X 01 X 디지털논리회로 Solutions of Chapter 9 F x CP JA Q A KA Q JB Q B KB Q JC Q KC Q C 10. 상태 축소 (1) 상태 a와 h가 동일하므로 축소하면 다음과 같다. x=0 c d a b e f c 현재상태 a b c d e f g (2) 초기상태 x 차기상태 x=1 f e g g b a g x=0 출력(z) 0 0 0 0 0 0 0 0 0 0 0 1 1 1 a에서 출발하여 입력순서가 x=1001101인 경우 차기상태 출력(z) a x=1 차기상태와 출력 1 0 0 1 1 0 1 0 0 0 1 0 0 1 f f f a f f a 11. 순서논리회로 설계 (1) 순서논리회로 , , DA Q A x y Q DB Q Q CP 7 B F 디지털논리회로 Solutions of Chapter 9 (2) 상태표 x 입력 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 현재상태 y A 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 차기상태 B 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 출력 B 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 F 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 (3) 상태도 00/0, 10/0, 11/0 00 00/0 10/1, 11/1 01/0 01/0 01 10 01/1 00/1 00/1 10/0, 11/0 11 01/1, 10/1, 11/1 12. 순서논리회로 설계 (1) 순서논리회로 x y JA Q KA Q JB Q KB Q A B CP F 8 디지털논리회로 Solutions of Chapter 9 (2) 상태 여기표 x 입력 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 현재상태 y A 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 차기상태 B 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 B 1 0 1 1 0 0 1 1 1 1 0 1 0 1 1 1 출력 F 0 1 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 (3) 상태도 01/0 00 00/0 11/0 00/1, 01/0 10/0 00/0, 01/0, 11/1 10/0 10 01 10/0 11/0 00/1, 01/0, 10/0, 11/1 11 (4) 상태 방정식 13. 상태도를 이용한 순서논리회로 설계 (1) 상태 여기표 A 0 0 0 0 1 1 1 현재 상태 B C A 0 0 1 1 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 차기 상태 플립플롭 입력 B C TA TB TC 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1 0 111은 Don't Care 처리. (2) 플립플롭 입력 및 출력 함수 9 출력 F 0 1 0 1 1 1 0 디지털논리회로 Solutions of Chapter 9 BC BC 00 A 01 11 10 00 A 01 11 0 1 0 1 1 1 X 1 1 X 1 BC BC 00 01 11 10 0 1 1 1 1 1 1 1 X A 10 00 A 0 1 1 01 11 1 1 1 X 10 (3) 회로도 TA Q A CP Q TB Q B CP Q TC Q C CP Q F CP 14. 상태도를 이용한 순서논리회로 설계 (1) 상태 여기표 입력 x 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 현재상태 B 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 A 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 차기상태 B 0 1 0 1 0 1 1 1 0 0 1 0 1 0 1 0 플립플롭 입력 C TA 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 10 TB 0 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 TC 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 출력 F 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 디지털논리회로 Solutions of Chapter 9 (2) 플립플롭 입력 함수 BC 00 xA 00 1 01 11 BC 00 xA 00 10 1 01 01 11 1 1 11 01 1 10 BC 00 xA 00 10 1 1 11 10 01 1 A B A B 1 1 10 1 1 TA C ⊕ Q A C C Q C A B TB Q B C C Q A B TC Q C C CP Q 15. 순서논리회로 설계 (1) 상태 여기표 입력 현재상태 차기상태 플립플롭 출력 x A B A B DA DB 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 0 0 0 0 1 1 0 1 0 1 0 1 0 1 1 1 0 0 (2) 플립플롭 입력 함수 AB AB 00 x 01 0 1 1 11 10 1 1 00 x 0 1 1 1 01 11 1 1 10 1 11 1 1 B B 1 10 11 (3) 회로도 A 11 1 1 x 01 1 디지털논리회로 Solutions of Chapter 9 (3) 회로도 x DA A Q Q B Q DB CP Q 16. 3-비트 그레이 코드 카운터 설계( 플립플롭 이용) (1) 상태 여기표 현재 상태 차기 상태 플립플롭 입력 A B C A B C J A KA J B KB J C KC 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 1 1 1 0 1 1 1 0 0 1 0 1 1 0 0 0 0 1 1 0 0 1 0 x x x x 1 x 0 x 0 x 1 x x x x x 1 0 0 0 0 1 x x 0 0 x x x x 0 0 x x 0 1 x 0 x 1 x 1 x 0 (2) 플립플롭 입력 함수 BC BC 00 A 01 11 10 0 1 X X X A BC 00 01 11 10 X X X 1 0 X X 1 1 0 01 0 X X 1 X X 11 10 A 0 1 1 10 1 X X X X BC 00 01 11 1 X X X X 10 00 A 1 ⊙ 11 BC 00 01 1 BC A 00 A 0 X 1 X 01 11 10 1 X 1 X ⊕ (3) 회로도 A B C JA Q JB Q JC Q KA Q KB Q KC Q CP 12 디지털논리회로 Solutions of Chapter 9 17. 상태도를 이용한 순서논리회로 설계 (1) 상태 여기표 10진수 1 2 3 4 5 6 7 현재 상태 차기 상태 플립플롭 입력 A B C A B C J A KA J B KB J C KC 0 0 0 1 1 1 1 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 1 1 1 0 1 1 1 1 0 0 1 0 1 x x x x x 1 x 1 x 0 x 0 1 1 0 0 1 1 x x x 1 0 1 0 0 x x 1 1 x x x 1 1 x x 0 0 1 x 0 x 0 x 1 000은 무관항(don't care)으로 처리 (2) 플립플롭 입력 함수 BC BC 00 01 11 0 X 1 1 1 X X X A 10 X BC 00 01 11 10 0 X X X X 0 X 1 1 1 1 1 A BC 01 11 10 0 X X 1 1 1 X X 1 11 10 X X X X 11 10 BC 00 01 11 10 0 X X X 1 1 1 X X A 01 BC 00 A 00 A 00 01 0 X 1 1 X A X 1 X ⊙ (3) 회로도 A B C JA Q JB Q JC Q KA Q KB Q KC Q CP 13 디지털논리회로 Solutions of Chapter 9 18. 순서논리회로 설계 (1) 상태 여기표 현재 상태 차기 상태 플립플롭 입력 A B C A B C D J K T 0 0 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 x x 1 0 x x 1 0 x x 0 1 1 1 1 0 0 000, 111은 don't care (2) 플립플롭 입력 함수 BC A 0 BC 00 01 11 10 X 1 1 1 1 00 A X 11 10 0 X X X 1 1 X X BC BC 00 01 0 X X 1 X X A 01 11 10 00 01 11 10 0 X 1 1 1 1 1 A 1 X X (3) 회로도 D A J B A K B T C CP (4) 초기상태가 0 또는 7일 때의 동작 1 5 4 2 3 6 14 C 7 0 디지털논리회로 Solutions of Chapter 9 19. 순서논리회로 설계 (1) 상태도 00 0/ 0/ 1/ 1/ 1/ 1/ 01 11 0/ 0/ 10 (2) 상태 여기표 현재상태 외부입력 A B 0 0 0 0 1 1 1 1 x 0 0 1 1 0 0 1 1 차기상태 A B 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 JA 1 1 0 0 1 1 0 0 플립플롭의 입력 KA 0 1 1 0 × × × × JB × × × × 0 1 1 0 1 1 × × 1 1 × × × × 1 1 × × 1 1 (3) 플립플롭 입력 함수 Bx Bx 00 A 0 01 11 1 1 X X X 10 A 1 0 X 1 00 01 11 10 X X X X 1 ⊕ 1 ⊕ Bx Bx 00 01 11 10 00 01 11 10 0 1 1 X X 0 X X 1 1 1 1 1 X X 1 X X 1 1 A A (4) 회로도 x JA Q A CP +5V KA Q JB Q CP KB CP 15 Q B KB 디지털논리회로 Solutions of Chapter 9 20. 상태 방정식을 이용한 순서논리회로 설계 플립플롭의 특성 방정식은 이므로 , , , x y C B A C JA Q A KA Q A JB Q B KB Q B JC Q KC Q A C C C B C A B A B B B CP 21. 플립플롭을 이용한 회로설계 (1) 주어진 조건에 의하여 M-N 플립플롭의 진리치표는 다음과 같다. M N 0 0 0 0 1 1 0 (불변) (toggle) 1 1 1 진리표를 이용하여 여기표를 작성하면 아래와 같다. 16 C 디지털논리회로 특성표 현재상태 차기상태 Q(t) Q(t+1) 입력 M N 0 0 0 0 1 1 1 1 Solutions of Chapter 9 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 여기표 현재상태 차기상태 요구입력 Q(t) Q(t+1) M N 0 0 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 X X X X 0 1 (2) 상태 여기표 A 현재상태 0 0 0 1 1 1 B C 00 01 0 0 1 0 0 1 0 1 1 0 1 1 A 차기상태 B 0 0 1 0 1 1 0 1 1 0 0 0 플립플롭 입력 C MA NA MB NB MC NC 1 1 1 0 0 1 0 0 1 x x x x x x 0 1 1 0 1 x 0 0 x x x 1 x x 0 1 x x 0 x x 00 01 11 10 X X X X 0 1 1 X 1 x 1 1 x 0 1 (3) 카르노 맵 BC A BC 0 1 X X 11 10 1 X 0 X X 1 A BC BC 00 01 11 10 0 X X 1 X 0 1 X X X 1 A 01 11 10 1 X X X X BC A 00 A BC 00 01 11 10 1 X X X X X X M Q A CP N Q M Q B CP N Q M Q C CP N 17 01 11 10 0 X 1 1 X 1 X 1 X (4) 회로도 CP 00 A Q 디지털논리회로 Solutions of Chapter 9 22. 순서논리회로 설계 (1) 상태도 0/0 S0 0/0 0/0 1/0 S1 1/1 S2 1/0 (2) 상태표 차기상태 현재상태 출 력 0 0 0 0 0 1 (3) 상태 여기표 현재상태 A B 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 입력 0 1 0 1 0 1 0 1 차기상태 플립플롭 입력 A B 0 0 0 1 0 1 × × 0 1 0 0 0 0 × × 0 0 0 1 × × × × 0 1 × × 0 0 × × × × × × 1 0 × × 출력 0 0 0 0 0 1 × × × × 1 1 × × × × (4) 플립플롭 입력 및 출력함수 Bx Bx 00 A 01 11 0 1 10 1 X X X X Bx 00 01 11 10 0 X X X X 0 1 1 X X 1 A Bx 01 11 10 1 X X X X Bx 00 01 11 10 0 X X 1 1 0 1 X X X X 1 A 00 A 00 A 01 11 10 1 X X (5) 회로도 18 디지털논리회로 Solutions of Chapter 9 z x JA Q KA Q JB Q KB Q CP 1 23. 순서논리회로 설계 (1) 상태도 0/0 S0 0/0 0/0 1/1 1/0 S1 S2 1/0 (2) 상태표 현재상태 차기상태 출 력 0 0 0 0 0 1 (3) 상태 여기표 현재상태 A B 0 0 0 0 1 1 입력 차기상태 플립플롭 입력 A B 0 0 0 1 × × 0 1 × × 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 1 0 1 × × × × × × × × 1 1 × × × × 출력 × × 1 1 × × 0 0 0 0 0 1 × × × × × × (4) 카르노 맵 19 A B 디지털논리회로 Solutions of Chapter 9 Bx Bx 00 A 01 0 1 11 10 1 X X X X Bx 00 01 11 10 0 X X X X 0 1 1 1 X X 1 A 00 A Bx 11 10 1 X X X X Bx 00 01 11 10 0 X X 1 1 0 1 X X X X 1 A 01 00 A 01 11 10 1 X X (5) 회로도 z x 1 JA Q KA Q JB Q KB Q CP 1 20 A B IT COOKBOOK 디지털논리회로 이론, 실습, 시뮬레이션 (Problem Solutions of Chapter 10) 디지털논리회로 Solutions of Chapter 10 1. 비동기식 6진 상향 카운터 설계 6진 카운터를 구성하기 위해 출력이 목표로 하는 최고 카운트에 1을 더한 6에 도달한 순간을 포 착하여 모든 플립플롭의 출력을 Clear한다. 6진 카운터는 비동기 입력(Clear, Preset)이 있는 3개 의 플립플롭이 필요하다. J-K 플립플롭을 사용하며, Toggle 동작을 얻기 위해 모든 J와 K 입력을 +5V에 연결하였으며, 또한 Preset 단자도 동작에 영향을 주지 않기 위하여 +5V에 연결하였다. 즉, 6진 상향 카운터이므로 출력은 000, 001, 010, 011, 100, 101까지 카운트한 다음 110으로 넘어 가려는 순간을 디코더로 검출하여 모든 플립플롭을 Clear하면 된다. Q1 +5V J Q2 Q3 +5V PR Q J +5V PR Q PR J Q CP K CLR K CLR K CLR 2. 비동기식 60진 상향 카운터 설계 플립플롭 6개를 사용하며, 카운트가 60에 도달한 것을 감지하여 카운터를 리셋시켜야 한다. QA(LSB) QB QC QD QE QF(MSB) +5V J Q J Q J Q J Q J Q J Q CP K CLR Q K CLR Q K CLR Q K CLR Q K CLR Q K CLR Q 3. 카운터에서의 최대 동작 주파수 결정 플립플롭 당 전파지연시간이 약 10nsec 이므로 10개의 플립플롭을 통과하는데 소요되는 시간은 약 100nsec이다. 따라서 최대지연시간은 100nsec이며, 카운터가 정상적으로 동작할 수 있는 최 대 주파수는 약 10MHz이다. × × 4. 동기식 BCD 카운터 설계(T 플립플롭 이용) (1) 동기식 BCD 카운터의 상태도 0000 0001 0010 0011 0100 1001 1000 0111 0110 0101 1 디지털논리회로 Solutions of Chapter 10 (2) 동기식 BCD 카운터의 상태 여기표 A 현재 상태 0 0 0 0 0 0 0 0 1 1 B 0 0 0 0 1 1 1 1 0 0 C 0 0 1 1 0 0 1 1 0 0 D 차기 상태 A 0 1 0 1 0 1 0 1 0 1 B 0 0 0 0 0 0 0 1 1 0 C 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 D 플립플롭 입력 TA 1 0 1 0 1 0 1 0 1 0 TB 0 0 0 0 0 0 0 1 0 1 TC 0 0 0 1 0 0 0 1 0 0 TD 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 (3) 플립플롭 입력 및 출력함수 CD 00 AB 00 01 01 11 11 CD 00 AB 00 10 1 X 10 01 X X X 11 1 X X 10 01 11 X 01 1 11 1 1 1 X X X 10 11 1 10 1 X X CD 00 AB 00 01 X X X X CD 00 AB 00 1 10 01 1 11 1 10 1 01 1 1 1 1 X 11 X X X X X 10 1 1 X X (4) 회로도 TA Q A Q TB Q B Q TC Q C Q 1 CP TD Q Q 2 D 디지털논리회로 Solutions of Chapter 10 5. 0부터 63까지 계수할 수 있는 카운터 설계 4비트 동기식 2진 카운터의 출력(Q1, Q2, Q3, Q4)은 각각 ÷2, ÷4, ÷8, ÷16인 출력을 얻을 수 있다. 따라서 4비트 동기식 2진 카운터 2개를 이용하여 64진 카운터를 구성할 수 있는 방법은 “4 진×16진”으로 구성하거나 “8진×8진”으로 구성할 수 있다. Q1 Q1 Q2 Q2 Q3 Q3 Q4 Q4 Q1 Q1 Q2 Q2 Q3 Q3 Q4 Q4 Clock Output Clock Output 6. 상향/하향 포화 카운터(up/down saturation counter) 설계 (1) 상향/하향 포화 카운터의 상태 여기표 입력 현재상태 x A 0 0 0 0 1 1 1 1 차기상태 B 0 0 1 1 0 0 1 1 A 0 1 0 1 0 1 0 1 B 0 1 1 1 0 0 0 1 JA 1 0 1 1 0 0 1 0 0 1 × × 0 0 × × 플립플롭상태 KA JB × × 0 0 × × 1 0 1 × 1 × 0 × 1 × (2) 플립플롭 입력함수 AB AB 00 x 0 01 11 10 1 X X X X 1 00 01 0 X X 1 X X x AB 0 1 10 1 x 11 AB 00 01 11 10 1 X X 1 X X 1 00 01 0 X 1 1 X 1 x 11 10 X 1 X (3) 회로도 x JA A JB B KA A KB B CP 3 KB × 1 × 0 × 1 × 1 디지털논리회로 Solutions of Chapter 10 7. 주파수 분할 (1) 첫 번째 단은 5진 카운터, 두 번째 단은 8진 카운터, 마지막 단은 10진 카운터이므로 입력 주 파수가 1MHz이면 출력 주파수는 2.5KHz이다. × × (2) 첫 번째 단은 5진 카운터, 두 번째 단은 16진 카운터이므로 입력 주파수가 1MHz이면 출력 주 파수는 12.5KHz이다. × 8. 다음의 주파수를 얻기 위한 방법을 일반적인 블록선도로 표시 (1) 5MHz (2) 2.5MHz Q 5MHz Q 10MHz T 10MHz (3) 2MHz T mod-10 QA QB QC QD 1MHz 2.5MHz (4) 1MHz mod-5 QA QB QC 10MHz 10MHz 2MHz (5) 500kHz 10MHz Q T (6) 250kHz mod-10 QA QB QC QD Q mod-10 QA QB QC QD 500KHz T 10MHz Q 250KHz mod-10 QA QB QC QD 10KHz Q T T (7) 62.5kHz 10MHz mod-10 QA QB QC QD Q T Q Q T T (8) 40kHz 10MHz (9) 10kHz mod-10 QA QB QC QD mod-5 QA mod-5 QA QB QB QC QC 10MHz 40KHz (10) 1kHz 10MHz 62.5KHz Q T mod-10 QA QB QC QD mod-10 QA QB QC QD mod-10 QA QB QC QD mod-10 QA QB QC QD 4 1KHz mod-10 QA QB QC QD mod-10 QA QB QC QD 디지털논리회로 Solutions of Chapter 10 9. 주파수 분할 5진 카운터를 설계하여 적용하면 입력이 10MHz인 경우 출력은 2MHz인 구형파를 얻을 수 있다. 10. 플립플롭을 사용하여 4비트 링 카운터 설계 (1) 회로도 Q1 Q2 Q J Q J CP Q3 CP K CLR Q J CP K CLR Q4 Q J CP K CLR K CLR CLEAR CP (2) 타이밍 도 CP Q1 Q2 Q3 Q4 11. 존슨 카운터에서 미사용 상태 증명 미사용 상태 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 1 1 0 0 1 0 1 1 0 차기상태 0 0 1 0 1 0 1 1 0 1 1 1 0 0 0 1 1 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 예를 들어 미사용 상태인 0010에서 카운터가 시작되는 경우 차기상태는 0101이 되며, 0101 다음 에는 미사용 상태인 1011이 된다. 또한 1011 상태에서 차기상태는 미사용 상태인 0100가 되어서 미사용 상태를 빠져 나오지 못하게 된다. 12. 10개의 타이밍 신호를 발생시키는 존슨 카운터를 설계 문제 9를 확장하여 10개의 J-K 플립플롭을 사용하면 된다. 5 디지털논리회로 Solutions of Chapter 10 Q1 J Q2 Q J K CLR Q Q3 J K CLR Q Q4 J K CLR Q K CLR Q5 J Q K CLR Q6 J Q K CLR Q7 J Q K CLR Q8 J Q K CLR Q9 J Q K CLR Q10 J Q K CLR CLEAR CP 13. 7490을 사용하여 9진 카운터 설계 우선 Q0 출력을 CP1에 연결하여 10진 카운터를 구성한다. 여기서 6번과 7번 핀인 Q9(1)과 Q9(2)를 0V로 한다. 카운트가 1001(9)에 도달하는 순간 출력을 Clear하기 위하여 Q3과 Q0를 각각 2번과 3 번 핀인 R0(1)과 R0(2)에 연결한다. 6 7 Q9(1) Q9(2) 14 Clock CP0 7490 1 CP1 R0(1) R0(2) QA QB QC QD 2 3 12 9 8 0 1 2 8 9 11 14. 74160을 사용하여 9진 카운터 설계 16-9=7이므로 프리세트 입력(6, 5, 4, 3번 핀)인 DCBA=0111로 프리세트하고 카운트가 최고상태 1111에 도달했을 때, 프리세트된 입력을 다시 Load하기 위하여 CO 출력(15번 핀)을 반전시켜 9번 핀인 단자에 연결한다. 1번 핀인 단자는 사용하지 않으므로 +5V에 연결한다. +5V 6 D +5V 1 Clock 2 5 C 4 B 3 A LD CLEAR 9 74160 CP1 CO EN P T 7 +5V 15 QA QB QC QD 10 7 8 9 14 15 14 13 12 11 출력 15. 7493을 사용하여 13진 카운터 설계 우선 출력 12번 핀인 QA를 CP1에 연결하여 16진 카운터를 구성한다. 카운트가 진행하여 출력단 자인 QDQCQBQA=1101(13)에 도달하는 순간에 출력을 Clear시키기 위하여 아래 그림과 같은 디코 더를 연결한다. 6 디지털논리회로 QA 1 CP1 12 9 QB 7493 14 Clock Solutions of Chapter 10 CP0 8 QC 11 R0(2) QD R0(1) 2 0 1 2 12 13 3 16. 74161 2개를 사용하여 121진 카운터 설계 클록펄스는 두 카운터에 공통으로 인가하고 제1카운터의 CO 출력을 제2 카운터의 ENP 단자에 연 결하며, ENT 단자는 +5V에 연결한다. 이러한 경우 16개의 클록펄스마다 제1카운터의 CO 출력에 서 정의 펄스가 발생되어 제2카운터의 카운트를 1씩 증가시킨다. 따라서 제2카운터의 CO 출력에 는 16×16=256개의 클록펄스마다 정의 펄스가 발생된다. 256보다 낮은 121진 카운터를 구성하려 단자에 연결한다. 면 적당한 데이터를 프리세트하고 제2 카운터의 CO 출력을 반전시켜 121분주인 경우 256 -121 =135이므로 카운터의 입력을 10000111(=135)를 프리세트한다. +5V 3 9 +5V A LD 1 4 B +5V 5 C 6 9 +5V D 74161 2 LD 1 CLEAR CO 4 B 5 C 6 D CLEAR 15 74161 2 CP1 CO 15 Output CP1 EN P 3 A EN T 7 P 10 T 7 10 +5V Clock +5V 17. 7490을 3개를 사용하여 000에서부터 999까지를 계수할 수 있는 회로를 설계 1의 자리 12 QA 14 CP 1 9 8 QB 10의 자리 11 QC 12 QD 14 Input B 7490 1 Input A 9 QA 8 QB 100의 자리 11 QC 12 QD QA 14 Input B 7490 1 Input A 9 8 QB 11 QC QD Input B 7490 Input A R0(1) R0(2) R9(1) R9(2) R0(1) R0(2) R9(1) R9(2) R0(1) R0(2) R9(1) R9(2) 2 3 6 7 2 3 6 7 2 3 6 7 18. 7490을 사용하여 분주기 설계 7490은 내부에 2진 카운터와 5진 카운터가 내장되어 있으므로 이를 이용하여 10Hz와 1Hz를 아 래 그림과 같이 구성하여 만든다. 7 디지털논리회로 Solutions of Chapter 10 mod-2 mod-2 7490 CP 14 mod-10 7490 12 QA 14 mod-10 7490 11 QA 2MHz 14 7490 11 QD 1MHz 14 QD QA mod-10 mod-10 7490 14 QD 12 12 11 QD QA 1 1 12 QA 1 12 7490 11 14 10Hz QD QA 1 QA 12 11 1KHz QD mod-10 7490 11 14 100Hz 7490 11 14 10KHz 100KHz 1 mod-10 1Hz QA 1 12 19. 자동차 주차관리 시스템에서 카운터의 상태 자동차가 주차장 안으로 들어가면 카운터의 값은 +1 증가하고, 밖으로 나가면 -1 감소 된다. 입력센서에서 감지된 펄스의 개수는 41개이고, 출력센서에서 감지된 펄스의 개수 는 34이다. 따라서 24시간이 경과한 후 카운터는 35+41-34=42이다. 8