SpiSettings.sv 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. module SpiSettings
  2. #(
  3. parameter AXI_DATA_WIDTH = 64,
  4. parameter SPI_NUM = 1
  5. )(
  6. input [AXI_DATA_WIDTH - 1 : 0 ] SpiCtrlReg_i,
  7. input [AXI_DATA_WIDTH - 1 : 0 ] SpiCsDelayReg_i,
  8. input [AXI_DATA_WIDTH - 1 : 0 ] SpiClkReg_i,
  9. input [AXI_DATA_WIDTH - 1 : 0 ] SpiCsCtrlReg_i,
  10. input [AXI_DATA_WIDTH - 1 : 0 ] SpiTxRxFifoCtrlReg_i,
  11. input [AXI_DATA_WIDTH - 1 : 0 ] SpiTxRxEnReg_i,
  12. output [1:0] WidthSel_o,
  13. output SpiEn_o,
  14. output SpiMode_o,
  15. output ClockPol_o,
  16. output ClockPhase_o,
  17. output EndianSel_o,
  18. output SelSt_o,
  19. output Assel,
  20. output [5:0] StopDelay_o,
  21. output Lead_o,
  22. output Lag_o,
  23. output [7:0] BaudRate_o,
  24. output SpiRst_o,
  25. output FifoRxRst_o,
  26. output FifoTxRst_o,
  27. output ChipSelFpga_o,
  28. output ChipSelFlash_o,
  29. output SpiDir_o,
  30. output TxEn_o
  31. );
  32. //================================================================================
  33. // ASSIGNMENTS
  34. //================================================================================
  35. assign SpiEn_o = SpiCtrlReg_i[0];
  36. assign ClockPhase_o = SpiCtrlReg_i[1];
  37. assign ClockPol_o = SpiCtrlReg_i[2];
  38. assign Assel = SpiCtrlReg_i[3];
  39. assign SelSt_o = SpiCtrlReg_i[4];
  40. assign WidthSel_o = SpiCtrlReg_i[6:5];
  41. assign SpiMode_o = SpiCtrlReg_i[7];
  42. assign EndianSel_o = SpiCtrlReg_i[8];
  43. assign Lag_o = SpiCsDelayReg_i[0];
  44. assign Lead_o = SpiClkReg_i[1];
  45. assign StopDelay_o = SpiCsDelayReg_i[7:2];
  46. assign BaudRate_o = SpiClkReg_i[7:0];
  47. assign FifoRxRst_o = SpiTxRxFifoCtrlReg_i[0];
  48. assign FifoTxRst_o = SpiTxRxFifoCtrlReg_i[32];
  49. assign ChipSelFpga_o = SpiCsCtrlReg_i[0];
  50. assign ChipSelFlash_o = SpiCsCtrlReg_i[1];
  51. assign SpiDir_o = (SpiMode_o) ? 1'b1 : 1'b0;
  52. assign TxEn_o = SpiTxRxEnReg_i;
  53. endmodule