13
Project #6: Project #6: 2- 2- 비비 비비비 비비 비비 비비비 비비 비 : D3 비비 : 2011 정정정 비비 : 2008 정정정 2009 정정정 2011 정정정 2011 정정정

이산치수학 Project6

Embed Size (px)

Citation preview

Page 1: 이산치수학 Project6

Project #6: Project #6:

2-2-비트 덧셈기 설계비트 덧셈기 설계

조 : D3

조장 : 2011 정진아

조원 : 2008 고충욱

2009 김시백

2011 안영준

2011 최보은

Page 2: 이산치수학 Project6

차 례

1. 프로젝트 설명

2. 일 정

3. 업무분담

4. 소 스

5. 회의록

1. 프로젝트 설명

Page 3: 이산치수학 Project6

부울대수(Boolean algebra)- 논리대수(logic algebra)- 논리적인 문제를 해결하기 위한 수학적인 방법- 19 세기 중반 영국의 수학자 부울(George Boole)에 의해 창시- 하나의 명제에 대한 결과는 참(true)과 거짓(false), 또는 0 과 1 로 한정- 스위칭 대수(switching algebra)라고도 불림반가산기(half adder)- 두 개의 입력 x, y 를 받아서 합(Sum)과 자리올림(Carry)을 구하는 조합회로

전가산기(full adder)- 두 개의 입력 x, y 와 밑의 자리로부터 올라오는 자리 올림수 z 를 포함한 3 개의 입력을 사용하여 합(Sum)과 자리올림(Carry)을 구하는 조합회로

출처 : snslab.kangwon.ac.kr/home/?doc=bbs/gbdownload...1...(강원대학교

SnS Lab)

boolean expression[불 연산식]

Page 4: 이산치수학 Project6

불 대수에서의 연산식으로, 단독의 변수나 정수 또는 그것들의 연산자로 조합시킨

것과 함수의 인용으로 표시한 식. 예를 들면, 2 개의 입력 X, Y 가 있어, 출력으로서 합

S 로 자리 올림한 C 가 얻어지는 연산식은 다음과 같이 나타낸다.

출처 : 네이버 지식사전

disjunction of minterms[최소항의 합]

불 함수를 표시하는 한 가지 방법. n 개의 2 진 변수는 논리곱으로 표시되는 2n 개의

서로 다른 민텀들을 만들어 낼 수 있으며, 이러한 민텀들의 논리합으로 불 함수를

표시할 수 있다. 예를 들면, A, B, C 세 변수로 만들 수 있는 민텀의 수는 8 개이며, 이

민텀들의 논리합으로 표시할 수 있는 함수의 개수는 28 개이다. 이 방법은 불 함수를

표시하는 2 개 정형 중의 하나이다.

최소항 전개 : 최소항 전개(minterm expansion)는 정규형 중 논리 함수의 모든

변수들을 곱의 합 형태로 표현한 것이다. 즉 F=x+yz 라는 것은 곱의 합 형태이므로

최소항 전개 형태이다. 하지만 G=x(y+z)+w 와 같은 경우는 전개를 통해서

G=xy+yz+w 로 표현 가능하므로 최소항 전개 형태가 아니다. 논리 함수가 1 이

되는 모든 경우의 변수들의 곱을 더해주면 그 논리 함수의 최소항 전개 형태를 구할

수 있다. 예를 들어, F(a,b,c)가 a=0, b=1, c=0 or 1 이거나 a=1,b=1,c=0 인

경우에만 1 이 된다면 F(a,b,c)=a'bc'+a'bc+abc'=a'b+abc'으로 표현할 수 있다.

출처 : 위키백과&네이버지식사전

Karnaugh maps[카르노 맵]

2 개의 변수 A, B 가 각각 1(참) 또는 0(거짓)의 값을 취했다고 하면 이 두

변수의 조합은 4 가지가 될 수 있다. 이 조합을 매스(mass) 눈의 집합으로 구성한

것을 카르노 도표라고 하며, 논리회로, 스위치회로 등의 설계에 있어서 그 대수식(代

數式 : 논리구조)를 간단하게 취급할 수가 있다. 변수는 몇개라도 되지만 보통 6 개

Page 5: 이산치수학 Project6

이내이다. 다음 그림은 A, B 모두 1 이나 혹은 A, B 모두 0 이라는 논리식 A · B+를

카르노 도표로 표시한 것이다.

[2 변수의 카르노 맵]

- 2 개의 2 진변수에대한 4 개의 최소항 구성

- 각 최소항은 하나씩 4 개의 사각형에배치

- 간소화 과정

1. 진리표를 보고 카르노맵에 A 값, B 값 결과값(F)를 넣는다.

2. 논리식을 도출해낸다.

3. 2 의 n 승 개로 묶어 간소화된 논리식을 만든다.

[3 변수의 카르노맵]

Page 6: 이산치수학 Project6

출처 : http://blog.naver.com/hmin011?

Redirect=Log&logNo=150137247110

- binary device[바이너리디바이스]

① 예를 들면 ON, OFF 로 표시하는 전기 스위치와 같은, 두 상태를 취할 수 있는 장치.

② 컴퓨터 과학에서의 2 진의 형태로 데이터를 기록하는 장치, 또는 그러한 코드화된

데이터를 판독하는 장치.

출처 : 네이버 지식사전

- logic gates[논리 게이트]

논리 연산을 수행 할 수 있는 회로나 요소.

AND 게이트

OR 게이트 기본 게이트

NOT 게이트

논리게이트 버퍼(buffer) 게이트

NAND 게이트 범용 게이트

NOR 게이트

Exclusive OR 게이트

Exclusive NOR 게이트

Page 7: 이산치수학 Project6

출처 : 네이버 지식사전

2. 일 정

일 정 내 용

‘12. 5.

30

프로젝트 진행방향 토의 후 팀원의 임무분담을 정함.

알고리즘 구상, 소스 구현 및 프로젝트 관련 자료 수집

‘12. 6. 6소스의 문제점 토의 후 해결책 제시

최종보고서 작성 후 검토

3. 업무분담

이 름 분 담 내 용

Page 8: 이산치수학 Project6

정진아 조장임무 및 자료조사

고충욱 알고리즘 구성 및 자료조사

김시백 보고서작성 및 자료조사

안영준 알고리즘을 바탕으로 한 소스구성

최보은 알고리즘 구성 및 자료조사

4. 소 스#include <stdio.h>

int main()

{

printf("더하고 싶은 숫자를 입력해 주세요(2 진)\n");

int ab,cd;

int a,b,c,d;

int u1=0,u2=0,u3=0,v1=0,v2=0,v3=0;

int e,f,g;

int z;

scanf("%d%d",&ab,&cd);

a=ab/10;

b=ab%10;

c=cd/10;

d=cd%10;

/*half 1(a,c)*/

if(a==0&&c==1){

v1=1;

}

else if(a==1&&c==0){

v1=1;

}

Page 9: 이산치수학 Project6

else{

v1=0;

}

u1=a*c;

/*half 2(b,d)*/

if(b==0&&d==1){

v2=1;

}

else if(b==1&&d==0){

v2=1;

}

else{

v2=0;

}

u2=b*d;

/*half 3(v1,u2)*/

if(v1==0&&u2==1){

v3=1;

}

else if(v1==1&&u2==0){

v3=1;

}

else{

v3=0;

}

u3=v1*u2;

e=u3+u1;

f=v3;

g=v2;

printf("두수를 더한 결과는\n");

if(e==0){

}

else{

printf("%d",e);}

if(e==0&&f==0){

}

else{

printf("%d",f);}

Page 10: 이산치수학 Project6

printf("%d\n 입니다.",g);

scanf("%d",&z);

}

출력결과

5.

회의록<1 차>

회의일시 2012 년 05 월 16 일 조 D3 작성자 11 정진아

참석자 08 고충욱 09 김시백 11 안영준 11 최보은

회의안건

1. 문제파악

2. 업무분담

3. 일정 계획

회의내용 내 용 비 고

Page 11: 이산치수학 Project6

1. 문제파악

: 이번 주제에 대해 전체적으로 토의를 함

2. 업무분담

: 조장 : 정진아

자료조사 : 고충욱, 최보은

소스코딩 : 안영준

보고서 작성 : 김시백

2. 알고리즘 회의

: 입력 형식에 대해 토의

3. 일정 계획

: 다음시간까지 자료조사 해 오기

<2 차>

회의일시 2012 년 05 월 23 일 조 D3 작성자 11 정진아

참석자 08 고충욱 09 김시백 11 안영준 11 최보은

회의안건

1. 자료회의

2. 알고리즘 회의

3. 최종보고서 작성

회의내용 내 용 비 고

Page 12: 이산치수학 Project6

1. 자료회의

: 조사해 온 여러 용어들에 대해 숙지

2. 알고리즘 회의

- a, c 는 이진숫자 10 을 받았을 때, 앞쪽부분 1 을 계산하고,

b, d 는 뒤쪽부분 0 을 계산함

carry 에서 나온 숫자랑 남아있는 숫자를 다시 계산하고

출력함

3. 최종보고서 작성

: 이를 토대로 보고서 작성.