분류1

디지털회로설계

제목

Quartus II 에서 State Machine 설계하기.

Quartus II에서 VHDL로 로직을 설계할 때, 데이터의 흐름을 나타내기 위해 State Machine을 사용하는 경우가 있습니다. 물론, 저희 회사 예제 로직에서도 이런 예제가 있습니다. Quartus II 4.0이하에서는 State Machine이 정상적으로 동작하였는데, 4.0 이후의 버전에서는 컴파일 후 동작이 정상적으로 안하는 경우가 있습니다. compiler가 update되어 그런 증상이 나타나는 것 같습니다. 이 때, Functional Simulation으로 하면 동작에 이상이 없고, Timing Simulation으로 하면 State Machine 로직에서 다음 State로 넘아가지 않는 증상을 볼 수 있습니다. 해결 방법은 Quartus II에서 옵션으로 해결 하는 방법과, State Machine을 문자가 아닌 숫자로 설계하는 방법이 있습니다. 먼저, 옵션에서 해결하는 방법을 말씀 드리겠습니다. Quartus II의 Setting 메뉴에서 왼쪽의 "Analysis & Synthesis Setting"항목에서 [State Machine Processing]을 Auto에서 Minimal Bit로 선택합니다. 그리고, 컴파일 하면 State Machine이 정상적으로 동작하는 것을 알 수 있습니다. 두 번째, 문자가 아닌 숫자로 설계하는 방법입니다. 위의 방법이 동작 안될 때 옵션에서 해결해야 하는 약간의 번거로운 방법이라면, 어떻게 보면 간단한 방법이라 할 수 있습니다. 보통 State Machine은 아래와 같이 설계됩니다. type state is (delay, function_set, entry_mode, disp_onoff, line1, line2, delay_t, clear_disp); signal lcd_state : state; 이 type으로 정의되는 state machine을 문자 형태가 아닌, signal vector형태로 선언하시면 됩니다. signal lcd_state : std_logic_vector(2 downto 0); -- 000 : delay, 001 : function_set, 010 : entry_mode, 011 : disp_onoff -- 100 : line1, 101 : line2, 110 : delay_t, 111, clear_disp 이렇게 선언하고, 뒤에서 state가 움직을 때, [lcd_state <= function_set;]이렇게 설계하는 것이 아닌 [lcd_state <= "001";] 이렇게 설계하시면 됩니다. 물론 여기에서 주석을 달아 주어야 그 이동에 대한 확인하기가 수월할 것입니다. 많은 도움이 되시길 바랍니다. 좋은 하루 되세요..

첨부파일 다운로드

등록자이장겸

등록일2005-11-18

조회수5,105

  • 페이스북 공유
  • 트위터 공유
  • Google+ 공유
  • 인쇄하기
 
스팸방지코드 :
번호 제목 등록자 등록일 조회수
98 임베디드시 HBE-Allinone 연습문제 해답 관련

HB_MCU

2013.10.14 28,965
97 유비쿼터스 TinyOS 2.0 소스코드를 ZigbeXStudio에서 사용하고자 할 때

HB_USN

2010.08.25 27,833
96 임베디드시 [SMII-P320] Mplayer 포팅가이드

임베디드팀

2010.06.15 27,243
95 유비쿼터스 [ZigbeX II] 온습도값이 안나오는 경우 해결방법

정윤호

2010.06.10 26,877
94 임베디드시 P320 장비계열 ADB 설치문서

박한수

2010.04.07 15,688
93 임베디드시 [Android] Eclipse 실행 시 오류 해결 방법

S/W팀

2010.04.02 14,017
92 유비쿼터스 WinAVR로 만든 ZigbeX2 LED제어 예제

이철희

2010.03.09 14,003
91 임베디드시 Android 탑재 제품에서 사용가능한 USB 무선랜 및 USB GPS

S/W팀

2010.03.04 15,514
90 임베디드시 Windows Embedded CE 6.0 개발툴 다운로드 링크

HB_Embedded

2009.11.04 14,236
89 임베디드시 CDMA2관련 질문!!

이강은

2008.12.11 6,273