2017년 3월 25일 토요일

공학 자료실 디지털 회로설계 자료실 1-Bit Full Adder를 통한 4-Bit Full Adder 설계 DownLoad

공학 자료실 디지털 회로설계 자료실 1-Bit Full Adder를 통한 4-Bit Full Adder 설계 DownLoad



공학 자료실 디지털 회로설계 자료실 1-Bit Full Adder를 통한 4-Bit Full Adder 설계

[공학][디지털 회로설계] 1-Bit Full Adder를 통한 4-Bit Full Adder 설계


디지털 회로설계
1. 제목 : 1-Bit Full Adder를 통한 4-Bit Full Adder 설계
2. 개요 :

1) 목적 : 1-bit full adder를 통한 4-bit full adder를 설계하여 adder에 대한 이해도를 높인다. N-bit adder로 확장하는 방식을 익혀 계층구조를 이해하고 VHDL의 PORT MAP 사용법을 익힌다.

2) 방법 :
`1-bit adder`
(1) 1 bit adder의 truth table을 구하고 카르노맵을 이용하여 minimization한다.
(2) 최소화한 식으로 1-bit adder을 VHDL 언어로 설계한다. 이때 입력은 x와 y이며 출력은 s와 반올림 되는 수 c(캐리어)이다.
(3) 1-bit adder의 waveform을 출력한다.
`adder_package`
(4) 1bit adder를 package에 위치시키도록 VHDL언어로 로 설계한다.
`4-bit adder`
(5) 4 bit의 벡터 x, y와 carry in을 입력으로 갖고 4 bit의 벡터 s와 carry out을 출력으로하는 4 bit adder을 1bit adder 4개를 통해 설계한다.
(6) 설계한 4-bit full adder를 임의의 x, y 값을 입력하여 waveform을 출력한다.
3. 이론

(1) Half Adder
단지 2 bit의 덧셈을 구현하는 회로를 half adder이라고 한다. 2진수 덧셈은 사용되는 각 자리의 값들이 0 또는 1을 갖는다. 두개의 1 bit 수에 대한 덧셈은 4개의 가능한 조합이 있는데 결과를 표현하기위해서는 더하는 값들보다 1자릿수가 높은 bit, 즉 2 bit가 필요하다. x와 y가 모두 1일 경우 반올림 되는 carry 값을 표현해야 하기 때문이다.

(2) Full Adder
Full adder는 half adder와 달리 매 자리 수 계산할 때마다 반올림이 되는지 보고 carry를 계산해야한다. 각 bit 위치를 I라고 하면 I에서의 덧셈 연산은 비트 위치 i-1에서 발생하는 carry 입력을 포함해야한다. 그래서 carry-out은 xi와 yi와 ci의 합이 된다. 그리고 출력되는 s 값은 아래에서 올라오는 ci 값과 xi+1, yi+1값의 XOR값이 된다. 더 자세한 설명은 설계과정에서 하겠다.
4. 설계과정

- 4-bit full adder의 truth table

ci xi yi
ci
si
0 0 0
0
0
0 0 1
0
1
0 1 0
0
1
0 1 1
1
0
1 0 0
0
1
1 0 1
1
0
1 1 0
1
0
1 1 1
1
1
위의 진리표를 카르노맵을 이용하여 s와 carry값을 구해보면 다음과 같다.


00
01
11
10
0
0
1
0
1
1
1
0
1
0


00
01
11
10
0
0
0
1
0
1
0
1
1
1


`4 bit ripple carry adder`

1-bit full adder을 4개 이용하여 다음과 같은 4-bit full adder을 만들 수 있다. 4 bit인 x와 y를 더하고 출력 4 bit인 s 와carry out을 갖는 시스템이다.
cin은 4bit 이상의 16 bit 32bit 등의 adder을 만들 때 사용되는데 이와 같은 큰 bit 수를 더하는 adder들을 더할 때 4bit 씩 나눠서 더해줄 때 사용된다. 4bit 이상의 adder는 cin에서 cout 까지 가는데 delay가 너무 길기 때문에 회로가 비효율적이다. 그래서 4bit 씩 끊어서 계산한다. 가장 하위 4bit adder의 cin은 0이지만 상위의 4bit adder로 올라가면 하위 adder에서 올라온 cout이 있을 수 있으므로 1일수도 있고 아닐 수도 있다. 여기에서 우리는 4bit adder만을 설계하였으므로 기본적으로 cin은 0이라고 하자.
첫 번째 FA는 1의 자리 수의 x와 y값 그리고 cin을 더한다. 두 번째 FA는 두 번째 자리의 x, y, 그리고 첫 번째 FA에서 올라온 carry 값도 더해야 한다. 이런식으로 4 bit를 1bit FA 4개를 병렬로 연결해서 더해준다.
입력 x와 y는 4bit의 vector로 설정하며, 출력 s도 4bit인 vector로 설정한다. 그리고 또 출력에 직접적으로 나오지는 않지만 adder에서 가장 중요한 carry도 각 FA마다 필요하므로 이 또한 vector 값으로 설정해준다.
5. VHDL Code
`1-bit adder`

library ieee;
use ieee.std_logic_1164.all;

entity adder is
port ( cin, x, y : in std_logic;
s, cout : out std_logic);
End adder;

architecture logicfunc of adder is
begin
s `= x xor y xor cin ;
cout `= (x and y) or (cin and x) or (cin and y);
end logicfunc;
`adder_package`

library ieee;
use ieee.std_logic_1164.all;

package adder_package is
component adder
port ( cin, x, y : in std_logic ;
s, cout : out std_logic );
end component;
end adder_package;

`1-bit adder를 이용한 4-bit adder`

library ieee;
use ieee.std_logic_1164.all;
use work.adder_package.all;

entity adder4 is
port ( cin : in std



자료출처 : http://www.ALLReport.co.kr/search/Detail.asp?pk=11077508&sid=sanghyun7776&key=



[문서정보]

문서분량 : 9 Page
파일종류 : HWP 파일
자료제목 : 공학 자료실 디지털 회로설계 자료실 1-Bit Full Adder를 통한 4-Bit Full Adder 설계
파일이름 : [공학][디지털 회로설계] 1-Bit Full Adder를 통한 4-Bit Full Adder 설계.hwp
키워드 : 공학,디지털,회로설계,Bit,Full,Adder를,Adder,설계,자료실,1
자료No(pk) : 11077508

댓글 없음:

댓글 쓰기