Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
project #62-비트 덧셈기 설계                      A0                       조장             20083438 김무경                       조원  ...
순서 1.프로젝트 전체일정       2.업무분담3.프로그램에 대한 내용       4.알고리즘    5.프로그램소스       6.결과분석
1.프로그램일정첫 주(6월 4일~9일)알아야   할 개념에 대하여 공부하고 토의모르는 내용에 대하여 질문알고리즘 짜기프로그램 코딩2.업무분담   김무경    회의진행. 보고서 작성   조부관    boolean expr...
3.프로그램 내용프로젝트를 하기 위해 공부해야 할 내용boolean expression1. 부울 대수의 개념① 하나의 명제가 참 또는 거짓인가를 판단하는데 이용되는 수학적인 방법② 이진변수와 논리 동작을 취급하는 대수③...
B)= (A + A) · (1 + B) = A · 1 = A⑺ 항등법칙                     ⑻ 보간법칙① A + 0 = A ② A + 1 = 1        ① A + A = 1③ A · 1 = A ④ ...
또 XY라고 적힌 칸에는 X가 0이고 Y가 1일때는 XY 이다.또 XY 라고 적힌 칸에는 X가 1이고 Y가 0일때는 XY 이다.또 XY 라고 적힌 칸에는 X 가 1이고 Y가 1일때는 XY 이다.참고로 X라는 변수가 1이...
3.NOT Gate낫게이트. 즉 부정게이트 입니다. 이걸통과한 값은 반전이 되게 되어있습니다.여기서 반전이란.. 컴퓨터는 참을 0이 아닌 모든수. 거짓을 0이라고합니다. 이때 이 게이트를 통과하게 되면 값이 1은 0으로...
7.EX - NOR Gate (일치              논리 회로)서로 같으면 1출력.               출      입력               력  A        B   Y  0        0   1...
scanf("%d %d %d %d",&a,&b,&c,&d);    /*합치면 2-bit Adder*/    /*#region 2-bit Adder Region*/    /*First half adder*/    Half...
else                   return 0;}/*HalfAdder part v*/int HalfAdder_v(int x, int y){        if(x != y)               return...
Upcoming SlideShare
Loading in …5
×

2012 Dm A0 06 Pdf

290 views

Published on

  • Be the first to comment

  • Be the first to like this

2012 Dm A0 06 Pdf

  1. 1. project #62-비트 덧셈기 설계 A0 조장 20083438 김무경 조원 20063532 조부관 20073547 홍진욱 20093447 김도형 20093489 송하윤 20093516 장진승
  2. 2. 순서 1.프로젝트 전체일정 2.업무분담3.프로그램에 대한 내용 4.알고리즘 5.프로그램소스 6.결과분석
  3. 3. 1.프로그램일정첫 주(6월 4일~9일)알아야 할 개념에 대하여 공부하고 토의모르는 내용에 대하여 질문알고리즘 짜기프로그램 코딩2.업무분담 김무경 회의진행. 보고서 작성 조부관 boolean expression disjunction of minterms 조사 홍진욱 프로그램 코딩 김도형 조사프로그램에 대한 알고리즘 송하윤 complete set of operations , Karnaugh maps 조사 장진승 binary device , logic gates 조사
  4. 4. 3.프로그램 내용프로젝트를 하기 위해 공부해야 할 내용boolean expression1. 부울 대수의 개념① 하나의 명제가 참 또는 거짓인가를 판단하는데 이용되는 수학적인 방법② 이진변수와 논리 동작을 취급하는 대수③ 부울 대수를 이용하여 기본적인 연산은 NOT연산, AND연산, OR연산 등이 있음2. 부울 대수의 목적① 변수 사이의 진리표 관계를 대수 형식으로 표시② 논리도의 입출력 관계를 대수 형식으로 표시③ 같은 기능을 가진 더 간단한 회로를 발견할 수 있음3. 부울 대수의 기본 법칙⑴ 교환법칙 ⑵ 결합법칙① A + B = B + A ① (A + B) + C = A + (B + C)② A · B = B · A ② (A · B) · C = A · (B · C)⑶ 배분법칙 ⑷ 부정의 법칙① A · (B + C) = A · B + A · C ① (A) = A② A + (B · C) = (A + B) · (A + C)⑸ 누승법칙 ⑹ 흡수법칙① A + A = A ① A + A · B = (A + A) · (1 + B) = A · 1 = A② A · A = A ② A · (A + B) = (A · A) + (A · B) = A + (A ·
  5. 5. B)= (A + A) · (1 + B) = A · 1 = A⑺ 항등법칙 ⑻ 보간법칙① A + 0 = A ② A + 1 = 1 ① A + A = 1③ A · 1 = A ④ A · 0 = 0 ② A · A = 0⑼ 드모르간(De-Morgan)법칙① (A + B) = A · B② (A · B) = A + BKarnaugh maps카르노 맵또는 카르노 도표는 복잡한 논리식을 간단히 하기 위해 사용되는 진리표의2차원적인 표현이며, 일반적으로 2변수 카르노맵, 3변수 카르노맵, 4변수 카르노맵이 사용된다.카르노 맵은 앞서말한 복잡한 논리식을 간단히하는(간소화하는) 불 대수와 같은 목적으로이 역시 간소화 하는 작업을 한다는 것이다.(↑그림 1-1)위에 있는 그림은 2변수 카르노맵을 그린 것이다.이것을 읽는 방법은일단 변수는 X하고 Y 가 있다. ( 변수 2개 )그리고 각각의 칸을 읽어보면빨갛게 XY라고 적힌 칸에는 X가 0이고 Y가 0일때는 XY 이다.
  6. 6. 또 XY라고 적힌 칸에는 X가 0이고 Y가 1일때는 XY 이다.또 XY 라고 적힌 칸에는 X가 1이고 Y가 0일때는 XY 이다.또 XY 라고 적힌 칸에는 X 가 1이고 Y가 1일때는 XY 이다.참고로 X라는 변수가 1이면 X 는 0이 된다. 이것은 당연하다. X는 X의 NOT이기 때문에 X의 반대이다.logic gates1.OR GateOR Gate는 일반적으로 더하기 라고 생각 하시면 간단하게 이해 하실수 잇습니다.그러나 우리가 일반적으로 아는 더하기는 1+1=2 라는 답을 얻을수 있습니다. 하지만 논리식에서의 더하기는…1+1=1 이라는 결과 값이 나오게 됨니다. 이것만 생각한다면 그리 어렵지 않습니다. 출 입력 력 A B Y 0 0 0 0 1 1 1 0 1 1 1 1<진리표>논리 기호논리식 : A+B2.AND GateAND Gate 는 일반적으로 곱하기 라고 생각하시면 됨니다.1*1=1,1*0=0 이러한 결과값이 나오게 됨니다. 출 입력 력 A B Y 0 0 0 0 1 0 1 0 0 1 1 1논리식 : A*B
  7. 7. 3.NOT Gate낫게이트. 즉 부정게이트 입니다. 이걸통과한 값은 반전이 되게 되어있습니다.여기서 반전이란.. 컴퓨터는 참을 0이 아닌 모든수. 거짓을 0이라고합니다. 이때 이 게이트를 통과하게 되면 값이 1은 0으로 0은 1로 반전되어 나오게 됨니다. 입 출 력 력 A Y 0 1 1 0<진리표> 논리 기호논리식 :4.NAND Gate 5.NOR GateAND+NOT. OR+NOT. 출 입력 출 력 입력 력 A B Y A B Y 0 0 1 0 0 1 0 1 1 0 1 0 1 0 0 1 0 1 1 1 0 1 1 06.EX - OR Gate (배타적 논리 게이트)서로 같지 않으면 1이 출력됩니다. 출 입력 력 A B Y 0 0 0 0 1 1 1 0 1 1 1 0
  8. 8. 7.EX - NOR Gate (일치 논리 회로)서로 같으면 1출력. 출 입력 력 A B Y 0 0 1 0 1 0 1 0 0 1 1 1 출처: 네이버 블로그 논리설계 참고서4.알고리즘5.프로그램소스#include <stdio.h>typedef struct{ int u; int v;}HalfAdder;int HalfAdder_u(int x, int y);int HalfAdder_v(int x, int y);void HalfAdder_f(HalfAdder *ad, int x, int y);int main(){ HalfAdder ad[3]; /// 이쪽 부분을 실행 -> int a,b,c,d; int e,f,g;
  9. 9. scanf("%d %d %d %d",&a,&b,&c,&d); /*합치면 2-bit Adder*/ /*#region 2-bit Adder Region*/ /*First half adder*/ HalfAdder_f(ad[0], a, c); /*Second half adder*/ HalfAdder_f(ad[1], b, d); /*Third half adder*/ HalfAdder_f(ad[2], ad[0].v, ad[1].u); /*F*/ f = ad[2].v; /*E*/ if(ad[0].u == 0 && ad[2].u == 0){ e = 0; }else{ e = 1; } /*G*/ g = ad[1].v; printf("e = %d, f = %d, g = %dn",e,f,g); //// 여기까지 동그라미 안쪽부분 구현 /*#endregion 2-bit Adder Region*/} /*두개 합치면 하프 애더*/ /*HalfAdder part u*/ int HalfAdder_u(int x, int y){ if(x == 1 && y == 1) return 1;
  10. 10. else return 0;}/*HalfAdder part v*/int HalfAdder_v(int x, int y){ if(x != y) return 1; else return 0;}/*합쳐서 HalfAdder*/void HalfAdder_f(HalfAdder ad, int x, int y){ ad.u = HalfAdder_u(x,y); ad.v = HalfAdder_v(x,y);}

×