디지털 회로

Preview:

DESCRIPTION

디지털 회로. 디지털 논리의 표현 디지털 회로 디지털 회로 구현. dolicom@naver.com http://blog.naver.com/dolicom. 논리. 논리 게이트. 논리 게이트. 논리게이트 (Logic gate) 0 또는 1 로 구성된 2 진 정보를 취급하는 논리회 (logic circuit) 일반적으로 2 개 이상의 입력 단자와 하나의 출력 단자 기본 게이트 : AND OR NOT 기본 게이트로 부터 EOR NAND NOR 등으로 조합. 논리게이트의 종류 - 기본게이트. - PowerPoint PPT Presentation

Citation preview

디지털 회로디지털 회로

디지털 논리의 표현 디지털 회로 디지털 회로 구현

dolicom@naver.comhttp://blog.naver.com/dolicom

논리

논리 게이트논리 게이트

논리 게이트

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

논리회 (logic circuit)일반적으로 2 개 이상의 입력 단자와 하나의

출력 단자 기본 게이트 : AND OR NOT기본 게이트로 부터 EOR NAND NOR 등으로

조합

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

X Y S

0011

0101

0001

AND OR NOT

X S

01

10

 

X Y S

0011

0101

0111

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

X Y S

0011

0101

0110

XOR NAND NOR

X Y S

0011

0101

1000

X Y S

0011

0101

1110

버퍼 (buffer)

X

buffer

X S

01

01

S

OE

X S

OE

OE X S

0011

0101

ZZ01

OE X S

0011

0101

ZZ10

X S

조합 논리회로

입력 출력

X Y S C

0011

0101

0110

0001

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

전가산기 (full adder)

전가산기 (full adder) 두 개의 2 진수 X, Y 와 자리올림수 C1 을

포함하여 3 비트를 더하는 조합 논리 회로

입력 출력

X Y C1 S C

00001111

00110011

01010101

01101001

00010111

바이트 ADDER

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

. . .

x0y0

c0

x1y1

x7y7

x6y6

c1c6 c5c7

s0s1s6s7

반가산기전가산기전가산기전가산기

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

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

TTL 과 CMOS 신호 전압

74LS541 핀 구조

순차 논리 회로

클럭 클럭 (Clock)(Clock)

Clock

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

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

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

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

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

클럭의 모양

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

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

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

01

주파수 발진 회로 예

클럭의 사용

수정발진자 ( Quartz Crystal Oscillator)CPU 내의 모든 동작은 이 클럭에 맞추어 동작

GND

30pF

30pF

C1

C2

발진회로

CPU

외부 클럭을 사용

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

GND

발진회로사용 하지 않음

CPU

Vcc

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

CPU 클럭

XTAL1

XTAL2

수정 발진자 부품

수정

기호

구조모양

Quartz

전극 1 전극 2

순차 논리 회로

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

래치 (latch)

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

래치 (latch)

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

순차회로 (Sequence Circuit)

S

G

R

Q

Q

G

D 래치 (latch)

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

D

C

Q

Q

D Flip-flop

X1

Q : 상태유지

↑, 0 ,1

X0

Qnext CLKQD

1X1

0X0

↑, 0 ,1

D

CLK

Q

Q> Q : 상태유지

74LS74A

8 비트 D 래치 (latch)

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

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

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

Binary Binary CounterCounter

논리 회로의 프로그램

PLDPLDPAL/GALPAL/GAL프로그램 툴프로그램 툴

PLD

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

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

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

GAL : 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 => 101001PT2 : OXOXOX => 101010

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

PLD 2

SPLD (Simple Programmable Logic)PAL 과 유사한 구조 . 게이트 수는 약 200 개 정

도 .CPLD (Complex Programmable Logic

Device)특별한 논리함수를 구현을 위한 Embedded

Array Block 을 가지고 있다 .FPGA (Field Programmable Gate Array)

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

게이트의 용량이 많다 .

PAL/GAL

PAL 16L8PAL 16L8GAL 22V10GAL 22V10

PAL/GAL 칩

PAL/GAL 의 프로그램 예

논리를 표현하는 파일을 만든다 .PLD 컴파일러로 논리 표현을 PAL/GAL 에 쓸

수 있도록 JED 파일을 만든다 .이것을 롬라이터로 PAL/GAL 에 쓴다 . ( 보통 롬라이터에 쓰는것을 ‘굽는다’라함 )PCB 장착하고 동작 시킨다 .유틸리티

컴파일러 : PALASM, WinCUPL(Atmel), ABEL롬라이터 : 장치 및 라이터 프로그램 ( 구입 )

PAL/GAL 프로그램 예;PALASM Design Description

;--------- 선언부 (Declaration Segment) -------------------TITLE TUTOR1.PDSPATTERN AREVISION 1.0AUTHOR J.ENGINEERCOMPANY ADVANCED MICRO DEVICESDATE 01/01/90

CHIP DECODER PAL16L8

;-------- 핀 정의 (PIN Declarations) -----------------------PIN 2 X COMBINATORIAL ; INPUTPIN 3 Y COMBINATORIAL ; INPUTPIN 4 Z COMBINATORIAL ; INPUT PIN 10 GND ; INPUTPIN 12 A 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) ---------------EQUATIONS/A = /X * /Y * /Z/B = /X * /Y * Z/C = /X * Y * /Z/D = /X * Y * Z/E = X * /Y * /Z/F = X * /Y * Z/G = X * Y * /Z/H = X * Y * Z

PALASM 예

PAL/GAL 예;----------- Simulation Segment ------------SIMULATIONTRACE_ON X Y Z 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 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 /HTRACE_OFF;--------------------------------------

WinCUPL

Name SimSch;Partno atf22v10c;Date 2004/06/21;Rev 01;Designer 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;

회로 예

WinCUPL 툴

JED 파일CUPL(WM) 5.0a Serial# 60008009Device g22v10 Library DLIB-h-40-1Created Tue Jun 22 15:39:59 2004Name SimSchPartno atf22v10cRevision 01Date 2004/06/21Designer SongSukChunCompany icomAssembly NoneLocation None*QP24 *QF5892 *G0 *F0 *L02144 00000000000011111111111111111111*L02176 11111111111111111111111111111111*L02208 11111111101110110111111111111111*L02240 11110000000000000000000000000000*L02880 00000000000000000000000011111111*L02912 11111111111111111111111111111111*L02944 11111111111111111111101101111011*L02976 11111111111111110000000000000000 . . .*L05792 00000000000000000000000011111100*L05824 00110110000101110100011001100011*L05856 00100011001001110110001100010011*C35E2*E775

JEDEC 파일– 컴파일 결과

PLD 파일에서의 논리 표현

PALASM

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

논리 표현

ANDOR

NOT

*+/

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

WinCUPL논리 표현

ANDOR

NOT

&#!

Recommended