논리회로 설계 및 실험 6주차.

Slides:



Advertisements
Similar presentations
파이썬 (Python). 1 일 : 파이썬 프로그래밍 기초 2 일 : 객체, 문자열 3 일 : 문자인코딩, 정규표현식, 옛한글 4 일 : 파일 입출력 5 일 : 함수와 모듈 6 일 : 원시 말뭉치 다루기 실습 7 일 : 주석 말뭉치 다루기 실습 8 일 : 웹 데이터로.
Advertisements

6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
컴퓨터와 인터넷.
패러럴 포트를 이용한 Text LCD 제어 6월 17일 허정수 나선웅.
UNIT 15 Timer & Watch Dog 로봇 SW 교육원 조용수.
MySQL 및 Workbench 설치 데이터 베이스.
오브젝트 플립플롭 IT CookBook, VHDL을 이용한 디지털 회로 입문.
How to export XFile Written by D.M.S.P.
어셈블리 문법 보강 4월 10일.
VHDL Design : Barrel Shifter
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
오브젝트 조합 회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
논리회로 설계 및 실험 2주차.
RS 및 D 플립플롭 RS Flip Flop 래치는 어떤 입력 레벨에 의해서 제어되는 데 플립플롭은 클록 입력이라고
Communication and Information Systems Lab. 황재철
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
DK-128 ADC 실습 아이티즌 기술연구소
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
타이머카운터 사용법 휴먼네트웍스 기술연구소
6장. printf와 scanf 함수에 대한 고찰
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
Microprocessor I/O Port & CLCD Noh Jin-Seok.
VHDL Mealy and Moore model
어서와 C언어는 처음이지 제14장.
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
디 지 털 공 학 한국폴리텍V대학.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
플립플롭, 카운터, 레지스터 순서회로 플립플롭 카운터 레지스터.
DK-128 FND 실습 아이티즌 기술연구소
오브젝트 순서회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
논리회로 설계 및 실험 5주차.
6 레지스터와 카운터.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
2장. 변수와 타입.
Eclipse CDT에서 프로젝트를 Export 하고 Import 하는 방법
패러럴 포트를 이용한 Text LCD 제어 6월 17일 허정수 나선웅.
AUTODESK AUTOCAD ELECTRICAL 전기제어 2D 설계 소프트웨어 표준기반 설계 생산성 도구 구조도 설계
6. 레지스터와 카운터.
제4강 처리장치 1.
자바 5.0 프로그래밍.
논리회로 설계 및 실험 2주차.
ARM Development Suite v1.2
UNIT 25 SPI 로봇 SW 교육원 조용수.
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
ATmega128의 특징 아이티즌 기술연구소
7주차 실습 FPGA 보드 사용법.
과제 1 4bit x 4 SRAM이 있다 아래 (1), (2) 두 입력에 대한 출력값 [3:0] Dout을 나타내시오 (1)
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
DK-128 개발환경 설정 아이티즌 기술연구소
RAM RAM 읽기 동작(read) RAM 쓰기 동작(write) 1. 주소선을 통해 주소값 입력.
DK-128 직렬통신 실습 아이티즌 기술연구소
AT MEGA 128 기초와 응용 I 기본적인 구조.
Ⅰ 전자기초 Ⅱ 디지털 논리회로 Ⅲ C언어 기초 Ⅳ AVR 마이크로 컨트롤러 Ⅴ 마이크로 컨트롤러 개발환경
UNIT 25 SPI 로봇 SW 교육원 조용수.
논리회로 설계 및 실험 4주차.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
TVM ver 최종보고서
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
IPC 펌웨어 업그레이드 방법 안내 ** 반드시 IPC를 NVR POE 포트 연결 전에 작업 하시기 바랍니다. IPC를 NVR POE 포트에 연결 하실 경우 IP 대역폭을 마추셔야 하는 작업이 필요합니다. **
집적회로 프로젝트 계획서 박경순 이윤실.
 6장. SQL 쿼리.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
논리회로 설계 및 실험 8주차.
6 객체.
Presentation transcript:

논리회로 설계 및 실험 6주차

6주차 목표 목표 유한상태기계(Finite State Machine, FSM)에 대한 이해 FSM을 이용한 CU 설계 Stadian을 이용한 FSM 설계 학습

유한상태기계(Finite State Machine, FSM) 프로그램, 논리회로, 정규 표현식 등을 표현하고 설계할 수 있는 수학적 모델 유한상태기계의 특성 한번에 하나의 상태만 가짐 어떠한 사건에 의해 현재 상태에서 다른 상태로 변화함 유한상태 변환기 모델로는 무어(Moore) 모델과 밀리(Mealy) 모델이 있음 유한상태기계의 예시 상태 진입 동작 전구 켜짐 전구를 켬 전구를 켜고 끄는 FSM 전이 전이 조건 전구를 꺼라 전구를 켜라 전구 꺼짐 전구를 끔

유한상태기계(Finite State Machine, FSM) Moore Machine 출력이 현재 상태에 따라서 결정됨 상태에 진입할 때, 진입 동작을 수행함 단순하고 직관적이지만 상태의 수가 많음 상태 진입 동작 전구 켜짐 전구를 켬 전이 전이 조건 전구를 꺼라 전구를 켜라 전구 꺼짐 전구를 끔

유한상태기계(Finite State Machine, FSM) Mealy Machine 출력이 현재 상태와 입력에 따라서 결정됨 즉, 어떤 입력이 들어올 때 함께 지정된 동작이 동시에 발생함 진입 동작은 없음 상태의 수를 줄일 수 있으나 전이 조건 등이 복잡함 상태 전구를 꺼라/전구를 끔 입력 대기 전구를 켜라/전구를 켬 전이 조건 동작

유한상태기계(Finite State Machine, FSM) Ex. Button A를 누르면 LED A, Button B를 누르면 LED B가 토글되는 기계 A B A B A B A B Button A Button B Button A Button B Button A Button B Button A Button B S0 S1 S2 S3 Button B “S1” LED A = 1 LED B = 0 Start Button A Button B “S0” LED A = 0 LED B = 0 “S3” LED A = 1 LED B = 1 Button A “S2” LED A = 0 LED B = 1 Button B Button A Button A Button B

Control Unit Control Unit 데이터 처리(연산, 저장, 쉬프트 등)를 할 수 있도록 제어 신호를 공급함 지난 실습에서 메모리의 Addr, R/W나 레지스터의 Ce 등이 제어 신호 데이터의 흐름을 조절하고 시스템의 정해진 작업을 수행 Keypad Input Bin Keypad Chk Star Shap Memory Data Addr R/W Keypad Input Bin Keypad Chk Star Shap Control Unit Memory Data Addr R/W (1) 입력장치와 저장장치 (2) 컨트롤 유닛의 제어를 받는 입력장치와 저장장치 (1) 의 경우 메모리에 원하는 값을 저장하기 위해서는 Keypad 입력 외에 Addr 값과 R/W 값을 직접 지정해줘야 함 (2) 의 경우 Keypad 입력만으로 메모리에 읽기, 쓰기, 주소 지정 등이 가능함

Control Unit Ex. Keypad의 입력 조합으로 메모리를 제어하는 Control Unit의 FSM … (1) *을 누르면 읽기 모드 (2) #을 누르면 쓰기 모드 (3) 읽기 모드에서 숫자를 누르면 값을 읽을 주소 지정 (4) … Keypad Input Bin Keypad Chk Star Shap Control Unit Memory Data Addr R/W Chk == 0 “Read Mode” RW <= 0 Chk == 1 Star == 1 Start “Address” Addr <= Bin “IDLE” Addr <= 0; RW <= 0; … Shap == 1 “Write Mode” RW <= 1 Star : It’s occur when pressed keypad’s * button Shap : It’s occur when pressed keypad’s # button Chk : It’s occur when pressed any number on keypad

FSM을 이용한 Sequential Filter 어떤 문자열에서 특정한 패턴이 발견될 때 지정한 동작을 수행하는 필터 Ex. 문자열에서 101 패턴을 찾아내는 Sequential Filter S0 Y=0 S1 Y=0 S2 Y=0 S3 Y=1 X=0 X=1 S0 S1 S2 X=0 Y=0 X=1 Y=1

실습 Stadian을 이용한 FSM 설계

상태도 생성 (1/2) Flowrian - Stadian ① Flowrian에서 [Excute] -> [State Diagram Editor] 실행 ② Stadian 툴이 실행 됨 ③ Stadian에서 [File] -> [New State Map] 실행 ② ③ ① Flowrian Stadian

상태도 생성 (2/2) Flowrian - Stadian ① Module Name 지정 - 모듈명은 영어로 시작해야 하며 숫자, 또는 특수기호로 시작할 수 없음 - 올바른 모듈명이 아니면 정상 동작을 하지 않고 Compile error가 발생 ② Signal Type은 Verilog 선택 ③ 신규 회로도 생성 ① ②

상태도 작성 (1/4) Flowrian - Stadian ① Clock 포트 설정 ② Reset 포트 설정 - Clock 포트명, 타입, Edge 방식을 선택 ② Reset 포트 설정 - Reset 포트명, 타입, Reset 타이밍을 선택, 타이밍은 Active High로 할 것 ② ① ① ②

Flowrian - Stadian 상태도 작성 (2/4) ① 포트 설정 - 포트명, 타입, 입출력을 선택 ① ①

상태도 작성 (3/4) Flowrian - Stadian ① 리셋 추가 ② 상태 추가 ③ 오브젝트들을 우클릭하여 전이 추가 ②

상태도 작성 (4/4) Flowrian - Stadian ① 상태를 더블클릭하면 상태 진입 동작을 기술할 수 있음 - Moore machine의 경우 진입 동작을 기술 ② 전이를 더블클릭하면 전이조건과 동작을 기술할 수 있음 - Moore machine은 전이 조건만, Mealy machine은 전이 조건과 동작 둘 다 기술 ③ 전이 조건 기술방법 - C 언어 if 문의 괄호( ) 안에 들어가는 내용처럼 조건을 기술 - ex : Ce == 1 ④ 동작 기술 방법 [ <= (대입) ] - C 언어의 문장처럼 동작을 기술하고 세미콜론(;)으로 문장을 매듭 - ex : Addr <= 3; ① ② ③ ④

상태도 저장 및 변환 Flowrian - Stadian ① [Export] -> [Verilog] 실행 - 이 때, 파일명은 반드시 상태도의 모듈명과 일치시킬 것 ※ Save와 Export의 차이 - [Save] 는 상태도(.std)를 저장 - [Export] 는 상태도를 HDL 파일(.v)로 변환 후 저장 ①