RenHao

20130515_DigitalDesign_Test_2

May 15th, 2013
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module counter(input ck,re,
  2.         output reg [7:0]seg,led); //seg[7:1] = {a,b,c,d,e,f,g} ; seg[0] = enable ;
  3.  
  4. reg [24:0]div;
  5. reg ck_1;
  6. reg [2:0]Q ;
  7.  
  8. always @(posedge ck,negedge re)
  9. begin
  10.     if(!re) begin div <= 0 ; ck_1 <= 0 ; end
  11.     else if(div == 24999999) begin div <= 0 ; ck_1 <= ~ck_1 ; end
  12.     else div <= div + 1 ;
  13. end
  14.  
  15. always @(posedge ck_1,negedge re)
  16. begin
  17.     if(!re) Q <= 3'b111 ;
  18.     else
  19.         case(Q)
  20.         3'b000:   begin Q <= 3'b111 ; led <= 8'b11111110 ; seg <= 8'b00000010 ; end
  21.         3'b001:   begin Q <= 3'b000 ; led <= 8'b11111101 ; seg <= 8'b10011110 ; end
  22.         3'b010:   begin Q <= 3'b001 ; led <= 8'b11111011 ; seg <= 8'b00100100 ; end
  23.         3'b011:   begin Q <= 3'b010 ; led <= 8'b11110111 ; seg <= 8'b00001100 ; end
  24.         3'b100:   begin Q <= 3'b011 ; led <= 8'b11101111 ; seg <= 8'b10011000 ; end
  25.         3'b101:   begin Q <= 3'b100 ; led <= 8'b11011111 ; seg <= 8'b01001000 ; end
  26.         3'b110:   begin Q <= 3'b101 ; led <= 8'b10111111 ; seg <= 8'b01000000 ; end
  27.         3'b111:   begin Q <= 3'b110 ; led <= 8'b01111111 ; seg <= 8'b00011110 ; end
  28.         default:  begin Q <= 3'b111 ; led <= 8'b01111111 ; seg <= 8'b00011110 ; end
  29.         endcase
  30. end
  31.  
  32. endmodule
Advertisement
Add Comment
Please, Sign In to add comment