존슨카운터의 동작을 설명·설계할 수 있다 링카운터의 동작을 설명·설계할 수 있다

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
ARDUINO (센서활용프로그래밍/ICT융합실무) - 아두이노 활용 > 전자 주사위 제작
ASIC의 개요 ASIC(Application Specific Integrated Circuit) 특정 용도 주문형 집적회로
디지털 시계 설계.
현대사회의 여성문제와 여성복지 3조 권경욱 강향원 황대인 변갑수 박창욱 김지현.
Design of Digital Clock (디지털 시계의 설계)
고교평준화의 득과 실 김영주 이지영 최윤영.
VHDL을 이용한 통신 칩 설계 -DS/SS MODEM 설계를 중심으로-
VHDL, FPGA를 이용한 소리인식 스위치 (Matched Filter 사용)
제 7 장 문장 구조화 제어문 지정문 조건문 반복문 GOTO 문 비결정적문.
순차로직 개요.
디지털 산술과 연산회로.
1. VHDL과 합성 설계 1.1 HDL: Hardware Description Language 집적회로의 설계환경의 변화
가산기 설계.
10장 주변장치 (PIO) Slide 1 (of 28).
Multiplexer 설계.
VHDL의 기본 Lecture #5.
Verilog HDL 이론.
디지털 시스템 설계(3).
VHDL Description D-latch C=1 일 때 Q 는 D의 입력 값 이 전달된다.
VHDL의 개요 김 인 수.
신호등 제어기 차량의 흐름에 따라 신호등의 신호를 제어하는 장치 신호등 제어기의 입출력 신호
19장. 원격 조정 로봇 설계 김용애 1조 김정은 이동한 이재흔.
VHDL Package and Sub program
Stop Watch 구현 Lecture #12.
Chap. 18 라인 트레이서의 설계 라인 트레이서 바닥에 그려진 선을 따라가는 로봇을 의미 라인 트레이서 구성도
순차회로 모델링 Sun, Hye-Seung.
아파트관리비 청구서 이용 프로세스 안내 ㈜한국전산기술.
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을 이용한 디지털 회로 입문.
8051 IO-PORT 정보통신•컴퓨터 공학부 송명규
VHDL.
VHDL 디지털시계 2.
가산기 설계.
디 지 털 공 학 한국폴리텍V대학.
디지털 시계 설계 장성락 전영진 임종엽 전보현 이형준.
LCD.
래치(latch) 일반적으로 플립플롭과는 별개의 부류로 분류되는 쌍안정 형태의 저장소자이다.
논리회로 설계실험 ICE ICE 담당교수 : 김 인 수.
실습 9 / 부울식 구현(결합 법칙을 이용한 논리회로 구현)
시스템 분석 및 설계 2007학년도 2학기 멀티미디어공학과 2학년 대상 담당교수 박태희
나-는 믿음으로 주 얼굴 보리니- 아침에 깰 때에 주형상에 만족하리 나주님 닮기 원하네 믿음으로 주얼굴 보리라 -
VHDL 응용 Lecture #10.
논리회로 설계 및 실험 8주차.
8주차 7-segment.
Presentation transcript:

존슨카운터의 동작을 설명·설계할 수 있다 링카운터의 동작을 설명·설계할 수 있다 존슨카운터 및 링카운터 학습목표 존슨카운터의 동작을 설명·설계할 수 있다 링카운터의 동작을 설명·설계할 수 있다

13-1. 3비트 존슨 카운터 - 여러 개의 F/F이 직렬로 구성된 시프트 레지스터에서 최종단 F/F의 Q 출력을 반전시킨 후 처음 단 F/F의 데이터 입력에 연결시켜 상태 가 순환적으로 변하도록 한 카운터 [5비트 동기식 존슨카운터의 진리표] 현재 값 E D C B A 1 [5비트 동기식 존슨카운터의 회로도]

13-2. 3비트 존슨 카운터 - Design library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity johnson3 is     Port ( pr_b : in std_logic;             clr_b : in std_logic;             clk : in std_logic;             q : inout std_logic_vector(2 downto 0)); end johnson3; architecture Behavioral of johnson3 is begin process (pr_b, clr_b, clk)         if  pr_b ='0' then q <= "111";        elsif  clr_b ='0' then q <= "000";         elsif clk'event and clk='1' then               q(2 downto 0) <=  q(1 downto 0) & not q(2);            end if;    end process; end Behavioral; q(2) q(1) q(0)

13-3. 3비트 존슨 카운터 - Simulation Shift Register Simulation 파형 Shift register Pin 할당 입    력 출    력 신호 이름 키트 이름 핀 번호 clk MTP_SWC p100 q(2) LED0 p2 pr_b MTP_SWF P102 q(1) LED1 p3 clr_b MTP_SW0 p101 q(0) LED2 p4

[실습 문제] 5비트 링카운터] 임의의 값이 다음 위치로 순차적으로 전달되면서 회전하는 카운터 링 카운터 임의의 값이 다음 위치로 순차적으로 전달되면서 회전하는 카운터 [ 5비트 동기식 링카운터의 회로도 ] [ 5비트 동기식 링카운터의 진리표] 클럭의 상승(또는 하강) 에지에서 ‘1’의 값이 E→ D → C → B → A → E → D → …순환

7-Segment 제어기의 동작을 설명 ∙ 설계할 수 있다 7-세그먼트 제어기 학습목표 7-Segment 제어기의 동작을 설명 ∙ 설계할 수 있다

14-1. 7-Segment 제어기의 설계 7-Segment - 7개의 조각으로 나뉘어진 LED - 각 세그먼트마다 a ~ g까지 이름이 붙어 있음 - 각 a ~ g의 Segment들의 조합으로 숫자를 표시할 때 사용 입 력 출 력 d3 d2 d1 d0 a b c d e f g 1 7-Segment Decoder 및 LED

14-2. 7-Segment 제어기의 설계 6개의 7-Segment 동작원리 - 각 segment에 대한 LED신호가 6개 모두 공통으로 연결 되어짐 6자리를 모두 다른 숫자를 표시하는 방법은 ? - 각 세그먼트들의 활성화 비활성화를 지정해주기 위한 Digit신호 6개가 필요 - Digit신호를 각 segment마다 일정주기로 전달하여 숫자 표시

14-3. 7-Segment 제어기의 설계 6자리 7-Segment를 모두 다른 숫자로 표시하는 방법 신호 이름을 왼쪽부터 DIGIT1 – DIGIT6라 주고, DIGIT 값이 1인 자리는 숫자 데이터에 의해 숫자 표시

객체 (Object) VHDL에서 값을 가질 수 있는 것 (signal, variable, constant) VHDL 합성시 선(wire)으로 구현되며, 각 부품 연결에 사용 되는 외적 변수 값 대입을 위한 연산자 ‘ <= ’ : 즉시 대입되지 않고 필요시점에서 대입됨 process문 내 사용시 end process 만나야 대입 완료 (2) ‘ := ’ : signal의 초기화시 사용 k1 k2 y

Signal 선언 방법 signal로 선언 : architecture와 begin 사이에 선언 port로 선언 : entity 내에 port로 선언 entity system is port (k1, k2, k3 : in std_logic ; -- signal 선언 y_out : out std_logic ) ; end system ; architecture sample of system is signal cn : std_logic ; -- signal 선언 begin cn <= k1 nand k2 ; y_out <= cn xor k3 ; end sample ;

2. Variable (변수) Process 또는 부 프로그램에서만 사용 선언된 부분 내에서만 유효한 내적 변수 최종 variable의 값을 보존하려면 process 빠져 나오기 전 signal에 최종 variable 값을 대입시켜야 함 signal과 같이 선으로 구현되지 않고, 중간 연산 단계에서 주로 이용 값 대입을 위한 연산자 : ‘ := ’

variable 선언방식 variable temp1, temp2 : std_logic 사용 예 temp1 := ‘1’ ; temp2 := a or b ; k <= temp1 ; -- temp1은 variable, k는 signal

port (i, j, k : in std_logic ; -- signal 선언 m : out std_logic ) ; entity sys_var is port (i, j, k : in std_logic ; -- signal 선언 m : out std_logic ) ; end sys_var ; architecture sample of sys_var is begin process(I,j,k) variable temp : std_logic ; -- variable 선언 temp := ‘1’ ; temp := i and temp ; temp := j and temp ; temp := k and temp ; m <= temp ; end process ; End sample ; i temp j m k

3. Constant (상수) 초기에 선언한 상수값 유지시 사용 한번 대입된 값은 바꿀 수 없음 값 대입을 위한 연산자 : ‘ := ’ 선언방식 constant delay : integer := 5ns ; constant size : integer := 512 ; 사용 예 signal p : integer ; p <= delay ; p <= size ;

14-4. 7-Segment 제어기의 설계- Design library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity seg7 is     Port ( RSTB : in std_logic;             CLK_4M : in std_logic ;             DIGIT : inout std_logic_vector(5 downto 0); -- 세그먼트 선택을 위한 선택 신호             SEG  : out std_logic_vector(6 downto 0)); -- 세그먼트의 7개 LED 출력 신호 end seg7; architecture Behavioral of seg7 is signal clk_500 : std_logic; begin -- =========== 자리 선택  Clock(500Hz) Generator ================          process(RSTB,CLK_4M)          variable cnt : integer range 0 to 4000;          begin                 if RSTB = '0' then       cnt := 0; clk_500 <= '0';                 elsif rising_edge (CLK_4M) then                     if cnt >= 3999 then        -- 정상동작시                          if cnt >= 1 then           -- 시뮬레이션시                                 cnt := 0;                                 clk_500 <= not clk_500;                         else    cnt := cnt + 1;                         end if;                 end if;         end process; end Behavioral ;

14-5. 7-Segment 제어기의 설계- Design --=============== Digit selection  ===========================         process(RSTB,clk_500)         begin                 if RSTB = '0' then                         DIGIT <= "100000";                 elsif rising_edge (clk_500) then                         DIGIT <= DIGIT(0) & DIGIT (5 downto 1);  -- 선택 자리 이동                 end if;         end process; --============== 각 자리마다 숫자 표시 ======================         process(DIGIT)             case DIGIT is                 when "100000" => SEG <="0110000"; --첫번째 1표시                 when "010000" => SEG <="1101101"; --두번째 2표시                 when "001000" => SEG <="1111001"; --세번째 3표시                 when "000100" => SEG <="0110011"; --네번째 4표시                 when "000010" => SEG <="1011011"; --다섯번째 5표시                 when "000001" => SEG <="1011111"; --여섯번째 6표시                 when others => SEG <="0000000"; --표시 없음                 end case; --========================================================== end Behavioral;

14-6. 7-Segment 제어기의 설계- 각 신호기능 신호 이름 입출력 설 명 CLK_4M 입력 트레이닝 키트에 있는 클록 신호. 4 MHz pin 79번으로 연결되어 있음. RSTB 시스템 Reset 신호 pin 205번으로 연결되어 있음. Active 'L' DIGIT(5:0) 출력 6개의 자리 중 하나를 선택하기 위해 사용되는 신호. 6비트의 값으로 한 비트의 값만 1인데 500 Hz 속도로 1의 값이 오른쪽으로 이동한다. 6번째 비트 다음에는 다시 첫 번째 비트가 1이 된다. Active 'H' SEG(6:0) 7 세그먼트로 연결되는 신호 7개의 세그먼트 A ∼G 로 연결됨. Active 'H'

14-7. 7-Segment 제어기의 설계-Simulation

14-8. 7-Segment 제어기의 설계-Pin배치 입    력 출    력 신호 이름 키트 이름 핀 번호 CLK_4M FPGA_clock p79 DIGIT(5) DIGIT1 p22 RSTB Reset Pin p205 DIGIT(4) DIGIT2 p24   DIGIT(3) DIGIT3 p26 DIGIT(2) DIGIT4 p27 DIGIT(1) DIGIT5 p28 DIGIT(0) DIGIT6 p48 SEG(6) SEG_A p29 SEG(5) SEG_B p31 SEG(4) SEG_C p33 SEG(3) SEG_D p34 SEG(2) SEG_E p35 SEG(1) SEG_F p36 SEG(0) SEG_G p37