Red de conocimiento informático - Problemas con los teléfonos móviles - ¡Tráfico y semáforos amarillos escritos en Verilog!

¡Tráfico y semáforos amarillos escritos en Verilog!

LED del módulo (

Reloj de entrada,

Reinicio de entrada,

Ledout de registro de salida[2:0]//Verde, amarillo y rojo

reg [1:0] estado, nstate

siempre @(reset, state, count)

start

if(reset==1' b1 ) inicio

nstate = 2 ' b0

end

else beign

caso (estado)

2 'b0: inicio

if(cnt==12'd1999)

nstate = 2 ' b 1;

fin

2 'b0: inicio

if(cnt==12'd1999)

nstate = 2 ' b2

fin

2' b0 : inicio

if(cnt==12'd1999)

nstate = 2 ' b0

end

Valor predeterminado: nstate = 2 ' b0

Fin de caso

Fin

Siempre @ (reloj posedge o reinicio de posedge)

Inicio

if(reset==1'b1) inicio

status = 2 ' b0

end

else beign

status lt = nstate

Fin

Fin

reg[11:0]CNT;

Siempre @(reloj posedge o reinicio posedge)

Inicio

if(reset==1'b1)Inicio

cnt lt= 12 ' d0;

Fin

else start

caso(estado)

2'b00: inicio

ledout lt= 3' b 100;

si (cnt==12'd1999) inicio

cnt lt= 12 ' d0;

fin

de lo contrario inicio

cnt lt = CNT 1;

Fin

Fin

2'b01: Inicio

ledout lt= 3 ' b 100;

si(cnt==12'd999) inicio

cnt lt= 12 'd0;

fin

de lo contrario, inicio

cnt lt= CNT 1;

Fin

Fin

2'b10: Inicio

ledout lt= 3 ' b 100 ;

if(cnt==12'd1999) inicio

cnt lt= 12 ' d0;

fin

en caso contrario inicio

p>

cnt lt= CNT 1;

Fin

Fin

Fin caso

Fin

Módulo terminal