Red de conocimiento informático - Aprendizaje de código fuente - Código de programación de respuesta

Código de programación de respuesta

Módulo lx0825(a, b, c, d, e, res, clk, clk1, q1, q2, q3, q4, q5, fila, ra, Q1, pitido);

Entrada a, b, c, d, e;

Entrada res, clk, clk 1;

salida[7:0]fila, ra;

salida[3:0 ]q 1;

Salida q1, q2, q3, q4, q5, pitido;

reg q1, q2, q3, q4, q5, pitido;

reg[7:0]fila,ra;

reg[3:0]q 1;

reg[2:0]Y;

siempre @(res o q1 o q2 o q3 o q4 o q5)

comenzar

if (!res)

comenzar q 1 <= 0;q2 & lt=0;q3 & lt=0;q4 & lt=0;q5 & lt=0;

Fin

Otro

Inicio

si(q1||q2||q3||q4||q5)

comenzar q 1 & lt;= q 1 & lt= q2q3 & lt= q3q4 & lt= q4q5 & lt= q5

Fin

Otro

Inicio

Si (a)

comenzar q 1 < ;=1;

finalizar

si no(b)

comenzar el segundo trimestre<=1;

Fin

else if(c)

Inicio tercer trimestre<=1;

Fin

else if(d)

Inicio en el cuarto trimestre<.

=1;

Fin

De lo contrario, si (e)

Iniciar q5 & lt=1;

Fin

Fin

Fin

Fin

Siempre@(posedgeclock)

Inicio

if(q 1< ;4'b1000)

q 1<= q 1+1;

Otros

q 1<= 4' b0000

If(q1)

Inicio

Caso(Q1)

0: línea de inicio<= 8 ' b 01111111; ra & lt= 8 ' b 00011000;

1: Línea inicial <= 8 ' b 10111111; ra & lt= 8 ' b 00011000; Fin

2: Línea inicial & lt= 8 ' b 11011111; lt= 8 ' b 00011000; Fin

3: Línea inicial & lt= 8 ' b 11101111; ra & lt= 8 ' b 00011000; = 8 ' b 11110111; ra & lt= 8 ' b 00011000; Fin

5: Línea inicial & lt= 8 ' b 11111011; ra & lt= 8 ' b 00011000; p>6: línea de inicio <= 8' b 11111101; ra <= 8' b 00011000; fin

7: línea de inicio <= 8' b 11111110; 00011000; finalizar

finalizar caso

finalizar

si no (q2)

iniciar

caso (Q1) )

0: línea inicial & lt= 8 ' b 01111111; ra & lt= 8 ' b 11111111; fin

1: línea inicial & lt= 8 ' b 10111111; & lt= 8 ' b 11111111; fin

2: Línea inicial & lt= 8 ' b 11011111; ra & lt= 8 ' b 00000011; = 8 ' b 11101111; ra & lt= 8 ' b 11111111; Fin

4: Línea de inicio & lt= 8 ' b 11110111; ra & lt= 8 ' b 11111111; p>5: línea de inicio <= 8' b 11111011; ra <= 8' b 11000000; final

6: línea de inicio <= 8' b 11111101; 11111111; Fin

7: Línea inicial & lt= 8 ' b 11111110; ra & lt= 8 ' b 11111111; Fin

Fin Caso

Fin

De lo contrario, si (q3)

Inicio

Caso (Q1)

0: Línea de inicio & lt= 8 ' b 01111111; & lt= 8 ' b 11111111; Fin

1: Línea de inicio & lt= 8 ' b 10111111; ra & lt= 8 ' b 11111111; línea & lt= 8 ' b 11011111; ra & lt= 8 ' b 00000011; Fin

3: Línea inicial & lt= 8 ' b 1110111

1; ra & lt= 8 ' b 11111111; Fin

4: Línea de inicio & lt= 8 ' b 11110111; ra & lt= 8 ' b 11111111; Línea inicial & lt= 8 ' b 11111011; ra & lt= 8 ' b 00000011; Fin

6: Línea inicial & lt= 8 ' b 11111101; ra & lt= 8 ' b 11111111; /p>

7: Línea inicial & lt= 8 ' b 11111110; ra & lt= 8 ' b 11111111; Fin

Fin caso

Fin

else if(q4)

inicio

caso (Q1)

0: línea inicial & lt= 8 ' b 01111111; ra & lt= 8 ' b 11000011; fin

1: línea de inicio & lt= 8 ' b 10111111; ra & lt= 8 ' b 11000011; fin

2: línea de inicio & lt= 8 ' b 11011111; ra & lt= 8 ' b 11000011; Fin

3: Línea de inicio & lt= 8 ' b 11101111; ra & lt= 8 ' b 11111111; :Línea inicial & lt= 8 ' b 11110111; ra & lt= 8 ' b 11111111; Fin

5: Línea inicial & lt= 8 ' b 11111011;

6: Línea de inicio <= 8 ' b 11111101; ra & lt= 8 ' b 00000011; Fin

7: Línea de inicio & lt= 8 ' b 11111110; lt= 8 ' b 00000011; fin

Fin de caso

Fin

else if(q5)

Inicio

Caso (Q1)

0: Línea inicial & lt= 8 ' b 01111111; ra & lt= 8 ' b 11111111; Fin

1: Línea inicial & lt= 8 ' b 10111111; ra & lt= 8 ' b 11111111; final

2: Línea inicial & lt= 8 ' b 11011111; ra & lt= 8 ' b 11000000; 3: Línea inicial <= 8' b 11101111; ra <= 8' b 11111111; Fin

4: Línea inicial <= 8' b 11110111; Fin

5: Línea inicial <= 8 ' b 11111011; ra & lt= 8 ' b 00000011; Fin

6: Línea inicial <= 8 ' b 11111101; & lt= 8 ' b 11111111; fin

7: Línea inicial & lt= 8 ' b 11111110; ra & lt= 8 ' b 11111111; >

Fin

Otro

Inicio

Caso (Q1)

0: Línea de inicio<= 8 ' b 01111111 ; & lt= 8 ' b00000000 fin

1: línea de inicio & lt= 8 ' b 10111111; ra & lt= 8 ' b00000000 fin

2: Línea de inicio <= 8' b 11011111; ra <= 8' b00000000 Fin

3: Línea de inicio <= 8' b 11101111; ra <= 8' b00000000 Fin

>

4: Línea de inicio <= 8' b 11110111; ra <= 8' b00000000 Fin

5: Línea de inicio <= 8' b 11111011; b00000000 Fin

6: Línea de inicio <= 8 ' b 11111101; ra & lt= 8 ' b00000000 Fin

7: Línea de inicio & lt= 8 ' b 11111110; lt = 8 ' b00000000End

Fin de caso

Fin

Fin

Siempre @(posedge clk1)

Iniciar

if(RES & amp;& amp(a||b||c||d||e))

Iniciar

if(Y <2)bip = ' b 1;

else bip = ' b0

Y = Y+1; ​​fin

if (!(res & amp& amp(a | | b | | c | | d | | e)))beep = ' B0;

Fin

Fin del módulo