๋์งํธํ๋ก ๋์งํธ๋ ผ๋ฆฌ์ํํ ๋์งํธํ๋ก ๋์งํธํ๋ก๊ตฌํ dolicom@naver.com http://blog.naver.com/dolicom
๋ ผ๋ฆฌ ๋ ผ๋ฆฌ๊ฒ์ดํธ
๋ ผ๋ฆฌ๊ฒ์ดํธ ๋ ผ๋ฆฌ๊ฒ์ดํธ (Logic gate) ๋๋ ๋ก๊ตฌ์ฑ๋ 2 ์ง์ ๋ณด๋ฅผ์ทจ๊ธํ๋๋ ผ๋ฆฌํ (logic circuit) ์ผ๋ฐ์ ์ผ๋ก 2 ๊ฐ์ด์์์ ๋ ฅ๋จ์์ํ๋์์ถ๋ ฅ๋จ์ ๊ธฐ๋ณธ๊ฒ์ดํธ : AND OR NOT ๊ธฐ๋ณธ๊ฒ์ดํธ๋ก๋ถํฐ EOR NAND NOR๋ฑ์ผ๋ก์กฐํฉ
๋ ผ๋ฆฌ๊ฒ์ดํธ์์ข ๋ฅ - ๊ธฐ๋ณธ๊ฒ์ดํธ๋ ผ๋ฆฌ๊ฒ์ดํธ์์ข ๋ฅ๊ธฐ๋ณธ๊ฒ์ดํธ AND OR NOT X Y S X S X Y S
๋ ผ๋ฆฌ๊ฒ์ดํธ์์ข ๋ฅ - ๊ธฐ๋ณธ๊ฒ์ดํธ๋ ผ๋ฆฌ๊ฒ์ดํธ์์ข ๋ฅ๊ธฐ๋ณธ๊ฒ์ดํธ XOR NAND NOR X Y S X Y S X Y S
๋ฒํผ (buffer) ๋ฒํผ (buffer) buffer X S OE X S OE X S X S OE X S Z Z OE X S Z Z
์กฐํฉ๋ ผ๋ฆฌํ๋ก ๋ฐ๊ฐ์ฐ๊ธฐ (half adder) 2๋นํธ์์ฐ์ ๋ง์ ์ํ๋๋ก์ง ์ ๋ ฅ ์ถ๋ ฅ X Y S C
์ ๊ฐ์ฐ๊ธฐ (full adder) ์ ๊ฐ์ฐ๊ธฐ (full adder) ์ ๊ฐ์ฐ๊ธฐ (f ll dd ) ์ ๊ฐ์ฐ๊ธฐ (full adder) ๋๊ฐ์ 2 ์ง์ X, Y ์์๋ฆฌ์ฌ๋ฆผ์ C ์ํฌํจํ์ฌ 3 ๋นํธ๋ฅผ๋ํ๋์กฐํฉ๋ ผ๋ฆฌํ๋ก์ ๋ ฅ์ถ๋ ฅ์ ๋ ฅ์ถ๋ ฅ X Y C S C
๋ฐ์ดํธ ADDER ๋๋ฐ์ดํธ๋ํ๋ํ๋ก๋๋ฐ๊ฐ์ฐ๊ธฐ์ ๊ฐ์ฐ๊ธฐ๋ฅผ์ฐ๊ฒฐํ์ฌ๋ง๋ ๋ค. y y7 x7 y y6 x6 y x y y x c7 ์ ๊ฐ์ฐ๊ธฐ c6 ์ ๊ฐ์ฐ๊ธฐ c5 c... c ์ ๊ฐ์ฐ๊ธฐ ๋ฐ๊ฐ์ฐ๊ธฐ s7 s6 s s
๋ ผ๋ฆฌํ๋ก์๊ตฌํ
๋ ผ๋ฆฌํ๋ก์๊ตฌํ๊ณผ์นฉ์์ข ๋ฅ
TTL ๊ณผ CMOS ์ ํธ์ ์
74LS54 ํ๊ตฌ์กฐ
์์ฐจ๋ ผ๋ฆฌํ๋ก ํด๋ญ (Clock)
Clock ๋์งํธํ๋ก์์์ฐจ๋ ผ๋ฆฌํ๋ก์๋๊ธฐ ( ๋ณํ์์ ) ์๊ฒฐ์ ํ๋ค. Clock ์ฌ์ด์์๋์กฐํฉ๋ ผ๋ฆฌํ๋ก์์์ ํ๋๊ณ ์์ง์์ ์์์ํ๋ณํํ๋ค. CPU ๋ฐ๋๋ถ๋ถ์๋์งํธํ๋ก์์๋ํ์ํ๋ค. Timer ๋ชจ๋์๋์งํธํ๋ก์์นด์ดํฐ๋ฅผ๊ธฐ๋ฐ์ผ๋กํ๋์จ์ด์ ์ผ๋ก๋์ํ๋์๊ฐ๋ชจ๋์ด๋ค. ์๊ณ๋๋ชจ๋์ดํด๋ญ์์ฌ์ฉํ๋ค.
ํด๋ญ์๋ชจ์ ํด๋ญ์ ๊ณผ ์ด๊ฐ์์๊ฐ๋์๋ฐ๋ณต๋๋ค. CPU๋๋ํฐ (Duty) 5% ํด๋ญ์ฌ์ฉ ๊ณผ ์๋ณํํ ๋์ฝ๊ฐ์์๊ฐ์ด๊ฑธ๋ฆฐ๋ค. ์์ฐจํ๋ก๋์ฃผ๋กํด๋ญ์ ๊ณผ ์๋ณํ์์ ( ์ฃ์ง ) ์์์ํ๊ฐ๋ณํ๋๋๊ธฐ๊ฐ์ผ์ด๋๋ค.
์ฃผํ์๋ฐ์งํ๋ก์
ํด๋ญ์์ฌ์ฉ ์์ ๋ฐ์ง์ ( Quartz Crystal Oscillator) CPU ๋ด์๋ชจ๋ ๋์์์ดํด๋ญ์๋ง์ถ์ด๋์ C2 3pF C ๋ฐ์งํ๋ก 3pF GND CPU
์ธ๋ถํด๋ญ์์ฌ์ฉ ์ธ๋ถ์์์์ ํํด๋ญ์๋ง๋ค์ด์ฌ์ฉ Vcc CPU ํด๋ญ XTAL ์ฌ์ฉํ์ง์์ XTAL2 ๋ฐ์งํ๋ก์ฌ์ฉํ์ง์์ GND CPU
์์ ๋ฐ์ง์๋ถํ Quartz ์์ ์ ๊ทน ์ ๊ทน 2 ๊ธฐํธ ๊ตฌ์กฐ ๋ชจ์
์์ฐจ๋ ผ๋ฆฌํ๋ก ์์ฐจ๋ ผ๋ฆฌํ๋ก
๋์น (latch) ๊ธฐ์ต์ฅ์น : ์ ๋ ฅ์์ํด์ํ๊ฐ์ ํ๋๊ธฐ์ ๊น์ง 2 ์ง์ํ์ ์ง ๊ธฐ์ต์ฅ์น : ์ ๋ ฅ์์ํด์ํ๊ฐ์ ํ๋๊ธฐ์ ๊น์ง 2 ์ง์ํ์ ์ง SR ๋์น - NOR ๊ฒ์ดํธ์ด์ฉ
๋์น (latch) ๊ธฐ์ต์ฅ์น : ์ ๋ ฅ์์ํด์ํ๊ฐ์ ํ๋๊ธฐ์ ๊น์ง 2 ์ง์ํ์ ์ง ๊ธฐ์ต์ฅ์น : ์ ๋ ฅ์์ํด์ํ๊ฐ์ ํ๋๊ธฐ์ ๊น์ง 2 ์ง์ํ์ ์ง SR ๋์น - NAND ๊ฒ์ดํธ์ด์ฉ
์์ฐจํ๋ก (Sequence Circuit) G S G R Q Q
D ๋์น (latch) ๋๊ฐ์์ ๋ ฅ : D(data), C(control) ๋ฐ์ดํฐ์ ์ฅ๊ธฐ๋ฅ D Q C Q
DFlip-flop D Q CLK Qnext D Q X,, Q : ์ํ์ ์ง X > CLK Q X,, Q : ์ํ์ ์ง X
74LS74A
8 ๋นํธ D ๋์น (latch) ๋ฒํ G ๊ฐ ์ผ๋๋ชจ๋ ์ ๋ ฅ D ๊ฐ๋์น์์ ์ฅ๋๋ค ๋ฒํ G ๊ฐ ์ผ๋๋ชจ๋ ์ ๋ ฅ D ๊ฐ๋์น์์ ์ฅ๋๋ค. ๋ฒํ OutputControl ์ด ์ผ๋์ ์ฅ์ํ๊ฐ Q ์๋ํ๋๋ค.
8 ๋นํธ D ํ๋ฆฝํ๋กญ (Flip-flop) ๋ฒํ CLOCK ์ด ์ด๋ฉด๋ชจ๋ ์ ๋ ฅ D ๊ฐ์ ์ฅ๋๋ค ๋ฒํ CLOCK ์ด ์ด๋ฉด๋ชจ๋ ์ ๋ ฅ D ๊ฐ์ ์ฅ๋๋ค. ๋ฒํ์ด ์ด๋ฉด๋ชจ๋ Q ์์ถ๋ ฅ์ด๋ฐ์๋๋ค.
Binary Counter
๋ ผ๋ฆฌํ๋ก์ํ๋ก๊ทธ๋จ PLD PAL/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 PT + PT + PT2 PT =!A B C => F F2 F4 PT = A B!C => F6 F8 F PT2 = A B C => F2 F4 F6 PT : XOOXOX => PT : OXOXXO => PT2 : OXOXOX => O : fuse ์ฐ๊ฒฐ X: ์ฐ๊ฒฐ์๋จ ๋ ผ๋ฆฌ ๋ก์ ๋ ฅ
PLD 2 SPLD (Simple Programmable Logic) PAL๊ณผ์ ์ฌํ๊ตฌ์กฐ. ๊ฒ์ดํธ์๋์ฝ 2๊ฐ์ ๋. CPLD (Complex Programmable Logic Device) ํน๋ณํ๋ ผ๋ฆฌํจ์๋ฅผ๊ตฌํ์์ํ Embedded Array Block์๊ฐ์ง๊ณ ์๋ค. FPGA(FieldProgrammableGateArray) Programmable Gate Array) PLD์๋ธ๋ก๊ฐ์์ฐ๊ฒฐ์ Array๊ตฌ์กฐ์ Row๊ตฌ์กฐ์ฌ์ฉ ๊ฒ์ดํธ์์ฉ๋์ด๋ง๋ค.
PAL/GAL PAL 6L8 GAL 22V
PAL/GAL ์นฉ
PAL/GAL ์ํ๋ก๊ทธ๋จ์ ๋ ผ๋ฆฌ๋ฅผํํํ๋ํ์ผ์๋ง๋ ๋ค. PLD ์ปดํ์ผ๋ฌ๋ก๋ ผ๋ฆฌํํ์ PAL/GAL์์ธ์์๋๋ก JED ํ์ผ์๋ง๋ ๋ค. ์ด๊ฒ์๋กฌ๋ผ์ดํฐ๋ก PAL/GAL ์์ด๋ค. ( ๋ณดํต๋กฌ๋ผ์ดํฐ์์ฐ๋๊ฒ์ ๊ตฝ๋๋ค ๋ผํจ ) PCB ์ฅ์ฐฉํ๊ณ ๋์์ํจ๋ค. ์ ํธ๋ฆฌํฐ ์ปดํ์ผ๋ฌ : PALASM, WinCUPL(Atmel), ABEL ๋กฌ๋ผ์ดํฐ : ์ฅ์น๋ฐ๋ผ์ดํฐํ๋ก๊ทธ๋จ ( ๊ตฌ์ )
;PALASM Design Description ;--------- ์ ์ธ๋ถ (Declaration Segment) ------------------- TITLE PAL/GAL TUTOR.PDS ํ๋ก๊ทธ๋จ์ PATTERN A REVISION. AUTHOR J.ENGINEER COMPANY ADVANCED MICRO DEVICES DATE //9 CHIP DECODER PAL6L8 PALASM ์ ;-------- ํ์ ์ (PIN Declarations) ----------------------- PIN 2 X COMBINATORIAL ; INPUT PIN 3 Y COMBINATORIAL ; INPUT PIN 4 Z COMBINATORIAL ; INPUT PIN GND ; INPUT PIN 2 A COMBINATORIAL ; OUTPUT PIN 3 B COMBINATORIAL ; OUTPUT PIN 4 C COMBINATORIAL ; OUTPUT PIN 5 D COMBINATORIAL ; OUTPUT PIN 6 E COMBINATORIAL ; OUTPUT PIN 7 F COMBINATORIAL ; OUTPUT PIN 8 G COMBINATORIAL ; OUTPUT PIN 9 H COMBINATORIAL ; OUTPUT PIN 2 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
;----------- Simulation Segment ------------ SIMULATION PAL/GAL ์ TRACE_ON X Y Z A B C D E F G H SETF /X /Y /Z CHECK /A B C D E F G H SETF /X /Y Z CHECK A /B C D E F G H SETF /X Y /Z CHECK A B /C D E F G H SETF /X Y Z CHECK A B C /D E F G H SETF X /Y /Z CHECK A B C D /E F G H SETF X /Y Z CHECK A B C D E /F G H SETF X Y /Z CHECK A B C D E F /G H SETF X Y Z CHECK A B C D E F G /H TRACE_OFF ;--------------------------------------
Name SimSch; Partno atf22vc; Date 24/6/2; Rev ; WinCUPL Designer SongSukChun; Company icom; Assembly None; Location None; Device g22v; ํ๋ก์ /****************************************************************/ /* Test simple circuit */ /****************************************************************/ /** Inputs **/ Pin 2 = IN; /* Input pin */ Pin [5..7] = [A..3]; /* Input vector */ /** Outputs **/ Pin 4 = OUT; /* Output */ Pin [7..9] = [O..3]; /* Output vector */ /* Perform 4, -bit, additions and keep the final carry */ OUT = IN & A & A2 & A3 #!IN &!A &!A2 &!A3; O = A &!A2 &!A3; O2 =!A & A2 &!A3; O3 =!A &!A2 & A3;
WinCUPL ํด
CUPL(WM) 5.a Serial# 689 Device g22v Library DLIB-h-4- Created Tue Jun 22 5:39:59 24 JED ํ์ผ Name SimSch Partno atf22vc Revision Date 24/6/2 Designer SongSukChunS Company icom Assembly None Location None *QP24 *QF5892 *G *F *L244 *L276 *L228 *L224 *L288 *L292 *L2944 *L2976... *L5792 *L5824 *L5856 *C35E2 *E775 JEDEC ํ์ผ ์ปดํ์ผ๊ฒฐ๊ณผ
PLD ํ์ผ์์์๋ ผ๋ฆฌํํ PALASM ๋ ผ๋ฆฌ ํํ /A = /X * /Y * /Z /B = /X * /Y * Z AND * OR + NOT / WinCUPL ๋ ผ๋ฆฌ OUT = IN & A & A2 & A3 AND #!IN &!A &!A2 &!A3; OR NOT ํํ & #!