Design of Digital Clock (디지털 시계의 설계)

Slides:



Advertisements
Similar presentations
내 마음의 버 스 이천신하교회 청년부. 이름 : 한상훈 나이 : 30 살 종교 : 기독교 ( 모태신앙 ) 생활신조 : 인생은 한방 ! 로또나 사자 이상형 : 청순 가련한 모태미녀 특이사항 : 걸그룹 노래에 환장함 식스팩을 갖기엔 슬픈 몸을 타고 남.
Advertisements

독서골든벨 2009 학년도 6 학년 1 학기 6-10 반. 1. 이야기 삼국유사 정대한 원효대사는 수행을 위해 떠나던 중 피곤하여 숲 속에서 잠이 들었다. 잠결에 너무 목이 마른 나머지 어디에 담겨있는 물을 맛있게 마셨나요 ?
두 손 들고 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 오직 주만이 나를 다스리네 오직 주만이 나를 다스리네 나 주님만을.
지금은 기도 하는 시간입니다 1. 송구영신예배를 위해서 2. ‘크리스마스 이브’ 행사를 준비하는 교육 기관을 위하여

1 08 Simple Sequential Logic Design with Finite State Machines & Timing Design.
Introduction 2007년 2학기.
VHDL Package & Subprogram
Copyright SangSangDom, All Rights Reserved.
VHDL 프로그램은 비동기 Reset을 갖는 D 플립플롭을 구현한 것이다
Dept. of Electronics & Info. Eng. Prof. Jongbok Lee
ASIC의 개요 ASIC(Application Specific Integrated Circuit) 특정 용도 주문형 집적회로
디지털 시계 설계.
2017 법인관련 개정세법 곽장미 세무사.
현대사회의 여성문제와 여성복지 3조 권경욱 강향원 황대인 변갑수 박창욱 김지현.
고교평준화의 득과 실 김영주 이지영 최윤영.
미디어시스템프로젝트1 (졸업프로젝트).
VHDL을 이용한 통신 칩 설계 -DS/SS MODEM 설계를 중심으로-
VHDL, FPGA를 이용한 소리인식 스위치 (Matched Filter 사용)
제 7 장 문장 구조화 제어문 지정문 조건문 반복문 GOTO 문 비결정적문.
순차로직 개요.
디지털 산술과 연산회로.
1. VHDL과 합성 설계 1.1 HDL: Hardware Description Language 집적회로의 설계환경의 변화
가산기 설계.
Multiplexer 설계.
VHDL의 기본 Lecture #5.
Verilog HDL 이론.
VHDL Description D-latch C=1 일 때 Q 는 D의 입력 값 이 전달된다.
신호등 제어기 차량의 흐름에 따라 신호등의 신호를 제어하는 장치 신호등 제어기의 입출력 신호
PXA255-FPGA 장비 개요 및 실습 Lecture #9.
7-Segment FND Controller 구현
19장. 원격 조정 로봇 설계 김용애 1조 김정은 이동한 이재흔.
PXA255-FPGA 장비 계요 및 실습 Lecture #9.
MAX+PLUS II 설치 및 디지털 시스템의 설계 방법
VHDL Package and Sub program
Stop Watch 구현 Lecture #12.
Chap. 18 라인 트레이서의 설계 라인 트레이서 바닥에 그려진 선을 따라가는 로봇을 의미 라인 트레이서 구성도
II. VHDL 설계부 4장. VHDL 개요 5장. VHDL 설계 구성 6장. VHDL 객체 및 타입 7장. VHDL 모델링
Ch2-2. VHDL Basic VHDL lexical element VHDL description
존슨카운터의 동작을 설명·설계할 수 있다 링카운터의 동작을 설명·설계할 수 있다
VHDL의 기본 Lecture #4.
Data type and Object 자료형 변환 함수들은 std_logic_arith 패키지에 정의되어 있음.
순차 회로 설계 및 검증 Sun, Hye-Seung.
IT CookBook, VHDL을 이용한 FPGA 디지털 설계
FSM 설계.
냉난방 시스템 설계 논리회로 설계 및 실험 텀 프로젝트 제안서 16조 김태광 정상훈.
Flip-Flop 설계.
디지털 시스템 설계(3).
2010년 직원연수 자료 제1차 : 4월 16일 ~ 17일 제2차 : 4월 23일 ~ 24일
Section 02 덧셈 회로 BCD 덧셈 회로 BCD 코드에서 십진수 (16)BCD =
오브젝트 하드웨어 기술 언어 IT CookBook, VHDL을 이용한 디지털 회로 입문.
Programmable Logic Device
VHDL Mealy and Moore model
오브젝트 조합 회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
VHDL.
VHDL 디지털시계 2.
가산기 설계.
디 지 털 공 학 한국폴리텍V대학.
디지털 시계 설계 장성락 전영진 임종엽 전보현 이형준.
2010년 연말정산 교육자료 센터운영팀 인사파트
LCD.
논리회로 설계실험 ICE ICE 담당교수 : 김 인 수.
실습 9 / 부울식 구현(결합 법칙을 이용한 논리회로 구현)
Report #4 (1) (due 4/4) 문제 #1 3개의 막대 A, B, C와 원판 n개를 전달받아 Hanoi 탑 문제를 해결하는데 필요한 원판의 이동 회수를 구하여 반환하는 hanoi_tower(n, A, B, C)를 작성하라. 여기서 원판 n은 막대 A에 쌓여 있고.
시스템 분석 및 설계 2007학년도 2학기 멀티미디어공학과 2학년 대상 담당교수 박태희
나-는 믿음으로 주 얼굴 보리니- 아침에 깰 때에 주형상에 만족하리 나주님 닮기 원하네 믿음으로 주얼굴 보리라 -
논리회로 설계 및 실험 9주차.
VHDL 응용 Lecture #10.
Lecture 7 7-Segment LED controller using u-controller
8주차 7-segment.
Presentation transcript:

Design of Digital Clock (디지털 시계의 설계) 정보통신실험||| 3조 황용석 박주남 정진안

개 요 Digital Clock 의 이론 및 구성 시계의 VHDL Source Program Timing Simulation 동작과정 분석, 구현

1. Digital Clock 의 이론 및 구성 1초 발생기(Seconder) ; 1MHz분주기 컴포넌트: sep.vhd 초의 2자리 수를 각 자리수로 분리한다. 60진 Second_Count, 0~59….s_clk 60진 Minute_Count, 0~59….m_clk 24진 Hour_Count, 0~23…..h_clk

Digital_Clock Block Diagram 시간 function dis_seg Second_gen CL o SEG1 s_s:SEP SECOND_COUNT s1 sec one s_clk s10 SEG2 RST ten s_m:SEP MINUTE_COUNT m1 SEG3 one m_clk min m10 SEG4 ten SEG5 HOUR_COUNT s_h:SEP h1 one hour h_clk h10 SEG6 ten 분 초

1.1 표시방법 시계의 표시는 총 7개의 7-SEGMENT로 구성 되어 있다.

2. 시계의 VHDL Source Program 1. sep.vhd: 초의 2자리 수를 각 자리수로 분리하는데 사용한다. 2. 1초 발생기 : Seconder.vhd 3. Digital Clock.vhd

2. sep.vhd: 초의 2자리 수를 각 자리수로 분리하는데 사용한다. LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY SEP IS PORT(T :IN INTEGER RANGE 0 TO 59; TEN , ONE :OUT INTEGER RANGE 0 TO 9); END SEP; ARCHITECTURE BEHAV OF SEP IS BEGIN PROCESS(T) IF T <=9 THEN TEN <=0; ONE <=T; ELSIF T <=19 THEN TEN <=1; ONE <=T-10; ELSIF T <=29 THEN TEN <=2; ONE <=T-20; ELSIF T <=39 THEN TEN <=3; ONE <=T-30; ELSIF T <=49 THEN TEN <=4; ONE <=T-40; ELSIF T <=59 THEN TEN <=5; ONE <=T-50; ELSE TEN <=0; ONE <=0; END IF; END PROCESS; END BEHAV;

3. Sep.vhd 의 타이밍 시뮬레이션결과 10자리부분 일자리 부분 6bit = 0~63

2. 1초 발생기 : Seconder.vhd LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY SECONDER IS PORT(CL, RST : IN STD_LOGIC; SEG5,SEG6 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END SECONDER; ARCHITECTURE MIXED OF SECONDER IS FUNCTION DIS_SEG(CNT : INTEGER RANGE 0 TO 15) RETURN STD_LOGIC_VECTOR IS VARIABLE SEG_DEC : STD_LOGIC_VECTOR (7 DOWNTO 0); BEGIN CASE CNT IS when 0 => seg_dec := "11000000"; when 1 => seg_dec := "11111001"; when 2 => seg_dec := "10100100"; when 3 => seg_dec := "10110000"; when 4 => seg_dec := "10011001"; when 5 => seg_dec := "10010010"; when 6 => seg_dec := "10000010"; when 7 => seg_dec := "11011000"; when 8 => seg_dec := "10000000"; when 9 => seg_dec := "10011000"; when others => seg_dec := "11111111"; END CASE;

2. 1초 발생기 : Seconder.vhd RETURN(SEG_DEC); END DIS_SEG; SIGNAL SEC : INTEGER RANGE 0 TO 59; SIGNAL S10,S1 : INTEGER RANGE 0 TO 9; SIGNAL CNTS : INTEGER RANGE 0 TO 499999; SIGNAL S_CLK : STD_LOGIC; COMPONENT SEP PORT(T : IN INTEGER RANGE 0 TO 59; TEN,ONE : OUT INTEGER RANGE 0 TO 9); END COMPONENT; BEGIN SECOND_GEN : PROCESS(CL,RST) IF (RST ='1')THEN CNTS <=0; S_CLK <='0'; ELSIF (CL = '1' AND CL'EVENT) THEN IF (CNTS>=499999) THEN CNTS <=0; S_CLK <= NOT (S_CLK); ELSE CNTS <=CNTS +1; END IF; END PROCESS SECOND_GEN;

2. 1초 발생기 : Seconder.vhd SECOND_COUNT : PROCESS(S_CLK, RST) BEGIN IF (RST ='1')THEN SEC <= 0; ELSIF (S_CLK ='1' AND S_CLK'EVENT)THEN IF (SEC >= 59)THEN SEC <= 0; ELSE SEC <=SEC+1; END IF; END PROCESS SECOND_COUNT; S_S :SEP PORT MAP (SEC,S10,S1); SEG5 <= DIS_SEG(S10); SEG6 <= DIS_SEG(S1); END MIXED;

3. Seconder의 타이밍 시뮬레이션결과 10자리 분 LED 1 LED 9 자리수 분리를 보여준다.

3. Digital Clock library ieee; use ieee.std_logic_1164.all; entity digi_clock is port(cl, rst : in std_logic; seg1, seg2, seg3, seg4, seg5, seg6 : out std_logic_vector(7 downto 0)); end digi_clock; architecture mixed of digi_clock is function dis_seg(cnt : integer range 0 to 15) return std_logic_vector is variable seg_dec : std_logic_vector(7 downto 0); begin case cnt is when 0 => seg_dec := "11000000"; when 1 => seg_dec := "11111001"; when 2 => seg_dec := "10100100"; when 3 => seg_dec := "10110000"; when 4 => seg_dec := "10011001"; when 5 => seg_dec := "10010010"; when 6 => seg_dec := "10000010"; when 7 => seg_dec := "11011000"; when 8 => seg_dec := "10000000"; when 9 => seg_dec := "10011000"; when others => seg_dec := "11111111"; end case;

3. Digital Clock return(seg_dec); end dis_seg; signal hour, min, sec : integer range 0 to 59; signal h10,h1, m10, m1, s10, s1 : integer range 0 to 9; signal cnts : integer range 0 to 499999; signal s_clk, m_clk, h_clk : std_logic; component sep port(t : in integer range 0 to 59; ten, one : out integer range 0 to 9); end component; begin second_gen : process(cl, rst) if (rst = '1') then cnts <= 0; s_clk <= '0'; elsif (cl = '1' and cl'event)then if (cnts >= 499999) then cnts <= 0; s_clk <= not(s_clk); else cnts <= cnts + 1; end if; end process second_gen;

3. Digital Clock second_count : process(s_clk, rst) begin if (rst = '1') then sec <= 0; elsif (s_clk = '1' and s_clk'event)then if (sec = 59) then m_clk <= '1'; sec <= 0; else sec <= sec+1; m_clk <= '0'; end if; end process second_count; minute_count : process(m_clk, rst) if (rst = '1') then min <= 0; elsif (m_clk = '1' and m_clk'event)then if (min >= 59) then h_clk <='1'; min <= 0; else min <= min + 1; h_clk <= '0'; end process minute_count;

3. Digital Clock hour_count : process(h_clk, rst) begin if (rst = '1') then hour <=0; elsif (h_clk = '1' and h_clk'event) then if (hour >= 23) then hour <=0; else hour <= hour + 1; end if; end process hour_count; s_s : sep port map(sec, s10, s1); s_m : sep port map(min, m10, m1); s_h : sep port map(hour, h10, h1); seg1 <= dis_seg(h10); seg2 <= dis_seg(h1); seg3 <= dis_seg(m10); seg4 <= dis_seg(m1); seg5 <= dis_seg(s10); seg6 <= dis_seg(s1); end mixed;

3. Digital Clock 타이밍 시뮬레이션 결과 59초가 되자 1분이된다.

3. Digital Clock 타이밍 시뮬레이션 결과 S_CLK 60카운터에서 분증가

VHDL SOURCE , PROGRAMING Assign =>Pin/Location/chip.. 4. 디지털 시계의 FPGA구현 VHDL SOURCE , PROGRAMING Assign =>Pin/Location/chip..

4. 디지털 시계의 FPGA구현 핀번호 입력 핀번호 출력 CL 91 SEG50~ SEG57 RST 41 SEG60~ SEG67

4. 디지털 시계의 FPGA구현 10자리초: 1자리초 클럭에 따른 60진 SECOND_COUNT 보여준다. SEG5 : SEG6 10자리초: 1자리초 클럭에 따른 60진 SECOND_COUNT 보여준다.