디지털디지털회로회로 - egloospds17.egloos.com/pds/200908/31/64/3.digtal.pdf ·...
TRANSCRIPT
논리 게이트논리 게이트
논리게이트(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
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
래치 (latch)래치 (latch)
기억장치 : 입력에 의해 상태가 전환되기 전까지 2진 상태 유지기억장치 : 입력에 의해 상태가 전환되기 전까지 2진 상태 유지SR 래치 - NOR 게이트 이용
래치 (latch)래치 (latch)
기억장치 : 입력에 의해 상태가 전환되기 전까지 2진 상태 유지기억장치 : 입력에 의해 상태가 전환되기 전까지 2진 상태 유지SR 래치 - NAND 게이트 이용
D Flip-flopD Flip flop
↓
Q : 상태유지↑, 0 ,1X0
QnextCLKQD
↓
D Q
X1
, ,
1X1
0↓X0
↑, 0 ,1CLK Q> Q : 상태유지
1X1 ↓
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의 출력이 반영 된다.
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/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;
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