SHARE
TWEET

Untitled

a guest Dec 9th, 2019 85 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module project (clk, rst, hex3, hex2, hex1, hex0, keys,sw, ledg, ledr);
  2.  
  3. input clk, rst;
  4. input [9:0] sw;
  5. input [4:0] keys;
  6. output [9:0] ledr;
  7. output [7:0] ledg;
  8. output [6:0] hex3, hex2, hex1, hex0;
  9. reg [9:0] stater;
  10. reg [7:0] stateg;
  11. reg [6:0] state3, state2, state1, state0, kat, val, gee, ralph, atemp, s1, s2,s3,s4, m1, m2,m3,m4, h1, h2;
  12. reg [27:0] tempt, tempp, tempy, tempm, tempz, tempa, temps, tempc,tempw, temp, counter; // for initialization and display
  13. reg tempc2, tempw2, tempst;
  14. reg sw_not3, trig3, sw_not2, trig2, sw_not1, trig1, sw_not0, trig0;
  15. reg temp7, military;
  16.  
  17. //default for each initialization
  18. initial stater = 0;
  19. initial stateg = 0;
  20. initial tempt = 0;
  21. initial tempp = 268435339;
  22. initial tempy = 0;
  23. initial tempm = 0;
  24. initial tempz = 0;
  25. initial tempa = 99;
  26. initial temps = 9999;
  27. initial h1 = 2;
  28. initial h2 = 1;
  29.  
  30. //assignment
  31. assign hex3 = state3;
  32. assign hex2 = state2;
  33. assign hex1 = state1;
  34. assign hex0 = state0;
  35. assign ledr = stater;
  36. assign ledg = stateg;
  37.  
  38. //for 1 second
  39. parameter hs = 25_000_000;
  40. parameter s = 50_000_000;
  41. parameter m = 3_000_000_000;
  42. parameter h = 180_000_000_000;
  43.  
  44. always @ (posedge clk)
  45. begin
  46. sw_not3 <= ~keys[3]; trig3 <= sw_not3 & keys[3];
  47. sw_not2 <= ~keys[2]; trig2 <= sw_not2 & keys[2];
  48. sw_not1 <= ~keys[1]; trig1 <= sw_not1 & keys[1];
  49. sw_not0 <= ~keys[0]; trig0 <= sw_not0 & keys[0];
  50. end
  51.  
  52. always @(posedge clk)
  53. begin
  54.     if (sw[9] == 1)
  55.         counter <= 0;
  56.     else if (counter >= hs && sw[9] == 0)
  57.         counter <= 0;
  58.     else if (counter == s && sw[9] == 0)
  59.         counter <= 0;
  60.     else
  61.         counter <= counter + 1;        
  62. end
  63.  
  64. always @(posedge clk)
  65. begin
  66. if (sw == 10'b1000000000)
  67.     begin
  68.         kat <= 127; val <= 127; gee <= 127; ralph <= 127;
  69.         stateg <= 0; stater <= 0;
  70.         tempt <= 0; tempp <= 268435339; tempy <= 0;
  71.         tempm <= 0; tempz <= 0; tempa <= 99; temps <= 9999;
  72.         h1 <= 2; h2 <= 1;
  73.     end
  74. //777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
  75. else if (sw == 10'b0111000000) //for initial time
  76.     begin
  77.     kat <= tempt[27:21]; val <= tempt[20:14]; gee <= tempt[13:7]; ralph <= tempt[6:0];
  78.     h2 <= temp[27:21]; h1 <= temp[20:14]; m2 <= tempt[13:7]; m1 <= tempt[6:0];
  79.         if (tempt == 0)
  80.         begin
  81.             tempt[27:21] <= 1;
  82.             tempt[20:14] <= 2;
  83.             tempt[13:7] <= 0;
  84.             tempt[6:0] <= 0;
  85.             kat <= tempt[27:21]; val <= tempt[20:14]; gee <= tempt[13:7]; ralph <= tempt[6:0];
  86.         end
  87.         else if(trig2) //for hour 1-12
  88.         begin
  89.             tempt[20:14] <= tempt[20:14]+1;
  90.             if(tempt[20:14] == 2 && tempt[27:21] == 1) //parang kat == 1 and val == 2 so bale 12
  91.             begin
  92.                 tempt[27:21] <= 0;
  93.                 tempt[20:14] <= 1;
  94.             end
  95.            
  96.             else if (tempt[20:14] == 9) //pag nakarating na si val ng 9, dapat mag add kay kat para maging tens ganun
  97.                 begin
  98.                 tempt[27:21] <= tempt[27:21]+1;
  99.                 tempt[20:14] <= 0;
  100.                 end
  101.         end
  102.            
  103.             else if (tempp[6:0] == 10 && (tempt[27:21] != 1 && tempt[27:21] != 2)) //kapag PM plus 12
  104.                 begin
  105.                     temp[27:21] <= tempt[27:21] + 1;
  106.                     temp[20:14] <= tempt[27:21] + 2;
  107.                 end
  108.                
  109.             else if (trig1) // up minutes
  110.             begin
  111.                 tempt[6:0] <= tempt[6:0]+1;
  112.                
  113.                 if(tempt[13:7] == 5 && tempt[6:0] == 9) //gee == 5 and ralph == 9
  114.                 begin
  115.                     tempt[6:0] <= 0;
  116.                     tempt[13:7] <= 0;
  117.                 end
  118.                
  119.                 else if(tempt[13:7] < 5 && tempt[6:0] == 9) // add lang kay gee pag di pa nakakaabot ng 59
  120.                 begin
  121.                     tempt[6:0] <= 0;
  122.                     tempt[13:7] <= tempt[13:7] + 1;
  123.                 end
  124.             end
  125.             else if (trig0 ) // down minutes
  126.                 begin
  127.                 tempt[6:0] <= tempt[6:0]-1;
  128.  
  129.                     if(tempt[13:7] == 0 && tempt[6:0] == 0)
  130.                     begin
  131.                         tempt[6:0] <= 9;
  132.                         tempt[13:7] <= 5;
  133.                     end
  134.                
  135.                     else if(tempt[13:7] > 0 && tempt[6:0] == 0)
  136.                     begin
  137.                         tempt[6:0] <= 9;
  138.                         tempt[13:7] <= tempt[13:7] - 1;
  139.                     end
  140.                 end
  141.     end
  142. //6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
  143. else if (sw == 10'b0110000000) //set time period
  144.     begin
  145.         kat <= tempp[27:21]; val <= tempp[20:14]; gee <= tempp[13:7]; ralph <= tempp[6:0];
  146.             if(trig3)
  147.             begin
  148.             if(tempp[6:0] == 10) //P to A
  149.                 begin
  150.                     tempp[6:0] <= 11;
  151.                     stater[9] <= 0;
  152.                        
  153.                 end
  154.             else if (tempp[6:0] == 11) //A to P
  155.                 begin
  156.                     tempp[6:0] <= 10;
  157.                     stater[9] <= 1;
  158.                 end
  159.             end
  160.            
  161.             else if (tempp == 268435339)
  162.             begin
  163.                 tempp[27:21] <= 127;
  164.                 tempp[20:14] <= 127;
  165.                 tempp[13:7] <= 127;
  166.                 tempp[6:0] <= 11;
  167.                 kat <= tempp[27:21]; val <= tempp[20:14]; gee <= tempp[13:7]; ralph <= tempp[6:0];
  168.             end
  169.     end
  170. //5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555
  171. else if (sw == 10'b0101000000) //set year
  172.     begin
  173.         kat <= tempy[27:21]; val <= tempy[20:14]; gee <= tempy[13:7]; ralph <= tempy[6:0];
  174.        
  175.             if (tempy == 0)
  176.             begin
  177.                 tempy[27:21] <= 2;
  178.                 tempy[20:14] <= 0;
  179.                 tempy[13:7] <= 0;
  180.                 tempy[6:0] <= 0;
  181.                 kat <= tempy[27:21]; val <= tempy[20:14]; gee <= tempy[13:7]; ralph <= tempy[6:0];
  182.             end
  183.            
  184.             else if(trig2)
  185.             begin
  186.                 tempy[20:14] <= tempy[20:14] + 1;
  187.                 if (tempy[20:14] == 9)
  188.                     tempy[20:14] <= 0;
  189.             end
  190.  
  191.             else if(trig1)
  192.             begin
  193.                 tempy[13:7] <= tempy[13:7] + 1;
  194.                 if (tempy[13:7] == 9)
  195.                     tempy[13:7] <= 0;
  196.             end
  197.            
  198.             else if (trig0)
  199.             begin
  200.                 tempy[6:0] <= tempy[6:0] + 1;
  201.                 if (tempy[6:0] == 9)
  202.                     tempy[6:0] <= 0;
  203.             end
  204.     end
  205. //4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
  206. else if (sw == 10'b0100000000) //set month and day
  207.     begin
  208.         kat <= tempm[27:21]; val <= tempm[20:14]; gee <= tempm[13:7]; ralph <= tempm[6:0];
  209.             if (tempm == 0)
  210.             begin
  211.                 tempm[27:21] <= 0;
  212.                 tempm[20:14] <= 1;
  213.                 tempm[13:7] <= 0;
  214.                 tempm[6:0] <= 1;
  215.                 kat <= tempm[27:21]; val <= tempm[20:14]; gee <= tempm[13:7]; ralph <= tempm[6:0];
  216.             end
  217.            
  218.             else if(trig3) //up button for month
  219.             begin
  220.                 tempm[20:14] <= tempm[20:14] + 1;
  221.                 if (tempm[20:14] == 9)
  222.                     begin
  223.                         tempm[27:21] <= 1;
  224.                         tempm[20:14] <= 0;
  225.                     end
  226.                 else if (tempm[20:14] == 2 && tempm[27:21] == 1)
  227.                     begin
  228.                         tempm[27:21] <= 0;
  229.                         tempm[20:14] <= 1;
  230.                     end
  231.             end
  232.  
  233.             else if(trig2) //down button for month
  234.             begin
  235.                 tempm[20:14] <= tempm[20:14] - 1;
  236.                 if (tempm[20:14] == 0 && tempm[27:21] > 0)
  237.                     begin
  238.                         tempm[20:14] <= 9;
  239.                         tempm[27:21] <= 0;
  240.                     end
  241.                 else if(tempm[20:14] == 1 && tempm[27:21] == 0)
  242.                     begin
  243.                         tempm[20:14] <= 2;
  244.                         tempm[27:21] <= 1;
  245.                     end
  246.             end
  247.  
  248.         else if(trig1) //up day
  249.             begin
  250.                 tempm[6:0] <= tempm[6:0] + 1;
  251.                 if (tempm[27:21] == 0 && tempm[20:14] == 2) //for february
  252.                     begin
  253.                         if(tempm[13:7] == 2 && tempm[6:0] == 9)
  254.                             begin
  255.                                 tempm[13:7] <= 0;
  256.                                 tempm[6:0] <= 1;       
  257.                             end
  258.  
  259.                         else if (tempm[6:0] == 9)
  260.                             begin
  261.                                 tempm[13:7] <= tempm[13:7] + 1;
  262.                                 tempm[6:0] <= 0;
  263.                             end
  264.                     end
  265.                 else if (tempm[13:7] == 3 && tempm[6:0] == 1) //for any month
  266.                     begin
  267.                         tempm[13:7] <= 0;
  268.                         tempm[6:0] <= 1;
  269.                     end
  270.                 else if (tempm[6:0] == 9)
  271.                     begin
  272.                         tempm[13:7] <= tempm[13:7] + 1;
  273.                         tempm[6:0] <= 0;
  274.                     end
  275.             end
  276.         else if (trig0) //down day
  277.            
  278.             begin
  279.                 tempm[6:0] <= tempm[6:0] - 1;
  280.                 if (tempm[27:21] == 0 && tempm[20:14] == 2) //for february
  281.                     begin
  282.                         if(tempm[13:7] == 0 && tempm[6:0] == 1)
  283.                             begin
  284.                                 tempm[13:7] <= 2;
  285.                                 tempm[6:0] <= 9;       
  286.                             end
  287.  
  288.                         else if (tempm[6:0] == 0 && tempm[13:7] > 0)
  289.                             begin
  290.                                 tempm[13:7] <= tempm[13:7] - 1;
  291.                                 tempm[6:0] <= 9;
  292.                             end
  293.                     end
  294.                 else if (tempm[13:7] == 0 && tempm[6:0] == 1) //for any month
  295.                     begin
  296.                         tempm[13:7] <= 3;
  297.                         tempm[6:0] <= 1;
  298.                     end
  299.                 else if (tempm[6:0] == 0 && tempm[13:7] > 0)
  300.                     begin
  301.                         tempm[13:7] <= tempm[13:7] - 1;
  302.                         tempm[6:0] <= 9;
  303.                     end
  304.             end
  305.     end
  306. //3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
  307. else if (sw == 10'b0011000000) //set time zone
  308.     begin
  309.         kat <= tempz[27:21]; val <= tempz[20:14]; gee <= tempz[13:7]; ralph <= tempz[6:0]; 
  310.             if (tempz == 0)
  311.             begin
  312.                 tempz[27:21] <= 127;
  313.                 tempz[20:14] <= 12;
  314.                 tempz[13:7] <= 12;
  315.                 tempz[6:0] <= 14;
  316.                 kat <= tempz[27:21]; val <= tempz[20:14]; gee <= tempz[13:7]; ralph <= tempz[6:0];
  317.             end
  318.            
  319.             else if (trig3)
  320.             begin
  321.                 tempz[20:14] <= tempz[20:14] +1;
  322.                 tempz[13:7] <= tempz[13:7] +1;
  323.                 tempz[6:0] <= tempz[6:0] +1;
  324.                     if (tempz[20:14] == 14 && tempz[13:7] == 14 && tempz[6:0] == 16 )
  325.                     begin
  326.                         tempz[20:14] <= 10;
  327.                         tempz[13:7] <= 10;
  328.                         tempz[6:0] <= 12;
  329.                     end
  330.             end
  331.     end
  332. //22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
  333. else if (sw == 10'b0010000000) //set alarm time
  334.     begin
  335.         kat <= tempa[27:21]; val <= tempa[20:14]; gee <= tempa[13:7]; ralph <= tempa[6:0];
  336.            
  337.             if (tempa == 99)
  338.             begin
  339.                 tempa[27:21] <= 0;
  340.                 tempa[20:14] <= 0;
  341.                 tempa[13:7] <= 0;
  342.                 tempa[6:0] <= 0;
  343.                 kat <= tempa[27:21]; val <= tempa[20:14]; gee <= tempa[13:7]; ralph <= tempa[6:0];
  344.             end
  345.            
  346.             else if (trig2) //for hour 00 to 23. So dapat may conversion pa ng 12hr to military time para gumana yung alarm
  347.             begin
  348.                 tempa[20:14] <= tempa[20:14]+1;
  349.                 if(tempa[20:14] == 3 && tempa[27:21] == 2) //parang kat == 2 and val == 3 so bale 23
  350.                 begin
  351.                     tempa[27:21] <= 0;
  352.                     tempa[20:14] <= 0;
  353.                 end
  354.                 else if (tempa[20:14] == 9) //pag nakarating na si val ng 9, dapat mag add kay kat para maging tens ganun
  355.                 begin
  356.                     tempa[27:21] <= tempa[27:21]+1;
  357.                     tempa[20:14] <= 0;
  358.                 end
  359.             end
  360.        
  361.             else if (trig1) // up minutes
  362.             begin
  363.                 tempa[6:0] <= tempa[6:0]+1;
  364.                 if(tempa[13:7] == 5 && tempa[6:0] == 9) //gee == 5 and ralph == 9
  365.                 begin
  366.                     tempa[6:0] <= 0;
  367.                     tempa[13:7] <= 0;
  368.                 end
  369.                 else if(tempa[13:7] < 5 && tempa[6:0] == 9) // add lang kay gee pag di pa nakakaabot ng 59
  370.                 begin
  371.                     tempa[6:0] <= 0;
  372.                     tempa[13:7] <= tempa[13:7] + 1;
  373.                 end    
  374.             end
  375.            
  376.             else if (trig0) // down minutes
  377.             begin
  378.                 tempa[6:0] <= tempa[6:0]-1;
  379.                 if(tempa[13:7] == 0 && tempa[6:0] == 0)
  380.                 begin
  381.                     tempa[6:0] <= 9;
  382.                     tempa[13:7] <= 5;
  383.                 end
  384.                 else if(tempa[13:7] > 0 && tempa[6:0] == 0)
  385.                 begin
  386.                     tempa[6:0] <= 9;
  387.                     tempa[13:7] <= tempa[13:7]-1;
  388.                 end
  389.             end
  390.     end
  391. //11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
  392. else if (sw == ) //set snooze time
  393.     begin
  394.         kat <= temps[27:21]; val <= temps[20:14]; gee <= temps[13:7]; ralph <= temps[6:0];
  395.         s3 <= temps[6:0]; s4 <= temps[13:7]; m3 <= temps[20:14]; m4 <= temps[27:21];
  396.             if (temps == 9999)
  397.                 begin
  398.                     temps[27:21] <= 0;
  399.                     temps[20:14] <= 5;
  400.                     temps[13:7] <= 0;
  401.                     temps[6:0] <= 0;
  402.                     kat <= temps[27:21]; val <= temps[20:14]; gee <= temps[13:7]; ralph <= temps[6:0];
  403.                 end
  404.            
  405.             else if (trig3) //up button for minute
  406.                 begin
  407.                     temps[20:14] <= temps[20:14]+1;
  408.                     if (temps[20:14] == 9 && temps[27:21] == 9)
  409.                     begin
  410.                         temps[27:21] <= 0;
  411.                         temps[20:14] <= 0;
  412.                     end
  413.                     else if (temps[20:14] == 9 && temps[27:21] < 9)
  414.                     begin
  415.                         temps[27:21] <= temps[27:21] + 1;
  416.                         temps[20:14] <= 0;
  417.                     end
  418.                 end
  419.  
  420.             else if (trig2) //down button for minute
  421.                 begin
  422.                     temps[20:14] <= temps[20:14]-1;
  423.  
  424.                     if(temps[27:21] == 0 && temps[20:14] == 0)
  425.                     begin
  426.                         temps[20:14] <= 9;
  427.                         temps[27:21] <= 9;
  428.                     end
  429.            
  430.                     else if(temps[27:21] > 0 && temps[20:14] == 0)
  431.                     begin
  432.                         temps[20:14] <= 9;
  433.                         temps[27:21] <= temps[27:21] - 1;
  434.                     end
  435.                 end
  436.  
  437.             else if (trig1) //up seconds
  438.                 begin
  439.                     temps[6:0] <= temps[6:0] + 1;
  440.                     if (temps[13:7] == 5 && temps[6:0] == 9)
  441.                     begin
  442.                         temps[13:7] <= 0;
  443.                         temps[6:0] <= 0;
  444.                     end
  445.                     else if (temps[6:0] == 9 && temps[13:7] < 5)
  446.                     begin
  447.                         temps[13:7] <= temps[13:7] + 1;
  448.                         temps[6:0] <= 0;
  449.                     end
  450.                 end
  451.            
  452.             else if (trig0) //down seconds
  453.                 begin
  454.                     temps[6:0] <= temps[6:0]-1;
  455.  
  456.                     if(temps[13:7] == 0 && temps[6:0] == 0)
  457.                     begin
  458.                         temps[6:0] <= 9;
  459.                         temps[13:7] <= 5;
  460.                     end
  461.            
  462.                     else if(temps[13:7] > 0 && temps[6:0] == 0)
  463.                     begin
  464.                         temps[6:0] <= 9;
  465.                         temps[13:7] <= temps[13:7] - 1;
  466.                     end
  467.                 end
  468.     end
  469. //ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
  470.     else if (sw == 0 && counter == s) //display
  471.     begin
  472. //00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  473.      //time display
  474.      case()
  475.             begin
  476.                 kat <= h2;
  477.                 val <= h1;
  478.                 gee <= m2;
  479.                 ralph <= m1;
  480.                 if (!keys[3])
  481.                 begin
  482.                     if (tempp == 10 && (h2 != 1 && h1 != 2)) //PM tapos >12
  483.                         begin
  484.                         val <= h1 - 2;
  485.                         kat <= h2 - 1;
  486.                         end
  487.                     else if (tempp == 11 && (h2 == 0 && h1 == 0)) //AM tapos 00 sa military time
  488.                         begin
  489.                         kat <= 1;
  490.                         val <= 2;
  491.                         end
  492.                     else
  493.                         begin
  494.                         kat <= h2;
  495.                         val <= h1;
  496.                         end
  497.                 gee <= m2;
  498.                 ralph <= m1;
  499.                 end
  500.                                
  501.                 else if (!keys[2])
  502.                     begin
  503.                     kat <= m2;
  504.                     val <= m1;
  505.                     gee <= s2;
  506.                     ralph <= s1;
  507.                     end
  508.                            
  509.                 else if (!keys[1])
  510.                     begin
  511.                     kat <= tempp[27:21];
  512.                     val <= tempp[20:14];
  513.                     gee <= tempp[13:7];
  514.                     ralph <= tempp[6:0];
  515.                     end
  516.             end
  517.     end
  518. //(sw 1 and 0) are 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
  519.     else if (sw[1:0] == 1 && sw[9:2] == 0) // date display
  520.         begin
  521.             if (s1 < 9  && counter == s)
  522.                 s1 <= s1 + 1;
  523.             else if (s1 == 9 && s2 < 5  && counter == s )
  524.                 begin
  525.                 s1 <= 0;
  526.                 s2 <= s2 + 1;
  527.                 end
  528.             else if (s1 == 9 && s2 == 5 && m1 < 9  && counter == s)
  529.                 begin
  530.                 s1 <= 0;
  531.                 s2 <= 0;
  532.                 m1 <= m1 + 1;
  533.                 end
  534.             else if (s1 == 9 && s2 == 5 && m1 == 9 && m2 < 5  && counter == s)
  535.                 begin
  536.                 s1 <= 0;
  537.                 s2 <= 0;
  538.                 m1 <= 0;
  539.                 m2 <= m2 + 1;
  540.                 end
  541.             else if (s1 == 9 && s2 == 5 && m1 == 9 && m2 == 5 && h1 == 9 && h2 < 2  && counter == s)
  542.                 begin
  543.                 s1 <= 0;
  544.                 s2 <= 0;
  545.                 m1 <= 0;
  546.                 m2 <= 0;
  547.                 h1 <= 0;
  548.                 h2 <= h2 + 1;
  549.                     if(tempp[6:0] == 11 && h1 == 2 && h2 == 1  && counter == s) //A to P
  550.                         begin
  551.                         tempp[6:0] <= 10;
  552.                         stater[9] <= 1;
  553.                         end
  554.                 end
  555.             else if (s1 == 9 && s2 == 5 && m1 == 9 && m2 == 5 && h2 == 2 && h1 < 3  && counter == s)
  556.                 begin
  557.                 s1 <= 0;
  558.                 s2 <= 0;
  559.                 m1 <= 0;
  560.                 m2 <= 0;
  561.                 h1 <= h1 + 1;
  562.                 h2 <= 2;
  563.                 end
  564.             else if (s1 == 9 && s2 == 5 && m1 == 9 && m2 == 5 && h2 == 2 && h1 == 3  && counter == s)
  565.                 begin
  566.                 s1 <= 0;
  567.                 s2 <= 0;
  568.                 m1 <= 0;
  569.                 m2 <= 0;
  570.                 h1 <= 0;
  571.                 h2 <= 0;
  572.                     if(tempp[6:0] == 10) //P to A
  573.                         begin
  574.                         tempp[6:0] <= 11;
  575.                         stater[9] <= 0;
  576.                         end
  577.                 end
  578.             else if (s1 == 9 && s2 == 5 && m1 == 9 && m2 == 5 && h1 < 9  && counter == s)
  579.                 begin
  580.                 s1 <= 0;
  581.                 s2 <= 0;
  582.                 m1 <= 0;
  583.                 m2 <= 0;
  584.                 h1 <= h1 + 1;
  585.                 end
  586.             begin
  587.                 kat <= tempm[27:21];
  588.                 val <= tempm[20:14];
  589.                 gee <= tempm[13:7];
  590.                 ralph <= tempm[13:7];
  591.  
  592.                 if (trig3)
  593.                     begin
  594.                         kat <= tempy[27:21];
  595.                         val <= tempy[20:14];
  596.                         gee <= tempy[13:7];
  597.                         ralph <= tempy[6:0];
  598.                     end
  599.             end    
  600.         end
  601. //(sw 1 and 0) are 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222  
  602.     else if (sw[1:0] == 2 && sw[9:2] == 0) //world time display
  603.         begin
  604.        
  605.         if (s1 < 9  && counter == s)
  606.                 s1 <= s1 + 1;
  607.             else if (s1 == 9 && s2 < 5  && counter == s )
  608.                 begin
  609.                 s1 <= 0;
  610.                 s2 <= s2 + 1;
  611.                 end
  612.             else if (s1 == 9 && s2 == 5 && m1 < 9  && counter == s)
  613.                 begin
  614.                 s1 <= 0;
  615.                 s2 <= 0;
  616.                 m1 <= m1 + 1;
  617.                 end
  618.             else if (s1 == 9 && s2 == 5 && m1 == 9 && m2 < 5  && counter == s)
  619.                 begin
  620.                 s1 <= 0;
  621.                 s2 <= 0;
  622.                 m1 <= 0;
  623.                 m2 <= m2 + 1;
  624.                 end
  625.             else if (s1 == 9 && s2 == 5 && m1 == 9 && m2 == 5 && h1 == 9 && h2 < 2  && counter == s)
  626.                 begin
  627.                 s1 <= 0;
  628.                 s2 <= 0;
  629.                 m1 <= 0;
  630.                 m2 <= 0;
  631.                 h1 <= 0;
  632.                 h2 <= h2 + 1;
  633.                     if(tempp[6:0] == 11 && h1 == 2 && h2 == 1  && counter == s) //A to P
  634.                         begin
  635.                         tempp[6:0] <= 10;
  636.                         stater[9] <= 1;
  637.                         end
  638.                 end
  639.             else if (s1 == 9 && s2 == 5 && m1 == 9 && m2 == 5 && h2 == 2 && h1 < 3  && counter == s)
  640.                 begin
  641.                 s1 <= 0;
  642.                 s2 <= 0;
  643.                 m1 <= 0;
  644.                 m2 <= 0;
  645.                 h1 <= h1 + 1;
  646.                 h2 <= 2;
  647.                 end
  648.             else if (s1 == 9 && s2 == 5 && m1 == 9 && m2 == 5 && h2 == 2 && h1 == 3  && counter == s)
  649.                 begin
  650.                 s1 <= 0;
  651.                 s2 <= 0;
  652.                 m1 <= 0;
  653.                 m2 <= 0;
  654.                 h1 <= 0;
  655.                 h2 <= 0;
  656.                     if(tempp[6:0] == 10) //P to A
  657.                         begin
  658.                         tempp[6:0] <= 11;
  659.                         stater[9] <= 0;
  660.                         end
  661.                 end
  662.             else if (s1 == 9 && s2 == 5 && m1 == 9 && m2 == 5 && h1 < 9  && counter == s)
  663.                 begin
  664.                 s1 <= 0;
  665.                 s2 <= 0;
  666.                 m1 <= 0;
  667.                 m2 <= 0;
  668.                 h1 <= h1 + 1;
  669.                 end
  670.                 gee <= m2; ralph <= m1; //for display
  671.        
  672.         begin
  673.         if (tempz[20:14] == 10 && tempz[13:7] == 10 && tempz[6:0] == 12 ) //timezone nyc
  674.                 begin
  675.                     if ((h1+5) > 9)
  676.                         begin
  677.                             temp[20:14] <= (h1+5) % 10;
  678.                             temp[27:21] <= h2 + 1;
  679.                         end
  680.                     else if (((h1+5)%10) == 4 && (h2+1) == 2)
  681.                         begin
  682.                             temp[27:21] <= 0;
  683.                             temp[20:14] <= 0;
  684.                         end
  685.                     else if (h2 == 2 && h1 < 4)
  686.                         begin
  687.                             temp[27:21] <= 0;
  688.                             temp[20:14] <= h1+1;
  689.                         end
  690.                     else
  691.                         begin
  692.                             temp[20:14] <= h1 + 5;
  693.                             temp[27:21] <= h2;
  694.                         end
  695.                 end
  696.             else if (tempz[20:14] == 11 && tempz[13:7] == 11 && tempz[6:0] == 13 ) //timezone rio
  697.                 begin
  698.                     if ((h1+3) > 9)
  699.                         begin
  700.                             temp[20:14] <= (h1+3) % 10;
  701.                             temp[27:21] <= h2 + 1;
  702.                         end
  703.                     else if (((h1+3)%10) == 4 && (h2+1) == 2)
  704.                         begin
  705.                             temp[27:21] <= 0;
  706.                             temp[20:14] <= 0;
  707.                         end
  708.                     else if (h2 == 2 && h1 < 4)
  709.                         begin
  710.                             temp[27:21] <= 0;
  711.                             temp[20:14] <= h1+1;
  712.                         end
  713.                     else
  714.                         begin
  715.                             temp[20:14] <= h1 + 3;
  716.                             temp[27:21] <= h2;
  717.                         end
  718.                 end
  719.             else if (tempz[20:14] == 12 && tempz[13:7] == 12 && tempz[6:0] == 13 ) //timezone lisbon
  720.                 begin
  721.                     temp[20:14] <= h1;
  722.                     temp[27:21] <= h2;
  723.                 end
  724.             else if (tempz[20:14] == 14 && tempz[13:7] == 14 && tempz[6:0] == 15 ) //timezone sydney
  725.                 begin
  726.                     if (h2 != 0)
  727.                         begin
  728.                             temp[20:14] <= h1;
  729.                             temp[27:21] <= h2 - 1;
  730.                         end
  731.                     else if (h2 == 0 && (h1+3) > 9)
  732.                         begin
  733.                             temp[20:14] <= (h1 + 3)%10;
  734.                             temp[27:21] <= h2;
  735.                         end
  736.                     else if (h2 == 0 && (h1+3) < 9)
  737.                         begin
  738.                             temp[20:14] <= h1 +3;
  739.                             temp[27:21] <= h2;
  740.                         end
  741.                 end
  742.             else if (tempz[20:14] == 13 && tempz[13:7] == 13 && tempz[6:0] == 15 ) //PH
  743.                 begin  
  744.                     kat <= h2;
  745.                     val <= h1;
  746.                 end
  747.             else if (trig3) //ny time
  748.                 begin
  749.                     if (temp[20:14] >= 5)
  750.                     begin
  751.                         if (temp[20:14] == 9 && temp[27:21] == 1)
  752.                         begin
  753.                             kat <= 0; val <= 0;
  754.                         end
  755.                         else
  756.                         begin
  757.                             kat <= temp[27:21]; val <= temp[20:14] -5;
  758.                         end
  759.                     end
  760.                     else if (temp[20:14] < 5)
  761.                     begin
  762.                         if (temp[20:14] != 0 && temp[27:21] == 0 )
  763.                         begin
  764.                             kat <= 2;
  765.                             val <= temp[20:14] - 1;
  766.                         end
  767.                         else
  768.                         begin
  769.                             kat <= temp[27:21] - 1;
  770.                             val <= temp[20:14] + 5;
  771.                         end
  772.                     end
  773.                 end
  774.             else if (trig2) // rio
  775.                 begin
  776.                     if (temp[20:14] >= 3)
  777.                     begin
  778.                         kat <= temp[27:21];
  779.                         val <= temp[20:14]-3;
  780.                     end
  781.                     else if (temp[20:14] < 3 && temp[27:21] != 0)
  782.                     begin  
  783.                         kat <= temp[27:21] - 1;
  784.                         val <= (temp[20:14]+3)%10;
  785.                     end
  786.                     else if (temp[20:14] < 3 && temp[27:21] == 0)
  787.                     begin
  788.                         kat <= temp[27:21] - 1;
  789.                         val <= 2;
  790.                     end
  791.                 end
  792.             else if (trig1) //lisbo
  793.                 begin
  794.                     kat <= temp[27:21];
  795.                     val <= temp[20:14];
  796.                 end
  797.             else if (trig0) // sydney
  798.                 begin
  799.                     if (temp[27:21] == 1 && temp[20:14] >3)
  800.                     begin
  801.                         kat <= 0;
  802.                         val <= temp[20:14] -4;
  803.                     end
  804.                     else if (temp[27:21] == 2 && temp [20:13] <= 3)
  805.                     begin
  806.                         kat <= 0;
  807.                         val <= temp[20:14] + 6;
  808.                     end
  809.                     else
  810.                     begin
  811.                         kat <= temp[27:21] + 1;
  812.                         val <= temp[20:14];
  813.                     end
  814.                 end
  815.             else if (!trig3 && !trig2 && !trig1 && !trig0)
  816.                 begin
  817.                     if (temp[20:14] > 1)
  818.                     begin
  819.                         if (temp[20:14] > 5 && temp[27:21] == 1)
  820.                         begin
  821.                             kat <= 0;
  822.                             val <= temp[20:14] -6;
  823.                         end
  824.                         else
  825.                         begin
  826.                             kat <= temp[27:21] +1;
  827.                             val <= (temp[20:14] + 8)%10;
  828.                         end
  829.                     end
  830.                     else if (temp[20:14] <= 1 && temp[27:21] != 2)
  831.                     begin
  832.                         kat <= temp[27:21];
  833.                         val <= temp[20:14]+8;
  834.                     end
  835.                     else if (temp[27:21] == 2)
  836.                     begin
  837.                         kat <= 0;
  838.                         val <= temp[20:14]+4;
  839.                     end
  840.                 end
  841.             end
  842.         end
  843. //(sw 3 and 2) are 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111      
  844.     else if (sw[3:2] == 1 && sw[1:0] >= 0 && sw[9:4] == 0) //alarm
  845.         begin
  846.             if (s1 < 9  && counter == s)
  847.                 s1 <= s1 + 1;
  848.             else if (s1 == 9 && s2 < 5  && counter == s )
  849.                 begin
  850.                 s1 <= 0;
  851.                 s2 <= s2 + 1;
  852.                 end
  853.             else if (s1 == 9 && s2 == 5 && m1 < 9  && counter == s)
  854.                 begin
  855.                 s1 <= 0;
  856.                 s2 <= 0;
  857.                 m1 <= m1 + 1;
  858.                 end
  859.             else if (s1 == 9 && s2 == 5 && m1 == 9 && m2 < 5  && counter == s)
  860.                 begin
  861.                 s1 <= 0;
  862.                 s2 <= 0;
  863.                 m1 <= 0;
  864.                 m2 <= m2 + 1;
  865.                 end
  866.             else if (s1 == 9 && s2 == 5 && m1 == 9 && m2 == 5 && h1 == 9 && h2 < 2  && counter == s)
  867.                 begin
  868.                 s1 <= 0;
  869.                 s2 <= 0;
  870.                 m1 <= 0;
  871.                 m2 <= 0;
  872.                 h1 <= 0;
  873.                 h2 <= h2 + 1;
  874.                     if(tempp[6:0] == 11 && h1 == 2 && h2 == 1  && counter == s) //A to P
  875.                         begin
  876.                         tempp[6:0] <= 10;
  877.                         stater[9] <= 1;
  878.                         end
  879.                 end
  880.             else if (s1 == 9 && s2 == 5 && m1 == 9 && m2 == 5 && h2 == 2 && h1 < 3  && counter == s)
  881.                 begin
  882.                 s1 <= 0;
  883.                 s2 <= 0;
  884.                 m1 <= 0;
  885.                 m2 <= 0;
  886.                 h1 <= h1 + 1;
  887.                 h2 <= 2;
  888.                 end
  889.             else if (s1 == 9 && s2 == 5 && m1 == 9 && m2 == 5 && h2 == 2 && h1 == 3  && counter == s)
  890.                 begin
  891.                 s1 <= 0;
  892.                 s2 <= 0;
  893.                 m1 <= 0;
  894.                 m2 <= 0;
  895.                 h1 <= 0;
  896.                 h2 <= 0;
  897.                     if(tempp[6:0] == 10) //P to A
  898.                         begin
  899.                         tempp[6:0] <= 11;
  900.                         stater[9] <= 0;
  901.                         end
  902.                 end
  903.             else if (s1 == 9 && s2 == 5 && m1 == 9 && m2 == 5 && h1 < 9  && counter == s)
  904.                 begin
  905.                 s1 <= 0;
  906.                 s2 <= 0;
  907.                 m1 <= 0;
  908.                 m2 <= 0;
  909.                 h1 <= h1 + 1;
  910.                 end
  911.            
  912.             if(h2 == tempa[27:21] && h1 == tempa[20:14] && m2 == tempa[13:7] && m1 == tempa[6:0]) // alarm
  913.                 if (counter >= hs)
  914.                     stateg <= ~stateg;
  915.             else if (trig2) // stop alarm
  916.                 stateg <= 0;
  917.             else if (trig1) //snooze time
  918.                 begin
  919.                 tempst <= 1;
  920.                 s3 <= temps[6:0]; s4 <= temps[13:7]; m3 <= temps[20:14]; m4 <= temps[27:21];
  921.                 end
  922.             else if (tempst == 1)
  923.             begin
  924.                     if (s3 > 0  && counter == s)
  925.                         s3 <= s3 - 1;
  926.                     else if (s3 == 0 && s4 > 0  && counter == s)
  927.                         begin
  928.                         s3 <= 0;
  929.                         s4 <= s4 - 1;
  930.                         end
  931.                     else if (s3 == 0 && s4 == 0 && m3 > 0  && counter == s)
  932.                         begin
  933.                         s3 <= 0;
  934.                         s4 <= 0;
  935.                         m3 <= m3 - 1;
  936.                         end
  937.                     else if (s3 == 0 && s4 == 0 && m3 == 0 && m4 > 0  && counter == s)
  938.                         begin
  939.                         s3 <= 0;
  940.                         s4 <= 0;
  941.                         m3 <= 0;
  942.                         m4 <= m4 - 1;
  943.                         end
  944.                     else if (s3 == 0 && s4 == 0 && m3 == 0 && m4 == 0  && counter == s)
  945.                         begin
  946.                         stateg <= ~stateg;
  947.                         end
  948.                     else
  949.                         stateg <= 0;
  950.                
  951.             end
  952.            
  953.            
  954.         end
  955. //sw[1:0] == 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
  956.         else if (sw[3:2] == 2 && sw[1:0] == 2 && sw[9:6] == 0) //countdown
  957.             begin
  958.                 if (sw[4] == 1 && sw[5] == 0)
  959.                 begin
  960.                     kat <= tempc[27:21]; val <= tempc[20:14]; gee <= tempc[13:7]; ralph <= tempc[6:0];
  961.                         if(trig3) //up minute
  962.                         begin
  963.                             tempc[20:14] <= tempc[20:14]+1;
  964.                        
  965.                             if(tempc[20:14] == 9 && tempc[27:21] == 9)
  966.                             begin
  967.                                 tempc[20:14] <= 0;
  968.                                 tempc[27:21] <= 0;
  969.                             end
  970.                        
  971.                             else if(tempc[27:21] < 9 && tempc[20:14] == 9)
  972.                             begin
  973.                                 tempc[20:14] <= 0;
  974.                                 tempc[27:21] <= tempc[27:21] + 1;
  975.                             end
  976.                         end
  977.  
  978.                         else if(trig2) //down minute
  979.                         begin
  980.                             tempc[20:14] <= tempc[20:14]-1;
  981.  
  982.                             if(tempc[20:14] == 0 && tempc[27:21] == 0)
  983.                             begin
  984.                                 tempc[20:14] <= 9;
  985.                                 tempc[27:21] <= 9;
  986.                             end
  987.                        
  988.                             else if(tempc[27:21] > 0 && tempc[20:14] == 0)
  989.                             begin
  990.                                 tempc[20:14] <= 9;
  991.                                 tempc[27:21] <= gee - 1;
  992.                             end
  993.                         end
  994.                
  995.                         else if (trig1) // up seconds
  996.                         begin
  997.                             tempc[6:0] <= tempc[6:0]+1;
  998.                        
  999.                             if(tempc[6:0] == 9 && tempc[13:7] == 5)
  1000.                             begin
  1001.                                 tempc[6:0] <= 0;
  1002.                                 tempc[13:7] <= 0;
  1003.                             end
  1004.                        
  1005.                             else if(tempc[13:7] < 5 && tempc[6:0] == 9)
  1006.                             begin
  1007.                                 tempc[6:0] <= 0;
  1008.                                 tempc[13:7] <= tempc[13:7] + 1;
  1009.                             end
  1010.  
  1011.                         end
  1012.                         else if (trig0) // down seconds
  1013.                         begin
  1014.                             tempc[6:0] <= tempc[6:0]-1;
  1015.  
  1016.                             if(tempc[13:7] == 0 && tempc[6:0] == 0)
  1017.                             begin
  1018.                                 tempc[6:0] <= 9;
  1019.                                 tempc[13:7] <= 5;
  1020.                             end
  1021.                        
  1022.                             else if(tempc[13:7] > 0 && tempc[6:0] == 0)
  1023.                             begin
  1024.                                 tempc[6:0] <= 9;
  1025.                                 tempc[13:7] <= tempc[13:7] - 1;
  1026.                             end
  1027.                         end
  1028.                 end
  1029.                
  1030.                 else if (sw[4] == 0 && sw[5] == 1)
  1031.                 begin
  1032.                     if (tempc2 == 0 )
  1033.                     begin
  1034.                         if (ralph > 0 && counter == s)
  1035.                             ralph <= ralph - 1;
  1036.                         else if (ralph == 0 && gee > 0 && counter == s)
  1037.                             begin
  1038.                             ralph <= 9;
  1039.                             gee <= gee - 1;
  1040.                             end
  1041.                         else if (ralph == 0 && gee == 0 && val > 0 && counter == s)
  1042.                             begin
  1043.                             ralph <= 9;
  1044.                             gee <= 5;
  1045.                             val <= val - 1;
  1046.                             end
  1047.                         else if (ralph == 0 && gee == 0 && val == 0 && kat > 0 && counter == s)
  1048.                             begin
  1049.                             ralph <= 0;
  1050.                             gee <= 0;
  1051.                             val <= 0;
  1052.                             kat <= kat - 1;
  1053.                             end
  1054.                         else if (ralph == 0 && gee == 0 && val == 0 && kat == 0 && counter == s)
  1055.                             begin
  1056.                             ralph <= 0;
  1057.                             gee <= 0;
  1058.                             val <= 0;
  1059.                             kat <= 0;
  1060.                             end
  1061.                     end
  1062.                     else if (trig3 && tempc2 == 0)
  1063.                         tempc2 <= 1;
  1064.                     else if (trig3 && tempc2 == 1)
  1065.                         tempc2 <= 0;
  1066.                     else if (trig0)
  1067.                         begin
  1068.                             ralph <= tempc[6:0];
  1069.                             gee <= tempc[13:7];
  1070.                             val <= tempc[20:14];
  1071.                             kat <= tempc[27:21];
  1072.                         end
  1073.                     else if (tempc2 == 1)
  1074.                         begin
  1075.                             ralph <= ralph;
  1076.                             gee <= gee;
  1077.                             val <= val;
  1078.                             kat <= kat;
  1079.                         end
  1080.                        
  1081.                 end
  1082.             end
  1083. //sw[3:2] - 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
  1084.         else if (sw[3:2] == 3 && sw[1:0] == 2 && sw[9:6] == 0 && sw[4] == 0) //stopwatch
  1085.             begin
  1086.                 if (sw[5] == 0)
  1087.                 begin
  1088.                     kat <= 0; val <= 0; gee <= 0; ralph <= 0;
  1089.                 end
  1090.                 if (sw[5] == 1)
  1091.                 begin
  1092.                     if (tempw == 0)
  1093.                     begin
  1094.                         if (ralph < 9 && counter == s)
  1095.                             ralph <= ralph + 1;
  1096.                         else if (ralph == 9 && gee < 5 && counter == s)
  1097.                             begin
  1098.                             ralph <= 0;
  1099.                             gee <= gee + 1;
  1100.                             end
  1101.                         else if (ralph == 9 && gee == 5 && val < 9 && counter == s)
  1102.                             begin
  1103.                             ralph <= 0;
  1104.                             gee <= 0;
  1105.                             val <= val + 1;
  1106.                             end
  1107.                         else if (ralph == 9 && gee == 5 && val == 9 && kat < 9 && counter == s)
  1108.                             begin
  1109.                             ralph <= 0;
  1110.                             gee <= 0;
  1111.                             val <= 0;
  1112.                             kat <= kat + 1;
  1113.                             end
  1114.                         else if (ralph == 9 && gee == 5 && val == 9 && kat == 9 && counter == s)
  1115.                             begin
  1116.                             ralph <= 9;
  1117.                             gee <= 5;
  1118.                             val <= 9;
  1119.                             kat <= 9;
  1120.                             end
  1121.                     end
  1122.                     else if (trig3 && tempw == 0)
  1123.                         tempw <= 1;
  1124.                     else if (trig3 && tempw == 1)
  1125.                         tempw <= 0;
  1126.                     else if (trig0)
  1127.                         begin
  1128.                             ralph <= 0;
  1129.                             gee <= 0;
  1130.                             val <= 0;
  1131.                             kat <= 0;
  1132.                         end
  1133.                     else if (tempw == 1)
  1134.                         begin
  1135.                             ralph <= ralph;
  1136.                             gee <= gee;
  1137.                             val <= val;
  1138.                             kat <= kat;
  1139.                         end
  1140.                    
  1141.                 end
  1142.             end
  1143.    
  1144. case (kat)
  1145. 0:state3 <= 1;
  1146. 1:state3 <= 79;
  1147. 2:state3 <= 18;
  1148. 3:state3 <= 6;
  1149. 4:state3 <= 76;
  1150. 5:state3 <= 36;
  1151. 6:state3 <= 32;
  1152. 7:state3 <= 13;
  1153. 8:state3 <= 0;
  1154. 9:state3 <= 4;
  1155. 127:state3 <= 127;
  1156. endcase
  1157. case (val)
  1158. 0:state2 <= 1;
  1159. 1:state2 <= 79;
  1160. 2:state2 <= 18;
  1161. 3:state2 <= 6;
  1162. 4:state2 <= 76;
  1163. 5:state2 <= 36;
  1164. 6:state2 <= 32;
  1165. 7:state2 <= 13;
  1166. 8:state2 <= 0;
  1167. 9:state2 <= 4;
  1168. 10:state2 <= 7'b0001001; //n
  1169. 11:state2 <= 7'b0111001; //r
  1170. 12:state2 <= 7'b1110001; //L
  1171. 13:state2 <= 7'b0011000; //P
  1172. 14:state2 <= 7'b0100100; //S
  1173. 127:state2 <= 127;
  1174. endcase
  1175. case (gee)
  1176. 0:state1 <= 1;
  1177. 1:state1 <= 79;
  1178. 2:state1 <= 18;
  1179. 3:state1 <= 6;
  1180. 4:state1 <= 76;
  1181. 5:state1 <= 36;
  1182. 6:state1 <= 32;
  1183. 7:state1 <= 13;
  1184. 8:state1 <= 0;
  1185. 9:state1 <= 4;
  1186. 10:state1 <= 7'b1000100; //Y
  1187. 11:state1 <= 79; //I
  1188. 12:state1 <= 79; //I
  1189. 13:state1 <= 7'b1001000; //H
  1190. 14:state1 <= 7'b1000100; //Y
  1191. 127:state1 <= 127;
  1192. endcase
  1193. case (ralph)
  1194. 0:state0 <= 1;
  1195. 1:state0 <= 79;
  1196. 2:state0 <= 18;
  1197. 3:state0 <= 6;
  1198. 4:state0 <= 76;
  1199. 5:state0 <= 36;
  1200. 6:state0 <= 32;
  1201. 7:state0 <= 13;
  1202. 8:state0 <= 0;
  1203. 9:state0 <= 4;
  1204. 10:state0 <= 7'b0011000; //P
  1205. 11:state0 <= 7'b0001000; //A
  1206. 12:state0 <= 7'b0110001; //C
  1207. 13:state0 <= 1; //O
  1208. 14:state0 <= 7'b0100100; //S
  1209. 15:state0 <= 7'b1110001; //L
  1210. 16:state0 <= 7'b1000010; //d
  1211. 127:state0 <= 127;
  1212. endcase
  1213.     end
  1214. end
  1215.  
  1216. always @(posedge clk)
  1217. begin
  1218.     if (sw[9] == 1)
  1219.         counter <= 0;
  1220.     else if (counter >= hs && sw[9] == 0)
  1221.         counter <= 0;
  1222.     else if (counter == s && sw[9] == 0)
  1223.         counter <= 0;
  1224.     else
  1225.         counter <= counter + 1;        
  1226. end
  1227.  
  1228. endmodule
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top