MeasStartEventGen.v 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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: mult_module
  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. //commands:
  21. // ExtTrigUsage: 0 - no, 1 - yes.
  22. //
  23. //
  24. //
  25. //
  26. //
  27. //////////////////////////////////////////////////////////////////////////////////
  28. module MeasStartEventGen
  29. #(
  30. parameter CmdRegWidth = 32
  31. )
  32. (
  33. input Clk_i,
  34. input Rst_i,
  35. input MeasTrig_i,
  36. input StartMeasDsp_i,
  37. output StartMeasEvent_o,
  38. output InitTrig_o
  39. );
  40. //================================================================================
  41. // LOCALPARAM
  42. //================================================================================
  43. reg startMeasEvent;
  44. reg initTrig;
  45. reg measTrigReg;
  46. wire measTrigPos;
  47. //================================================================================
  48. // ASSIGNMENTS
  49. assign measTrigPos = (!measTrigReg&MeasTrig_i);
  50. assign StartMeasEvent_o = startMeasEvent;
  51. assign InitTrig_o = initTrig;
  52. //================================================================================
  53. // CODING
  54. always @(posedge Clk_i) begin
  55. if (!Rst_i) begin
  56. measTrigReg <= MeasTrig_i;
  57. end else begin
  58. measTrigReg = 0;
  59. end
  60. end
  61. always @(posedge Clk_i) begin
  62. if (!Rst_i) begin
  63. if (StartMeasDsp_i) begin
  64. if (measTrigPos) begin
  65. startMeasEvent <= 1'b1;
  66. end
  67. end else begin
  68. startMeasEvent <= 0;
  69. end
  70. end else begin
  71. startMeasEvent <= 0;
  72. end
  73. end
  74. always @(*) begin
  75. if (!Rst_i) begin
  76. if (StartMeasDsp_i) begin
  77. if (measTrigPos) begin
  78. initTrig = 1'b1;
  79. end else begin
  80. initTrig = 1'b0;
  81. end
  82. end else begin
  83. initTrig = 0;
  84. end
  85. end else begin
  86. initTrig = 0;
  87. end
  88. end
  89. endmodule