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
| 감산기 VHDL (0) | 2008.10.08 |
|---|---|
| Masking (Constant) (0) | 2008.10.08 |
| Variable을 이용한 전가산기의 구현 VHDL (0) | 2008.10.08 |
| 입력 Signal 비교기 VHDL (Process) (0) | 2008.10.08 |
| 입력 Signal의 비교기 VHDL(자료흐름) (0) | 2008.10.08 |
| S | M | T | W | T | F | S |
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |