Hvor å Sjekk for binære mønsteret "1001"

S

spartanthewarrior

Guest
Hei Alle,

Kan noen fortelle meg kropp

Hvordan ser for binære mønster "1001" i en binær sekvens.

i Verilog

Hilsen

 
La meg prøve,

La strømmen være en bit signal som forandrer seg hver klokke syklus, ønsker vi å oppdage når mønsteret "1001" blir sett på dette signalet.patten_found er hevdet når det er en vellykket match.

LOOK_FOR * er parametere for statens verdier.

Code:alltid @ (posedge clk eller negedge reset_)

if (~ reset_)

current_state <= LOOK_FOR_1_A;

pattern_found <= 1'b0;

ellers

begynne

pattern_found <= 1'b0;

case (current_state)

LOOK_FOR_1_A:

if (signal)

current_state <= LOOK_FOR_0_A;

LOOK_FOR_0_A;

if (~ signal)

current_state <= LOOK_FOR_0_B;

ellers

current_state <= LOOK_FOR_1_A;

LOOK_FOR_0_B;

if (~ signal)

current_state <= LOOK_FOR_1_B;

ellers

current_state <= LOOK_FOR_1_A;

LOOK_FOR_1_B;

begynne

if (signal)

pattern_found <= 1'b1;

current_state <= LOOK_FOR_1_A;

slutt

default:

current_state <= LOOK_FOR_1_A;

endcase

slutt

slutt

 
rjainv skrev:

La meg prøve,La strømmen være en bit signal som forandrer seg hver klokke syklus, ønsker vi å oppdage når mønsteret "1001" blir sett på dette signalet.
patten_found er hevdet når det er en vellykket match.LOOK_FOR * er parametere for statens verdier.Code:alltid @ (posedge clk eller negedge reset_)

if (~ reset_)

current_state <= LOOK_FOR_1_A;

pattern_found <= 1'b0;

ellers

begynne

pattern_found <= 1'b0;

case (current_state)

LOOK_FOR_1_A:

if (signal)

current_state <= LOOK_FOR_0_A;

LOOK_FOR_0_A;

if (~ signal)

current_state <= LOOK_FOR_0_B;

ellers

current_state <= LOOK_FOR_1_A;

LOOK_FOR_0_B;

if (~ signal)

current_state <= LOOK_FOR_1_B;

ellers

current_state <= LOOK_FOR_1_A;

LOOK_FOR_1_B;

begynne

if (signal)

pattern_found <= 1'b1;

current_state <= LOOK_FOR_1_A;

slutt

default:

current_state <= LOOK_FOR_1_A;

endcase

slutt

slutt

 

Welcome to EDABoard.com

Sponsor

Back
Top