Verilog HDL: 동기 상태 기계

author-image

기준

이 예는 상태 컴퓨터의 구현을 보여주는 Verilog 예입니다. 첫 번째 CASE 문은 상태 머신 변수 상태의 값에 의존하는 출력을 정의합니다. 두 번째 CASE 문은 상태 머신의 전환과 이를 제어하는 조건을 정의합니다.

프로젝트에서 이 예제를 사용하는 방법에 대한 자세한 내용은 Verilog 웹 페이지의 Verilog HDL 예제 사용 방법 섹션 을 참조하십시오.


statem.v

모듈 상태(clk, in, Reset, out);

입력 clk, in, Reset;
출력 [3:0] 출력;

reg [3:0] 출력;
reg [1:0] 상태;

매개변수 0=0, 1=1, 2=2, 3=3,

항상 @(state) 
     시작
          사례(상태)
               0:
                    out = 4'b0000;
               하나:
                    out = 4'b0001;
               2:
                    out = 4'b0010;
               3:
                    out = 4'b0100;
               기본값:
                    out = 4'b0000;
          endcase
     end

always @(posedge clk 또는 posedge Reset)가
          시작되면 (재설정)
               상태 = 0,
          기타
               케이스(상태)
                    0:
                         상태 = 1개,
                    1:
                         (in)
                              상태 = 0인 경우,
                         기타
                              상태 = 2개,
                    2:
                         상태 = 3개,
                    3:
                         상태 = 0;
               엔드케이스

엔드모듈

이 페이지의 콘텐츠는 원본 영어 콘텐츠에 대한 사람 번역 및 컴퓨터 번역의 조합으로 완성되었습니다. 이 콘텐츠는 편의와 일반적인 정보 제공을 위해서만 제공되었으며, 완전하거나 정확한 것으로 간주되어선 안 됩니다. 이 페이지의 영어 버전과 번역 간 모순이 있는 경우, 영어 버전이 우선적으로 적용됩니다. 이 페이지의 영어 버전을 확인하십시오.