SM 챠트를 이용한 디지털 설계 상태 machine chart : State Machine의 동작을 기술하기 위한 흐름도

Slides:



Advertisements
Similar presentations
13 강 논리회로 2 과목 전자계산기 구조 강사 이 민 욱. 13 강 논리회로  논리회로 1. 부울 대수 (Boolean Algebra) 에서 사용하는 기본 연산자 ① 논리부정 : NOT ( ` ) 논리부정은 F = NOT A 의 표현을 F =A` 로 표현 ② 논리곱.
Advertisements

컴퓨터와 인터넷.
9 동기순서논리회로 IT CookBook, 디지털 논리회로.
VHDL 프로그램은 비동기 Reset을 갖는 D 플립플롭을 구현한 것이다
제2장 주파수 영역에서의 모델링.
                                  8장 A/D 변환기 A/D Converter? A/D Converter 원리 Bit 수와 최대범위 및 해상도와의 관계.
                                  7장 D/A 변환기 D/A Converter? D/A Converter 원리 Bit 수와 최대범위 및 해상도와의 관계.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
디 지 털 공 학 한국폴리텍V대학.
제4장 조합논리회로 내용 4.1 조합논리회로 설계 과정 4.2 산술회로 : 가산기(adder)/ 감산기(subtractor)
컴퓨터 프로그래밍 기초 [Final] 기말고사
디지털논리실습 기본 논리 게이트 부울대수 조합회로.
오브젝트 플립플롭 IT CookBook, VHDL을 이용한 디지털 회로 입문.
VHDL Design : Barrel Shifter
오브젝트 조합 회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
RS 및 D 플립플롭 RS Flip Flop 래치는 어떤 입력 레벨에 의해서 제어되는 데 플립플롭은 클록 입력이라고
JK 및 T 플립플롭 JK Flip-Flop JK 플립플롭은 디지털 시스템에서 가장 많이 사용되고 있는 플립플롭으로
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
디지털회로설계 16. 동기식 카운터.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
디지털회로설계_강의안7 10. 인코더와 디코더.
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
디지털논리실습.
디 지 털 공 학 한국폴리텍V대학.
제4장 제어 시스템의 성능.
누산기를 이용한 직렬(Serial) 덧셈기
VHDL Mealy and Moore model
프로그래밍 개요
어서와 C언어는 처음이지 제14장.
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
8장 대형 순차회로 문제의 해법 시프트 레지스터 카운터 ASM 도를 이용한 설계 One Hot encoding 복잡한 예제.
6장 순차회로 시스템 상태표와 상태도 래치와 플립플롭 순차 시스템의 해석.
24장. 파일 입출력.
플립플롭, 카운터, 레지스터 순서회로 플립플롭 카운터 레지스터.
논리회로 및 실험 조합논리회로 (1) - Adder
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
오브젝트 순서회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
연산자 (Operator).
동기식 카운터 설계.
논리회로 설계 및 실험 5주차.
6 레지스터와 카운터.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
볼링게임 시스템 3조 오지연, 손수경.
디지털회로설계_강의안2 NOR, NAND 게이트 불대수와 드모르강 정리.
안산1대학 제 2 장 디지털 논리회로.
6. 레지스터와 카운터.
제4강 처리장치 1.
Chapter 03 순서 논리회로.
1. 2진 시스템.
계산기.
과제 1 4bit x 4 SRAM이 있다 아래 (1), (2) 두 입력에 대한 출력값 [3:0] Dout을 나타내시오 (1)
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
RAM RAM 읽기 동작(read) RAM 쓰기 동작(write) 1. 주소선을 통해 주소값 입력.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
제 5장 제어 시스템의 성능 피드백 제어 시스템 과도 성능 (Transient Performance)
DK-128 직렬통신 실습 아이티즌 기술연구소
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
Flow Diagram IV While.
논리회로 설계 및 실험 4주차.
시리얼 UART 정리 정보통신•컴퓨터 공학부 송명규
TVM ver 최종보고서
디지털논리 회로 1차설계 예비보고서 2006 송만성 2007이상진 2007배정준 2007김효진.
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
어서와 C언어는 처음이지 제21장.
컴퓨터는 어떻게 덧셈, 뺄셈을 할까? 2011년 10월 5일 정동욱.
아날로그 신호를 디지털 신호로 변환하는 A/D 변환기 A/D 변환 시 고려하여 할 샘플링 주파수 D/A 변환기
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
디 코 더 n비트의 2진 코드를 입력으로 받아들여 최대 2n개의 서로 다른 정보로 바꿔 주는 조합 회로
BoardGame 보드게임 따라가기.
Presentation transcript:

SM 챠트를 이용한 디지털 설계 상태 machine chart : State Machine의 동작을 기술하기 위한 흐름도 1. 상태도 보다 디지털 시스템의 동작을 이해하기 쉽다. 2. 폼으로부터 하드웨어의 구현에 적절하다. 3. Boolean 표현을 조건에 사용할 수 있다. 출력 :시스템의 상태 와 입력으로 결정 상태박스 결정박스 조건부출력박스

SM 챠트를 이용한 디지털 설계 SM 블록의 예> 상태1로 들어왔을 때 ; Z1, Z2 = 1 X1 = 0, Z3, Z4 = 1 X1, X2=0 exit path =1을 거쳐 다음 상태로 간다. X1=1, X3=0 이면 Z5=1 이고 exit path 3을 거쳐 다음 상태로 간다. (이 경우 Z3, Z4 = 0 )

같은 동작을 수행하는 SM chart X1=0일 때 Z2 = 1, X2=1 이면 다음 상태는 S3 이다. X1=1, X2=0 인 경우 다음 상태는 ?

조합회로의 SM chart Z1=A+A’BC = A+BC A+BC = 1 인 경우 Z1=1 이고 다음상태는 S0 이다.

피드백을 가지는 블록의 표현 SM 블록의 내부 피드백은 허용 되지 않는다.

병렬형식, 직렬형식의 SM 블록 X1=X2=X3=0 일 때 Z2,Z3,Z4=0 으로 결과는 동일.

상태그래프의 SM 차트 구현 Mealy 출력 Mealy, Moore 의 동시 표현 Moore 출력 S0=00, S1=01, S2=11 하나의 입력 변수 X 에 대한 상태 변화

Timing chart S0 상태로 부터 X= 1,1,1,0,0,0 으로 주어진 경우 출력을 나타낸 표

Binary Multiplier Controller 의 SM Chart

주사위 게임 게임의 법칙 : (2개의 주사위를 굴린다.) 주사위의 첫 번째 굴리기 후에 그 합이 7 혹은 11인 선수가 이긴다. 만약에 그 합이 2, 3, 또는 12 이면 진다. 위의 5가지 경우가 아니라면 첫 번째 굴리기 합이 점수가 되고 주사위를 한번 더 던진다. 두 번째 굴리기에서 합이 첫 번째 점수와 같으면 선수가 승리하고 그렇지 않고 합이 7이면 지게 된다. 5. 그렇지 않을 경우 계속 굴린다.

주사위 게임기 블록 다이어그램 1,2,3,4,5,6,1,2,3—순서로 카운트 Rb: 굴리기, Roll=1, 0., Reset: 다시 시작 SP : Sum을 Point register에 저장하라. 게임 흐름도

주사위 게임을 위한 SM Chart Rb: 굴리기, Roll=1, 0., Reset: 다시 시작 SP : Sum을 Point register에 저장하라.

주사위 게임 동작표현 VHDL

주사위 게임 동작표현 VHDL

SM 차트의 구현 SM chart – 조합회로와 FF의 구성으로 구현. 상태할당 : 상태에 대한 코드의 할당 S0 =00, S1=01, S2=10, S3=11 (각 bit 는 FF A,B) Za 는 상태 S0 에서 1이므로 Za = A’B’ 으로 표현이 가능. Zb=A’B, Zc=AB 이다. 조건부 출력 Z1은 S2 상태와 입력 X=0 으로 결정 Z1=A’B’X 이다. Z2=A’B’X’ B의 다음상태를 구하기 위하여서는 B=1로 끝나는 경로 (그림에서 link 1,2,3) 를 구하고, 각 경로상의 시작상태와 입력의 곱으로 링크를 표현하고 이들 링크 의 합으로 다음상태를 표현한다. B+ = A’B’X + A’BX + ABX (경로1, 경로2, 경로3) A+ = A’BX + ABX (경로2, 경로3)

주사위 게임을 위한 SM Chart

주사위 게임의 하드웨어 구현 5개의 상태와 9개의 입력 (상태 ABC포함) 7개의 출력을 가진다. 상태표시를 위한 3개의 FF 과 조합회로로써 구성할 수 있다. 입력: Rb (굴리기명령), Reset D711 (합이 7, 11) D7 (2번째 합이 7) D2312(합이 2,3,12) Eq (이전 굴리기 합과 동일) ABC (상태표시 코드) 출력 : Win(승), Lose(패), Roll(주사위카운터동작), Sp (Sum을 레지스터 저장) ABC(상태코드표시)

주사위 게임 제어기의 PLA 표 S0 S1 S2 S3 S4 S5 S0: 2개, S1: 4개, S2: 2개, S3: 2개, S4:2개, S5: 4개의 경로를 가진다. 상태코드 110, 111은 상태지정이 안되어 don’t care로 처리 A+는 번호 4, 11, 12,13,16 번 가로 열에서 상태와 입력에 따라 1을 출력한다. => 상태식 표현

PLA에서 유도된 MAP과 방정식 A+ B+ Win A+= A’B’CRb’D’711D’2312 + AC’ + ARb + AD’7Eq’ B+= A’B’CRb’(D711+D2312) + BReset’ + ACRb’(Eq+D7) C+= B’Rb + A’B’CD’711D2312 + BCReset’ + ACD7Eq’ Win = BC’ Lose = BC Roll = B’CRb Sp = A’B’CRb’D’711D’2312

다른 예> 곱셈제어를 위한 SM 차트 00 S0=00, S1=01, S2=10, S3=11 4가지 상태 존재 조합회로 와 2개의 플립플롭의 구성 조합회로는 (PLD : ROM, PLA, PAL로 구현 가능) 제어기는 5 입력과 6개의 출력을 가진다. 입력 : A, B, St, M, K 출력 : A+, B+, Load, Sh, Ad, Done A,B는 상태, st는 시작, M은 승수의 값, K는 완료신호 A+,B+ 다음상태, load 는 승수, 피승수값 입력 Ad: 더하기 명령, Sh : 쉬프트 명령 , done : 종료 A+ = 1을 만드는 경로를 모아서 A+ 상태식을 만들 수 있다. (상태 S2, S3) A+ = A’BM + A’BM’K+AB’K 01 10 11

카운터를 포함한 곱셈기 제어 제어는 : Ad, Sh 를 내보내는 것과 Sh 의 수를 count 하는 것 만일 bit 수가 매우 크다면 Sh counter를 따로 두는 것이 좋다. K: 완료 신호 K=1 이면 마지막 Shift 신호를 내보내고 종료 단계인 S3 상태로 간다. K=0, M=0 일 때 Shift 동작 K=1, M=0 일 때 Shift 동작 K=1일 때 Shift 동작

곱셈제어기를 위한 PLA 표 입 력 변 수 출 력 변 수 상 태 상 태 표에서 각행은 연결 경로를 의미한다 : S0 는 2개의 연결 경로를 가진다. 해석 예) S0 에서 St=1 이면 다음상태는 S1 상태로 가고, Load만 1이 된다. S3 상태에서는 done=1 을 출력하고 S0 상태로 간다.

곱셈제어기를 위한 상태식과 출력식

연결된 상태 머신 복잡한 머신을 몇 개의 서브 머신으로 분할 하고 호출에 의해 서로 교신한다. -- 프로그램의 프로시듀어(procedure)과 유사하다. Machine A 가 동작하다 SA 상태로 가면 출력 ZA=1 로 되고 머신 B를 호출한다. Machine B는 ZA=1 입력을 기다리다, ZA=1 이 되면 other states로 가고 이후 상태 SB에 도달한다. SB에서 ZB=1이 되고 다시 Machine A를 호출 한다. Machine A는 ZB=1의 입력을 기다리다 ZB=1이 되면 Other states 로 간다.

예제회로설계 Q1) schematic 화면에서 symbol tool을 이용하여 다음을 설계하고 시뮬레이션 libraries-> megafunctions –> arithmetic 디렉토리 가) parallel adder : 4bit 입출력, 입출력을 unsigned와 signed로 한 경우 비교. 나) lpm_mult : 4bit 입력, 출력은 auto 입출력을 unsigned와 signed로 한 경우 비교 다) lpm_add_sub : 4bit 감산, 가산기, unsigned, carry는 모두 무시 라) lpm_compare : 4bit 비교기, a=b, a<>b, a>b, a<b의 경우에 출력결과 분석 unsigned type의 경우만 하시오. Q2) schematic 화면에서 symbol tool을 이용하여 다음을 설계하고 시뮬레이션 libraries-> megafunctions –> storage 디렉토리 가) lpm_shiftreg: serial shift data input, serial shift data output 만 지정하고 shift 방향을 left로 지정하고. 5ns 간격으로 101100…입력 후 결과분석 나) 위의 경우에서 입력을 data input(load)으로 지정하고 (serial shift data input은 해제), 초기 입력값을 8bit (11100011)로 지정한다음 출력결과 분석

예제회로설계 Q3) 4bit shift register A, B 로부터 0011, 0101의 값을 입력받아 이를 매 클럭마다 shift 하여 더한 후 sum 의 값을 shift register A에 다시 입력하는 직렬 덧셈기 회로를 꾸미고 시뮬레이션 하시오. (control circuit의 Sh는 clock enable input 입력포트로, clock은 입력포트로 대체) Shift-register