This shows you the differences between two versions of the page.
|
soc:laboratoare:04:dfa_states_changing [2024/02/29 14:37] 127.0.0.1 external edit |
soc:laboratoare:04:dfa_states_changing [2026/03/22 16:31] (current) robert_fabian.tudor |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| <code Verilog> | <code Verilog> | ||
| - | always@ ( * ) begin | + | always@ ( * ) begin |
| - | NextState = CurrentState ; | + | l_r_nextState = l_r_currentState ; |
| - | + | ||
| - | case ( CurrentState ) | + | case ( l_r_currentState ) |
| - | STATE_Initial : begin | + | STATE_Initial : begin |
| - | NextState = STATE_1 ; | + | l_r_nextState = STATE_1 ; |
| + | end | ||
| + | STATE_1 : begin | ||
| + | if (!i_w_in) | ||
| + | l_r_nextState = STATE_2 ; | ||
| + | end | ||
| + | STATE_2 : begin | ||
| + | if (i_w_in) | ||
| + | l_r_nextState = STATE_3 ; | ||
| + | end | ||
| + | STATE_3 : begin | ||
| + | if (i_w_in) | ||
| + | l_r_nextState = STATE_4 ; | ||
| + | else | ||
| + | l_r_nextState = STATE_2 ; | ||
| + | end | ||
| + | STATE_4 : begin | ||
| + | if (i_w_in) | ||
| + | l_r_nextState = STATE_1 ; | ||
| + | else | ||
| + | l_r_nextState = STATE_2 ; | ||
| + | end | ||
| + | // Stări pentru tratarea erorilor | ||
| + | // Dacă automatul ajunge în aceste stări se va reseta. | ||
| + | STATE_5_PlaceHolder : begin | ||
| + | l_r_nextState = STATE_Initial ; | ||
| + | end | ||
| + | STATE_6_PlaceHolder : begin | ||
| + | l_r_nextState = STATE_Initial ; | ||
| + | end | ||
| + | STATE_7_PlaceHolder : begin | ||
| + | l_r_nextState = STATE_Initial ; | ||
| + | end | ||
| + | endcase | ||
| end | end | ||
| - | STATE_1 : begin | ||
| - | if (A & B) | ||
| - | NextState = STATE_2 ; | ||
| - | end | ||
| - | STATE_2 : begin | ||
| - | if (A) | ||
| - | NextState = STATE_3 ; | ||
| - | end | ||
| - | STATE_3 : begin | ||
| - | if (!A & B) | ||
| - | NextState = STATE_Initial ; | ||
| - | else | ||
| - | if (A & !B) | ||
| - | NextState = STATE_4 ; | ||
| - | end | ||
| - | STATE_4 : begin | ||
| - | end | ||
| - | //Stări pentru tratarea erorilor | ||
| - | //Dacă automatul ajunge în aceste stări se va reseta. | ||
| - | STATE_5_PlaceHolder : begin | ||
| - | NextState = STATE_Initial ; | ||
| - | end | ||
| - | STATE_6_PlaceHolder : begin | ||
| - | NextState = STATE_Initial ; | ||
| - | end | ||
| - | STATE_7_PlaceHolder : begin | ||
| - | NextState = STATE_Initial ; | ||
| - | end | ||
| - | endcase | ||
| - | end | ||
| </code> | </code> | ||