Advertisement
Guest User

Untitled

a guest
Sep 21st, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. module fpgatest(
  2. input OSC_50_B7A, // 50 MHz clock
  3.  
  4. output [3:0] LED,
  5. output [3:0] LED_BRACKET,
  6. output LED_RJ45_L,
  7. output LED_RJ45_R
  8. );
  9.  
  10. assign clk_main = OSC_50_B7A;
  11.  
  12. // Offsets for desired frequencies
  13. parameter c_CNT_2HZ = 25000000; // period = 1/2 seconds
  14. parameter c_CNT_3HZ = 16666667; // period = 1/3 seconds
  15.  
  16. // Counter
  17. reg [31:0] r_CNT_2HZ = 0;
  18. reg [31:0] r_CNT_3HZ = 0;
  19.  
  20. reg led_2HZ_on;
  21. reg led_3HZ_on;
  22.  
  23. always @ (posedge clk_main)
  24. begin
  25. if (r_CNT_2HZ == c_CNT_2HZ - 1) // -1, since counter starts at 0
  26. begin
  27. led_2HZ_on <= !led_2HZ_on;
  28. r_CNT_2HZ <= 0;
  29. end
  30. else
  31. r_CNT_2HZ <= r_CNT_2HZ + 1;
  32. end
  33.  
  34.  
  35. always @ (posedge clk_main)
  36. begin
  37. if (r_CNT_3HZ == c_CNT_3HZ - 1)
  38. begin
  39. led_3HZ_on <= !led_3HZ_on;
  40. r_CNT_3HZ <= 0;
  41. end
  42. else
  43. r_CNT_3HZ <= r_CNT_3HZ + 1;
  44. end
  45.  
  46.  
  47. assign LED_RJ45_L = led_2HZ_on;
  48. assign LED_RJ45_R = led_3HZ_on;
  49.  
  50. assign LED[0] = led_2HZ_on;
  51. assign LED[1] = led_2HZ_on;
  52. assign LED[2] = led_3HZ_on;
  53. assign LED[3] = led_3HZ_on;
  54.  
  55. assign LED_BRACKET[0] = led_2HZ_on;
  56. assign LED_BRACKET[1] = led_2HZ_on;
  57. assign LED_BRACKET[2] = led_3HZ_on;
  58. assign LED_BRACKET[3] = led_3HZ_on;
  59.  
  60. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement