Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module sinal(
- input clk,
- output reg Amarelo, Vermelho, Verde
- );
- parameter [1:0] ESTADO_AMARELO = 2'b01,ESTADO_VERMELHO = 2'b00,ESTADO_VERDE = 2'b10;
- reg [8:0] i;
- reg [1:0] estado;
- initial
- begin
- estado <= ESTADO_VERMELHO;
- i <= 0;
- end
- always@(posedge clk)
- begin
- case(estado)
- ESTADO_VERMELHO:
- begin
- Vermelho <= 1;
- Amarelo <= 0;
- Verde <= 0;
- if(i < 100)
- begin
- i = i + 1;
- estado <= ESTADO_VERMELHO;
- end
- else
- begin
- estado <= ESTADO_AMARELO;
- i <= 0;
- end
- end
- ESTADO_AMARELO:
- begin
- Vermelho <= 0;
- Amarelo <= 1;
- Verde <= 0;
- if(i < 50)
- begin
- estado <= ESTADO_AMARELO;
- i = i + 1;
- end
- else
- begin
- estado <= ESTADO_VERDE;
- i <= 0;
- end
- end
- ESTADO_VERDE:
- begin
- Vermelho <= 0;
- Amarelo <= 0;
- Verde <= 1;
- if(i < 200)
- begin
- estado <= ESTADO_VERDE;
- i = i + 1;
- end
- else
- begin
- estado <= ESTADO_VERMELHO;
- i <= 0;
- end
- end
- endcase
- end
- endmodule
Add Comment
Please, Sign In to add comment