AdcInitInterface.v 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. `timescale 1ns / 1ps
  2. //////////////////////////////////////////////////////////////////////////////////
  3. // company:
  4. // engineer:
  5. //
  6. // create date: 11:56:45 07/11/2019
  7. // design name:
  8. // module name: adc_init_interface
  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 AdcInitInterface
  22. #(
  23. parameter DelayValue = 24000,
  24. parameter LengthWidth = 2000,
  25. parameter DataWidth = 24,
  26. parameter DataNum = 26
  27. )
  28. (
  29. input wire Clk_i,
  30. input wire Rst_i,
  31. output wire AdcMosi_o,
  32. output wire AdcClk_o,
  33. output wire AdcCs_o,
  34. output wire AdcRst_o
  35. );
  36. //================================================================================
  37. // reg/wire
  38. //================================================================================
  39. wire adcRstDone;
  40. wire adcFilteredRst;
  41. //================================================================================
  42. // instantiations
  43. //================================================================================
  44. ResetFilter #(
  45. .STAGE_NUM (4),
  46. .RESET_FRONT ("RISING")
  47. )
  48. adcResetFilter
  49. (
  50. .clk_i (Clk_i),
  51. .rst_i (Rst_i),
  52. .perm_i (1'b0),
  53. .filtered_rst_o (adcFilteredRst)
  54. );
  55. AdcInitRst
  56. #(
  57. .DELAY_VALUE (DelayValue), //задержка перед выдачей reset'а
  58. .LENGTH_WIDTH (LengthWidth) //длительность сигнала reset
  59. )
  60. AdcInitRst
  61. (
  62. .clk_i (Clk_i),
  63. .rst_i (adcFilteredRst),
  64. .signal_o (AdcRst_o),
  65. .done_o (adcRstDone)
  66. );
  67. PeriphSpiInit
  68. #(
  69. .DATA_WIDTH (DataWidth),
  70. .DATA_NUM (DataNum),
  71. .ROM_INIT_FILE ("C:/Users/User/Desktop/4portCompact/S5443/S5443_M/S5443.srcs/sources_1/new/AdcInit/initFiles/AdcInitData.txt"),
  72. .FILE_DATA_BASE ("HEX"),
  73. .SPI_CLK_DIVISOR_POWER (4),
  74. .SPI_CPOL (0),
  75. .SPI_CPHA (0),
  76. .SPI_DATA_DIRECTION ("MSB"),
  77. .SPI_EN_START_DELAY ("YES")
  78. )
  79. PeriphSpiInitController
  80. (
  81. .clk_i (Clk_i),
  82. .rst_i (adcFilteredRst),
  83. .enable_i (adcRstDone),
  84. .mosi_o (AdcMosi_o),
  85. .sck_o (AdcClk_o),
  86. .ss_o (AdcCs_o),
  87. .done_o ()
  88. );
  89. endmodule