스테이트 머신(State Machine)

Download Report

Transcript 스테이트 머신(State Machine)

HBE-COMBO II -SE VerilogHDL 실습
Lab#07 Sequential_Logic_Design_Ⅱ
@ FSM and Clocked_Counter
목차
스테이트 머신(State Machine)
회로 설계
Moore Machine
Mealy Machine
응용 과제
목차
스테이트 머신(State Machine)
회로 설계
Moore Machine
Mealy Machine
응용 과제
스테이트 머신
개요
외부 입력과 시스템 클럭에 의해 State(상태)가 바뀌게 되고,
State에 의존되어 출력값이 결정됨.
목차
스테이트 머신(State Machine)
회로 설계
Moore Machine
Mealy Machine
응용 과제
Moore Machine
Moore Machine
현재의 상태에 의해 출력이 결정되는 스테이트 머신
데이터의 입력은 State를 바꾸는 데에만 사용되고, 결과에 영향
을 미치지 않는다.
결과는 State에 의해서 결정된다.
INPUT
OUTPUT
Moore Machine
Moore Machine 예
X=0
S0
Y=00
X=1
X=0
S1
Y=01
X=1
X=0
S2
Y=10
X=1
프로젝트 생성
Project Navigator 실행
File -> New Project
프로젝트 생성
프로젝트를 만들고 프로젝트를
실행할 폴더를 생성한다.
HB_MOORE
HDL 선택
Next button Click
프로젝트 생성
FPGA Chip Select
All Select
Spartan3 Select
XC3S200 Select
P208 Select
-4 Select
Tool Select
XST (VHDL/Verilog) Select
ISim(VHDL/Veilog) Select
Verilog Select
Next button Click
프로젝트 생성
Finish button Click
로직 설계
File -> New Click
Text File Select
로직 설계
Source 작성
로직 설계
Source 저장
HB_MOORE.V
로직 설계
Source 프로젝트에 추가
Project -> Add Source
HB_MOORE.V 선택
로직 설계
Source 추가 확인
컴파일
Synthesize - XST Compile
컴파일
Implement Design Compile
컴파일
New Source... Select
핀 설정
Select Source Type
Implementation Constraints
File 선택
File name : HB_MOORE
Next button Select
핀 설정
Finish button Click
핀 설정
File -> Open
HB_MOORE.ucf 파일 선택
핀 설정
핀 설정에 대한 사항을 왼쪽과 같이 적
는다.
Save
NET “포트이름” LOC = “P핀번호”;
포트 이
름
핀 번호
RESETN
57
X
63
하드웨어
설명
FPGA
_RESET
SW1
포트 이름
핀 번호
하드웨어
설명
Y[1]
191
LED1
Y[0]
196
LED2
컴파일
Implement Design을 실행시켜
다시 컴파일 한다.
시뮬레이션
Simulation을 선택
시뮬레이션
Verilog HDL Module 이름을 선
택한 다음 마우스 오른쪽 버튼
을 클릭하여 New Source...항목
선택한다.
시뮬레이션
Select Source Type
Verilog Test Fixture 선택
File name : HB_MOORE_TB
Next button Click
시뮬레이션
시뮬레이션
기본으로 작성된 Test Fixture 파일
시뮬레이션 조건에 맞도록 파일 수
정
시뮬레이션
시뮬레이션 파일 수정
Save
시뮬레이션
ISE 시뮬레이션 프로그램인
Isim을 이용하여 시뮬레이션 진
행
Isim Simulator -> Run
시뮬레이션
시뮬레이션 결과 확인
아래 그림과 같이 전체 보기 선택
프로그래밍
implementation 선택
프로그래밍
Generate Programming File
을 실행.
프로그래밍
Manage Configuration Project
(iMPACT) 실행
프로그래밍
Boundary Scan 선택
프로그래밍
File > Initialize Chain 선택
JTAG 으로 연결된 디바이스 검
색
프로그래밍
FPGA에 프로그래밍할 파일 선택
Hb_moore.bit파일을 선택.
Open button Click
프로그래밍
PROM에 프로그래밍할 파일 선택
PROM File을 생성하지 않았고, FPGA에만 다운로딩 하기 때문에
파일 선택을 하지 않는다.
Cancel button Click
프로그래밍
Programming 옵션 선택
Default 설정
OK Button Click
프로그래밍
칩 모양에 마우스를 놓고 마
우스 오른쪽 버튼을 눌러서
Program을 선택한다.
프로그래밍
프로그램이 완료되었고 제대로 동작했다면 Program
Succeeded가 나타난다.
장비에서 동작을 확인하라.
목차
스테이트 머신(State Machine)
회로 설계
Moore Machine
Mealy Machine
응용 과제
Mealy Machine
Mealy Machine
현재 상태와 입력 조건에 의해서 State도 변경되고, 출력 데이터
도 생성됨.
INPUT
OUTPUT
Mealy Machine
Mealy Machine
X=0
Y=00
S0
X=0
Y=00
X=1
Y=10
X=1
Y=01
S1
프로젝트 생성
Project Navigator 실행
File -> New Project
프로젝트 생성
프로젝트를 만들고 프로젝트를
실행할 폴더를 생성한다.
HB_MEALY
HDL 선택
Next button Click
프로젝트 생성
FPGA Chip Select
All Select
Spartan3 Select
XC3S200 Select
P208 Select
-4 Select
Tool Select
XST (VHDL/Verilog) Select
ISim(VHDL/Veilog) Select
Verilog Select
Next button Click
프로젝트 생성
Finish button Click
로직 설계
File -> New Click
Text File Select
로직 설계
Source 작성
로직 설계
Source 저장
HB_MEALY.V
로직 설계
Source 프로젝트에 추가
Project -> Add Source
HB_MEALY.V 선택
로직 설계
Source 추가 확인
컴파일
Synthesize - XST Compile
컴파일
Implement Design Compile
컴파일
New Source... Select
핀 설정
Select Source Type
Implementation Constraints
File 선택
File name : HB_MEALY
Next button Select
핀 설정
Finish button Click
핀 설정
File -> Open
HB_MEALY.ucf 파일 선택
핀 설정
핀 설정에 대한 사항을 왼쪽과 같이 적
는다.
Save
NET “포트이름” LOC = “P핀번호”;
포트 이
름
핀 번호
RESETN
57
X
63
하드웨어
설명
FPGA
_RESET
SW1
포트 이름
핀 번호
하드웨어
설명
Y[1]
191
LED1
Y[0]
196
LED2
컴파일
핀 설정을 적용하기 위하여
Implement Design을 실행시켜
다시 컴파일 한다.
시뮬레이션
Simulation을 선택
시뮬레이션
Verilog HDL Module 이름을 선
택한 다음 마우스 오른쪽 버튼
을 클릭하여 New Source...항목
선택한다.
시뮬레이션
Select Source Type
Verilog Test Fixture 선택
File name : HB_MEALY_TB
Next button Click
시뮬레이션
시뮬레이션
기본으로 작성된 Test Fixture 파일
시뮬레이션 조건에 맞도록 파일 수
정
시뮬레이션
시뮬레이션 파일 수정
Save
시뮬레이션
ISE 시뮬레이션 프로그램인
Isim을 이용하여 시뮬레이션 진
행
Isim Simulator -> Run
시뮬레이션
시뮬레이션 결과 확인
아래 그림과 같이 전체 보기 선택
프로그래밍
implementation 선택
프로그래밍
Generate Programming File
을 실행.
프로그래밍
Manage Configuration Project
(iMPACT) 실행
프로그래밍
Boundary Scan 선택
프로그래밍
File > Initialize Chain 선택
JTAG 으로 연결된 디바이스 검
색
프로그래밍
FPGA에 프로그래밍할 파일 선택
Hb_mealy.bit파일을 선택.
Open button Click
프로그래밍
PROM에 프로그래밍할 파일 선택
PROM File을 생성하지 않았고, FPGA에만 다운로딩 하기 때문에
파일 선택을 하지 않는다.
Cancel button Click
프로그래밍
Programming 옵션 선택
Default 설정
OK Button Click
프로그래밍
칩 모양에 마우스를 놓고 마
우스 오른쪽 버튼을 눌러서
Program을 선택한다.
프로그래밍
프로그램이 완료되었고 제대로 동작했다면 Program
Succeeded가 나타난다.
장비에서 동작을 확인하라.
목차
스테이트 머신(State Machine)
회로 설계
Moore Machine
Mealy Machine
응용 과제
응용 과제 1
4-bit up counter를 설계하시오.
Input : Clock, Reset, Up, Load, Load Enable
Output : Count Out
Clock이 Rising Edge일 때 Up이 1이면 Count Out를 Up
Clock이 Rising Edge일 때 Load Enable이 1이면 Count Out을
Load값으로 대체
Count Out이 출력 범위(15)를 넘어서면 다시 0부터 Count 시작
<동작파형 예>