xilinx를 이용한 4비트 가감산기 설계(vhdl)
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

본문내용

omponent Declaration for the Unit Under Test (UUT)
COMPONENT fourbit_adder
PORT(
x : IN std_logic_vector(3 downto 0);
y : IN std_logic_vector(3 downto 0);
ci : IN std_logic;
m : IN std_logic;
s : OUT std_logic_vector(3 downto 0);
co : OUT std_logic
);
END COMPONENT;
--Inputs
SIGNAL ci : std_logic := '0';
SIGNAL m : std_logic := '0';
SIGNAL x : std_logic_vector(3 downto 0) := (others=>'0');
SIGNAL y : std_logic_vector(3 downto 0) := (others=>'0');
--Outputs
SIGNAL s : std_logic_vector(3 downto 0);
SIGNAL co : std_logic;
BEGIN
-- Instantiate the Unit Under Test (UUT)
uut: fourbit_adder PORT MAP(
x => x,
y => y,
ci => ci,
m => m,
s => s,
co => co
);
tb : PROCESS
BEGIN
x <= "0000";
y <= "0000";
ci <= '0';
m <= '0';
wait for 10 ns;
x <= "0010";
y <= "0011";
ci <= '0';
m <= '0';
wait for 10 ns;
x <= "0011";
y <= "1101";
ci <= '1';
m <= '0';
wait for 10 ns;
x <= "0101";
y <= "0010";
ci <= '1';
m <= '0';
wait for 10 ns;
x <= "1100";
y <= "1111";
ci <= '1';
m <= '0';
wait for 10 ns;
x <= "0101";
y <= "0001";
ci <= '0';
m <= '1';
wait for 10 ns;
x <= "1010";
y <= "0011";
ci <= '0';
m <= '1';
wait for 10 ns;
x <= "1111";
y <= "1100";
ci <= '0';
m <= '1';
wait for 10 ns;
x <= "0011";
y <= "1011";
ci <= '0';
m <= '1';
wait for 10 ns;
x <= "0100";
y <= "0110";
ci <= '0';
m <= '1';
wait for 10 ns;
END PROCESS;
END architecture Behavior;
tb_fourbit_adder.vhd의 소스

강의안에서 제시된 표가 아래에 있다.
이 표와 위의 파형을 비교해 보겠다.
m = 0일 경우 덧셈 연산을 한다. 왼쪽표부터 차례대로 1번이라고 하면, 1, 2, 3, 5번은 덧셈 연산을 하여 해당하는 결과 값에 나타내었다. 하지만 4번에서 x = 0101, y = 1101, ci = 1이며, 이를 연산하면 5 + 2 + (1) = 8 이 되어야 한다. 하지만 2의 보수 표현법에서는 표현할 수 있는 수의 범위가 -8 ~ +7 까지 이므로 범위값을 초과하게 된다. 따라서 overflow가 발생하였다.
m = 1일 경우 뺄셈 연산을 하는데 6, 8, 10번은 정상적으로 뺄셈연산을 하여 해당하는 결과 값이 도출되었다. 하지만, 7번을 보면 -6 - (+3) = -9 가 되어 범위값을 초과하게 되어 underflow가 발생하게 된다. 마찬가지로 9번을 보면 3 - (-5) = 8이 되어 범위값을 초과하므로 overflow가 발생한다.
< 실험에 대한 고찰 >
2년동안 군 복무를 마치고 복학한 후 첫 실험이라 배경지식도 많이 미흡하고 진행하는데에 있어서 어려움이 많았으나, 교수님의 간단명료한 설명과, 조교님의 자일링스 프로그램 설명 덕분에 큰 무리 없이 실험을 성공적으로 마칠 수 있었다. 4비트 가감산기를 설계하면서 처음엔 어떻게 하면 4개의 가산기를 연결할 수 있는지 몰랐었으나, 조원과 머리를 맞대고 고민한 결과 수차례의 trial & error을 반복하여 입력 및 출력변수를 새로 조정하고, 임의의 signal을 만드는 방법으로 문제를 해결 할 수 있었다. 다음 실험에서도 열심히 공부한 이론을 바탕으로 성공적인 실험을 이끌어 내야겠다.
  • 가격2,000
  • 페이지수9페이지
  • 등록일2010.01.18
  • 저작시기2009.3
  • 파일형식한글(hwp)
  • 자료번호#575331
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니