1 / 65

5 장 대형 조합회로

5 장 대형 조합회로. 반복 시스템 - 조합회로 시스템에서의 지연 - 가산기 , 감산기 , 비교기 디코더 인코더와 우선순위 인코더 멀티플렉서와 디멀티플렉서 3 상태 게이트 게이트 배열 (ROM, PLA, PAL). 개요. 게이트를 통한 지연의 영향 가산기의 설계 : 감산기 , 십진 가산기 자주 사용되는 회로들 : 디코더 , 인코더 , 우선순위 인코더 그리고 멀티플렉서 중간 크기의 시스템 설계에서 사용되는 gate array :

uma-garza
Download Presentation

5 장 대형 조합회로

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 5 장 대형 조합회로 • 반복 시스템 • -조합회로 시스템에서의 지연 • -가산기, 감산기, 비교기 • 디코더 • 인코더와 우선순위 인코더 • 멀티플렉서와 디멀티플렉서 • 3 상태 게이트 • 게이트 배열 (ROM, PLA, PAL)

  2. 개요 • 게이트를 통한 지연의 영향 • 가산기의 설계: • 감산기, 십진 가산기 • 자주 사용되는 회로들 : • 디코더, 인코더, 우선순위 인코더 그리고 멀티플렉서 • 중간 크기의 시스템 설계에서 사용되는 gate array : • 곱의 합 구현을 위해 연결된 여러 개의 AND와 OR 게이트들로 구성 • 세 가지 형태: ROM(read-only memory), • PLA(programmable logic array), • PAL(programmable array logic) • 시스템 설계에 대한 고찰 : • 7-세그먼트 디스플레이 구동기 • error coder/decoder

  3. 반복 시스템 • 작은 블록의 회로를 여러 번 복사하여 시스템 구성 • - 1비트 전 가산기 4개의 복사본을 직렬로 연결하여 4비트 가산기구성

  4. 조합 회로 시스템에서의 지연 •게이트의 입력 변화시 게이트의 출력은 동시에 변하지 않음  작은 지연 (  ) 발생 • 시간 4에서, B와 C가 동시에 변하면 •  해저드(hazard) 또는 글리치(glitch) 상황 발생

  5. 1 bit 가산기를 통한 지연 • 가산기의 덧셈에 걸리는 시간 계산(모든 입력이 동시에 들어간다고 가정) • 입력 a와 b가 변할 때 회로의 다양한 지점에서 생기는 지연을 표시 • 입력 a와 b가 변하는 시점에서 합이 나오는 시점까지 지연 시간은 6△, • 캐리 출력이 나오는 시점까지 지연 시간은 5△ • a, b의 값이 고정되면,Cin에서 Cout까지 지연 시간은 단지 2△,캐리 입력에서 합까지 지연은 3△

  6. 2 레벨회로의 지연 • 곱의 합 형식으로 구현한 2 level회로 • Cout = bCin + aCin + ab • s = a´b´Cin + a´bC´in + ab´C´in + abCin • 캐리 출력: 2단 회로 => 각 입력에서 Cout까지의 지연은 2△ • 합은 Cin에 대한 NOT 게이트를 필요로 함(Cin이 다른 전가산기의 출력) • => Cin에서 s 까지 지연 시간이 3△

  7. N 비트 가산기 지연 • n개의 1비트 가산기 회로를 가지고 n비트 가산기 구현시 총 지연 시간 • 1) LSB의 입력에서 Cout까지의 지연 시간 • 2) 중간 가산기들의 Cin에서 Cout까지의 지연 시간×(n-2) • 3) MSB의 Cin에서 Cout혹은 Cin에서 s까지의 지연시간중 긴 것 • => multilevel 가산기 : 5△ + 2(n-2)△ + 3△ = (2n + 4)△ • => 2-level 가산기 : 최소 유효비트에서만 5△가 2△로 3△ 단축됨 • Ex. 64비트 가산기: 132△(multilevel 가산기)와 129△(2-level 가산기) • △가 아무리 작다 해도 총 지연 시간이 길어짐. • 해결책 • 1) 2 level혹은 3 levelmultibit 가산기를 만드는 것 • 2) 캐리 미리보기 가산기(carry-look-ahead adders)

  8. Multibit 가산기(2 level) 2비트 가산기 진리표

  9. 2 비트 가산기 • 2비트 가산기에 대한 최소의 곱의 합 표현(2 level 구현) • 2비트 가산기를 사용하는 n비트 가산기 구현 => 지연 시간의 감소 • 처음 2비트와 마지막 2비트를 제외하면 매 두 비트마다 • 캐리 입력으로부터 캐리 출력까지 지연은 단지 2△ • => 총 지연 시간은 2△ + 2(n/2-2)△ + 3△ = (n+1)△ • 이전 방법에 비해 지연 시간이 절반으로 줄어들게 됨

  10. 4 비트 가산기의 직렬연결 • 4비트 가산기 : 7483, 74283

  11. Carry-look-ahead adder • adder의 각 단에서 두 개의 신호를 만들어 냄 • Gi(generate) = aibi • Pi(propagate) = ai + bi • ci = aibi + aici-1 + bici-1 • = aibi + (ai + bi)ci-1 • = Gi + Pi ci-1 • c1 = G1 + P1 c0 • c2 = G2 + P2 c1 • = G2 + P2 (G1 + P1 c0) • = G2 + P2 G1 + P2 P1 c0

  12. 감산기와 가산기 4 비트 가/감산기

  13. 비교기 4 비트 비교기

  14. 비교기 typical bit of a comparator

  15. 멀티비트 비교기

  16. 디코더 • 디코더는 코딩된 입력 신호에 의해 여러 출력 선 중 하나를 선택하는 장치 • => 일반적으로, 입력은 n비트 이진수이고 2n의 출력 선이 존재 • 2-입력(4-출력) active high출력 디코더에 대한 진리표 • => 활성화되는 출력은 1이고 비활성화되는 출력은 0 * active low: 활성화되는 출력은 0이고 비활성화되는 출력은 1 인 경우

  17. 2-입력 디코더 • 2-입력(4-출력) active high 출력 디코더 • 각 출력은 2변수 함수의 최소항들과 일치 • 출력0 : a'b' • 출력1 :a'b • 출력2 : ab' • 출력3: ab active high 디코더

  18. Active low 출력 형식 • active low 출력 형식의 디코더 회로와 진리표

  19. Enable input(활성화 신호) • active low 활성화 신호가 있는 active high 출력 디코더 • (진리표, 블록 다이어그램, 회로) • active low 신호는 블록 다이어그램에서 작은 원(bubble)으로 표시

  20. 74138 (3-to-8 decoder) • active low 출력과 3개의 동작 입력 • => active high : EN1 • active low : EN2', EN3' • => EN1 = 1, EN2' = 0, EN3' = 0 일 때 동작 • 입력은 C, B, A(C가 최상위 비트)로 표기 • 74138에 대한 진리표 (3-입력, 8-출력 디코더)

  21. 디코더 응용 • 디코더의 응용 • 각각 고유의 주소를 갖고 있는 많은 장치 중에서 하나를 선택하는 것 • 주소는 디코더의 입력이 되고 하나의 출력이 활성화되면 그 주소에 • 해당하는 하나의 장치를 선택 • 하나의 디코더로 선택할 수 있는 것보다 더 많은 장치가 있는 경우 • 동작 입력을 이용하여 디코드 • 추가적인 디코더를 사용

  22. 예제 5.1 동작 입력을 이용 74138 디코더를 사용하여 32개의 장치 중 하나를 선택하기 위한 회로를 설계하라 - 4개의 동일한 디코더를 사용 - 주소가 a, b, c, d, e로 주어졌다면, c, d, e 비트가 4개의 디코더에 공통으로 사용 (C, B, A의 순서) - a, b는 4개의 디코더 중에서 1개를 선택

  23. 예제 5.2

  24. 디코더 각각의 active high 출력은 그 함수의 최소항과 일치 • => 논리함수 구현에 필요한 것은 해당된 출력들을 연결할 OR 게이트 • active low 출력 디코더의 경우는 OR 게이트를 NAND 게이트로 변경 • => AND-OR 회로에서 NAND-NAND 회로로 변경 • f = ab + cd = (ab + cd) = ( ab • cd ) • 같은 입력들로 구성되는 둘 이상의 함수에 대해서도 하나의 디코더만 필요 • => 각각의 출력 함수에 대해서는 하나의 OR 또는 NAND가 필요 디코더를 이용한 논리함수 구현

  25. 예제 5.3논리함수 구현 f(a, b, c) = m(0, 2, 3, 7) g(a, b, c) = m(1, 4, 6, 7) 함수를 디코더를 사용하여 설계하라. - 위 함수들은 아래에 보이는 디코더 회로 중 하나로 구현 가능.

  26. 예제 5.4디코더와 3개의 NAND

  27. 인코더와 우선순위 인코더 • 인코더는 여러 장치 중 하나가 신호를 보낼 때 그 장치를 나타내는 • 코드를 만들어 냄 • 만일 A0, A1, A2, A3 4개의 입력 중에서 정확히 한 개의 입력만 1이라고 • 하면, 다음 진리표는 4입력 인코더의 동작을 표현 • 식 • Z0 = A2 + A3 • Z1 = A1 + A3

  28. 인코더 • 장치 0 에 신호가 있는 경우와 모든 장치에 신호가 없는 것을 구분 하지 못함 • 어떤 입력도 활성화되지 않았다는 것을 나타내는 출력 N이 필요 • 식 • Z0 = A2 + A3 • Z1 = A1 + A3 • N = A’0A’1A’2A’3 • = (A0+A1+A2+A3)’

  29. 우선순위 인코더 • 하나 이상의 입력이 동시에 일어날 수 있다면, 우선 순위가 필요 • => 우선순위가 가장 높은 장치 번호에 대한 code 출력 • 우선순위는 일반적으로 내림차순(또는 오름차순)으로 정렬되어 최우선 • 순위에 가장 큰(또는 가장 작은) 입력 번호가 주어짐 • 표 5.5은 8-입력 우선순위 인코더에 대한 진리표를 나타냄

  30. 8-입력 우선순위 인코더에 대한 진리표

  31. 멀티플렉서 => n 개의 데이터 입력 중 하나를 선택하여 출력으로 보낸다.

  32. 4-way 멀티플렉서

  33. Multibit multiplexer • 16비트 숫자 4개에서 1개의 16 비트 숫자 선택 • 각 비트에 대하여 4-to-1 multiplexer 가 필요 • -> 총 16개의 4-to-1 multiplexer • 그림 5.12의 회로를 이용하여 • - 64(4 X 16) 개의 3-입력 AND 게이트 • - 16개의 4-입력 OR 게이트 가 필요 • - 22개의 3-입력 AND 게이트 패키지 • 그림 5.13와 같이 디코더를 사용하면 • - 68개의 2-입력 AND 게이트 • - 16개의 4-입력 OR 게이트 가 필요 • - 17개의 2-입력 AND 게이트 패키지

  34. X Y Z X X Y Z F 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 S2 S1 S0 0 1 1 1 1 0 0 0 0 1 2 3 4 5 6 7 F 멀티플렉서를 이용한 함수 구현

  35. Better Solution X Y X Y Z F 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 F = Z S1 S0 F = 1 0 1 2 3 F = Z’ Z 1 Z’ 0 F F = 0

  36. 상용 멀티플렉서 패키지 • 74151 • 8-to-1 mux • active low 동작입력 EN' • active high 와 active low의 출력 • 선택 입력: S2, S1, S0 • 74153 • 2 개의(이중의) 4-to-1 멀티플렉서 • 독립된 active low 동작입력(ENA'와 ENB') • 공통인 선택신호: S1, S0 • 74157 • 4개의 2-to-1 멀티플렉서 • 공통의 active low 동작입력 EN' • 공통의 선택 입력: S

  37. S1 S0 O0 O1 O2 O3 0 0 I 0 0 0 0 0 0 I 0 0 0 0 0 0 I 0 0 0 0 0 0 I S1 S0 O0 O1 O2 O3 I 디멀티플렉서 (Demultiplxer) • 멀티플렉서의 역함수 역할 • enable 입력이 있는 디코더(decoder with enable)의 내부회로와 동일

  38. 3-상태(three-state) 게이트 • 두개 이상의 출력을 서로 연결하는데 사용되는 두 가지 방법 • 1) 3-상태(three-state) 출력 게이트 : 일반적 • 2) 개방-컬렉터(open-collector) 게이트 • 3-상태(three-state)게이트에서는 게이트의 측면에 enable 입력이 있음 • => enable 입력이 활성화되면(active high 또는 active low), 게이트는 • 평상시와 같이 동작 • => enable 입력이 비활성화된다면 출력은 연결되지 않은 것처럼 • (개방 회로처럼) 동작하며 그 출력은 Z 로 나타냄 • Z: high impedence 상태 (연결이 안된 것처럼 동작)

  39. 3-상태 게이트 심볼과 진리표 • 그림 5.14는 3-상태(three-state) 버퍼(active high 동작)의 진리표와 • 회로 표기 • active low enable 입력 과 active low 출력을 가진 3-상태(three- state) 버퍼 -> three-state inverter

  40. 3-상태 게이트로 멀티플렉서 구현 • 3-상태(three-state) 게이트로 OR 게이트 없는 멀티플렉서 구현 가능 • 2-to-1 멀티플렉서=> f = a • EN' + b • EN

  41. 3-state 버퍼를이용한 버스 구현 1-비트 버스 구현

  42. 게이트 배열- ROMs, PLAs, AND PALs • 게이트 배열은 꽤 복잡한 • 시스템의 구현을 쉽게한다 • 3입력과 3출력 시스템 • 점선들은 가능한 연결 • 곱의 합 식을 구현 • 6개의 곱 항이 가능 • 보수 입력이 필요 없음

  43. 예제 5.7a f = a'b' + abc g = a'b'c' + ab + bc h = a'b' + c • 연결점들은 생략하였고 각각의 실선이 연결을 • 나타냄. • a'b' 공유항 • 항 c 를 위한 게이트는 일반 • 회로에서는 필요없는 것

  44. 예제 5.7b • 앞의 방식은 입력수, 게이트 수가 • 많아지면 나타내기가 어렵다. • 모든 선을 보여주기보다 보통은 • 각각의 게이트에 대해 한 개의 • 입력선만 보여주고 연결되는 • 교차점에서는 X 또는 점으로 표시

  45. Gate Array의 세 가지 일반적인 유형 • 1) PLA(programmable logic array) : 가장 일반적인 유형 • 사용자가 모든 연결(AND 배열과 OR 배열 모두)을 지정 가능 • 어떤 곱의 합 식(공유하는 공통항)도 가능 • 2) ROM(read-only-memory) • ROM에서 AND 배열은 고정됨 • 2n 개의 AND 게이트들로 구성된 디코더 • 사용자는 단지 OR 게이트로의 연결을 지정 • 따라서 최소항들의 합을 만들어 냄 • 3) PAL(programmable array logic) • OR 게이트 연결이 지정되어 있음 • 사용자는 AND 게이트 입력을 지정 • 각각의 곱 항은 공유할 수 없음

  46. 프로그램 가능한 출력 회로

  47. 프로그램 가능한 출력 회로 • 출력단에 3-상태(three-state) 버퍼 -> 버스 출력에 적합 • 출력은 AND 배열의 또 다른 입력으로 feedback 되기도 함 • 이것은 2 level 이상의 논리회로를 고려한 것(PAL에서 ) • 그림에서 만약 EN = 0 이면, 출력 대신에 입력으로 사용 가능

  48. ROM에 의한 설계 • ROM을 이용하여 시스템을 설계하기 위해서는 각 함수의 최소항들 • 목록만이 필요 함 • ROM은 각각의 최소항에 대해 한 개의 AND 게이트를 가지고 있고, • 각각의 출력에 해당된 최소항 게이트들을 연결해주면 됨 • 곱의 합 식을 디코더로 구현한 것(예제 5.3)과 같음

  49. 예제 5.8 W(A, B, C, D) = m(3, 7, 8, 9, 11, 15) X(A, B, C, D) = m(3, 4, 5, 7, 10, 14, 15) Y(A, B, C, D) = m(1, 5, 7, 11, 15)

More Related