Advertisement
Guest User

Untitled

a guest
Apr 26th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module ProjectGame(HEXVALUE1, HEXVALUE2, HEXVALUE3, HEXVALUE4, HEXLEVEL, STATE, LEDTRUE, LEDFALSE, //Output
  2. RESET, CLOCK, A0,A1,A2,A3,  B4,B5,B6,B7,  C8,C9,C10,C11, D12,D13,D14,D15); //Inputs
  3.  
  4. output reg [6:0] HEXVALUE1;
  5. output reg [6:0] HEXVALUE2;
  6. output reg [6:0] HEXVALUE3;
  7. output reg [6:0] HEXVALUE4;
  8. output reg [6:0] HEXLEVEL;
  9. output reg [3:0] STATE = 0;
  10. output reg LEDTRUE = 0, LEDFALSE = 0;
  11. input  CLOCK, RESET;
  12. input A0,A1,A2,A3;
  13. input B4,B5,B6,B7;
  14. input C8,C9,C10,C11;
  15. input D12,D13,D14,D15;
  16.  
  17. initial begin
  18.     HEXVALUE1 = 7'b1111001; //1 0001
  19.     HEXVALUE2 = 7'b0100100; //2 0010
  20.     HEXVALUE3 = 7'b0110000; //3 0011
  21.     HEXVALUE4 = 7'b0011001; //4 0100
  22.     HEXLEVEL =  7'b1111001; //1 0001
  23. end
  24.  
  25. always @ (posedge CLOCK) begin
  26.     if (RESET == 1) begin
  27.         HEXVALUE1 = 7'b1111001; //1 0001
  28.         HEXVALUE2 = 7'b0100100; //2 0010
  29.         HEXVALUE3 = 7'b0110000; //3 0011
  30.         HEXVALUE4 = 7'b0011001; //4 0100
  31.         HEXLEVEL =  7'b1111001; //1 0001
  32.         LEDFALSE = 0;
  33.         LEDTRUE = 0;
  34.         STATE = 3'b000;
  35.     end
  36.     else begin
  37.         case (STATE)
  38.             3'b000: begin //Level1 -> 4321
  39.                 if (LEDTRUE == 1) begin
  40.                     LEDTRUE = 0;
  41.                 end
  42.                 if ((A0 == 1 && A1 == 0 && A2 == 0 && A3 == 0) && (B4 == 0 && B5 == 1 && B6 == 0 && B7 == 0) && (C8 == 1 && C9 == 1 && C10 == 0 && C11 == 0) && (D12 == 0 && D13 == 0 && D14 == 1 && D15 == 0)) begin
  43.                     if (LEDFALSE == 1) begin
  44.                         LEDFALSE = 0;
  45.                     end
  46.                     LEDTRUE = 1;
  47.                     STATE = 3'b001;
  48.                     HEXVALUE1 = 7'b0011001; //4 0100
  49.                     HEXVALUE2 = 7'b0110000; //3 0011
  50.                     HEXVALUE3 = 7'b0100100; //2 0010
  51.                     HEXVALUE4 = 7'b1111001; //1 0001
  52.                     HEXLEVEL =  7'b0100100; //2 0010
  53.                 end
  54.                 else begin
  55.                     LEDFALSE = 1;
  56.                     STATE = 3'b000;
  57.                 end
  58.             end
  59.             3'b001: begin //Level2 -> 1234
  60.                 if (LEDTRUE == 1) begin
  61.                     LEDTRUE = 0;
  62.                 end
  63.                 if ((A0 == 0 && A1 == 0 && A2 == 1 && A3 == 0) && (B4 == 1 && B5 == 1 && B6 == 0 && B7 == 0) && (C8 == 0 && C9 == 1 && C10 == 0 && C11 == 0) && (D12 == 1 && D13 == 0 && D14 == 0 && D15 == 0)) begin
  64.                     if (LEDFALSE == 1) begin
  65.                         LEDFALSE = 0;
  66.                     end
  67.                     LEDTRUE = 1;
  68.                     STATE = 3'b010;
  69.                     HEXVALUE1 = 7'b0100100; //2 0010
  70.                     HEXVALUE2 = 7'b1111001; //1 0001
  71.                     HEXVALUE3 = 7'b0011001; //4 0100
  72.                     HEXVALUE4 = 7'b0110000; //3 0011
  73.                     HEXLEVEL =  7'b0110000; //3 0011
  74.                 end
  75.                 else begin
  76.                     HEXVALUE1 = 7'b1111001; //1 0001
  77.                     HEXVALUE2 = 7'b0100100; //2 0010
  78.                     HEXVALUE3 = 7'b0110000; //3 0011
  79.                     HEXVALUE4 = 7'b0011001; //4 0100
  80.                     HEXLEVEL =  7'b1111001; //1 0001
  81.                     LEDFALSE = 1;
  82.                     STATE = 3'b000;
  83.                 end
  84.             end
  85.             3'b010: begin //Level3 -> 2143
  86.                 if (LEDTRUE == 1) begin
  87.                     LEDTRUE = 0;
  88.                 end
  89.                 //0010 0001
  90.                 if ((A0 == 0 && A1 == 1 && A2 == 0 && A3 == 0) && (B4 == 1 && B5 == 0 && B6 == 0 && B7 == 0) && (C8 == 0 && C9 == 0 && C10 == 1 && C11 == 0) && (D12 == 1 && D13 == 1 && D14 == 0 && D15 == 0)) begin
  91.                     if (LEDFALSE == 1) begin
  92.                         LEDFALSE = 0;
  93.                     end
  94.                     LEDTRUE = 1;
  95.                     STATE = 3'b011;
  96.                     HEXVALUE1 = 7'b0100100; //2 0010
  97.                     HEXVALUE2 = 7'b0110000; //3 0011
  98.                     HEXVALUE3 = 7'b0011001; //4 0100
  99.                     HEXVALUE4 = 7'b1111001; //1 0001
  100.                     HEXLEVEL =  7'b0011001; //4 0100
  101.                 end
  102.                 else begin
  103.                     HEXVALUE1 = 7'b1111001; //1 0001
  104.                     HEXVALUE2 = 7'b0100100; //2 0010
  105.                     HEXVALUE3 = 7'b0110000; //3 0011
  106.                     HEXVALUE4 = 7'b0011001; //4 0100
  107.                     HEXLEVEL =  7'b1111001; //1 0001
  108.                     LEDFALSE = 1;
  109.                     STATE = 3'b000;
  110.                 end
  111.             end
  112.             4'b011: begin //Level4 -> 1432
  113.                 if (LEDTRUE == 1) begin
  114.                     LEDTRUE = 0;
  115.                 end
  116.                 //0010 0011 0100 0001
  117.                 if ((A0 == 0 && A1 == 1 && A2 == 0 && A3 == 0) && (B4 == 1 && B5 == 1 && B6 == 0 && B7 == 0) && (C8 == 0 && C9 == 0 && C10 == 1 && C11 == 0) && (D12 == 1 && D13 == 0 && D14 == 0 && D15 == 0)) begin
  118.                     if (LEDFALSE == 1) begin
  119.                         LEDFALSE = 0;
  120.                     end
  121.                     LEDTRUE = 1;
  122.                     STATE = 3'b000;
  123.                 end
  124.                 else begin
  125.                     HEXVALUE1 = 7'b1111001; //1 0001
  126.                     HEXVALUE2 = 7'b0100100; //2 0010
  127.                     HEXVALUE3 = 7'b0110000; //3 0011
  128.                     HEXVALUE4 = 7'b0011001; //4 0100
  129.                     HEXLEVEL =  7'b1111001; //1 0001
  130.                     LEDFALSE = 1;
  131.                     STATE = 3'b000;
  132.                 end
  133.             end
  134.         endcase
  135.     end
  136. end
  137. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement