Presentation is loading. Please wait.

Presentation is loading. Please wait.

8장 대형 순차회로 문제의 해법 시프트 레지스터 카운터 ASM 도를 이용한 설계 One Hot encoding 복잡한 예제.

Similar presentations


Presentation on theme: "8장 대형 순차회로 문제의 해법 시프트 레지스터 카운터 ASM 도를 이용한 설계 One Hot encoding 복잡한 예제."— Presentation transcript:

1 8장 대형 순차회로 문제의 해법 시프트 레지스터 카운터 ASM 도를 이용한 설계 One Hot encoding 복잡한 예제

2 시프트 레지스터 그림 8.1 간단한 시프트 레지스터 추적 8.1 시프트 레지스터 타이밍

3 부하(load)를 줄이는 NOT 게이트가 있는 시프트 레지스터
클럭 부하: (앞에서는 4) 입력 x 부하: 1 (앞에서는 2)

4 시프트 레지스터 저장장치 LOAD = 0 → 데이터는 n개의 플립 플롭 순회 (circular shift)
LOAD = 1 → 새로운 x값이 저장

5 74164 직렬입력 병렬출력 시프트 레지스터 Active low 정적 클리어 입력 병렬(parallel) 출력
모뎀 입력 포트에 사용

6 병렬입력(parallel-in) 시프트 레지스터
정적인 적재(74165) Load’ = 1, CLR’와 PRE’가 모두 1 → 시프트 Load’ = 0 → 클럭 비활성화, PRE’= IN2’, CLR’= IN2, 플립플롭 출력 = IN2 동기적인 적재(74166) Enable’ = 0 → 클럭 전달, 아니면 클럭이 인가되지 않음 Enable’ = 0, Load’ = 0 → IN2가 q2에 저장, Load’가 1 → 시프트 직렬출력

7 오른쪽/왼쪽 시프트 레지스터

8 예제 8.1 입력 x가 7 클럭 동안 계속 변경되면 출력 z가 1인 시스템
가장 최근 것 A, 가장 오래된 것 H 6개만 필요

9 카운터 74161 카운터 동기식 카운트, 동기식 적재(active low) , 비동기식(active low) 클리어
적재(Load  = 0) : D = IND C = INC B = INB A = INA Count (ENP=1, ENT=1) OV: 오버플로우 출력

10 8-비트 카운터 (74161 두개를 사용) 처음 15 클럭 동안: 우측 카운터(낮은 자리) 만 활성화
처음 15 클럭 동안: 우측 카운터(낮은 자리) 만 활성화 카운터=15( ) → 오버플로우 출력(OV)=1. 좌측 카운터 활성화 다음 클럭 → 우측 카운터 = 0 (OV도 0), 좌측 카운터는 1 증가 (카운터=16) 다음 15 클럭 동안 → 우측 카운터만 증가 카운터=31( ), → 좌측 카운터 다시 활성화 다음 클럭 → 우측 카운터 = 0 (OV도 0), 좌측 카운터는 1 증가 (카운터=32)

11 예제 8.2 : MOD-120 카운터 (74161: 비동기 클리어) 74161 카운터 사용, 정적 클리어
최대값보다 하나 더 카운트하고 클리어 시킨다 120 ( )에서 NAND 게이트가 클리어 신호 생성 정적 클리어 때문에 짧은 시간 동안 120 이 나타난다

12 예제 8.3: MOD-120 카운터 (74163: 동기식 클리어) 74163 카운터, 동기화된 클리어
클리어 입력 활성화, 클럭에 맞추어 모든 플립 플롭이 0 119 ( ) 감지, 다음 클럭 펄스에서 클리어 카운터의 120인 상태가 나타나지 않음

13 74191 Down/Up´ 카운터

14 7493 비동기 이진 카운터 7493 16 진 (2 x 8) 7490 10진 (2 x 5) 7492 12 진 (2 x 6)
클럭 X점 연결 → 8진 counter, 출력 D, C, B 클럭 Y점 연결, A점 X점 연결 → 16진 counter 진 (2 x 5) 진 (2 x 6)

15 예제 8.4 : 9 번째 클럭마다 한 개의 클럭펄스를 출력하는시스템 방법 1: 74163 (동기식 클리어 ) 사용
예제 8.4 : 9 번째 클럭마다 한 개의 클럭펄스를 출력하는시스템 방법 1: (동기식 클리어 ) 사용 상태 8인 동안만 D=1 → 카운터 리세트

16 출력을 D와 clock을 AND하여 발생(방법 1과 같이)
예제 방법 2: 74161(비동기식 클리어) 사용 9 까지 카운트하고 클리어 출력을 D와 clock을 AND하여 발생(방법 1과 같이) 상태 9의 시작 부분에 glitch 발생 Glitch 없애기 위해 7이 될 때 출력을 발생

17 예제 방법 3: 74163을 이용한 다른 방법 동기식 적재 8, 9, 10, 11, 12, 13, 14, 15, 0, 8 … 카운터= 0 일 때  출력 1, 카운터에 8 적재

18 예제 방법 4: 이용 OV 출력 이용 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, … 카운터=15 → OV 출력 active low 적재 신호, 카운터에 7 적재(출력 1)

19 ASM 도를 이용한 설계 ASM (Algorithmic State Machine) 방법 3가지 기본요소
Finite machine을 설계할 때 사용되는 방법으로, 상태도와 유사하고 이해하기가 쉽다. 3가지 기본요소 상태(state), 판단(condition check), 조건부 출력(conditional output)

20 Moore 상태도와 ASM 도

21 Mealy 상태도와 ASM 도

22 Serial Adder A, B : 8bit 시프트 레지스터 결과: B 레지스터

23 직렬 덧셈기에 대한 ASM 도 신호 s : 덧셈과정 시작 신호 d : 계산완료 N: 3 bit counter

24 One Hot Encoding One Hot: 한 bit만 1이 되는 경우 (반대는 One Cold)
Ex) decoder output 한 bit 만 1이 되도록 encoding 하게 되면 플립플롭 수가 많아지지만 설계가 쉬워진다. 아래 상태도에서 각 상태에 대하여 A, B, C, D 4개의 플립플롭을 할당하면 A* = x (A+B+C+D) B* = x A C* = x B D* = x (C+D) z = D

25 간단한 컴퓨터 설계 메모리 : 명령어와 데이터를 저장 레지스터 256(28) words (1 word = 12 bits)
Address lines: A0, … A7 r’/w : read/write 제어선 레지스터 사용자 주소지정 가능한 레지스터: B, C 내부 레지스터 R : 12bit 명령어 레지스터 (교재의 I 와 R은 동일한 것) P : Program Counter T : 12 bit temporary register

26 간단한 컴퓨터 설계 명령어 형식 OP: 명령어 코드 N : 레지스터 선택 비트 M : 주소지정방식
00 : 메모리에서 레지스터로 로드 01 : 레지스터에서 메모리로 저장 10 : 메모리 내용과 레지스터 내용을 더함 11 : 점프 N : 레지스터 선택 비트 0 : B 레지스터 1 : C 레지스터 M : 주소지정방식 0 : 직접 주소지정 1 : 간접 주소지정

27 명령어 실행 단계 명령어 fetch PC update 명령어 decode, operand 결정 Operand 준비 실행
Read 신호 명령어 레지스터 ( R register ) 에 저장 PC update 명령어 decode, operand 결정 Operand 준비 실행

28

29 One Hot Encoding 방식의 제어기

30 복잡한 예제 입력으로 들어온 연속적인 1을 추적하여, 같은 수만큼 1을 출력
AND, OR, NOT 게이트, JK 플립 플롭, 상향/하향 카운터 이용 카운터로 연속적인 1의 갯 수를 카운트하고 (카운터 증가), 1 이 출력되면서 카운터를 감소

31 가정 1 : 연속해서 15개 이상 1이 없음 x=1 → D/U=0, 카운터 증가
카운터가 15를 넘지 않을 때만 동작

32 가정 2 :연속해서 15개 이상 1이 있는 경우 15개로 제한 15개 이상의 입력에도, 최대 15개의 1이 나오도록 출력 제한
X(0-14) X’(1-15) 15개 이상의 입력에도, 최대 15개의 1이 나오도록 출력 제한 값=15(1111) → x=1 이라도 카운터 비활성화

33 가정 2 : 세 개의 오른쪽/왼쪽 시프트 레지스터 이용
12-비트 시프트 레지스터 x = 1 → S0 =1, S1 = 0, 오른쪽 시프트, 가장 왼쪽 비트에는 1이 들어간다 x = 0 → 왼쪽 시프트, 오른쪽에 0을 적재 레지스터 수보다 많은 1 입력도 처리

34 가정 3: 1의 출력 완료까지 입력 무시 플립 플롭 Q=1: 카운터가 감소 중이고 x가 무시되는 상태
x = 0 Q = 0 count = 0 EN = 0 z = 0 D/U = X x = 0 Q = 0 count = 1 EN = 1 z = 1 D/U = 1 x = 0 Q = 0 count > 1 EN = 1 z = 1 D/U = 1 Q <- 1 x = 1 Q = 0 count ≠ 15 EN = 1 z = 0 D/U = 0 x = 1 Q = 0 count = 15 EN = 0 z = 0 D/U = X x = X Q = 1 count > 1 EN = 1 z = 1 D/U = 1 x = X Q = 1 count = 1 EN = 1 z = 1 D/U = 1 Q <- 0 Q : 0 -> 1 when x = 0 and count > 1 Q : 1 -> 0 when count = 1 J = x (D + C + B) K = D C B A z = Q + x Q (D + C + B + A) = Q + x (D + C + B + A) EN = x (A B C D) + z D/U = Q + x (D + C + B + A)

35 예제 8.7: 16 상태( )를 순회하는 카운터 카운터 상태표

36 방법 1: JK 플립 플롭 4개 사용 JD = C A + C B + B A KD = C B + C A + B A
JC = D A + D B KC = D A + D B A JB = D + A KB = D + A JA = D C + D C KA = D B + C B + D C B 2-입력 게이트 18개, 3-입력 게이트 5개 → 50센트 IC 7개, 총 비용=$5.50

37 방법 2: 4-비트 동기식 카운터(74161과 같은)와 디코더 블럭 사용
방법 2: 4-비트 동기식 카운터(74161과 같은)와 디코더 블럭 사용 > 디코더 블럭 진리표

38 방법 2 계속 W = C B A + D B A + C B A + D B A X = D B + D B
Y = C A + C A Z = B A + B A 2-입력 게이트 9개, 3-입력 게이트 4개, 4-입력 게이트 1개 카운터 출력(D, C, B, A) NOT 게이트 4개 총 패키지 수=6, 비용= $ 카운터 비용 카운터 비용 < $2.50 → 이 방법이 더 저렴


Download ppt "8장 대형 순차회로 문제의 해법 시프트 레지스터 카운터 ASM 도를 이용한 설계 One Hot encoding 복잡한 예제."

Similar presentations


Ads by Google