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.

90 lines
1.9 KiB

2 years ago
  1. `timescale 10ns / 10ns
  2. module test_timecode_generator;
  3. // module timecode_generator #(
  4. // parameter SYS_CLOCK_FREQ = 10000000
  5. // ) (
  6. // input clk, //clock input
  7. // input rst_n, //asynchronous reset input, low active
  8. // input [31:0] timecode_format,
  9. // input timecode0_wen,
  10. // input [31:0] timecode0,
  11. // input timecode1_wen,
  12. // input [31:0] timecode1,
  13. // input en,
  14. // output wire out_timecode_serial_data,
  15. // output wire out_trigger_sig,
  16. // output wire [31:0] out_timecode0,
  17. // output wire [31:0] out_timecode1
  18. // )
  19. reg sys_clk;
  20. reg rst_n;
  21. reg [31:0] timecode_format;
  22. reg timecode0_wen;
  23. reg [31:0] timecode0;
  24. reg timecode1_wen;
  25. reg [31:0] timecode1;
  26. reg en;
  27. wire out_timecode_serial_data;
  28. wire out_trigger_sig;
  29. wire [31:0] out_timecode0;
  30. wire [31:0] out_timecode1;
  31. timecode_generator #(
  32. .SYS_CLOCK_FREQ(10000000)
  33. ) timecode_generator_inst (
  34. .clk(sys_clk),
  35. .rst_n(rst_n),
  36. .timecode_format(timecode_format),
  37. .timecode0_wen(timecode0_wen),
  38. .timecode0(timecode0),
  39. .timecode1_wen(timecode1_wen),
  40. .timecode1(timecode1),
  41. .en(en),
  42. .out_timecode_serial_data(out_timecode_serial_data),
  43. .out_trigger_sig(out_trigger_sig),
  44. .out_timecode0(out_timecode0),
  45. .out_timecode1(out_timecode1)
  46. );
  47. localparam FPS2398Format = 0;
  48. localparam FPS2400Format = 1;
  49. localparam FPS2500Format = 2;
  50. localparam FPS2997Format = 3;
  51. localparam FPS2997DropFormat = 4;
  52. localparam FPS3000Format = 5;
  53. initial begin
  54. sys_clk = 0;
  55. rst_n = 0;
  56. en = 0;
  57. timecode0_wen = 0;
  58. timecode1_wen = 0;
  59. timecode0 = 0;
  60. timecode1 = 0;
  61. timecode_format = FPS2398Format;
  62. #100;
  63. rst_n = 1;
  64. #100;
  65. en = 1;
  66. #100000000;
  67. $stop;
  68. end
  69. always #5 sys_clk = ~sys_clk; // 50MHZ时钟
  70. endmodule