degital logic circuit

28
Term Project – 4 bit ALU DEGITAL LOGIC CIRCUIT 1

Upload: remy

Post on 21-Jan-2016

86 views

Category:

Documents


0 download

DESCRIPTION

DEGITAL LOGIC CIRCUIT. Term Project – 4 bit ALU. Contents. 디지털 시스템 설계 대상 선정 디지털 시스템 설계 과정 설계된 논리도 Pspice 시뮬레이션 하드웨어 제작 결과 고찰. 시스템 설계 대상 선정. 설계 대상 선정. 조합논리회로와 동기식 순차논리회로를 종합적으로 포함하고 있음. ALU 는 기초적인 디지털 계산기에서부터 컴퓨터의 CPU 에 이르기까지 마이크로 프로세서라 불릴 수 있는 곳에는 빠질 수 없는 소자. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: DEGITAL LOGIC CIRCUIT

Term Project – 4 bit ALUDEGITAL LOGIC CIRCUIT

1

Page 2: DEGITAL LOGIC CIRCUIT

Contents

I. 디지털 시스템 설계 대상 선정

II. 디지털 시스템 설계 과정

III. 설계된 논리도

IV. Pspice 시뮬레이션

V. 하드웨어 제작

VI. 결과 고찰

2

Page 3: DEGITAL LOGIC CIRCUIT

시스템 설계 대상 선정

3

설계 대상 선정

• 조합논리회로와 동기식 순차논리회로를 종합적으로 포함하고 있음 .

• ALU 는 기초적인 디지털 계산기에서부터 컴퓨터의 CPU 에 이르기까지 마이크로 프로세서라 불릴 수 있는 곳에는 빠질 수 없는 소자 .

• CPU 에 가장 기본적인 부분인 ALU 부분을 제작하기로 함 .

① clock 에 의해 하나씩 증가되는 4bit 의 이진수 A, B 에 대해서 산술연산과 논리연산을 수행할 수 있는 회로를 설계

② 연산선택단자와 출력선택단자에 5 비트 카운터를 연결하여 입력한 두수에 대해서 14 가지의 연산결과를 보여줄 수 있도록 제작

Page 4: DEGITAL LOGIC CIRCUIT

디지털 시스템 설계 과정

1. 조합 논리 회로 설계

4

Arithmetic unit

• ALU 는 세 개의 영역으로 구분질 수 있다 . 그 중 하나가 연산을 담당 .

 

• 4× 1Multiplexer 와 Full Adder 로 구성 .

• A+B, A+B+1, A-B-1, A-B, Transfer A, Increment A, Decrement A, Transfer A 로 총 8 가지의 연산을 수행

Page 5: DEGITAL LOGIC CIRCUIT

디지털 시스템 설계 과정

1. 조합 논리 회로 설계

5

Arithmetic unit

 

D[0..3]

Co

B2

0

S0

0

0

D2A2

U1B

74HC04

3 4

Multiplexer_1

<Value>

S0S1

0123

Y

U1C

74HC04

5 6

B0

Ci

D3

A[0..3]

B[0..3]

0

0

FA_4

Full Adder

A

B

Ci

Co

D

1

D0

0

0

Multiplexer_3

<Value>

S0S1

0123

Y

0

0

0

1

D[0..3]

1

FA_1

Full Adder

A

B

Ci

Co

D

U1D

74HC04

9 8

B3

1

1 FA_3

Full Adder

A

B

Ci

Co

D

A3

Multiplexer_4

<Value>

S0S1

0123

Y

S1

1

0

FA_2

Full Adder

A

B

Ci

Co

D

S1DSTM3

A0

0

D1A1

A[0..3]

0

Multiplexer_2

<Value>

S0S1

0123

Y

B1

1

U1E

74HC04

11 10

U1A

74HC04

1 2

B[0..3]

0

0

Page 6: DEGITAL LOGIC CIRCUIT

디지털 시스템 설계 과정

1. 조합 논리 회로 설계

6

Arithmetic unit

 

Ci

A

U3B

74HC08

4

56

U3A

74HC08

1

23

U2A

74HC386

1

23

D

Co

U2B

74HC386

5

64B

U4A

74HC32

1

23

U13

AND3

142

3

3

U10

AND3

142

3U11

OR4

12

5342

U6D

74HC04

98

S0

U12

AND3

142

3

1

Y

U6E

74HC04

1110

0

S1

U9

AND3

142

3

Multiplexer

FullAdder

Page 7: DEGITAL LOGIC CIRCUIT

디지털 시스템 설계 과정

1. 조합 논리 회로 설계

7

Logic Unit 설계

 

• 논리 연산을 담당하는 Logic unit

•. 두 수의 AND, OR, EX-OR, NOT 연산을 수행

•연산하고자 하는 비트만큼의 해당 GATE 들과 4× 1 Multiplexer 로 이루어진다 .

Page 8: DEGITAL LOGIC CIRCUIT

디지털 시스템 설계 과정

1. 조합 논리 회로 설계

8

Logic Unit 설계

E[0..3]

S1S0

B[0..3]

A[0..3] A3

B3

A0

A1

A2

1

B[0..3]

0

B0

1

E3

B1

B2

E[0..3]

E2

0

E1

0

E0

0

U5A

74HC08

1

23

U4B

74HC32

45 6

U1F

74HC04

13 12

U2C

74HC386

89 10

A[0..3]

0

1

U2D

74HC386

12

13 11

U6A

74HC04

1 2

1

0

0

U4C

74HC32

91

0 8

U5B

74HC08

4

56

0

U7A

74HC386

12 3

U6B

74HC04

3 4

0

1

1

U4D

74HC32

12

13 11

U5C

74HC08

9

108

0

Multiplexer_2

<Value>

S0S1

0123

Y

Multiplexer_1

<Value>

S0S1

0123

Y

Multiplexer_3

<Value>

S0S1

0123

Y

Multiplexer_4

<Value>

S0S1

0123

Y

U7B

74HC386

56 4

U8A

74HC32

12 3

U6C

74HC04

5 6

0

0

0

U5D

74HC08

12

1311

1

Page 9: DEGITAL LOGIC CIRCUIT

디지털 시스템 설계 과정

1. 조합 논리 회로 설계

9

Shifter 설계

 

• 비트 Shift 연산은 low 레벨 language 프로그래밍에서 필수적으로 빈번히 사용되는 연산중의 하나

• 연산속도에 영향을 미치므로 ALU 에 포함되는 것이 일반적

Page 10: DEGITAL LOGIC CIRCUIT

디지털 시스템 설계 과정

1. 조합 논리 회로 설계

10

Shifter 설계

 

S2

SH[0..3]

A[0..3] MUX

MUX

S201

Y

0

MUX_3

MUX

S201

Y

MUX_2

MUX

S201

Y

MUX_1

MUX

S201

Y

S1DSTM2

S1DSTM1

0

A1

A0

A3

A2

SH3

SH2

SH1

SH0

0

A2

0

A1

Page 11: DEGITAL LOGIC CIRCUIT

디지털 시스템 설계 과정

1. 조합 논리 회로 설계

11

QUAD-MUX 설계

 

• Arithmetic, Logic, Shift 이 3 가지 연산을 수행하고 이들 값 중에 한가지를 출력

Page 12: DEGITAL LOGIC CIRCUIT

디지털 시스템 설계 과정

2. 순차 논리 회로 설계

12

 selection input 설계

 

• 상태 천이도

Present State Next State Flip Flop inputs

S3 S2 S1 S0 Cin S3 S2 S1 S0 Cin D4 D3 D2 D1 D0

0 0 0 0 0 0 0 0 0 1 0 0 0 0 1

0 0 0 0 1 0 0 0 1 0 0 0 0 1 0

0 0 0 1 0 0 0 0 1 1 0 0 0 1 1

0 0 0 1 1 0 0 1 0 0 0 0 1 0 0

0 0 1 0 0 0 0 1 0 1 0 0 1 0 1

0 0 1 0 1 0 0 1 1 0 0 0 1 1 0

0 0 1 1 0 0 0 1 1 1 0 0 1 1 1

0 0 1 1 1 0 1 0 0 0 0 1 0 0 0

0 1 0 0 0 0 1 0 1 0 0 1 0 1 0

0 1 0 1 0 0 1 1 0 0 0 1 1 0 0

0 1 1 0 0 0 1 1 1 0 0 1 1 1 0

0 1 1 1 0 1 0 0 0 0 1 0 0 0 0

1 0 0 0 0 1 1 0 0 0 1 1 0 0 0

1 1 0 0 0 0 0 0 0 0 0 0 0 0 0

• 상태표

Page 13: DEGITAL LOGIC CIRCUIT

00 01 11 10

00

01

11 X X 1

10 X X

디지털 시스템 설계 과정

2. 순차 논리 회로 설계

13

 selection input 설계

 

• 14 진 카운터의 입력조건

• 각 플립플롭에 대한 입력조건을 카르노맵으로써 간소화

S3 = 0    

00 01 11 10

00 1 X X X

01 X X X X

11 X X X X

10 X X X

S3 = 1    

D4 = S0S1S2S3' + S0'S1'S2'S3

Page 14: DEGITAL LOGIC CIRCUIT

디지털 시스템 설계 과정

2. 순차 논리 회로 설계

14

설계된 디지털 시스템의 출력 F 에 대한 진리표 Next State

Outputs

F[0..3]S3 S2 S1 S0 Cin

0 0 0 0 0 A + B

0 0 0 0 1 A + B + 1

0 0 0 1 0 A - B - 1

0 0 0 1 1 A - B

0 0 1 0 0 Transfer A

0 0 1 0 1 Increment A

0 0 1 1 0 Decrement A

0 0 1 1 1 Transfer A

0 1 0 0 0 A AND B

0 1 0 1 0 A OR B

0 1 1 0 0 A XOR B

0 1 1 1 0 A'

1 0 0 0 0 shift right

1 1 0 0 0 shift left

Page 15: DEGITAL LOGIC CIRCUIT

디지털 시스템 설계 과정

2. 순차 논리 회로 설계

15

설계된 디지털 시스템의 출력 F 에 대한 진리표

•Selection 에 의해서 S1, S0 가 각각 HIGH, LOW 로 변하면서 연산 수행 .•S2 는 입력 A 를 shift 시키는데 사용된다 . S3, S2 는 Arithmetic 연산과 Logic 연산의 출력을 결정하여 최종 출력 .

•Cin 은 Arithmetic 연산을 수행하는 동안 여러 가지 연산 수행 .

Page 16: DEGITAL LOGIC CIRCUIT

디지털 시스템 설계 과정

2. 순차 논리 회로 설계

16

설계된 Selection 회로도

 

Page 17: DEGITAL LOGIC CIRCUIT

디지털 시스템 설계 과정

3. 설계된 회로도

17

설계한 각 부분의 회로를 하나의 회로도로 설계

 

•4bit 버스선를 이용하여 X[0..3] 까지 입력을 결정 .

•Selection 에 의해 수행해야 할 연산을 선택

•Arithmetic, Logic, Shift 회로에서 연산 .

•결과 값을 QUAD_MUX 에 의해서 출력 .

Page 18: DEGITAL LOGIC CIRCUIT

디지털 시스템 설계 과정

3. 설계된 회로도

18

설계한 각 부분의 회로를 하나의 회로도로 설계

 

S4DSTM2

Implementation = B

S4DSTM1

Implementation = A

V

V

V

V

V

V

V

V

Arithmetic

Arithmetic

A[0..3]

B[0..3]

CiCo

S0

S1

D[0..3]

A[0..3]

B[0..3]

Ci

X

Selection

Sel

Ci

S0

S1

S2

S3

S0

X

S1

X

D[0..3]

Logic

Logic

A[0..3]

B[0..3]

S0

S1

E[0..3]E[0..3]

Shift

Shift

A[0..3]

SH[0..3]

S2SH[0..3]

S2

QUAD_MUX

QUAD

S2

S3

D[0..3]

E[0..3]

SH[0..3]

SH[0..3]

F[0..3]

S3X

F[0..3]

X

CoX

Page 19: DEGITAL LOGIC CIRCUIT

PSPICE Simulation

1. PSPICE simulation

19

완성된 회로의 simulation

 

•입력 A, B 를 각각 4, 1 로 하고 Selection 에서 14 가지 연산에 대한 값을 14 진 카운터로 만들어내고 Selection 이 변화함에 따라 각각의 연산을 수행한다 .

Page 20: DEGITAL LOGIC CIRCUIT

PSPICE Simulation

2. PSPICE simulation result

20

완성된 회로의 simulation 결과

 

Page 21: DEGITAL LOGIC CIRCUIT

하드웨어제작

1. 하드웨어 제작

21

Arithmetic unit 제작

•4× 1Multiplexer 와 Full Adder 로 구성

소요재료

종류 재료명 수량

Logic IC chip

74LS04 1EA

74LS08 2EA

74LS32 1EA

74LS86 2EA

74LS153 2EA

기  타

16PIN 소켓 8EA

지지대 4SET

동판 1EA

Page 22: DEGITAL LOGIC CIRCUIT

하드웨어제작

1. 하드웨어 제작

22

Logic unit 제작

•4× 1Multiplexer 와 AND, OR, XOR, NOT 게이트로 구성

소요재료

종류 재료명 수량

Logic IC chip

74LS04 2EA

74LS08 2EA

74LS32 2EA

74LS86 2EA

74LS153 4EA

기  타

16PIN 소켓 12EA

지지대 4SET

동판 1EA

Page 23: DEGITAL LOGIC CIRCUIT

하드웨어제작

1. 하드웨어 제작

23

Shift unit 제작

• 2× 1Multiplexer 로 구성 (2× 1Multiplexer 게이트로써 구성 )

소요재료

종류 재료명 수량

Logic IC chip

74LS04 1EA

74LS08 2EA

74LS32 1EA

기  타

16PIN 소켓 4EA

지지대 4SET

동판 1EA

Page 24: DEGITAL LOGIC CIRCUIT

하드웨어제작

1. 하드웨어 제작

24

QUAD_MUX unit 제작

• 4× 1Multiplexer 로 구성

소요재료

종류 재료명 수량

Logic IC chip 74LS153 4EA

기  타

16PIN 소켓 4EA

지지대 4SET

동판 1EA

Page 25: DEGITAL LOGIC CIRCUIT

하드웨어제작

1. 하드웨어 제작

25

Selection unit 제작

• D 플립플롭 , AND, OR 게이트로 구성

소요재료

종류 재료명 수량

Logic IC chip

74LS74 4EA

74LS32 1EA

74HC21 5EA

74LS11 3EA

74HC08 2EA

74HC4075 1EA

HEF4072BP 1EA

기  타

16PIN 소켓 17EA

지지대 4SET

동판 1EA

Page 26: DEGITAL LOGIC CIRCUIT

하드웨어제작

2. 전체 하드웨어 제작

26

4Bit ALU unit 제작

• 위에서 제작한 각 부분을 조합하여 ALU unit 제작

• 4 단 QAUD_MUX unit, 3 단 Arithmetic unit, 2 단 Shift unit, 1 단 Logic unit, 스위치회로

• 전체 하드웨어 제작 모습

Page 27: DEGITAL LOGIC CIRCUIT

결과고찰

27

Arithmetic, Logic, Shift, Selection, QUAD_MUX 5 가지 부분으로 나누어서 생각 하면서 각각의 세부회로를 구성 .

회로 설계 중 산술 , 논리 연산 부분은 Mutiplexer, Full Adder, 게이트로써 설계하였는데 강의시간에 언급되었던 사항을 기초로 하여 설계하는데 도움이 되었다 .

앞으로는 곱셈 , 나눗셈 연산을 추가하고 메모리에 저장하는 기능도 추가해서 제작을 해보면 더 좋은 경험이 되리라 생각된다 .

Page 28: DEGITAL LOGIC CIRCUIT

Thank you

28