Guest User

Untitled

a guest
Aug 20th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module sinal(
  2. input clk,
  3. output reg Amarelo, Vermelho, Verde
  4. );
  5.  
  6. parameter [1:0] ESTADO_AMARELO = 2'b01,ESTADO_VERMELHO = 2'b00,ESTADO_VERDE = 2'b10;
  7. reg [8:0] i;
  8. reg [1:0] estado;
  9.  
  10. initial
  11. begin
  12. estado <= ESTADO_VERMELHO;
  13. i <= 0;
  14. end
  15.  
  16. always@(posedge clk)
  17. begin
  18.         case(estado)
  19.                 ESTADO_VERMELHO:
  20.                 begin
  21.                         Vermelho <= 1;
  22.                         Amarelo <= 0;
  23.                         Verde <= 0;
  24.                         if(i < 100)
  25.                         begin
  26.                         i = i + 1;
  27.                         estado <= ESTADO_VERMELHO;
  28.                         end
  29.                         else
  30.                         begin
  31.                         estado <= ESTADO_AMARELO;
  32.                         i <= 0;
  33.                         end
  34.                 end
  35.                 ESTADO_AMARELO:
  36.                 begin
  37.                         Vermelho <= 0;
  38.                         Amarelo <= 1;
  39.                         Verde <= 0;
  40.                         if(i < 50)
  41.                         begin
  42.                         estado <= ESTADO_AMARELO;
  43.                         i = i + 1;
  44.                         end
  45.                         else
  46.                         begin
  47.                         estado <= ESTADO_VERDE;
  48.                         i <= 0;
  49.                         end
  50.                 end
  51.                 ESTADO_VERDE:
  52.                 begin
  53.                         Vermelho <= 0;
  54.                         Amarelo <= 0;
  55.                         Verde <= 1;
  56.                         if(i < 200)
  57.                         begin
  58.                         estado <= ESTADO_VERDE;
  59.                         i = i + 1;
  60.                         end
  61.                         else
  62.                         begin
  63.                         estado <= ESTADO_VERMELHO;
  64.                         i <= 0;
  65.                         end
  66.                 end
  67.         endcase
  68.  end      
  69. endmodule
Add Comment
Please, Sign In to add comment