xilinx를 이용한 shifter설계 (vhdl)
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

xilinx를 이용한 shifter설계 (vhdl)에 대한 보고서 자료입니다.

목차

1. Purpose

2. Problem Statement

3. Sources & Results

본문내용

wait for 100 ns;
pi <= "1011";
wait for 40 ns;
mode <= "01";
wait for 40 ns;
enable <= '0';
wait for 20 ns;
enable <= '1';
wait for 20 ns;
dir <= '1';
wait for 40 ns;
mode <= "10";
dir <= '0';
wait for 20 ns;
dir <= '1';
wait for 20 ns;
mode <= "00";
pi <= "1010";
wait for 20 ns;
mode <= "11";
dir <= '0';
wait for 20 ns;
dir <= '1';
wait for 20 ns;
reset <= '0';
end process;
END;
tb_shifter.vhd의 소스
① 예제에 제시된 testbench에서 clock주기는 10ns로 하라고 하였으므로, 0이 입력될 때와 1이 입력될 때 두가지 경우이므로 각 5ns씩 할당해준다.

처음 103ns 후에 첫 입력이 인가되지만 clock이 상승엣지가 아니어서 출력이 0이다. 그후 상승엣지 상태가 되지만 reset이 0이어서 회로가 동작하지 않는다. 그림의 4번째 칸에서 reset이 1이 되지만 enable이 0이므로 역시 회로가 동작하지 않는다. enable이 1인 순간(5번째 칸)부터 mode가 01이 되기 직전의 순간까지 출력q는 입력 pi를 따른다.
위의 그림의 뒷부분을 화면확대 시킨 것이다. mode가 01이 되는 순간(두번째칸)부터 출력q는 1101, 1110, 0111, 1011, 1101 1110으로 오른쪽 circular shift를 한다. (dir값은 0 이므로), 그리고 이후 그림상의 우측 끝에서 4번째 값인 1101부터 1011 0111 1110은 왼쪽 circular shift를 한다(dir값이 1이므로).
mode값이 10인 경우 Logical shift연산을 해하는데 dir값이 0이므로 왼쪽 Logical shift를 하고 dir값이 1이 되면 오른쪽 Logical shift를 한다. 그리고 mode값이 11이 되면 Arithmetic shift연산을 행한다는 것을 알 수 있다.
< 실험에 대한 고찰 >
이번 실험에서는 flip-flop을 이용하여 3가지 shift연산을 수행하는 shifter을 설계하였는데 이전의 실험들과는 다르게 componenting을 할 필요가 없었다. 여태까지 설계할 때에는 port mapping 하는 것에서 애를 많이 먹었었는데, 이번에는 VHDL Module파일과 VHDL Testbench파일만 요구되어서 생각보다 훨씬 수월했다. 그리고 교수님의 배려로 인하여 Memory챕터에 Shifter의 소스 코드를 수록해 주셔서 정말 쉽게 설계를 마칠 수 있었다.
이번 실험을 계기로 VHDL이라는 생소하기만 했던 프로그래밍 언어에 한 발자국 다가갈 수 있었던 실험이엇던 것 같다. 다음 실험도 미리미리 공부하고 연습하여 성공적으로 설계할 수 있도록 노력에 노력을 기해야 겠다.

키워드

  • 가격2,000
  • 페이지수7페이지
  • 등록일2010.01.18
  • 저작시기2009.4
  • 파일형식한글(hwp)
  • 자료번호#575335
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니