• 파일시티 이벤트
  • 캠퍼스북
  • LF몰 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

[토끼] 응용논리_4× 1 MUX를 4가지 구문을 이용하여 VHDL로 설계, 시뮬레이션, 합성 과제 ( IF 문, CASE 문, When~else 문, With~select

*수*
개인인증판매자스토어
최초 등록일
2013.01.14
최종 저작일
2010.07
17페이지/한글파일 한컴오피스
가격 3,000원 할인쿠폰받기
다운로드
장바구니

소개글

과제 : 4× 1 MUX를 다음의 4가지 구문을 이용하여 VHDL로 설계 하고 시뮬레이션, 합성 하여라. ( IF 문, CASE 문, When~else 문, With~select문 )

목차

(1-1) IF 문을 이용한 4×1 MUX의 VHDL CODE
(1-2) IF 문을 이용한 4×1 MUX의 SIMULATION
(1-3) IF 문을 이용한 4×1 MUX의 Synplify 합성

(2-1) CASE 문을 이용한 4×1 MUX의 VHDL CODE
(2-2) CASE 문을 이용한 4×1 MUX의 SIMULATION
(2-3) CASE 문을 이용한 4×1 MUX의 Synplify 합성

(3-1) When else 문을 이용한 4×1 MUX의 VHDL CODE
(3-2) When else 문을 이용한 4×1 MUX의 SIMULATION
(3-3) When else 문을 이용한 4×1 MUX의 Synplify 합성

(4-1) With Select 문을 이용한 4×1 MUX의 VHDL CODE
(4-2) With Select 문을 이용한 4×1 MUX의 SIMULATION
(4-3) With Select 문을 이용한 4×1 MUX의 Synplify 합성

(5-1) 각 구문별 합성 비교 < Technology View >
(5-2) 각 구문별 합성 비교 < RTL VIEW >

(6) Result and Analysis
※ 추가 사항 테스트 벤치 CODE

본문내용

과제: 4× 1 MUX를 다음의 4가지 구문을 이용하여 VHDL로 설계 하고 시뮬레이션, 합성 하여라. ( IF 문, CASE 문, When~else 문, With~select문 )


(1-1) IF 문을 이용한 4×1 MUX의 VHDL CODE
library IEEE;
use IEEE.std_logic_1164.all;

entity mux41 is
port( A: in std_logic;
B: in std_logic;
C: in std_logic;
D: in std_logic;
SEL: in std_logic_vector(1 downto 0);
Y: out std_logic
);
end mux41;

architecture BEHAVE of mux41 is
begin
process(A,B,C,D,SEL)
begin
if SEL="00" then
Y<=A;
elsif SEL="01" then
Y<=B;
elsif SEL="10" then
Y<=C;
else
Y<=D;
end if;

end process;
end BEHAVE;
VHDL 코딩 시 수업시간에 필기 해주었던 내용을 기반으로 삼아 코딩을 하였다. VHDL을 처음인지라 컴파일 에러를 잡아내는 데에만 3시간이 걸렸다. 하지만 덕분에 문법의 틀을 확실하게 기억 할 수 있었다. 예를 들어 Entity 선언에서도 사소한 ‘.’을 빠뜨려서 계속 컴파일 에러가 났으며 architecture에서도 beahave를 end시키지 않아 에러가 났었다. 인터넷을 뒤져본 결과 compile report를 이용하여 하나씩 여러 에러들을 잡아내었으며 결국 컴파일을 성공 할 수 있었다.


(1-2) IF 문을 이용한 4×1 MUX의 SIMULATION

시뮬레이션 또한 툴 사용의 미숙으로 3시간 이상 허비해야 했다. 하지만 덕분에 테스트 벤치의 개념을 확실하게 알 수 있었다. 다른 코드를 참고 하였을 때 정확한 시뮬레이션을 위해 테스트 벤치라는 것을 하고 시그널을 넣어주는 것을 알 수 있었다. 하지만 그것보다 모든 경우의 수를 표현하는 정확한 시뮬레이션을 만들 수 있는 다른 방법이 있지 않을 까 하는 고민 끝에 정확히 SEL값의 모든 경우의 수안에 인풋 값의 모든 경우의 수를 집어넣고 시뮬레이션을 돌리기로 하였다. 결국 시뮬레이션의 결과를 보면 SEL 값이 ‘00’일 때만 A가 출력되고 SEL값이 `01`일 때 B가 출력, SEL값이 ‘10’일 때 C가 출력, 마지막으로 SEL 값이 ‘11’일 때 D가 출력 되는 것을 확인 할 수 있다. 이번 과제의 가장 큰 난관 이였는데 이런 식으로 하는 게 일일이 테스트벤치를 짜는 것보다 더 효과적이라고 생각된다.

< 입력 신호에 인가하는 방법 >
Tool에 대한 이해가 부족하여 피스파이스와 같이 자동으로 시뮬레이션이 될줄 알았지만 요지부동이였다. 알고보니 입력값을 일일이 지정해줘야는데 여러번의 메뉴를 클릭 끝에 counter, clock의 기능을 인가하여 효과적인 시뮬레이션을 할 수 있도록 하였다.

참고 자료

디지털논리와 컴퓨터설계 (p.167~172)
프로그램 논리 소자를 위한 VHDL (P.107~210)
Xilinx/Alerra FPGA 보드를 이용한 실습으로 배우는 VHDL (p. 100~152)
*수*
판매자 유형Bronze개인인증

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

이런 노하우도 있어요!더보기

최근 본 자료더보기
탑툰 이벤트
[토끼] 응용논리_4× 1 MUX를 4가지 구문을 이용하여 VHDL로 설계, 시뮬레이션, 합성 과제 ( IF 문, CASE 문, When~else 문, With~select 무료자료보기
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업