VHDL_2_MUX,DEMUX,비교기,ALU,Hamming code
- 최초 등록일
- 2021.09.23
- 최종 저작일
- 2019.03
- 35페이지/ 한컴오피스
- 가격 2,000원
목차
1. 주제 배경 이론
2. 소스코드 설명
3. 시뮬레이션 결과 및 설명
4. 토의 및 실습소감
본문내용
실습제목: 8X1 MUX
1. 주제 배경 이론
멀티플렉서는 여러 개의 입력을 받고 Selcet 선에 신호를 인가하여 어느 신호를 보낼 것인지 선택할 수 있다. 8X1 MUX의 진리표는 다음과 같이 작성할 수 있다.
2.소스코드 설명
package에서 function을 만드는 방식으로 프로그램을 만들었다. package에서 사용할 포트를 설정했고 8X1이므로 8개의 입력 선을, log28 = 3이므로 3개의 선택 선을 설정했다. 출력은 MUX이므로 1개이다.
Body 부분에서는 해당 함수의 동작을 정의했다. case문을 이용하여 Sel로 입력되는 비트 값에 따라 입력 선을 선택하여 TMP에 대입해주는 방식이다. 그리고 TMP를 return 한다. 즉 sel에 의해 선택된 Input이 출력 값이 된다. 이때 Sel과 Input의 관계는 다양하게 정의할 수 있지만, 간단하게 2진수인 Sel의 크기순으로 Input을 배정했다.
MUX_8X1
use.work.my_package.all로 전에 작성했던 package를 불러온다. 해당함수의 매개변수로 I, S를 넣고 return 값을 Y로 받는다. I는 Input에, S는 Sel에 각각 대음되는 매개변수이다. Y에는 case문을 거쳐서 TMP에 저장되었던 값이 대입된다.
실습제목: 1X8 DEMUX
1. 주제 배경 이론
디멀티플렉서는 멀티플렉서와 반대의 동작을 한다. 하나의 입력을 받고 선택하여 여러 경로 중 하나로 신호를 보낸다. 이것을 진리표로 작성하면 다음과 같다. 따라서 S의 값에 따라 입력을 바로 출력에 대입하는 방식으로 코드를 짤 수 있다.
2.소스코드 설명
패키지를 프로시저로 구성했다. 패키지에서 신호의 in, out을 설정했다. body에서 프로시저를 이용하여 동작을 하도록 했다. 프로시저는 함수와 달리 입력과 출력을 별도로 적어야한다. 또 return이 따로 없고 여러 개의 출력이 가능하다.
참고 자료
없음