Advertisement
Guest User

Untitled

a guest
Mar 13th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module person_counter(LEDR, KEY, CLOCK_50);
  2.     input CLOCK_50; // 50 MHz clock generator
  3.     input [3:0] KEY; // use the "0"-th button as a reset button
  4.     output [17:0] LEDR;
  5.     wire reset;
  6.     wire button;
  7.  
  8.     assign reset = !KEY[0];
  9.     assign button = !KEY[1];
  10.     count_seconds u1(LEDR, reset, button, CLOCK_50);
  11. endmodule
  12.  
  13. module count_seconds(red_led, reset, button, clock);
  14.     input clock;
  15.     input button;
  16.     input reset;
  17.     output [17:0] red_led;
  18.     reg [30:0] counter;
  19.     reg led;
  20.     reg [18:0] seconds_counter; // counts seconds
  21.  
  22.     assign red_led = seconds_counter[18:1]; // select "seconds"
  23.  
  24. always @(posedge clock or posedge button or posedge reset)
  25.     if (reset) begin
  26.         counter = 0;
  27.         led = 0;
  28.     end
  29.  
  30. // process for counting seconds
  31. always @(posedge clock or posedge reset)
  32.     if (reset)
  33.         seconds_counter = 0;
  34.     else
  35.         if (button)
  36.             seconds_counter = seconds_counter + 1;
  37. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement