ExtTrigMux.v 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. //////////////////////////////////////////////////////////////////////////////////
  21. module ExtTrigMux
  22. #(
  23. parameter CmdDataRegWith = 24
  24. )
  25. (
  26. input Rst_i,
  27. input Clk_i,
  28. input ExtTrig0_i,
  29. input ExtTrig1_i,
  30. input [CmdDataRegWith-1:0] TrigCtrl0_i,
  31. input [CmdDataRegWith-1:0] TrigCtrl1_i,
  32. output MeasTrig_o,
  33. output MeasTrigVal_o
  34. );
  35. //================================================================================
  36. // LOCALPARAM
  37. //================================================================================
  38. reg measTrig;
  39. reg measTrigVal;
  40. wire trig0En = TrigCtrl0_i[0];
  41. wire trig1En = TrigCtrl1_i[0];
  42. wire trig0Type = TrigCtrl0_i[4];
  43. wire trig1Type = TrigCtrl1_i[4];
  44. //================================================================================
  45. // ASSIGNMENTS
  46. assign MeasTrig_o = measTrig;
  47. assign MeasTrigVal_o = measTrigVal;
  48. //================================================================================
  49. // CODING
  50. always @(posedge Clk_i) begin
  51. if (!Rst_i) begin
  52. if (trig0En&trig0Type) begin
  53. measTrig <= ExtTrig0_i;
  54. measTrigVal <= trig0En;
  55. end else if (trig1En&trig1Type) begin
  56. measTrig <= ExtTrig1_i;
  57. measTrigVal <= trig1En;
  58. end else begin
  59. measTrig <=0;
  60. measTrigVal <=0;
  61. end
  62. end else begin
  63. measTrig <=0;
  64. measTrigVal <=0;
  65. end
  66. end
  67. endmodule