목차
·실험주제
·실험소스
·실습과정
·결과화면
·실험에 관한 고찰
·실험소스
·실습과정
·결과화면
·실험에 관한 고찰
본문내용
·실험주제 : 기본 논리게이트 7개를 VHDL로 구현한다.
·실험소스
LIBRARY ieee;
use ieee.std_logic_1164.all;
ENTITY week2 is
PORT ( in_a,in_b:in std_logic;
out_y: out std_logic);
end week2;
ARCHITECTURE week2_arch of week2 is
begin
out_y<=in_a and in_b;
end week2_arch
·실습과정
1. 라이센스 셋업
바탕화면에 다운받은 라이센스를 셋업한다(Tool ->License Setup)
2. 프로젝트생성
File ->New Project Wizard에서 프로젝트를 생성한다.
이후 File -> New를 누른다.
2. 코딩
①AND게이트
②OR게이트
③ NOT게이트
NOT게이트는 입력과 출력을 하나씩만 둔다.(in_a, out_y)
④NAND게이트
⑤NOR게이트
⑥XOR게이트
⑦XNOR게이트
3. 핀 설정
NOT게이트의 입력은 하나뿐이므로 in_a와 출력 out_y만 있다.
4. 컴파일
4. 타겟 보드로 다운로드
·결과화면
7개 게이트들의 진리표와 그것을 조작하여 다운로드 한다.
pin90은 키트의 2번 bus를 의미하고, pin 92는 키트의 1번 bus를 의미한다.
bus스위치가 아래로 내려간 것이 0을 의미하고, 위로 올라간 것이 1을 의미한다.
출력인 out_y는 LED7과 연결되어 있으며 불이 꺼져있으면 0, 켜지면 1을 의미한다.
지금부터 두 개의 입력에 in_a, in_b 00 01 10 11을 조작하면서 진리표야 시습키트를 비교해 본다.
①AND게이트 진리표
입력 in_a=0, in_b=0이고 out_y가 0이므로 LED불이 들어오지 않았다.
입력 in_a=1, in_b=0이고 out_y가 0이므로 LED불이 들어오지 않았다.
입력 in_a=0 in_b=1이고 out_y가 0이므로 LED불이 들어오지 않았다.
입력 in_a, in_b 모두 1이고 out_y가 1이므로 LED불이 들어왔다.
②OR게이트의 진리표
입력 in_a, in_b=0이고 out_y가 0이므로 LED불이 들어오지 않았다.
입력 in_a=1 in_b=0이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=0 in_b=1이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a, in_b=1이고 out_y가 1이므로 LED불이 들어온다.
③NOT게이트의 진리표
입력 in_a=0이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=1이고 out_y가 0이므로 LED불이 들어오지 않는다.
④NAND게이트의 진리표
입력 in_a=0, in_b=0이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=1, in_b=0이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=1, in_b=0이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=1, in_b=1이고 out_y가 0이므로 LED불이 들어오지 않는다.
⑤NOR게이트의 진리표
입력 in_a=0, in_b=0이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=1 in_b=0이고 out_y가 0이므로 LED불이 들어오지 않는다.
입력 in_a=0, in_b=1이고 out_y가 0이므로 LED불이 들어오지 않는다.
입력 in_a=1, in_b=1이고 out_y가 0이므로 LED불이 들어오지 않는다.
⑥XOR게이트의 진리표
입력 in_a=0, in_b=0이고 out_y가 0이므로 LED불이 들어오지 않는다.
입력 in_a=1, in_b=0이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=0, in_b=1이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=1, in_b=1이고 out_y가 0이므로 LED불이 들어오지 않는다.
⑦XNOR게이트의 진리표
입력 in_a=0, in_b=0이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=1, in_b=0이고 out_y가 0이므로 LED불이 들어오지 않는다.
입력 in_a=0, in_b=1이고 out_y가 0이므로 LED불이 들어오지 않는다.
입력 in_a=1,in_b=1이고 out_y가 1이므로 LED불이 들어온다.
·실험에 관한 고찰
1학년 때 배웠던 기본 게이트들을 다시 한 번 공부 할 수 있는 기회가 되었다. 일단 내가 알 고 있던 게이트들의 진리표를 키트를 이용하여 확인 한다고 생각하니 신기했다. 사실 AND게 이트와 OR, NOT, NAND NOR같은 경우는 진리표를 외우고 있었지만, XOR게이트와 XNOR 게이트의 진리표는 아직 생소했는데 VHDL로 구현해 키트로 실험을 해보니 많은 도움이 되었 다. 처음으로 실험키트를 이용해 실습을 하였는데 VHDL로 구현한다는 것이 익숙하지 않았고 모르는 것이 많았는데 (사실 라이센스를 받는것 부터가 너무 어려웠다.) 점점 하다보니까 적 응이 되는 것 같았다.
이번 실습은 많은 실수도 있었고 어려웠지만 다 끝내고 나니 새로운 것을 알게 된 것 같아서 기뻤다. 또 C언어만 코딩하다가 VHDL이라는것을 코딩해 보았는데 만만치 않다는 생각을 했 다. 앞으로 열심히 해야겠다.
·실험소스
LIBRARY ieee;
use ieee.std_logic_1164.all;
ENTITY week2 is
PORT ( in_a,in_b:in std_logic;
out_y: out std_logic);
end week2;
ARCHITECTURE week2_arch of week2 is
begin
out_y<=in_a and in_b;
end week2_arch
·실습과정
1. 라이센스 셋업
바탕화면에 다운받은 라이센스를 셋업한다(Tool ->License Setup)
2. 프로젝트생성
File ->New Project Wizard에서 프로젝트를 생성한다.
이후 File -> New를 누른다.
2. 코딩
①AND게이트
②OR게이트
③ NOT게이트
NOT게이트는 입력과 출력을 하나씩만 둔다.(in_a, out_y)
④NAND게이트
⑤NOR게이트
⑥XOR게이트
⑦XNOR게이트
3. 핀 설정
NOT게이트의 입력은 하나뿐이므로 in_a와 출력 out_y만 있다.
4. 컴파일
4. 타겟 보드로 다운로드
·결과화면
7개 게이트들의 진리표와 그것을 조작하여 다운로드 한다.
pin90은 키트의 2번 bus를 의미하고, pin 92는 키트의 1번 bus를 의미한다.
bus스위치가 아래로 내려간 것이 0을 의미하고, 위로 올라간 것이 1을 의미한다.
출력인 out_y는 LED7과 연결되어 있으며 불이 꺼져있으면 0, 켜지면 1을 의미한다.
지금부터 두 개의 입력에 in_a, in_b 00 01 10 11을 조작하면서 진리표야 시습키트를 비교해 본다.
①AND게이트 진리표
입력 in_a=0, in_b=0이고 out_y가 0이므로 LED불이 들어오지 않았다.
입력 in_a=1, in_b=0이고 out_y가 0이므로 LED불이 들어오지 않았다.
입력 in_a=0 in_b=1이고 out_y가 0이므로 LED불이 들어오지 않았다.
입력 in_a, in_b 모두 1이고 out_y가 1이므로 LED불이 들어왔다.
②OR게이트의 진리표
입력 in_a, in_b=0이고 out_y가 0이므로 LED불이 들어오지 않았다.
입력 in_a=1 in_b=0이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=0 in_b=1이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a, in_b=1이고 out_y가 1이므로 LED불이 들어온다.
③NOT게이트의 진리표
입력 in_a=0이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=1이고 out_y가 0이므로 LED불이 들어오지 않는다.
④NAND게이트의 진리표
입력 in_a=0, in_b=0이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=1, in_b=0이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=1, in_b=0이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=1, in_b=1이고 out_y가 0이므로 LED불이 들어오지 않는다.
⑤NOR게이트의 진리표
입력 in_a=0, in_b=0이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=1 in_b=0이고 out_y가 0이므로 LED불이 들어오지 않는다.
입력 in_a=0, in_b=1이고 out_y가 0이므로 LED불이 들어오지 않는다.
입력 in_a=1, in_b=1이고 out_y가 0이므로 LED불이 들어오지 않는다.
⑥XOR게이트의 진리표
입력 in_a=0, in_b=0이고 out_y가 0이므로 LED불이 들어오지 않는다.
입력 in_a=1, in_b=0이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=0, in_b=1이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=1, in_b=1이고 out_y가 0이므로 LED불이 들어오지 않는다.
⑦XNOR게이트의 진리표
입력 in_a=0, in_b=0이고 out_y가 1이므로 LED불이 들어온다.
입력 in_a=1, in_b=0이고 out_y가 0이므로 LED불이 들어오지 않는다.
입력 in_a=0, in_b=1이고 out_y가 0이므로 LED불이 들어오지 않는다.
입력 in_a=1,in_b=1이고 out_y가 1이므로 LED불이 들어온다.
·실험에 관한 고찰
1학년 때 배웠던 기본 게이트들을 다시 한 번 공부 할 수 있는 기회가 되었다. 일단 내가 알 고 있던 게이트들의 진리표를 키트를 이용하여 확인 한다고 생각하니 신기했다. 사실 AND게 이트와 OR, NOT, NAND NOR같은 경우는 진리표를 외우고 있었지만, XOR게이트와 XNOR 게이트의 진리표는 아직 생소했는데 VHDL로 구현해 키트로 실험을 해보니 많은 도움이 되었 다. 처음으로 실험키트를 이용해 실습을 하였는데 VHDL로 구현한다는 것이 익숙하지 않았고 모르는 것이 많았는데 (사실 라이센스를 받는것 부터가 너무 어려웠다.) 점점 하다보니까 적 응이 되는 것 같았다.
이번 실습은 많은 실수도 있었고 어려웠지만 다 끝내고 나니 새로운 것을 알게 된 것 같아서 기뻤다. 또 C언어만 코딩하다가 VHDL이라는것을 코딩해 보았는데 만만치 않다는 생각을 했 다. 앞으로 열심히 해야겠다.
추천자료
- strategic management and business policy 연습문제
- Ma and God
- Strategic Management and Business Policy
- Listen and read actively second edition
- Listen and read actively second edition
- Hearts and Minds -John J. Mearsheimer
- Emerson의 Each And All, Concord Hymn, The Rhodora, 그리고 Brahma의 해석
- Restriction Enzyme Digestion and Gel Electrophoresis
- northstar reading and writing (high intermediate) unit 1 번역
- FTA and the Developing Countries
- cause and effect essay
- Intellectual Disability and Sex
- Autism and Children
- Hijab Ban and Gender Conflict
소개글