디지털디지털회로회로 - egloospds17.egloos.com/pds/200908/31/64/3.digtal.pdf ·...

52
디지털 디지털 회로 회로 디지털 논리의 표현 디지털 회로 디지털 회로 디지털 회로 구현 [email protected] http://blog.naver.com/dolicom

Upload: others

Post on 25-Jan-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

디지털디지털 회로회로

디지털 논리의 표현

디지털 회로디지털 회로

디지털 회로 구현

[email protected]://blog.naver.com/dolicom

논리논리

논리논리 게이트게이트논리논리 게이트게이트

논리 게이트논리 게이트

논리게이트(Logic gate)0 또는 1로 구성된 2진 정보를 취급하는 논리0 는 1 구성된 진 정 를 취급하는 논리회 (logic circuit)

일반적으로 2개 이상의 입력 단자와 하나의 출일반적으로 2개 이상의 입력 단자와 하나의 출력 단자

기본 게이트 : AND OR NOT기본 게이트 : AND OR NOT

기본 게이트로 부터 EOR NAND NOR등으로조합조합

논리게이트의 종류 - 기본게이트논리게이트의 종류 기본게이트

AND OR NOT

X Y S

00

01

00

X S

01

10

X Y S

00

01

010

11

101

001

1 0011

101

111

논리게이트의 종류 - 기본게이트논리게이트의 종류 기본게이트

XOR NAND NOR

X Y S

00

01

01

X Y S

00

01

10

X Y S

00

01

110

11

101

110

011

101

000

011

101

110

버퍼 (buffer)버퍼 (buffer)

buffer

X S

OE

X S

OE

X S

X S

01

01

OE X S

00

01

ZZ

OE X S

00

01

ZZ1 1

11

01

01

11

01

10

조합 논리회로조합 논리회로

반가산기(h lf dd )반가산기(half adder) 2비트의 산술 덧셈을 하는 로직

입력 출력입력 출력

X Y S C

0 0 0 0011

101

110

001

전가산기(full adder)전가산기(full adder)

전가산기(f ll dd )전가산기(full adder)두 개의 2 진수 X, Y와 자리올림수 C1을 포함하여 3 비트를 더하는 조합 논리 회로

입력 출력입력 출력

X Y C1 S C

00

00

01

01

000

001

0110

1010

1101

0010

111

011

101

001

111

바이트 ADDER바이트 ADDER

두 바이트 더하는 회로는 반가산기 전가산기를 연결하여 만든다.기 하여 다

x0y0x1y1x7y7 x6y6 x0yx1y1y y

. . . c0c1c6 c5c7반가산기전가산기전가산기전가산기

s0s1s6s7

논리회로의논리회로의 구현구현논리회로의논리회로의 구현구현

논리 회로의 구현과 칩의 종류논리 회로의 구현과 칩의 종류

TTL과 CMOS 신호 전압TTL과 CMOS 신호 전압

74LS541 핀 구조74LS541 핀 구조

순차 논리 회로순차 논리 회로

클럭클럭 (Clock)(Clock)클럭클럭 (Clock)(Clock)

ClockClock

디지털 회로의 순차논리회로의 동기(변화시점)을 결정 한다.

Clock 사이에서는 조합 논리회로의 안정화 되고 에지 시점에서 상태 변화 한다.

CPU 및 대부분의 디지털 회로에서는 필요하다.

Timer 모듈은 디지털회로의 카운터를 기반으로Timer 모듈은 디지털회로의 카운터를 기반으로하드웨어적으로 동작하는 시간 모듈이다.

시계는 모두 이 클럭을 사용 한다시계는 모두 이 클럭을 사용 한다.

클럭의 모양클럭의 모양

클럭은 0과 1이 같은 시간동안 반복된다클럭은 0과 1이 같은 시간동안 반복된다.CPU는 듀티(Duty) 50% 클럭 사용

0

1

0

0과 1을 변화할 때 약간의 시간이 걸린다.

순차회로는 주로 클럭의 0과1의 변화시순차회로는 주로 클럭의 0과1의 변화시점(엣지)에서 상태가 변화는 동기가 일어난다난다.

주파수 발진 회로 예주파수 발진 회로 예

클럭의 사용클럭의 사용

수정발진자( Q t C t l O ill t )수정발진자( Quartz Crystal Oscillator)

CPU 내의 모든 동작은 이 클럭에 맞추어 동작

C2

30pF발진회로

C1

GND

30pF

CPU

외부 클럭을 사용외부 클럭을 사용

외부에서 완전한 클럭을 만들어 사용

Vcc CPU 클럭Vcc CPU 클럭

발진회로사용 하지 않음

XTAL1

사용하지사용하지 않음않음

XTAL2

GNDCPUCPU

수정 발진자 부품수정 발진자 부품

Quartz

수정

전극1 전극2

기호기호

구조모양

순차 논리 회로순차 논리 회로

순차논리회로순차논리회로순차논리회로순차논리회로

래치 (latch)래치 (latch)

기억장치 : 입력에 의해 상태가 전환되기 전까지 2진 상태 유지기억장치 : 입력에 의해 상태가 전환되기 전까지 2진 상태 유지SR 래치 - NOR 게이트 이용

래치 (latch)래치 (latch)

기억장치 : 입력에 의해 상태가 전환되기 전까지 2진 상태 유지기억장치 : 입력에 의해 상태가 전환되기 전까지 2진 상태 유지SR 래치 - NAND 게이트 이용

순차회로 (Sequence Circuit)순차회로 (Sequence Circuit)

G

S Q

G

RQ

D 래치 (latch)D 래치 (latch)

두개의 입력 : D(data), C(control)데이터 저장기능

D Q

C Q

D Flip-flopD Flip flop

Q : 상태유지↑, 0 ,1X0

QnextCLKQD

D Q

X1

, ,

1X1

0↓X0

↑, 0 ,1CLK Q> Q : 상태유지

1X1 ↓

74LS74A74LS74A

8비트 D 래치(latch)8비트 D 래치(latch)

11번 핀 G가 1일 때 모든 입력 D가 래치에 저장된다11번 핀 G가 1일 때 모든 입력 D가 래치에 저장된다.1번 핀 OutputControl이 0일 때 저장 상태가 Q에 나타난다.

8비트 D 플립플롭(Flip-flop)8비트 D 플립플롭(Flip flop)

11번 핀 CLOCK 이 ↑이면 모든 입력 D 가 저장 된다11번 핀 CLOCK 이 ↑이면 모든 입력 D 가 저장 된다.1번 핀이 0이면 모든 Q의 출력이 반영 된다.

Binary CounterBinary Counter

논리 회로의 프로그램논리 회로의 프로그램

PLDPLDPAL/GALPAL/GAL

프로그램프로그램 툴툴

PLDPLD

모든 조합 회로는 의 기본모든 조합 회로는 AND, OR, NOT의 기본로직으로 표시할 수 있다.

사용자가 필요한 논리기능을 프로그램 할수 있다.수 있다.

PAL : AND 배열을 프로그램하고 OR 배열은 고정 한 번 회로를 결정하면 회로를열은 고정. 한 번 회로를 결정하면 회로를바꿀 수 없다.

GAL : PAL과 같은 기능을 하나 재 프로GAL : PAL과 같은 기능을 하나 재 프로그램이 가능.

PAL 구조PAL 구조

Y = A B + BC + ABC= AB(C+!C) + (A+!A)BC +ABC= ABC + AB!C + ABC + !ABC + ABC= !ABC + AB!C + ABC

PT0 + PT1 + PT2

PT0 = !A B C => F1 F2 F4PT1 = A B !C => F6 F8 F11PT2 = A B C => F12 F14 F16

PT0 : XOOXOX => 011010PT1 : OXOXXO => 101001PT1 OXOXXO 101001PT2 : OXOXOX => 101010

O : fuse 연결X : 연결 안됨 논리 1로 입력X : 연결 안됨 – 논리 1로 입력

PLD 2PLD 2

SPLD (Simple Programmable Logic)

PAL과 유사한 구조. 게이트 수는 약 200개 정도.

CPLD (Complex Programmable Logic Device)

특별한 논리함수를 구현을 위한 Embedded특별한 논리함수를 구현을 위한 Embedded Array Block을 가지고 있다.

FPGA (Field Programmable Gate Array)FPGA (Field Programmable Gate Array)

PLD의 블록간의 연결에 Array구조와 Row구조사용사용

게이트의 용량이 많다.

PAL/GALPAL/GAL

GAL 22V10GAL 22V10PAL 16L8PAL 16L8

PAL/GAL 칩PAL/GAL 칩

PAL/GAL의 프로그램 예PAL/GAL의 프로그램 예

논리를 표현하는 파일을 만든다.

PLD 컴파일러로 논리 표현을 PAL/GAL에 쓸수 있도록 JED 파일을 만든다.

이것을 롬라이터로 PAL/GAL에 쓴다이것을 롬라이터로 PAL/GAL에 쓴다.

(보통 롬라이터에 쓰는것을 ‘굽는다’라함)

PCB 장착하고 동작 시킨다PCB 장착하고 동작 시킨다.

유틸리티컴파일러 : PALASM, WinCUPL(Atmel), ABEL

롬라이터 : 장치 및 라이터 프로그램 (구입)

PAL/GAL 프로그램 예

;PALASM Design Description

;--------- 선언부 (Declaration Segment) -------------------TITLE TUTOR1.PDSPATTERN APAL/GAL 프로그램 예PATTERN AREVISION 1.0AUTHOR J.ENGINEERCOMPANY ADVANCED MICRO DEVICESDATE 01/01/90 PALASM 예CHIP DECODER PAL16L8

;-------- 핀 정의 (PIN Declarations) -----------------------PIN 2 X COMBINATORIAL ; INPUTPIN 2 X COMBINATORIAL ; INPUTPIN 3 Y COMBINATORIAL ; INPUTPIN 4 Z COMBINATORIAL ; INPUT PIN 10 GND ; INPUTPIN 12 A COMBINATORIAL ; OUTPUTPIN 13 B COMBINATORIAL ; OUTPUTPIN 13 B COMBINATORIAL ; OUTPUTPIN 14 C COMBINATORIAL ; OUTPUTPIN 15 D COMBINATORIAL ; OUTPUTPIN 16 E COMBINATORIAL ; OUTPUTPIN 17 F COMBINATORIAL ; OUTPUTPIN 18 G COMBINATORIAL ; OUTPUTPIN 19 H COMBINATORIAL ; OUTPUTPIN 20 VCC ; INPUT

;------- 기능 정의 (Boolean Equation Segment) ---------------기능 정의 ( q g )EQUATIONS/A = /X * /Y * /Z/B = /X * /Y * Z/C = /X * Y * /Z/D = /X * Y * Z/D = /X * Y * Z/E = X * /Y * /Z/F = X * /Y * Z/G = X * Y * /Z/H = X * Y * Z

PAL/GAL 예;----------- Simulation Segment ------------SIMULATIONPAL/GAL 예SIMULATIONTRACE_ON X Y Z A B C D E F G HSETF /X /Y /ZCHECK /A B C D E F G H/SETF /X /Y ZCHECK A /B C D E F G HSETF /X Y /ZCHECK A B /C D E F G HSETF /X Y ZCHECK A B C /D E F G HSETF X /Y /ZCHECK A B C D /E F G HSETF X /Y ZCHECK A B C D E /F G HCHECK A B C D E /F G HSETF X Y /ZCHECK A B C D E F /G HSETF X Y ZSETF X Y ZCHECK A B C D E F G /HTRACE_OFF;;--------------------------------------

Name SimSch;Partno atf22v10c;Date 2004/06/21;Rev 01;

WinCUPLDesigner SongSukChun;Company icom;Assembly None;Location None;Device g22v10;

/****************************************************************//* Test simple circuit */

회로 예/****************************************************************/

/** Inputs **/

Pin 2 = IN1; /* Input pin 1 */Pin [5..7] = [A1..3]; /* Input vector */

/** Outputs **/

Pin 14 = OUT1; /* Output 1 */Pin [17..19] = [O1..3]; /* Output vector */

/* Perform 4, 1-bit, additions and keep the final carry */

OUT1 = IN1 & A1 & A2 & A3# !IN1 & !A1 & !A2 & !A3;

O1 = A1 & !A2 & !A3;O2 = !A1 & A2 & !A3;O3 = !A1 & !A2 & A3;

Wi CUPL 툴WinCUPL 툴

JED 파일

CUPL(WM) 5.0a Serial# 60008009Device g22v10 Library DLIB-h-40-1Created Tue Jun 22 15:39:59 2004N

JEDEC 파일JED 파일Name SimSchPartno atf22v10cRevision 01Date 2004/06/21D i S S kCh

JEDEC 파일– 컴파일 결과

Designer SongSukChunCompany icomAssembly NoneLocation NoneQP24*QP24

*QF5892 *G0 *F0 L02144 00000000000011111111111111111111*L02144 00000000000011111111111111111111

*L02176 11111111111111111111111111111111*L02208 11111111101110110111111111111111*L02240 11110000000000000000000000000000L02880 00000000000000000000000011111111*L02880 00000000000000000000000011111111

*L02912 11111111111111111111111111111111*L02944 11111111111111111111101101111011*L02976 11111111111111110000000000000000

. . .*L05792 00000000000000000000000011111100*L05824 00110110000101110100011001100011*L05856 00100011001001110110001100010011C35E2*C35E2

*E775

PLD 파일에서의 논리 표현PLD 파일에서의 논리 표현

PALASM

/A = /X * /Y * /Z

논리 표현

AND */A /X /Y /Z/B = /X * /Y * Z OR

NOT+/

WinCUPL

OUT1 = IN1 & A1 & A2 & A3# !IN1 & !A1 & !A2 & !A3;

논리 표현

ANDOR

&## !IN1 & !A1 & !A2 & !A3; OR

NOT#!