목차
1. 실험 목표
2. 실험 결과
2-1. 실험 1. 2개의 입력을 가진 AND, OR을 동작적 모델링과 자료 흐름 모델링으로 작성하시오.
(1) AND GATE
1) 진리표
2) 소스 코드
3) 테스트 벤치 코드
4) Wave Form
5) 결과 분석
(1) OR GATE
1) 진리표
2) 소스 코드
3) 테스트 벤치 코드
4) Wave Form
5) 결과 분석
2-2. 실험 2. 진리표를 보고 동작적 모델링과 자료 흐름 모델링으로 작성하시오.
1) 진리표
2) 소스 코드
3) 테스트 벤치 코드
4) Wave Form
5) 결과 분석
4. 고찰
본문내용
1. 실험 목표
AND, NOT, NAND, OR, XOR, NOR 게이트의 기호와 기본적인 동작 특성을 이해고, 실험을 통해 동작적 모델링과 자료 흐름 모델링 방법으로 기본 게이트들을 설계하고, 진리표를 통해 게이트를 설계하는 법을 익힌다.
<중 략>
5) 결과 분석
- 예비보고서에서 수기로 작성했던 코드로 VHDL에서 작성하여 시뮬레이션을 돌려본 결과 F=X'+YZ의 진리표를 만족하는 결과가 나타났다. 시뮬레이션을 돌리기 전에 테스트 벤치 코드를 작성하여 각 입력(X, Y, Z)이 0과 1이 입력되는 주기를 설정하여야 4)와 같은 시뮬레이션 결과를 얻을 수 있음을 알았다. 위의 경우를 보면 signal X,Y,Z : std_logic := '0';을 통해 초기값을 0으로 설정하고, X=X'이 되는 주기를 100ns, Y=Y'이 되는 주기를 50ns, Z=Z'이 되는 주기를 25ns로 설정하여 입력 (X,Y,Z)=(0,0,0), (0,0,1), (0,1,0), …, (1,1,0), (1,1,1)이 입력되도록 유도하였다.
- 시뮬레이션의 이름과 소스 코드의 entity 이름이 일치하지 않는데, 이는 실수로 시뮬레이션 결과를 저장하지 않아서 새로운 entity에서 시뮬레이션 결과를 뽑아냈기 때문이다.
4. 고찰
- VHDL이라는 언어를 처음 접해보는 실험이라 준비를 많이 했던 것이 실험 진행에 큰 도움이 된 것 같다. 초기 설정을 통해 기본적인 코딩은 할 필요 없이 필요한 부분만 하면 되는 것이 프로그램의 장점인 것 같다.
- 회로 설계 코딩을 할 때 모델링 방법이 다양한 것이 인상적이었다. 이번 실험에서는 동작적 모델링과 자료흐름 모델링만을 구현해 보았지만, 이 외에도 구조적 모델링 등의 모델링이 있는 것을 사전 조사를 통해 알 수 있었는데, 각각의 장점이 있는 만큼 앞으로의 실험을 통해 각 모델링 방법을 사용할 기회가 있으면 좋을 것 같다.
- 시뮬레이션 기능 잘 이용하면, 아주 복잡한 코딩에서 오류가 발견되더라도 wave form을 확인하면 어느 곳에서 오류가 났는지를 금방 찾아낼 수 있을 것 같다.
참고 자료
없음