[디지털 회로설계] 1-Bit Full Adder를 통한 4-Bit Full Adder 설계
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

1. 제목
2. 개요
3. 이론
4. 설계과정
5. VHDL Code
6. 결과 및 분석
7. 토의사항
8. 참고문헌

본문내용

의 필요성은 위에서도 설명했듯이 4 bit 의 더해지는 수들의 마지막 항에서 반올림 된 경우 5 bit의 자리 수에 1이 올라가야함으로 이를 표현하기 위해서이다. 그러므로 cout은 출력의 5번째 자리정도로 생각할 수 있다.
(b) Cin이 1인 경우

일반적인 4 bit adder는 cin이 0이라는 것을 위에서 설명했다. 하지만 위의 경우는 cin의 값이 1인경우를 고려하여 입력을 넣어 보았다. Cin이 1이여도 0인경우와 크게 다르지 않고 의 식과 의 식이 성립한다는 것을 알 수 있다.
7. 토의사항
이번 수행 과제는 1 bit full adder를 설계하고 이를 component 형태로 호출하여 확장하는 방식으로 4 bit adder를 설계하는 것 이였다. 이와 같은 방법으로 adder를 설계하면 half adder와는 달리 carry를 포함하여 계산이 가능하다. 또 4 bit 뿐만이 아니라 원하는 만큼 FA를 놓아줌으로서 원하는 bit만큼 덧셈이 가능하다고 볼 수 있다. 하지만 FA가 일정 수 이상이 되면 carry를 전달하여 계산하는데 delay가 길어져 오래 걸린다. 예를 들어 32 bit의 adder를 이와같은 ripple carry adder 방식으로 설계하면 carry는 첫 번째 자릿수에서부터 32까지 올라가며 계산이 되어야한다. 이 과정에서 carry는 매우 오랜 시간이 걸려 32번째 FA에 입력되고 다른 입력 값(x, y)은 정상속도로 입력되므로 계산에 오류가 생길 것이다. 그러므로 ripple carry adder는 많은 FA를 병렬로 놓고 계산할 수 없다. 그 허용 최대범위는 4 bit 정도이다. 이 방법으로 굳이 4 bit 이상의 adder를 설계하고 싶다면, FA의 연산속도를 느리게 해주면 된다. 마지막 FA의 carry 입력이 도착할 때까지 연산을 기다려준다면 carry의 delay가 없다. 하지만 이 방법은 연산시간이 오래 걸린다는 단점이 있다.
이와 같은 방법 이외에도 half adder 두개를 이용한 가산기도 있고, carry lookahead adder도 있다. Carry lookahead adder는 ripple carry adder의 단점을 커버한 adder이다. 이 회로는 수를 더하는데 필요한 시간을 본질적으로 줄일 수 있는 다른 방법이 사용되었다. Carry를 빨리 평가하여 가산하는 것이다. 이 방법은 마지막 carry를 평가하는데 3 gate 지연이 걸린다. 하지만 ripple carry adder에 비해 회로가 복잡하다는 단점이 있다.
Quartus를 이용한 프로그래밍에서는 처음 과제와 비교했을 때 훨씬 편하게 다룰 수 있었다. VHDL 코드를 살펴보면 전체적으로 3개의 파일로 이루어져 있다. 1 bit full adder, adder_package, 4 bit full adder 이다. 1 bit full adder는 주어진 truth table에 따라 계산하여 1차 과제 때처럼 설계하면 되었다. 이번 과제에서는 package를 사용하였는데 이 것은 c 언어에서 함수를 사용하는 것과 매우 비슷하다고 느꼈다. 자주 사용하는 함수를 정의해 놓고, 실제로 사용하는 파일에서 그 함수를 불러다가 사용하는 것이다. 이와 같은 방식으로 4-bit full adder을 VHDL code로 설계하니 매번 FA가 필요할 때마다 그 내용을 쓰지 않아 편리하였다. 이번 과제에서 개인적으로 가장 어려웠던 부분은 project의 이름과 main file의 이름을 match시키는 것이었다. 처음에 설계를 했을 때 main project의 이름을 1 bit full adde 파일의 이름과 동일하게 하여 wave form을 비롯한 다른 결과 값들이 제대로 simulation 되지 않는 것을 확인했다. 즉 같은 project 내에서 여러 개의 file을 만들어 사용하는데 main project의 이름과 같은 file이 main file이 되어 이 main file 에 대해서만 waveform을 비롯한 결과들이 simulation된다는 것을 이해했다.
8.참고문헌
(1) Fundamentals of Digital Logic with VHDL Design second edition, Stephen Brown, 2005
(2) http://cafe.naver.com/carroty.cafe
(3) http://blog.naver.com/nowcafe?Redirect=Log&logNo=20016488913
  • 가격2,300
  • 페이지수9페이지
  • 등록일2013.08.07
  • 저작시기2013.8
  • 파일형식한글(hwp)
  • 자료번호#869928
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니