You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

112 lines
2.6 KiB

2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. module zutils_genlock_clk_generator #(
  2. parameter SYS_CLOCK_FREQ = 100000000
  3. ) (
  4. input clk, //clock input
  5. input rst_n, //asynchronous reset input, low active
  6. input wire ctrl_sig ,
  7. output wire genlock_fps2397_clk,
  8. output wire genlock_fps2398_clk,
  9. output wire genlock_fps2400_clk,
  10. output wire genlock_fps2500_clk,
  11. output wire genlock_fps2997_clk,
  12. output wire genlock_fps3000_clk,
  13. output wire genlock_fps5000_clk,
  14. output wire genlock_fps5994_clk,
  15. output wire genlock_fps6000_clk
  16. );
  17. zutils_pwm_generator_advanced #(
  18. .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ),
  19. .OUTPUT_FREQ_P00(2397)
  20. ) genlock_2397 (
  21. .clk(clk),
  22. .rst_n(rst_n),
  23. .ctrl_sig(ctrl_sig),
  24. .output_signal(genlock_fps2397_clk)
  25. );
  26. zutils_pwm_generator_advanced #(
  27. .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ),
  28. .OUTPUT_FREQ_P00(2398)
  29. ) genlock_2398 (
  30. .clk(clk),
  31. .rst_n(rst_n),
  32. .ctrl_sig(ctrl_sig),
  33. .output_signal(genlock_fps2398_clk)
  34. );
  35. zutils_pwm_generator_advanced #(
  36. .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ),
  37. .OUTPUT_FREQ_P00(2400)
  38. ) genlock_2400 (
  39. .clk(clk),
  40. .rst_n(rst_n),
  41. .ctrl_sig(ctrl_sig),
  42. .output_signal(genlock_fps2400_clk)
  43. );
  44. zutils_pwm_generator_advanced #(
  45. .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ),
  46. .OUTPUT_FREQ_P00(2500)
  47. ) genlock_2500 (
  48. .clk(clk),
  49. .rst_n(rst_n),
  50. .ctrl_sig(ctrl_sig),
  51. .output_signal(genlock_fps2500_clk)
  52. );
  53. zutils_pwm_generator_advanced #(
  54. .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ),
  55. .OUTPUT_FREQ_P00(2997)
  56. ) genlock_2997 (
  57. .clk(clk),
  58. .rst_n(rst_n),
  59. .ctrl_sig(ctrl_sig),
  60. .output_signal(genlock_fps2997_clk)
  61. );
  62. zutils_pwm_generator_advanced #(
  63. .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ),
  64. .OUTPUT_FREQ_P00(3000)
  65. ) genlock_3000 (
  66. .clk(clk),
  67. .rst_n(rst_n),
  68. .ctrl_sig(ctrl_sig),
  69. .output_signal(genlock_fps3000_clk)
  70. );
  71. zutils_pwm_generator_advanced #(
  72. .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ),
  73. .OUTPUT_FREQ_P00(5000)
  74. ) genlock_5000 (
  75. .clk(clk),
  76. .rst_n(rst_n),
  77. .ctrl_sig(ctrl_sig),
  78. .output_signal(genlock_fps5000_clk)
  79. );
  80. zutils_pwm_generator_advanced #(
  81. .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ),
  82. .OUTPUT_FREQ_P00(5994)
  83. ) genlock_5994 (
  84. .clk(clk),
  85. .rst_n(rst_n),
  86. .ctrl_sig(ctrl_sig),
  87. .output_signal(genlock_fps5994_clk)
  88. );
  89. zutils_pwm_generator_advanced #(
  90. .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ),
  91. .OUTPUT_FREQ_P00(6000)
  92. ) genlock_6000 (
  93. .clk(clk),
  94. .rst_n(rst_n),
  95. .ctrl_sig(ctrl_sig),
  96. .output_signal(genlock_fps6000_clk)
  97. );
  98. endmodule