Microsoft Word - 제6장 Beyond Simple Logic Gate.doc

Similar documents
Microsoft Word - logic2005.doc

Microsoft Word - logic2005.doc

디지털공학 5판 7-8장

제5장 PLD의 이해와 실습

Microsoft PowerPoint - VHDL08.ppt [호환 모드]

실험 5

歯Chap1-Chap2.PDF

4장 논리 게이트

PowerPoint 프레젠테이션

(b) 미분기 (c) 적분기 그림 6.1. 연산증폭기연산응용회로

MAX+plus II Getting Started - 무작정따라하기

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

PowerPoint Presentation

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

歯15-ROMPLD.PDF

Microsoft PowerPoint - VHDL01_chapter1.ppt [호환 모드]

PowerPoint Presentation

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < >

Microsoft PowerPoint - VHDL12_full.ppt [호환 모드]

歯02-BooleanFunction.PDF

Microsoft PowerPoint - hw4.ppt [호환 모드]

Microsoft Word - Lab.4

논리회로설계 3 장 성공회대학교 IT 융합학부 1

01. Start JAVA!

Microsoft PowerPoint - VHDL02_full.ppt [호환 모드]

실험 5

7장 조합 논리 회로

Microsoft PowerPoint - DSD03_verilog3b.pptx

BY-FDP-4-70.hwp

PowerPoint Presentation

5_03.hwp

Microsoft PowerPoint - es-arduino-lecture-03

Libero Overview and Design Flow

Orcad Capture 9.x

Microsoft Word - LAB_OPamp_Application.doc

Microsoft Word - Experiment 5.docx

wire [n-1:0] a, b, c, d, e, f, g, h; wire [n-1:0] x; // internal wires wire [n-1:0] tmp0, tmp1, tmp2, tmp3, tmp4, tmp5; mux_2to1 mux001 (.x(tmp0),.a(a

Microsoft PowerPoint - ICCAD_Digital_lec02.ppt [호환 모드]

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

歯03-ICFamily.PDF

Microsoft Word - PEB08_USER_GUIDE.doc

. 고성능마이크로프로세서 LU 와레지스터 파일의구조 (2.). 직접디지털주파수합성기 (FS) 의구조 3. 고성능마이크로프로세서부동소수점연산기 (Floating-Point Unit) 구조 (2) (2.) (2.) 2. 암호화를위한 VLSI 구조와설계의개요 (2.) 다음참

PowerPoint Presentation

ºÎ·ÏB

수없기때문에간단한부분으로나눠서구현하고, 이를다시합침으로써전체를구현하게 된다. 실험에서는이미구현된 4-Bit ALU인 74LS181 Chip을사용한다. 이 Chip은 4-bit의 Data input A, B와 Selection input 4 bit, Carry In 1

PowerPoint Template

디지털 ASIC 설계 (1주차) MAXPLUS II 소개 및 사용법

Microsoft Word - Lab.7

[2010 년디지털시스템설계및실험중간고사 2 답안지 ] 출제 : 채수익 1. (a) (10 pts) Robertson diagram Quotient 와 remainder 의 correction 을뒤로미루는것이 non-restoring division 이다. 즉, q =

Microsoft PowerPoint - ICCAD_Analog_lec01.ppt [호환 모드]

1 01 [ ] [ ] plus 002

삼성기초VHDL실습.PDF

Microsoft Word - PLC제어응용-2차시.doc

歯MW-1000AP_Manual_Kor_HJS.PDF

Microsoft PowerPoint - Verilog_Summary.ppt


untitled

<30352D30312D3120BFB5B9AEB0E8BEE0C0C720C0CCC7D82E687770>

歯mp3사용설명서

PowerPoint Presentation

KMC.xlsm

untitled

API 매뉴얼

CAN-fly Quick Manual

(b) 연산증폭기슬루율측정회로 (c) 연산증폭기공통모드제거비측정회로 그림 1.1. 연산증폭기성능파라미터측정회로

Microsoft Word - Automap3

6장 부울 함수의 간소화

Microsoft PowerPoint - Java7.pptx

슬라이드 1

Microsoft PowerPoint - DSD03_verilog3a.pptx

Microsoft PowerPoint Predicates and Quantifiers.ppt

<4D F736F F F696E74202D20332EB5F0C1F6C5D0C8B8B7CEBFCD20B1B8C7F62E >

Microsoft PowerPoint - DSD01_verilog1a.pptx

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

PowerPoint 프레젠테이션

1_12-53(김동희)_.hwp

hwp

HWP Document

C# Programming Guide - Types

API 매뉴얼

½½¶óÀ̵å Á¦¸ñ ¾øÀ½

UI TASK & KEY EVENT

5_10.hwp

DIB-100_K(90x120)

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

슬라이드 1

Microsoft PowerPoint - 30.ppt [호환 모드]

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구

실험. Multimeter 의사용법및기초회로이론 Multimeter 의사용법 멀티미터 (Multimeter) 는저항, 전압, 전류등을측정할수있는계측기로서전면은다음그림과같다. 멀티미터를이용해서저항, 전압, 전류등을측정하기위해서는다음그림과같은프로브 (probe) 를멀티미터

6. Separate HDD by pulling in the arrow direction. * Cautions Avoid lifting HDD excessively, because Connector can be damaged ODD Remove

중간고사

서보교육자료배포용.ppt

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

OCW_C언어 기초

tut_modelsim(student).hwp

실험 5

Transcription:

제 6 장 Beyond Simple Logic Gate 실험의목표 - MUX, DEMUX의동작을이해하도록한다. - encoder 와 decoder 의원리를익히고 MUX, DEMUX 와비교를해본다. - MUX 를이용하여조합회로를설계해본다. - tri-state gate 와 open-collector gate 의특성에대하여알아본다. 잘못된사용법에대하여어떤결과가발생하는지확인해본다. 실험도움자료 1. Multiplexer(MUX)/ selector MUX는 2 n 개의입력중하나를선택하여그값을그대로출력하는장치이다. 다음의예를보자. [ 그림 6-1] 2:1 MUX 이는두개의입력 A 0, A 1 중하나를선택하여 Z 0 로출력하는 2:1 MUX이다. 어떤입력을선택할지는 S 0 로결정한다. S 0 이 0이면 A 0 를, 1이면 A 1 을 Z 0 로출력하게된다. 위의 MUX를진리표로표현해보면아래와같다. A 1 A 0 S 0 Z 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0

1 0 1 1 1 1 0 1 1 1 1 1 [ 표 6-1] 2:1 MUX의진리표 그리고이를참고로 Boolean equation을구해보면, Z = S A 0 0A0 + S 0 1 과같다. 그런데, 위의진리표는그구현을위해서는용이하지만, MUX의특징을제대로이해하기는쉽지않다. 그래서아래와같은형식으로간단히표현하기도한다. S 0 A 0 A 1 Z 0 0 X X A 0 1 X X A 1 [ 표 6-2] 2:1 MUX의간단한표현 위의단순화한 table 에서 X 는 don t care 를의미하며, S 0 가 0 인경우 A 0 를, 1 인경우 A 1 출력한다는것을보다직관적으로이해할수있다. cf. MUX의 hierarchical 구현 : 논리설계주교재 (Contemporary Logic Design, Randy H.Katz) 의 147page 참조. 2. Demultiplexer(DEMUX)/ decoder DEMUX 는 MUX의반대되는역할을한다. 즉, 하나의입력을받아이를 2 n 개의출력중하나를통해내보내는기능을수행한다. 예를들면다음과같다. [ 그림 6-2] 1:2 DEMUX 위의 logic은 A 0 를입력으로받아 S 0 가 0인경우는 A 0 의값을 Z 0 로, 1인경우는 Z 1 으로출력하게된다. 이때입력과연결되지않은출력은기본값을출력하게되며그림 6-2 의경우출력에 bubble 기호가없기때문에기본값은 0 이된다. 따라서, 1:2 DEMUX 의

진리표는아래와같다. S0 Z0 Z1 0 A0 0 1 0 A0 [ 표 6-3] 1:2 DEMUX의진리표 DEMUX 에서의제어입력을데이터입력으로간주하고 A0 입력값을 1로고정하면, DEMUX 는 decoder 가된다. Decoder 는입력에인가되는이진수값에해당되는위치의출력만 1로하고나머지출력은 0으로하는소자이다 (bubble 기호가있는경우극성이반대로된다 ). 1:2 DEMUX 로는설명이분명치않기때문에그림 6-3. 보인바와같은 1;4 DEMUX 를예를들어보기로한다. 1:4 DEMUX 의경우진리표는아래와같다. S1 S0 Z0 Z1 Z2 Z3 0 0 A0 0 0 0 0 1 0 A0 0 0 1 0 0 0 A0 0 1 1 0 0 0 A0 [ 표 6-4] 1:4 DEMUX의진리표 이진리표에서 A0 를 1로고정을시키면, Z 0, Z 1 과같은출력들은 S1, S 0 값을변수로하는 canonical sum of products form의 minterm을이루게된다. 이럴경우이소자는 1:4 DEMUX 라고하지않고 2:4 decoder 라고한다. 즉, A0 에실제로변화하는데이터값이들어오면 DEMUX, 1이나 0으로고정되어사용하면 decoder 가된다. [ 그림 6-3] 1:4 DEMUX 또는 2:4 decoder 위의 1:4 demux의경우 S 0, S 1 의두변수를갖는 canonical sum of products를구현할수있다. 예를들면,

F1 = S 0S 1 F 2 = S 0S 1 + S 0S 1 과같은 function 들을만들수있으며, 그구현은아래와같다. [ 그림 6-4] decoder as a logic building block 3. Encoder/Priority Encoder encoder는 2 n bit의 input을 n개의 bit로 encoding 해서내보내는동작을한다. 일반적인 encoder의경우입력으로들어오는 bit 중한개만이 1임을가정한다. 즉, 4개의 bit를 input으로받는 encoder의진리표는다음과같다. I3 I2 I1 I0 O1 O0 0 0 0 0 d d 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1 [ 표 6-5] encoder의진리표 Priority encoder는상위나하위한쪽방향에 priority를준 encoder 이다. 예를들어 low priority encoder의경우 0101 이입력으로들어오면두번째 bit와네번째 bit 모두 1이들어왔지만네번째 bit에우선권을부여하므로출력은 00이된다. 따라서 lowest numbered priority encoder의진리표는다음과같다. I3 I2 I1 I0 O1 O0 0 0 0 0 d d 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 0

0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 1 1 0 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 0 1 1 1 1 1 0 0 [ 표 6-6] prority encoder의진리표 Priority encoder의경우여러 bit를우선순위를두어 encoding 할수있으므로 interrupt table 을구현할때쓰이기도한다. 4. Tri-state buffer (active high enable) Tri-state buffer 는출력의논리값은 0이나 1로고정시키지않고 floating 시킬수있는제어신호를가지고있는논리소자이다. 아래의진리표에서 Z 상태는 floating 상태를나타낸다. 이와같은 tri-state 출력을가지고있는논리소자들은출력을같이묶어서연결을할수있다. 단, 출력이묶여있는논리소자들은한개의소자를제외한나머지소자들은모두출력이 Z 상태가되어야한다. [ 그림 6-5] tri-state buffer 위와같은 tri-state buffer 의진리표는아래와같다.

A OE F X 0 Z 0 1 0 1 1 1 [ 표 6-7] tri-state buffer의진리표 진리표를통해 tri-state buffer의동작을분석해보면 (1) OE(output enable) 이 1인경우 - 주어진입력이그대로출력으로나간다. (2) OE(output enable) 이 0인경우 - 주어진입력에상관없이출력은 Z(high-impedance) 로유지되며, 이때 gate는사실상출력부분과연결이끊어진것과같다. *active low enable : OE대신에 OE 가붙어있는경우로이때는 OE 가 0인경우주어진입력이그대로출력으로나가고, OE 가 1인경우 Z가된다. [ 그림 6-6] tri-state buffer 위그림에서 output enable에 active low임을뜻하는 bubble이붙어있음을확인할수있다. 5. Open-Collector 게이트 게이트들의출력을묶도록하는또하나의방법은 Open-collector 출력을쓰는것이다. Open-collector 출력을쓰는게이트는출력이논리 0의상태를나타낼때에는논리 0에해당하는전압값이출력이되지만, 논리 1의상태를나타내는경우에는내부적으로 floating 상태가된다. 따라서, 논리 1을만들어주기위해서는출력단에저항을달아서전압전원에연결을해주어야한다. 아래의그림과같이 2개의게이트출력을같이묶은

후에저항을 5V 전원에연결을해주도록한다. 이렇게묶게되면묶은점 F 에 AND 게이트가있는것과같은효과가있으며이를 wired-and 라고한다. [ 그림 6-7] open-collector * wired-and A, B가모두 1인경우 VCC와 F사이에전압차가없으므로출력은 1이된다. A, B중어느하나라도 0인경우 V CC 와 F사이에전압차가생겨서전류가흘러버리므로출력이 0이된다. 출력에연결되는저항값은너무작아도안되고, 너무커도곤란하다. 너무작으면출력이논리 0의전압을가질수가없게된다. 즉 gate의출력저항때문에출력전압이 V OL 의한계치보다커지게된다. 반면에저항값이너무크면게이트의동작속도가느려지게된다. 이에대한자세한동작원리는전자회로지식이있어야이해가가능하므로여기서는생략하도록한다. 6. MUX, DEMUX, tri-state 게이트의 VHDL 표현 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_signed.all; entity MUX4_1 is port ( S : in std_logic_vector(1 downto 0); A : in std_logic_vector(3 downto 0); O : out std_logic ); end MUX4_1; architecture behav of MUX4_1 is

begin process(a, S) begin case s is when "00" => O<=A(0); when "01" => O<=A(1); when "10" => O<=A(2); when "11" => O<=A(3); when others => NULL; end case; end process; end behav; [ 표 6-8] 4:1 MUX VHDL code library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_signed.all; entity DeMUX1_4 is port ( S : in std_logic_vector(1 downto 0); A : in std_logic; O : out std_logic_vector(3 downto 0) ); end DeMUX1_4; architecture behav of DeMUX1_4 is begin O(0) <= A and (not S(1)) and (not S(0)); O(1) <= A and (not S(1)) and S(0); O(2) <= A and S(1) and (not S(0)); O(3) <= A and S(1) and S(0); end behav; [ 표 6-9] 4:2 DeMUX VHDL code

library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_signed.all; entity tri is port ( OE I O ); end tri; : in std_logic; : in std_logic; : out std_logic architecture behav of tri is begin process(i, OE) begin case OE is when '0' => O<='Z'; when '1' => O<=I; when others => NULL; end case; end process; end behav; [ 표 6-10] Tri-state buffer VHDL code 7. MUX, DEMUX, tri-state 게이트의 Verilog 표현 module MUX4_1(S, A, O); input [1:0] S; input [3:0] A; output O;

reg O; always @(A or S) begin case (S) 2 b00 : O <= A[0]; 2 b01 : O <= A[1]; 2 b10 : O <= A[2]; 2 b11 : O <= A[3]; default : ; endcase end endmodule [ 표 6-11] 4:2 DeMUX Verilog code module DeMUX1_4(S, A, O); input [1:0] S; input A; output [3:0] O; wire [3:0] O; assign O[0] = A & (~S[1]) & (~S[0]); assign O[1] = A & (~S[1]) & S[0]; assign O[2] = A & S[1] & (~S[0]); assign O[3] = A & S[1] & S[0]; endmodule [ 표 6-12] 4:2 DeMUX Verilog code

module tristate(oe, I, O); input OE; input I; output O; reg O; always @(I or OE) begin case (OE) 1 b0 : O <= 1 bz; 1 b1 : O <= I; default : ; endcase end endmodule [ 표 6-13] Tri-state buffer Verilog code 표 6-13의 Tri-state buffer Verilog code를 max plusⅡ에서돌릴경우, OE를 disable 했을때 high impedence(z) 가예상대로결과에나오지않을수있습니다. 이는 max plus Ⅱ 프로그램상의오류인것으로확인되었습니다. ( 다른 Verilog simulation을지원하는프로그램에서는 Tri-state buffer가예상대로잘동작합니다.) VHDL code는정상적으로동작하니 Tri-state buffer의동작이궁금하신분들은 VHDL로시뮬레이션하시기바랍니다.

예비보고서 1-1. 4:1 MUX 와 4:2 encoder 의진리표를그리고, 동작의차이를설명하여라. 1-2. 4:1 MUX 를이용하여 3-input XOR 게이트를구현하여라. 2-1. [ 시뮬레이션 ] 1:4 DEMUX의게이트회로도를그려라. 2:4 decoder 로사용할경우의진리표를시뮬레이션을통하여확인하여라. 2-2. 2:4 decoder와 active high-enable tri-state buffer를이용하여 4:1 MUX를구현하라. 2-3. [ 시뮬레이션 ] 2-2 의 schematic 을그리고시뮬레이션으로확인하여라. 3-1. 2:4 decoder와 open collector gate를가지고 4:1 MUX를구현할수있다. 어느 gate를사용하면되는지를생각하여 4:1 MUX를구현하라. 4-1. Open-collector 2-input NAND gate 두개를묶어서동작시키는경우의출력은어떤 Boolean 식으로표현되는가? 5-1. 2-bit Comparator를설계하시오. 입력으로 A 1 A 0, B 1 B 0 각각 2 bit을갖고, 이입력이나타내는 2진수값이 A 1 A 0 >= B 1 B 0 일때는출력이 1, A 1 A 0 < B 1 B 0 일때는출력이 0 이되어야한다. 예를들어, A 1 A 0 = 10, B 1 B 0 = 01 일때의출력은 1이며, A 1 A 0 = 01, B 1 B 0 = 11 일때의출력은 0이다. 모든경우에대해서진리표를작성하시오. 5-2. 위에서작성한진리표를 8:1 MUX 를사용하여구현하는방법도생각해보시오. 6. 함수 f ( A, B, C, D, E) = A + CD + BD + BD + BCE 를가장적은수의 TTL 을사용하여구현하여라.

실험및토론 1. 예비보고서 1-2 을실험을통하여확인하도록한다. 2. 예비보고서 2-2 를실험을통하여확인한다. Tri-state buffer 의출력이 high impedance 상태에있을때전압을오실로스코우프를통하여확인하여라. 3. 예비보고서 3-1 을실험을통하여확인한다. 4. 예비보고서 4-1 에서와같이 Open-collector 2-input NAND 게이트를묶는다. ( 가 ) 두게이트의출력이모두 1이되도록입력을인가한뒤출력전압을확인한다. ( 나 ) 출력에저항을연결하여 pull-up 시킨다. 저항값을 10K 로한다. Wired-AND 동작을하는것을확인하여라. ( 다 ) 저항값을 1K, 0.5K, 100K 로바꾸었을때논리 0의출력전압을확인하여라. 5. 예비보고서 5-1 의회로를꾸미고실험을통하여동작을확인하도록한다.