You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

114 lines
3.6 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. `timescale 1ns / 1ns
  2. module Top (
  3. input sys_clk,
  4. input rst_n,
  5. //SPI 串行总线1
  6. input wire spi1_cs_pin,
  7. input wire spi1_clk_pin,
  8. input wire spi1_rx_pin,
  9. output wire spi1_tx_pin,
  10. //SPI 串行总线2
  11. input wire spi2_cs_pin,
  12. input wire spi2_clk_pin,
  13. input wire spi2_rx_pin,
  14. output wire spi2_tx_pin,
  15. output wire core_board_debug_led
  16. );
  17. SPLL spll (
  18. .clkin1(sys_clk), // input
  19. .pll_lock(pll_lock), // output
  20. .clkout0(sys_clk_25m), // output
  21. .clkout1(sys_clk_10m), // output
  22. .clkout2(sys_clk_5m) // output
  23. );
  24. /*******************************************************************************
  25. * 调试器 *
  26. *******************************************************************************/
  27. // wire [6:0] trig0_i;
  28. // JtagHubIst jtag_hub_ist (
  29. // .resetn_i(rst_n), // input
  30. // .drck_o (drck_o), // output
  31. // .hub_tdi (hub_tdi), // output
  32. // .capt_o (capt_o), // output
  33. // .shift_o (shift_o), // output
  34. // .conf_sel(conf_sel), // output [14:0]
  35. // .id_o (id_o), // output [4:0]
  36. // .hub_tdo (hub_tdo) // input [14:0]
  37. // );
  38. // DebugCoreIst debug_core_ist (
  39. // .hub_tdi (hub_tdi), // input
  40. // .hub_tdo (hub_tdo[0]), // output
  41. // .id_i (id_o), // input [4:0]
  42. // .capt_i (capt_o), // input
  43. // .shift_i (shift_o), // input
  44. // .conf_sel(conf_sel[0]), // input
  45. // .drck_in (drck_o), // input
  46. // .clk (sys_clk), // input
  47. // .resetn_i(rst_n), // input
  48. // .trig0_i (trig0_i)
  49. // );
  50. /*******************************************************************************
  51. * DEBUG_LED *
  52. *******************************************************************************/
  53. zutils_debug_led #(
  54. .PERIOD_COUNT(10000000)
  55. ) core_board_debug_led_inst (
  56. .clk(sys_clk),
  57. .rst_n(rst_n),
  58. .debug_led(core_board_debug_led)
  59. );
  60. /*******************************************************************************
  61. * SPIREADER *
  62. *******************************************************************************/
  63. wire [31:0] reg_reader_bus_addr;
  64. wire [31:0] reg_reader_bus_wr_data;
  65. wire reg_reader_bus_wr_en;
  66. wire [31:0] reg_reader_bus_rd_data;
  67. spi_reg_reader spi1_reg_reader_inst (
  68. .clk (sys_clk),
  69. .rst_n(rst_n),
  70. .addr(reg_reader_bus_addr),
  71. .wr_data(reg_reader_bus_wr_data),
  72. .wr_en(reg_reader_bus_wr_en),
  73. .rd_data(reg_reader_bus_rd_data),
  74. //
  75. .spi_cs_pin(spi1_cs_pin),
  76. .spi_clk_pin(spi1_clk_pin),
  77. .spi_rx_pin(spi1_rx_pin),
  78. .spi_tx_pin(spi1_tx_pin)
  79. );
  80. /*******************************************************************************
  81. * TEST_SPI_REG *
  82. *******************************************************************************/
  83. zutils_register16 #(
  84. .REG_START_ADD(16'h0020)
  85. ) core_board_debug_led_reg (
  86. .clk(sys_clk),
  87. .rst_n(rst_n),
  88. .addr(reg_reader_bus_addr),
  89. .wr_data(reg_reader_bus_wr_data),
  90. .wr_en(reg_reader_bus_wr_en),
  91. .rd_data(reg_reader_bus_rd_data)
  92. );
  93. assign trig0_i[0] = sys_clk_5m;
  94. assign trig0_i[1] = spi2_clk_pin;
  95. assign trig0_i[2] = spi1_rx_pin;
  96. assign trig0_i[3] = spi1_tx_pin;
  97. assign trig0_i[4] = spi1_cs_pin;
  98. endmodule