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

Slides:



Advertisements
Similar presentations
13 강 논리회로 2 과목 전자계산기 구조 강사 이 민 욱. 13 강 논리회로  논리회로 1. 부울 대수 (Boolean Algebra) 에서 사용하는 기본 연산자 ① 논리부정 : NOT ( ` ) 논리부정은 F = NOT A 의 표현을 F =A` 로 표현 ② 논리곱.
Advertisements

1 8 장 대형 순차회로 문제의 해법 1) 시프트 레지스터 2) 카운터 3)ASM 도를 이용한 설계 4)One Hot encoding 5) 복잡한 예제.
레지스터 (Register) IT CookBook, 디지털 논리회로 11. 2/31 학습목표  네 가지 기본형 레지스터의 동작을 이해한다.  양방향 시프트 레지스터의 동작을 이해한다.  레지스터의 주요 응용분야를 이해한다.  MSI 시프트 레지스터 IC 의 외부접속.
레지스터 (Register) IT CookBook, 디지털 논리회로 학습목표 및 목차 네 가지 기본형 레지스터의 동작을 이해한다. 양방향 시프트 레지스터의 동작을 이해한다. 레지스터의 주요 응용분야를 이해한다. MSI 시프트 레지스터 IC 의 외부접속.
10 카운터 (Counter) IT CookBook, 디지털 논리회로.
컴퓨터와 인터넷.
패러럴 포트를 이용한 Text LCD 제어 6월 17일 허정수 나선웅.
9 동기순서논리회로 IT CookBook, 디지털 논리회로.
VHDL 프로그램은 비동기 Reset을 갖는 D 플립플롭을 구현한 것이다
                                  8장 A/D 변환기 A/D Converter? A/D Converter 원리 Bit 수와 최대범위 및 해상도와의 관계.
디지털 부속품 (Digital Components)
카르노 맵을 이용한 간략화 2) 입력변수가 n이면 2n 개의 빈칸 작성 3) 민텀은 “1”, 맥스텀은 “0”을 해당칸에 기입
5장. 순차 논리 회로 Lecture #5.
래치(latch) S R Q Q 1 기본적인 플립플롭(basic flip flop)으로 1비트의 정보를 저장할 수 있는 소자
제7강 학습 내용 주소지정 방식의 예 값 즉시 지정 방식과 실행 예 레지스터 직접지정 방식 메모리 직접지정 방식과 실행 예
디지털논리실습 기본 논리 게이트 부울대수 조합회로.
오브젝트 플립플롭 IT CookBook, VHDL을 이용한 디지털 회로 입문.
12장. 제어 장치 다루는 내용 CPU속의 제어장치 마이크로 연산 제어장치의 동작.
Text LCD control.
쉬프트 레지스터 용어 Shift Register: N-bit 데이터를 직렬 혹은 병렬로 N-bit 레지스터에 이동 저장하는 동기식 순차회로. Left Shift: 쉬프트 레지스터에서의 데이터의 이동이 오른쪽에서 왼쪽으로 (MSB방향으로) 이동하는 동작으로 한 클록 펄스마다.
RS 및 D 플립플롭 RS Flip Flop 래치는 어떤 입력 레벨에 의해서 제어되는 데 플립플롭은 클록 입력이라고
JK 및 T 플립플롭 JK Flip-Flop JK 플립플롭은 디지털 시스템에서 가장 많이 사용되고 있는 플립플롭으로
9장. 제어장치 Lecture #9.
제10강 중앙처리장치 1.
디지털회로설계 16. 동기식 카운터.
DK-128 ADC 실습 아이티즌 기술연구소
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
타이머카운터 사용법 휴먼네트웍스 기술연구소
PSW : PROGRAM STATUS WORD
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
Stop Watch <결과 보고서>
디지털논리실습.
학습 목표 비동기식, 동기식 카운터의 설계 과정 및 동작을 이해한다. 링 카운터와 존슨 카운터의 동작을 이해한다.
HW (5월 11일 제출) P405 문제 7 a), d) 주어지 회로에 대한 상태표를 완성하고 주어진 입력에 대한
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
디 지 털 공 학 한국폴리텍V대학.
플립 플롭 회로.
6장 순차회로 시스템 상태표와 상태도 래치와 플립플롭 순차 시스템의 해석.
플립플롭, 카운터, 레지스터 순서회로 플립플롭 카운터 레지스터.
DK-128 FND 실습 아이티즌 기술연구소
오브젝트 순서회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
연산자 (Operator).
동기식 카운터 설계.
9. 카운터 9-1 비동기 카운터 9-2 동기 카운터 9-3 업/다운 동기 카운터 9-4 동기카운터 설계
논리회로 설계 및 실험 5주차.
6 레지스터와 카운터.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
패러럴 포트를 이용한 Text LCD 제어 6월 17일 허정수 나선웅.
6. 레지스터와 카운터.
제4강 처리장치 1.
13장 CTC and DMA Slide 1 (of 10).
Chapter 03 순서 논리회로.
UNIT 25 SPI 로봇 SW 교육원 조용수.
ATmega128의 특징 아이티즌 기술연구소
RAM RAM 읽기 동작(read) RAM 쓰기 동작(write) 1. 주소선을 통해 주소값 입력.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
DK-128 직렬통신 실습 아이티즌 기술연구소
AT MEGA 128 기초와 응용 I 기본적인 구조.
컴퓨터구조 (chap2 그림모음).
UNIT 25 SPI 로봇 SW 교육원 조용수.
ARM Development Suite v1.2
논리회로 설계 및 실험 4주차.
시리얼 UART 정리 정보통신•컴퓨터 공학부 송명규
8장. 연산 장치 Lecture #8.
TVM ver 최종보고서
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
디 코 더 n비트의 2진 코드를 입력으로 받아들여 최대 2n개의 서로 다른 정보로 바꿔 주는 조합 회로
Presentation transcript:

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

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

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

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

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

병렬입력(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 → 시프트 직렬출력

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

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

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

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

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

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

74191 Down/Up´ 카운터

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 7490 10진 (2 x 5) 7492 12 진 (2 x 6)

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

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

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

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

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

Moore 상태도와 ASM 도

Mealy 상태도와 ASM 도

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

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

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

간단한 컴퓨터 설계 메모리 : 명령어와 데이터를 저장 레지스터 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

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

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

One Hot Encoding 방식의 제어기

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

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

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

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

가정 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)

예제 8.7: 16 상태(1 2 4 7 11 0 6 13 5 14 8 3 15 12 10 9)를 순회하는 카운터 카운터 상태표

방법 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

방법 2: 4-비트 동기식 카운터(74161과 같은)와 디코더 블럭 사용 방법 2: 4-비트 동기식 카운터(74161과 같은)와 디코더 블럭 사용 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -> 1 2 4 7 11 0 6 13 5 14 8 3 15 12 10 9 디코더 블럭 진리표

방법 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, 비용= $3.00 + 카운터 비용 카운터 비용 < $2.50 → 이 방법이 더 저렴