- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[시스템분석및설계] 6장 반가산기와 전가산기 예비레포트 본문
◎ 실험 목적
▶ 반가산기와 전가산기의 동작을 VHDL로 기술하고, 시뮬레이션을 통해 동작을 검증한다.
◎ 이론 설명
▶ 반가산기
① 덧셈(뺄셈) 연산에서 가장 기본이 되는 회로이다.
② 2개의 입력 비트(A, B)와 2개의 출력 비트(S, C)를 갖는다.
③ 출력으로는 2개의 입력 값이 더하여진 값(s)와 상위 비트로 올라가는 값인 캐리 (c)가 있다.
④ 진리표
입 력 |
출 력 | ||
a |
b |
c |
s |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
⑤ 부울대수식
⑥ 논리회로도
▶ 전가산기
① 반가산기와 마찬가지로 덧셈(뺄셈) 연산에서 기본이 되는 회로이다.
② 전가산기는 반가산기와 다르게 입력 값이 두 개가 아닌 세 개다.
③ 하위 비트에서 올라온 캐리까지 포함해서 덧셈을 할 수 있게된 회로이다.
④ 반가산기와 마찬가지로 출력으로는 더해진 값(s)와 상위 비트로 올라가는 캐리 (c)가 있다.
⑤ 진리표
입 력 |
출 력 | |||
a |
b |
cin |
s |
cout |
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 |
⑥ 전가산기는 반가산기 2개와 OR 게이트 1개를 사용하여 설계할 수 있다는 점을 활용하여, 구조적 모델링(structural modeling) 방식을 채택할 수도 있지만, 이 방식 역시 그 회로적 구조를 알고 있어야 가능한 방식이다.
그러므로 전가산기를 동작적 모델링 방식에 의해 설계하여 보도록 한다.
◎ 실험 장비
▶ Xilinx ISE
▶ ModelSIM
▶ Rov-Lab 트레이닝 키트
◎ 실험 순서
▶ 반가산기
① 반가산기의 동작을 VHDL로 기술
architecture Behavioral of ha is begin S <= A xor B; C <= A and B; end Behavioral ;
② TestBenchWaveform으로 시뮬레이션
주어진 입력(A, B)에 따라 출력(S, C)이
진리표대로 정확하게 출력되는지를 검증
③ 트레이닝 키트로 동작 검증
주어진 입력(A, B)에 따라 출력(S, C)이
진리표대로 정확하게 출력되는지를 검증
▶ 전가산기
① 전가산기의 동작을 VHDL로 기술
architecture Behavioral of full_adder is begin if a='0' and b='0' and cin='0' then s <= '0'; cout <= '0'; elsif a='0' and b='0' and cin='1' then s <= '1'; cout <='0'; elsif a='0' and b='1' and cin='0' then s <= '1'; cout <='0'; elsif a='0' and b='1' and cin='1' then s <= '0'; cout <='1'; elsif a='1' and b='0' and cin='0' then s <= '1'; cout <='0'; elsif a='1' and b='0' and cin='1' then s <= '0'; cout <='1'; elsif a='1' and b='1' and cin='0' then s <= '0'; cout <='1'; elsif a='1' and b='1' and cin='1' then s <= '1'; cout <='1'; end if; end process; end Behavioral;
- VDHL 설계에서 가장 많이 쓰이는 명령어인 IF-ELSE 명령어를 사용한다.
- 3개의 LOOP 명령어를 사용하여, a, b, cin의 값을 변화시키는 코드를 추가한다.
② TestBenchWaveform으로 시뮬레이션
주어진 입력(A, B, Cin)에 따라 출력(S, Cout)이
진리표대로 정확하게 출력되는지를 검증
③ 트레이닝 키트로 동작 검증
주어진 입력(A, B, Cin)에 따라 출력(S, Cout)이
진리표대로 정확하게 출력되는지를 검증
'★─Multi Media > ☆─2학년 2학기' 카테고리의 다른 글
[경영정보학원론] 퀴즈02_기업정보시스템 (0) | 2007.10.21 |
---|---|
[경영정보학원론] 퀴즈01_디지털기업경영 (0) | 2007.10.21 |
[물리및실험] 수업 PPT 모음 (0) | 2007.10.04 |
[시스템분석및설계] 수업 PPT 모음 (0) | 2007.09.27 |
[인터넷저널리즘] 수업 PPT 모음 (0) | 2007.09.27 |