VHDL 질문 (FSM으로 구현 프로세스)

T

TekUT

Guest
친애하는 모든,
난, VHDL을 배우고 코드를 여기 후 발전기 지연 기회가 몇 가지 중 하나 가까 이서 보면 간단하게 예를 들어 내가가는 구현이 :

코드 :도서관의 IEEE;

사용 ieee.std_logic_1164.all;

사용 ieee.numeric_std.all;- 엔티티 정의엔티티 pulse_5clk입니다

포트 (

CLK, 리셋 : std_logic에;

, 그만 가자 : std_logic에;

펄스 : 아웃 std_logic

);

최종 pulse_5clk;- 아키텍처 정의pulse_5clk의 아키텍처 fsmd_arch입니다

상수 P_WIDTH : 자연 : = 5;

유형 fsmd_state_type은 (,) 지연이 유휴 상태입니다;

신호 state_reg, state_next : fsmd_state_type;

신호 c_reg, c_next : 서명되지 않은 (3 downto 0);

시작

- 상태 및 데이터 레지스터

프로세스 (CLK, 재설정)

시작

(리셋 = '1 ') 후면

state_reg <= 유휴 상태;

c_reg <= (기타 => '0 ');

elsif (clk'event과 CLK = '1 ') 다음

state_reg <= state_next;

c_reg <= c_next;

종료면;

최종 처리;

- 다음 주 로직 및 데이터 경로 기능 단위 / 라우팅

프로세스 (state_reg, 가서, 그만, c_reg)

시작

펄스 <= '0 ';

c_next <= c_reg;

사건 state_reg가

유휴 => 할 때

= '1 '을 누른 다음 가면

state_next <= 지연;

다른 사람

state_next <= 유휴 상태;

종료면;

c_next <= (기타 => '0 ');

언제 지연 =>

면 그만 = '1 '다음

state_next <= 유휴 상태;

다른 사람

(c_reg = P_WIDTH - 경우 1) 다음

state_next <= 유휴 상태;

다른 사람

state_next <= 지연;

c_next <= 1 c_reg;

종료면;

종료면;

펄스 <= '1 ';

엔드 케이스;

최종 처리;

최종 fsmd_arch;

 
미안하지만, 당신은 첨부 파일이 필요합니다 보려면 로그인을에

 
친애하는 모든,
제가 메모를 처리 새로운 독서의 있었소와 나는 ''1 중에 보여으로 프로세스의 모든 = <업데이 트하고 있습니다 신호 assignement 최종 펄스의 다른 assignement 명세서 중에 처리 후 bcz 전, 이것에 승리 첫 번째와 신호 상태가 1로 설정되었습니다 아니라 0.제가 요점을 이해할 수 있다고 생각하는 사람이 옳다는 걸 수 있는지 확인 난 그?

미리 감사드립니다
Powermos

 

Welcome to EDABoard.com

Sponsor

Back
Top