VHDL Mealy and Moore model

Slides:



Advertisements
Similar presentations

Advertisements

예비보고서1 : 8개의 푸시버튼 스위치가 있다. 이 스위치에 각각 0~7개까지의 번호를 부여하였다고 하자
1 08 Simple Sequential Logic Design with Finite State Machines & Timing Design.
Introduction 2007년 2학기.
VHDL Package & Subprogram
Copyright SangSangDom, All Rights Reserved.
9 동기순서논리회로 IT CookBook, 디지털 논리회로.
VHDL 프로그램은 비동기 Reset을 갖는 D 플립플롭을 구현한 것이다
Dept. of Electronics & Info. Eng. Prof. Jongbok Lee
Chapter 7. Flip-Flops and Other Multivibrators
ASIC의 개요 ASIC(Application Specific Integrated Circuit) 특정 용도 주문형 집적회로
디지털 시계 설계.
Digital Logic Structures
Design of Digital Clock (디지털 시계의 설계)
Computer System Architecture
VHDL, FPGA를 이용한 소리인식 스위치 (Matched Filter 사용)
Sequential logic circuit
순차로직 개요.
1. VHDL과 합성 설계 1.1 HDL: Hardware Description Language 집적회로의 설계환경의 변화
가산기 설계.
디지털논리실습 기본 논리 게이트 부울대수 조합회로.
Multiplexer 설계.
VHDL의 기본 Lecture #5.
Verilog HDL 이론.
VHDL Description D-latch C=1 일 때 Q 는 D의 입력 값 이 전달된다.
VHDL의 개요 김 인 수.
오브젝트 플립플롭 IT CookBook, VHDL을 이용한 디지털 회로 입문.
신호등 제어기 차량의 흐름에 따라 신호등의 신호를 제어하는 장치 신호등 제어기의 입출력 신호
19장. 원격 조정 로봇 설계 김용애 1조 김정은 이동한 이재흔.
VHDL Package and Sub program
Stop Watch 구현 Lecture #12.
Chap. 18 라인 트레이서의 설계 라인 트레이서 바닥에 그려진 선을 따라가는 로봇을 의미 라인 트레이서 구성도
순차회로 모델링 Sun, Hye-Seung.
VHDL Design : Barrel Shifter
II. VHDL 설계부 4장. VHDL 개요 5장. VHDL 설계 구성 6장. VHDL 객체 및 타입 7장. VHDL 모델링
오브젝트 조합 회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
Ch2-2. VHDL Basic VHDL lexical element VHDL description
존슨카운터의 동작을 설명·설계할 수 있다 링카운터의 동작을 설명·설계할 수 있다
VHDL의 기본 Lecture #4.
Data type and Object 자료형 변환 함수들은 std_logic_arith 패키지에 정의되어 있음.
상태 머신 설계 (State Machine Design)
FSM 설계.
Flip-Flop 설계.
Microprocessor I/O Port & CLCD Noh Jin-Seok.
오브젝트 하드웨어 기술 언어 IT CookBook, VHDL을 이용한 디지털 회로 입문.
Programmable Logic Device
6장 순차회로 시스템 상태표와 상태도 래치와 플립플롭 순차 시스템의 해석.
오브젝트 조합 회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
플립플롭, 카운터, 레지스터 순서회로 플립플롭 카운터 레지스터.
디지털회로설계_강의안1 1. NOT, OR, AND 게이트.
논리회로 및 실험 조합논리회로 (1) - Adder
VHDL.
Digital design 5장. 동기식 순차논리.
논리회로 설계 및 실험 5주차.
VHDL 디지털시계 2.
디지털 논리의 표현 디지털 회로 디지털 회로 구현
논리회로 설계 및 실험 6주차.
가산기 설계.
계산기.
디지털 시계 설계 장성락 전영진 임종엽 전보현 이형준.
LCD.
9장 동기 순서 논리회로 경남정보대_논리회로_김 미 진.
Chapter 09. 동기 순서논리회로.
논리회로 설계 및 실험 4주차.
전류는 자계에서 힘을 받는다 기계공학교육 박지훈 황인석 한만혁 이덕균.
컴퓨터 구조 실습 #4 - systemC process
실습 9 / 부울식 구현(결합 법칙을 이용한 논리회로 구현)
9장. 프로그램 평가.
VHDL 응용 Lecture #10.
논리회로 설계 및 실험 8주차.
Presentation transcript:

VHDL Mealy and Moore model 순차논리회로 (FSM) 의 종류 - Mealy 순차회로 : 회로의 출력이 현재상태와 현재입력에 의해 결정 Next State Logic (combinational) Current state Register (sequential) Inputs Outputs Current State Output Asynchronous reset

VHDL Mealy and Moore model Y=(A+B)x′ , A(t+1)=Ax + Bx, B(t+1)=A′x

VHDL Mealy and Moore model 순차논리회로 (FSM) 의 종류 - Moore 순차회로 : 회로의 출력이 현재상태에 의해서만 결정 Current State Next State Logic (combinational) Current state Register (sequential) Next State Inputs Asynchronous reset Output Logic (combinational) Outputs

VHDL Mealy and Moore model Y=AB, TA=Bx, TB=x

VHDL Mealy and Moore model FSM 을 위한 VHDL 기술은 두 부분으로 나누어 진다. 1. A Combinatorial part – input signal이 바뀔 때 마다 동작한다. (Sensitivity list - input signals, state) comb : process (input_signals, state) ... if (input = ”01”) then a.output:= ..... a.next_state:= .... 2. A sequential part – Clock 이 바뀔 때 마다 동작한다. (Sensityivity list - only clock or clock, reset) seq : process(clk) If (clk’event) and (clk = ’1’) then... VHDL 구문

Current state Register (sequential) VHDL Mealy and Moore model Next State Logic (combinational) Current state Register (sequential) Inputs Outputs Current State Output 2개 (blue and red) 혹은 3개의 Process (red) 문으로 회로를 표현 가능

VHDL Mealy and Moore model FSM 을 위한 VHDL 기술 방법. - Process 문을 이용하여 Logic 및 Register의 동작을 표시 - State의 데이터 type는 열거형 (enumeration type) 사용 - 초기상태를 반드시 규정: reset conditions - next state로 의 전이(transition)은 case 문사용 - 입력 조건은 if~else 을 사용 feedback 엔 signal 과 변수 모두 사용 가능

VHDL Mealy and Moore model Sequential description ARCHITECTURE behave OF d_register IS BEGIN PROCESS(clk) IF clk’EVENT AND (clk=‘1’) THEN q<=D; END IF; END PROCESS; END behave;

VHDL Mealy and Moore model CLK 의 표현 방법 1. IF 문을 이용한 CLK 의 표현 if SIGNAL’event and SIGNAL = ’1’ -- rising edge if NOT SIGNAL’stable and SIGNAL = ’1’ -- rising edge if SIGNAL’event and SIGNAL = ’0’ -- falling edge if NOT SIGNAL’stable and SIGNAL = ’0’ -- falling edge 2. Wait 문을 이용한 CLK 의 표현 wait until CLK = ’1’; -- rising edge triggered wait until CLK = ’0’;--falling edge triggered

VHDL Mealy and Moore model Mealy Machine Example 0/00 S0 S1 입력 : I 출력 : Y1, Y2 2 개의 process 문을 이용하여 표현 0/01 1/10 1/00

VHDL Mealy and Moore model Library ieee; Use ieee.std_logic_1164.all; ENTITY Meal IS PORT(clk : IN STD_LOGIC; reset : IN STD_LOGIC; I : IN STD_LOGIC; Y1, Y2 : OUT STD_LOGIC); END Meal; ARCHITECTURE a OF Meal IS TYPE STATE_TYPE IS (s0, s1); SIGNAL state: STATE_TYPE; BEGIN PROCESS (clk, reset) IF reset = '0' THEN state <= s0; ELSIF clk'EVENT AND clk = '1' THEN CASE state IS WHEN s0 => IF I='1' THEN state <= s1; ELSE state <= s0; END IF; WHEN others => IF I='0' THEN state <= s0; ELSE state <= s1; END CASE;

VHDL Mealy and Moore model END IF; END PROCESS; PROCESS(state, I) BEGIN if( state= s0 and I='1') then Y1 <='1'; else Y1 <='0'; end if; if( state= s1 and I='0') then Y2 <='1'; Y2 <='0'; END a;

VHDL Mealy and Moore model Moore Machine Example 입력 : I 출력 : Y(2:0) 2 개의 process 문을 이용하여 표현 S0 000 1 S1 010 1 1 S2 101

VHDL Mealy and Moore model Library ieee; Use ieee.std_logic_1164.all; ENTITY Moor IS PORT(clk : IN STD_LOGIC; reset : IN STD_LOGIC; I : IN STD_LOGIC; y : OUT STD_LOGIC_vector(2 downto 0)); END Moor; ARCHITECTURE a OF Moor IS TYPE STATE_TYPE IS (s0, s1,s2); SIGNAL state: STATE_TYPE; BEGIN PROCESS (clk, reset) IF reset = '0' THEN state <= s0; ELSIF clk'EVENT AND clk = '1' THEN CASE state IS WHEN s0 => IF I='1' THEN state <= s1; ELSE END IF;

VHDL Mealy and Moore model WHEN s1 => IF I='1' THEN state <= s2; ELSE state <= s1; END IF; WHEN others => state <= s0; END CASE; END PROCESS; PROCESS (state) BEGIN CASE state IS WHEN s0 => y <= "000"; WHEN s1 => y <= "010"; WHEN others => y <= "101"; END CASE; END PROCESS; END a;

실습: FSM 설계 순차적으로 입력되는 비트 패턴에서 “0101” 형태의 패턴이 입력되면 “detect_flag”를 ‘1’ 그 이외의 경우에는 “detect_flag” 를 ‘0’으로 출력하는 패턴 검출기를 설계하고자 한다. “0101” 패턴을 검출하는 State diagram을 그려라. 패턴 검출기를 설계하고 테스트 벤치를 통해서 확인하라. Serial_data example : “11110110101111010101011011101011…”

실습: FSM 설계 idle ------ tap1 tap2 tap3 tap4 1

실습: FSM 설계