RefSequenseGenTb.v 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. `timescale 1ns / 1ps
  2. //////////////////////////////////////////////////////////////////////////////////
  3. // Company:
  4. // Engineer:
  5. //
  6. // Create Date: 10:02:35 04/20/2020
  7. // Design Name:
  8. // Module Name: PulseGen
  9. // Project Name:
  10. // Target Devices:
  11. // Tool versions:
  12. // Description:
  13. //
  14. // Dependencies:
  15. //
  16. // Revision:
  17. // Revision 0.01 - File Created
  18. // Additional Comments:
  19. //
  20. //////////////////////////////////////////////////////////////////////////////////
  21. module RefSequenceGenTb();
  22. //================================================================================
  23. // PARAMETERS
  24. parameter CmdRegWidth = 32;
  25. //================================================================================
  26. // REG/WIRE
  27. reg Clk50;
  28. reg Rst;
  29. reg OpMode;
  30. reg [CmdRegWidth-1:0] PulsePeriod;
  31. reg StartMeasEvent;
  32. //================================================================================
  33. // ASSIGNMENTS
  34. //================================================================================
  35. // CODING
  36. always #10 Clk50 = ~Clk50;
  37. initial begin
  38. Clk50 = 1'b1;
  39. Rst = 1'b1;
  40. OpMode = 1'b0;
  41. PulsePeriod = 32'd0;
  42. StartMeasEvent = 1'b0;
  43. #50
  44. Rst = 1'b0;
  45. PulsePeriod = 32'd20;
  46. #20
  47. OpMode = 1'b1;
  48. #100
  49. StartMeasEvent = 1'b1;
  50. #2000
  51. OpMode = 1'b0;
  52. end
  53. RefSequenceGen RefSequenceGenInst
  54. (
  55. .Rst_i (Rst),
  56. .Clk_i (Clk50),
  57. .StartMeasEvent_i (StartMeasEvent),
  58. .OpMode_i (OpMode),
  59. .PulsePeriod_i (PulsePeriod),
  60. .Pulse_o ()
  61. );
  62. endmodule