TheLegace

TheLegace

Sep 26th, 2011
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module Lab2(
  2.                 input CLOCK_50,             //50Mhz input clock
  3.                 input [3:0] KEY,                //4 Pushbuttons
  4.                 output reg [7:0] HEX0,      //7-seg display 0
  5.                 output reg [7:0] HEX1,      //7-seg display 0
  6.                 output reg [17:0] LEDR
  7. );
  8.  
  9.     reg [7:0] count;                //8-bit counter
  10.     reg [7:0] push2;                //count when pushbutton 3/KEY[2] is pushed
  11.     reg flag;                       //set once pushbutton3/KEY[2] is pushed
  12.     reg [7:0] elapsed;              //elapsed time between pushbutton3/KEY[2] and pushbutton2/KEY[1]
  13.     wire [7:0] h0,h1;
  14.     seg7 s1(elapsed[7:4], h1);
  15.     seg7 s0(elapsed[3:0], h0);
  16.    
  17.     always @ (posedge CLOCK_50)
  18.         begin
  19.             if(count==16'b1100001101010000) //divider by 50 000 -->resulting count ever 1ms
  20.                 count <= 4'b0000;   //reset to 0
  21.             else count <= count+1;  //increment counter
  22.             if(KEY[2]) begin
  23.                 push2 <= count;
  24.                 flag = 1;
  25.             end
  26.             if(flag && KEY[1]) begin
  27.                 elapsed <= count-push2;
  28.                 HEX1=h1;
  29.                 HEX0=h0;
  30.             end
  31.             if(~flag && KEY[1]) begin   //KEY[1] enabled first
  32.                 LEDR[0] = 1;                //error LED
  33.                 HEX0 = 8'b0;                //output 0
  34.                 HEX1 = 8'b0;                //output 0
  35.             end
  36.         end
  37. endmodule
  38.  
  39. module seg7(input [3:0] DEC,                //4-bit decimal value to output on LED
  40.                 output reg [7:0] LED            //8-bit Value of value of LED
  41. );
  42.     always @(DEC)
  43.         case(DEC)
  44.             0: LED = 7'b1111110;
  45.         1: LED = 7'b0110000;
  46.             2: LED = 7'b1101101;
  47.             3: LED = 7'b1111001;
  48.             4: LED = 7'b0110011;
  49.             5: LED = 7'b1011011;
  50.             6: LED = 7'b1011111;
  51.             7: LED = 7'b1110000;
  52.             8: LED = 7'b1111111;
  53.             9: LED = 7'b1111011;
  54.             10: LED = 7'b1110111;
  55.             11: LED = 7'b0011111;
  56.             12: LED = 7'b1001110;
  57.             13: LED = 7'b0111101;
  58.             14: LED = 7'b1001111;
  59.             15: LED = 7'b1000111;
  60.             default: LED = 7'bx;
  61.         endcase
  62. endmodule
  63.  
Advertisement
Add Comment
Please, Sign In to add comment