패턴> 이진 확인하는 방법 "1001"

S

spartanthewarrior

Guest
안녕 모두,

수있는 신체가 말해

어떻게 바이너리 패턴에 대한 기대 "1001"차례로 바이너리.

Verilog에

감사합니다

 
하자 해보

주기를하자 시계는 변화하는 모든 스트림 신호가 하나의 비트, 우리는이 신호에 1001을 "입니다 본 싶어"패턴을 감지할 때.patten_found가 일치 성공 단언 때마다 거기에있다.

* LOOK_FOR 값을 상태위한 매개 변수.

코드 :항상 @ (posedge CLK 또는 negedge reset_)

(~ reset_)하는 경우

<= LOOK_FOR_1_A을 current_state;

pattern_found <= 1'b0;

다른 사람

시작

pattern_found <= 1'b0;

사건은 () current_state

LOOK_FOR_1_A :

면 (신호)

<= LOOK_FOR_0_A을 current_state;

LOOK_FOR_0_A;

(~ 신호)하는 경우

<= LOOK_FOR_0_B을 current_state;

다른 사람

<= LOOK_FOR_1_A을 current_state;

LOOK_FOR_0_B;

(~ 신호)하는 경우

<= LOOK_FOR_1_B을 current_state;

다른 사람

<= LOOK_FOR_1_A을 current_state;

LOOK_FOR_1_B;

시작

면 (신호)

pattern_found <= 1'b1;

<= LOOK_FOR_1_A을 current_state;



기본값 :

<= LOOK_FOR_1_A을 current_state;

endcase





 
rjainv 작성 :

내가 한 번 해보지스트림은 모든 클럭주기를 변경하는 하나의 비트 신호합시다, 우리는 "이 신호에서 볼 때 패턴"1001을 감지 싶어요.
patten_found 때마다 거기에 성공적으로 일치 주장이다.* LOOK_FOR 상태 값에 대한 매개 변수가 있습니다.코드 :항상 @ (posedge CLK 또는 negedge reset_)

(~ reset_)하는 경우

<= LOOK_FOR_1_A을 current_state;

pattern_found <= 1'b0;

다른 사람

시작

pattern_found <= 1'b0;

사건은 () current_state

LOOK_FOR_1_A :

면 (신호)

<= LOOK_FOR_0_A을 current_state;

LOOK_FOR_0_A;

(~ 신호)하는 경우

<= LOOK_FOR_0_B을 current_state;

다른 사람

<= LOOK_FOR_1_A을 current_state;

LOOK_FOR_0_B;

(~ 신호)하는 경우

<= LOOK_FOR_1_B을 current_state;

다른 사람

<= LOOK_FOR_1_A을 current_state;

LOOK_FOR_1_B;

시작

면 (신호)

pattern_found <= 1'b1;

<= LOOK_FOR_1_A을 current_state;



기본값 :

<= LOOK_FOR_1_A을 current_state;

endcase





 

Welcome to EDABoard.com

Sponsor

Back
Top