Signal을 이용한 전가산기의 구현 VHDL

Posted 2008. 10. 8. 22:25 by MINOK

1. 문제

- 다음의 전가산기를 signal을 이용하여 구현하여 보아라.

2. 문제 분석

- signal방식 : 대입기호 <=는 즉시 대입되는 것이 아니라 필요한 시점에서 대입된다. signal 선언을 architecture와 begin 사이에 선언된다.

- 전가산기 : 반가산기가 2진수의 한 자릿수만 계산할 수 있는 것과는 달리 전가산기는 n bit의 2진수 덧셈을 위해 아랫자리에서 올라온 자리올림을 함께 계산한다. 즉, 두 개의 2진수 A와 B에 자리올림까지 함께 더하는 회로이다.

- 진리표

a

b

c_in

s

c_out

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

0

1

1

0

0

1

0

1

0

1

0

1

1

1

0

0

1

1

1

1

1

1

- 논리 회로

 

3. VHDL code

 

library ieee;

use ieee.std_logic_1164.all;

 

entity exam3 is

port( a, b, c_in : in std_logic;

s, c_out : out std_logic);

end exam3;

 

architecture exam of exam3 is

signal s1,c1,c2 : std_logic;

begin

s1 <= a xor b;

c1 <= a and b;

s <= s1 xor c_in;

c2 <= s1 and c_in;

c_out <= c1 or c2;

end exam;

 

 

4. Simulation