60mod full outnumlion counter
본 자료는 5페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
해당 자료는 5페이지 까지만 미리보기를 제공합니다.
5페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

60mod full outnumlion counter에 대한 보고서 자료입니다.

목차

1. 제 목 : Term project

2. 상태도, 상태표
● 상 태 표 (INITIAL VALUE: 101-1001)
● 디코더 진리표
● 7세그먼트 디코터 부울함수식(공통양극형)
● 4가지 상태 예시 및 상태도
<모든상태를 표현하기에는 한계가 있어서 간략화 하였다.>

3. VHDL 소스
--********************************* 시뮬레이션을 위한 코드*********************
-- ************************ 1의 자리 카운터*****************************************
--*********************1의자리 디코더***************************
--************************************10의 자리 디코더**********************

4. 토의 및 분석

본문내용

end if; --outnum1="0000"의 end
end if; --updown='0'의 end
end if; --reset의 end
else outnum1<=outnum1;
-- 클록의 상승에지가 발생하지 않거나 , 스타트 신호가 1이 아니면 현재--상태를 유지한다.
end if; --start의 end
end process;
end arch_sw;
--*********************1의자리 디코더***************************
library ieee;
use ieee.std_logic_1164.all;
entity bcd_one is
PORT(
Q : in std_logic_vector(3 downto 0);--입력변수 4개
A,B,C,D,E,F,G : out std_logic);--출력변수 7개
end;
architecture arch_bcd_one of bcd_one is
signal H,I,J,K,L,M,N : std_logic;--식의 반복을 피하기 위한 SIGNAL 변수
begin
H <= (not Q(3)) and (not Q(2)) and (not Q(1)) and Q(0);
I <= Q(2) and (not Q(1)) and (not Q(0));
J <= Q(3) and Q(1);
K <= Q(3) and Q(2) and (not Q(1));
L <= Q(3) and Q(2);
M <= Q(3) and (not Q(2)) and Q(1);
N <= Q(2) and Q(1) and Q(0);
A <= H or I or J or K;
B <= L or M or ( Q(2) and (Q(1) xor Q(0)));
C <= L or M or ((not Q(2)) and Q(1) and (not Q(0)));
D <= H or I or J or (Q(2) and ((Q(3) and (not Q(1))) or ( Q(1) and Q(0))));
E <= Q(0) or I or (Q(3) and Q(1) and (not Q(0)));
F <= L or N or ((not Q(2)) and (Q(1) or ((not Q(3)) and Q(0))));
G <= J or K or N or ((not Q(3)) and(not Q(2)) and(not Q(1)));
end arch_bcd_one;
--************************************10의 자리 디코더**********************
library ieee;
use ieee.std_logic_1164.all;
entity bcd_ten is
port(
R : in std_logic_vector (2 downto 0);--입력변수 3개
K : in std_logic;--도트 입력
L : out std_logic;--도트 출력
A,B,C,D,E,F,G : out std_logic);--출력변수 7개
end;
architecture arch_bcd_ten of bcd_ten is
signal I : std_logic ;--식의 반복을 피하기 위한 SIGNAL 변수
begin
I <= R(1) and R(2);
L <= K;-- 입력을 그대로 출력으로
A <= ((not R(1)) and (R(0) xor R(2))) or I;
B <= (R(0) and R(2)) or I;
C <= I or ((not R(0)) and R(1));
D <= ((not R(1)) and (R(0) xor R(2))) or I;
E <= R(0) or R(2);
F <= (R(0) and (not R(2))) or R(1);
G <= ((not R(1)) and (not R(2))) or I;
end arch_bcd_ten;
4. 토의 및 분석
기초전자공학실험2 과목의 마지막인 이번 Term project의 과제는 60mod full outnum1ion counter이다. 00부터 59까지 숫자를 count 하는 것인데, 초기값을 정해서 초기값부터 count가 되어야 하고, reset버튼으로 숫자를 리셋할 수 있어야 하고, startstop/stop버튼으로 count를 세고 멈추고 해야 하고, upcount 및 downcount를 사용자가 직접컨트롤 할 수 있어야 한다. 이번 프로젝트는 4 가지 단계로 진행되었는데, 첫번째로 주제에 대한 충분한 이해와 전체적인 설계, 두번째로 vhdl 코딩 및 시뮬레이션 결과 확인, 세번째로 칩을 굽고 브레드보드에 시험작동, 네번째로 회로구성 및 작동 확인으로 진행 되었다. 기본설계는 먼저 세그먼트에 각각 표시 되는 1의 자리와 10의 자리를 각각 나누었다. 그래서 전체적인 칩의 분배는 먼저 두개의 칩은 1의자리 디코더와 10의 자리 디코더이고 나머지 두개는 1의 자리 counter와 10의자리counter로 구성된다. 두 번째 단계인 소스 작성에서 우리는 각각 4가지 칩에 대한 소스를 작성하고 시뮬레이션 할 수 있었다. 초기 시뮬레이션 시에 캐리값이 늦게 전달되어 예를들어 초기값을 19로 로드하여 업카운트로 진행할 때 18,19,10,21 의 순서로 카운트가 되는 오류가 있었으나 초기값을 검사하여 캐리를 생성하는 방법으로 해결되었다. 자세한 소스 설명은 결과 레포트 3번에 소스첨부와 함께 다루었다. 세 번째로 브레드보드판에 시험작동을 하였는데 칩레프트와 비교해가며 reset버튼은 dip스위치로 대체하여 실험을 확인할 수 있었다. 마지막 네 번째가 제일 힘들었는데, 제일 말썽인 것은 역시 reset스위치 였다. reset버튼을 잠깐 눌렀을 때와 오래 눌렀을 때 초기값부터 카운트를 하지 않는 등 문제점이 발생하였다. 그래서 push스위치의 4가지핀의 위치도 바꿔보고 커패시터의 극성에 유의하고 회로구성을 디코딩하고 검토해서 설험목적에 성공할 수 있었다. 이번 실험으로 어떤 과제가 주어졌을 때 처음으로 설계부터 회로구성까지 직접 머릿속으로 고민하고 손으로 소스를 짜고 인두로 완성하기까지의 과정을 모두 다 스스로 하고 성공함으로서 디지털 회로, 회로이론 등의 과목에 대한 이론을 몸으로 직접 가까이 느낄 수 있는 소중한 경험이 된 실험이었다.
  • 가격2,000
  • 페이지수16페이지
  • 등록일2004.12.29
  • 저작시기2004.12
  • 파일형식한글(hwp)
  • 자료번호#280812
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니