RegMap.v 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916
  1. //////////////////////////////////////////////////////////////////////////////////
  2. // Company: TAIR
  3. // Engineer:
  4. //
  5. // Create Date: 10/30/2023 11:24:31 AM
  6. // Design Name:
  7. // Module Name: RegMap
  8. // Project Name: S5443_V3_FPGA3
  9. // Target Devices: BOARD: BY5443v3. FPGA: xc7s25csga225-2
  10. // Tool Versions:
  11. // Description: This module contains settings for Spi modules.Registers can
  12. // be read by an external host setting a SmcAre low and address to adress bus.
  13. //
  14. // Dependencies:
  15. //
  16. // Revision:
  17. // Revision 1.0 - File Created
  18. // Additional Comments:
  19. //
  20. //////////////////////////////////////////////////////////////////////////////////
  21. module RegMap #(
  22. parameter CMD_REG_WIDTH = 32,
  23. parameter ADDR_REG_WIDTH = 12
  24. )
  25. (
  26. input Clk_i,
  27. input Rst_i,
  28. input [1:0] SmcBe_i,
  29. input [CMD_REG_WIDTH/2-1:0] Data_i,
  30. input [ADDR_REG_WIDTH-1:0] Addr_i,
  31. input Val_i,
  32. input [CMD_REG_WIDTH-1:0] TxFifoCtrlReg0_i,
  33. input [CMD_REG_WIDTH-1:0] RxFifoCtrlReg0_i,
  34. input [CMD_REG_WIDTH-1:0] TxFifoCtrlReg1_i,
  35. input [CMD_REG_WIDTH-1:0] RxFifoCtrlReg1_i,
  36. input [CMD_REG_WIDTH-1:0] TxFifoCtrlReg2_i,
  37. input [CMD_REG_WIDTH-1:0] RxFifoCtrlReg2_i,
  38. input [CMD_REG_WIDTH-1:0] TxFifoCtrlReg3_i,
  39. input [CMD_REG_WIDTH-1:0] RxFifoCtrlReg3_i,
  40. input [CMD_REG_WIDTH-1:0] TxFifoCtrlReg4_i,
  41. input [CMD_REG_WIDTH-1:0] RxFifoCtrlReg4_i,
  42. input [CMD_REG_WIDTH-1:0] TxFifoCtrlReg5_i,
  43. input [CMD_REG_WIDTH-1:0] RxFifoCtrlReg5_i,
  44. input [CMD_REG_WIDTH-1:0] TxFifoCtrlReg6_i,
  45. input [CMD_REG_WIDTH-1:0] RxFifoCtrlReg6_i,
  46. input [6:0] LdReg_i,
  47. output reg [CMD_REG_WIDTH/2-1:0] Spi0CtrlReg_o,
  48. output reg [CMD_REG_WIDTH/2-1:0] Spi0ClkReg_o,
  49. output reg [CMD_REG_WIDTH/2-1:0] Spi0CsDelayReg_o,
  50. output reg [CMD_REG_WIDTH/2-1:0] Spi0CsCtrlReg_o,
  51. output reg [CMD_REG_WIDTH/2-1:0] Spi0TxFifoCtrlReg_o,
  52. output reg [CMD_REG_WIDTH/2-1:0] Spi0RxFifoCtrlReg_o,
  53. output reg [CMD_REG_WIDTH/2-1:0] Spi0TxFifoReg_o,
  54. output reg [CMD_REG_WIDTH/2-1:0] Spi0RxFifoReg_o,
  55. output reg [CMD_REG_WIDTH/2-1:0] Spi1CtrlReg_o,
  56. output reg [CMD_REG_WIDTH/2-1:0] Spi1ClkReg_o,
  57. output reg [CMD_REG_WIDTH/2-1:0] Spi1CsDelayReg_o,
  58. output reg [CMD_REG_WIDTH/2-1:0] Spi1CsCtrlReg_o,
  59. output reg [CMD_REG_WIDTH/2-1:0] Spi1TxFifoCtrlReg_o,
  60. output reg [CMD_REG_WIDTH/2-1:0] Spi1RxFifoCtrlReg_o,
  61. output reg [CMD_REG_WIDTH/2-1:0] Spi1TxFifoReg_o,
  62. output reg [CMD_REG_WIDTH/2-1:0] Spi1RxFifoReg_o,
  63. output reg [CMD_REG_WIDTH/2-1:0] Spi2CtrlReg_o,
  64. output reg [CMD_REG_WIDTH/2-1:0] Spi2ClkReg_o,
  65. output reg [CMD_REG_WIDTH/2-1:0] Spi2CsDelayReg_o,
  66. output reg [CMD_REG_WIDTH/2-1:0] Spi2CsCtrlReg_o,
  67. output reg [CMD_REG_WIDTH/2-1:0] Spi2TxFifoCtrlReg_o,
  68. output reg [CMD_REG_WIDTH/2-1:0] Spi2RxFifoCtrlReg_o,
  69. output reg [CMD_REG_WIDTH/2-1:0] Spi2TxFifoReg_o,
  70. output reg [CMD_REG_WIDTH/2-1:0] Spi2RxFifoReg_o,
  71. output reg [CMD_REG_WIDTH/2-1:0] Spi3CtrlReg_o,
  72. output reg [CMD_REG_WIDTH/2-1:0] Spi3ClkReg_o,
  73. output reg [CMD_REG_WIDTH/2-1:0] Spi3CsDelayReg_o,
  74. output reg [CMD_REG_WIDTH/2-1:0] Spi3CsCtrlReg_o,
  75. output reg [CMD_REG_WIDTH/2-1:0] Spi3TxFifoCtrlReg_o,
  76. output reg [CMD_REG_WIDTH/2-1:0] Spi3RxFifoCtrlReg_o,
  77. output reg [CMD_REG_WIDTH/2-1:0] Spi3TxFifoReg_o,
  78. output reg [CMD_REG_WIDTH/2-1:0] Spi3RxFifoReg_o,
  79. output reg [CMD_REG_WIDTH/2-1:0] Spi4CtrlReg_o,
  80. output reg [CMD_REG_WIDTH/2-1:0] Spi4ClkReg_o,
  81. output reg [CMD_REG_WIDTH/2-1:0] Spi4CsDelayReg_o,
  82. output reg [CMD_REG_WIDTH/2-1:0] Spi4CsCtrlReg_o,
  83. output reg [CMD_REG_WIDTH/2-1:0] Spi4TxFifoCtrlReg_o,
  84. output reg [CMD_REG_WIDTH/2-1:0] Spi4RxFifoCtrlReg_o,
  85. output reg [CMD_REG_WIDTH/2-1:0] Spi4TxFifoReg_o,
  86. output reg [CMD_REG_WIDTH/2-1:0] Spi4RxFifoReg_o,
  87. output reg [CMD_REG_WIDTH/2-1:0] Spi5CtrlReg_o,
  88. output reg [CMD_REG_WIDTH/2-1:0] Spi5ClkReg_o,
  89. output reg [CMD_REG_WIDTH/2-1:0] Spi5CsDelayReg_o,
  90. output reg [CMD_REG_WIDTH/2-1:0] Spi5CsCtrlReg_o,
  91. output reg [CMD_REG_WIDTH/2-1:0] Spi5TxFifoCtrlReg_o,
  92. output reg [CMD_REG_WIDTH/2-1:0] Spi5RxFifoCtrlReg_o,
  93. output reg [CMD_REG_WIDTH/2-1:0] Spi5TxFifoReg_o,
  94. output reg [CMD_REG_WIDTH/2-1:0] Spi5RxFifoReg_o,
  95. output reg [CMD_REG_WIDTH/2-1:0] Spi6CtrlReg_o,
  96. output reg [CMD_REG_WIDTH/2-1:0] Spi6ClkReg_o,
  97. output reg [CMD_REG_WIDTH/2-1:0] Spi6CsDelayReg_o,
  98. output reg [CMD_REG_WIDTH/2-1:0] Spi6CsCtrlReg_o,
  99. output reg [CMD_REG_WIDTH/2-1:0] Spi6TxFifoCtrlReg_o,
  100. output reg [CMD_REG_WIDTH/2-1:0] Spi6RxFifoCtrlReg_o,
  101. output reg [CMD_REG_WIDTH/2-1:0] Spi6TxFifoReg_o,
  102. output reg [CMD_REG_WIDTH/2-1:0] Spi6RxFifoReg_o,
  103. output [CMD_REG_WIDTH/2-1:0] SpiTxRxEnReg_o,
  104. output [CMD_REG_WIDTH-1:0] GPIOAReg_o,
  105. output [CMD_REG_WIDTH/2-1:0] AnsDataReg_o,
  106. output Led_o
  107. );
  108. //================================================================================
  109. // REG/WIRE
  110. //================================================================================
  111. (* dont_touch = "yes" *)reg [CMD_REG_WIDTH/2-1:0] spiTxRxEnReg;
  112. reg [CMD_REG_WIDTH/2-1:0] GPIOAReg;
  113. reg [CMD_REG_WIDTH/2-1:0] GPIOARegS;
  114. (* dont_touch = "yes" *)reg [CMD_REG_WIDTH/2-1:0] ansReg;
  115. (* dont_touch = "yes" *)reg [CMD_REG_WIDTH/2-1:0] ledReg;
  116. reg [1:0] beReg;
  117. //================================================================================
  118. // ASSIGNMENTS
  119. //================================================================================
  120. assign SpiTxRxEnReg_o = spiTxRxEnReg;
  121. assign GPIOAReg_o = {GPIOARegS, GPIOAReg};
  122. assign AnsDataReg_o = ansReg;
  123. assign Led_o = ledReg[0];
  124. //================================================================================
  125. // LOCALPARAMS
  126. //================================================================================
  127. localparam SPI_0_CTRL_ADDR = 12'h00;
  128. localparam SPI_0_CLK_ADDR = 12'h04;
  129. localparam SPI_0_CS_DELAY_ADDR = 12'h08;
  130. localparam SPI_0_CS_CTRL_ADDR = 12'h0c;
  131. localparam SPI_0_TX_FIFO_CTRL_ADDR_LSB = 12'h10;
  132. localparam SPI_0_TX_FIFO_CTRL_ADDR_MSB = 12'h12;
  133. localparam SPI_0_RX_FIFO_CTRL_ADDR_LSB = 12'h14;
  134. localparam SPI_0_RX_FIFO_CTRL_ADDR_MSB = 12'h16;
  135. localparam SPI_0_TX_FIFO = 12'h18;
  136. localparam SPI_0_RX_FIFO = 12'h1c;
  137. localparam SPI_1_CTRL_ADDR = 12'h50;
  138. localparam SPI_1_CLK_ADDR = 12'h54;
  139. localparam SPI_1_CS_DELAY_ADDR = 12'h58;
  140. localparam SPI_1_CS_CTRL_ADDR = 12'h5c;
  141. localparam SPI_1_TX_FIFO_CTRL_ADDR_LSB = 12'h60;
  142. localparam SPI_1_TX_FIFO_CTRL_ADDR_MSB = 12'h62;
  143. localparam SPI_1_RX_FIFO_CTRL_ADDR_LSB = 12'h64;
  144. localparam SPI_1_RX_FIFO_CTRL_ADDR_MSB = 12'h66;
  145. localparam SPI_1_TX_FIFO = 12'h68;
  146. localparam SPI_1_RX_FIFO = 12'h6c;
  147. localparam SPI_2_CTRL_ADDR = 12'hF0;
  148. localparam SPI_2_CLK_ADDR = 12'hF4;
  149. localparam SPI_2_CS_DELAY_ADDR = 12'hF8;
  150. localparam SPI_2_CS_CTRL_ADDR = 12'hFc;
  151. localparam SPI_2_TX_FIFO_CTRL_ADDR_LSB = 12'h100;
  152. localparam SPI_2_TX_FIFO_CTRL_ADDR_MSB = 12'h102;
  153. localparam SPI_2_RX_FIFO_CTRL_ADDR_LSB = 12'h104;
  154. localparam SPI_2_RX_FIFO_CTRL_ADDR_MSB = 12'h106;
  155. localparam SPI_2_TX_FIFO = 12'h108;
  156. localparam SPI_2_RX_FIFO = 12'h10c;
  157. localparam SPI_3_CTRL_ADDR = 12'h140;
  158. localparam SPI_3_CLK_ADDR = 12'h144;
  159. localparam SPI_3_CS_DELAY_ADDR = 12'h148;
  160. localparam SPI_3_CS_CTRL_ADDR = 12'h14c;
  161. localparam SPI_3_TX_FIFO_CTRL_ADDR_LSB = 12'h150;
  162. localparam SPI_3_TX_FIFO_CTRL_ADDR_MSB = 12'h152;
  163. localparam SPI_3_RX_FIFO_CTRL_ADDR_LSB = 12'h154;
  164. localparam SPI_3_RX_FIFO_CTRL_ADDR_MSB = 12'h156;
  165. localparam SPI_3_TX_FIFO = 12'h158;
  166. localparam SPI_3_RX_FIFO = 12'h15c;
  167. localparam SPI_4_CTRL_ADDR = 12'h190;
  168. localparam SPI_4_CLK_ADDR = 12'h194;
  169. localparam SPI_4_CS_DELAY_ADDR = 12'h198;
  170. localparam SPI_4_CS_CTRL_ADDR = 12'h19c;
  171. localparam SPI_4_TX_FIFO_CTRL_ADDR_LSB = 12'h1a0;
  172. localparam SPI_4_TX_FIFO_CTRL_ADDR_MSB = 12'h1a2;
  173. localparam SPI_4_RX_FIFO_CTRL_ADDR_LSB = 12'h1a4;
  174. localparam SPI_4_RX_FIFO_CTRL_ADDR_MSB = 12'h1a6;
  175. localparam SPI_4_TX_FIFO = 12'h1a8;
  176. localparam SPI_4_RX_FIFO = 12'h1ac;
  177. localparam SPI_5_CTRL_ADDR = 12'h1e0;
  178. localparam SPI_5_CLK_ADDR = 12'h1e4;
  179. localparam SPI_5_CS_DELAY_ADDR = 12'h1e8;
  180. localparam SPI_5_CS_CTRL_ADDR = 12'h1ec;
  181. localparam SPI_5_TX_FIFO_CTRL_ADDR_LSB = 12'h1f0;
  182. localparam SPI_5_TX_FIFO_CTRL_ADDR_MSB = 12'h1f2;
  183. localparam SPI_5_RX_FIFO_CTRL_ADDR_LSB = 12'h1f4;
  184. localparam SPI_5_RX_FIFO_CTRL_ADDR_MSB = 12'h1f6;
  185. localparam SPI_5_TX_FIFO = 12'h1f8;
  186. localparam SPI_5_RX_FIFO = 12'h1fc;
  187. localparam SPI_6_CTRL_ADDR = 12'h230;
  188. localparam SPI_6_CLK_ADDR = 12'h234;
  189. localparam SPI_6_CS_DELAY_ADDR = 12'h238;
  190. localparam SPI_6_CS_CTRL_ADDR = 12'h23c;
  191. localparam SPI_6_TX_FIFO_CTRL_ADDR_LSB = 12'h240;
  192. localparam SPI_6_TX_FIFO_CTRL_ADDR_MSB = 12'h242;
  193. localparam SPI_6_RX_FIFO_CTRL_ADDR_LSB = 12'h244;
  194. localparam SPI_6_RX_FIFO_CTRL_ADDR_MSB = 12'h246;
  195. localparam SPI_6_TX_FIFO = 12'h248;
  196. localparam SPI_6_RX_FIFO = 12'h24c;
  197. localparam SPI_TX_RX_EN = 12'hF00;
  198. localparam GPIO_CTRL_ADDR = 12'hFF0;
  199. localparam GPIO_CTRL_ADDR_S = 12'hFF2;
  200. localparam DEBUG_0_ADDR = 12'hFF8;
  201. localparam DEBUG_1_ADDR = 12'hFFC;
  202. //================================================================================
  203. // CODING
  204. //================================================================================
  205. always @(posedge Clk_i) begin
  206. if (!Rst_i) begin
  207. beReg <= 2'b0;
  208. end else begin
  209. beReg <= SmcBe_i;
  210. end
  211. end
  212. always @(posedge Clk_i) begin
  213. if (Rst_i) begin
  214. Spi0ClkReg_o <= 0;
  215. Spi0CtrlReg_o <= 0;
  216. Spi0CsDelayReg_o <= 0;
  217. Spi0CsCtrlReg_o <= 0;
  218. Spi0TxFifoCtrlReg_o <= 0;
  219. Spi0RxFifoCtrlReg_o <= 0;
  220. Spi1ClkReg_o <= 0;
  221. Spi1CtrlReg_o <= 0;
  222. Spi1CsDelayReg_o <= 0;
  223. Spi1CsCtrlReg_o <= 0;
  224. Spi1TxFifoCtrlReg_o <= 0;
  225. Spi1RxFifoCtrlReg_o <= 0;
  226. Spi2ClkReg_o <= 0;
  227. Spi2CtrlReg_o <= 0;
  228. Spi2CsDelayReg_o <= 0;
  229. Spi2CsCtrlReg_o <= 0;
  230. Spi2TxFifoCtrlReg_o <= 0;
  231. Spi2RxFifoCtrlReg_o <= 0;
  232. Spi3ClkReg_o <= 0;
  233. Spi3CtrlReg_o <= 0;
  234. Spi3CsDelayReg_o <= 0;
  235. Spi3CsCtrlReg_o <= 0;
  236. Spi3TxFifoCtrlReg_o <= 0;
  237. Spi3RxFifoCtrlReg_o <= 0;
  238. Spi4ClkReg_o <= 0;
  239. Spi4CtrlReg_o <= 0;
  240. Spi4CsDelayReg_o <= 0;
  241. Spi4CsCtrlReg_o <= 0;
  242. Spi4TxFifoCtrlReg_o <= 0;
  243. Spi4RxFifoCtrlReg_o <= 0;
  244. Spi5ClkReg_o <= 0;
  245. Spi5CtrlReg_o <= 0;
  246. Spi5CsDelayReg_o <= 0;
  247. Spi5CsCtrlReg_o <= 0;
  248. Spi5TxFifoCtrlReg_o <= 0;
  249. Spi5RxFifoCtrlReg_o <= 0;
  250. Spi6ClkReg_o <= 0;
  251. Spi6CtrlReg_o <= 0;
  252. Spi6CsDelayReg_o <= 0;
  253. Spi6CsCtrlReg_o <= 0;
  254. Spi6TxFifoCtrlReg_o <= 0;
  255. Spi6RxFifoCtrlReg_o <= 0;
  256. spiTxRxEnReg <= 0;
  257. GPIOAReg <= 0;
  258. GPIOARegS <= 0;
  259. ledReg <= 0;
  260. end
  261. else begin
  262. if (Val_i) begin
  263. case (beReg)
  264. 0 : begin
  265. case (Addr_i)
  266. SPI_0_CTRL_ADDR : begin
  267. Spi0CtrlReg_o <= Data_i;
  268. end
  269. SPI_0_CLK_ADDR : begin
  270. Spi0ClkReg_o <= Data_i;
  271. end
  272. SPI_0_CS_DELAY_ADDR : begin
  273. Spi0CsDelayReg_o <= Data_i;
  274. end
  275. SPI_0_CS_CTRL_ADDR : begin
  276. Spi0CsCtrlReg_o <= Data_i;
  277. end
  278. SPI_0_TX_FIFO_CTRL_ADDR_LSB : begin
  279. Spi0TxFifoCtrlReg_o <= Data_i;
  280. end
  281. SPI_0_RX_FIFO_CTRL_ADDR_LSB : begin
  282. Spi0RxFifoCtrlReg_o <= Data_i;
  283. end
  284. SPI_1_CTRL_ADDR : begin
  285. Spi1CtrlReg_o <= Data_i;
  286. end
  287. SPI_1_CLK_ADDR : begin
  288. Spi1ClkReg_o <= Data_i;
  289. end
  290. SPI_1_CS_DELAY_ADDR : begin
  291. Spi1CsDelayReg_o <= Data_i;
  292. end
  293. SPI_1_CS_CTRL_ADDR : begin
  294. Spi1CsCtrlReg_o <= Data_i;
  295. end
  296. SPI_1_TX_FIFO_CTRL_ADDR_LSB : begin
  297. Spi1TxFifoCtrlReg_o <= Data_i;
  298. end
  299. SPI_1_RX_FIFO_CTRL_ADDR_LSB : begin
  300. Spi1RxFifoCtrlReg_o <= Data_i;
  301. end
  302. SPI_2_CTRL_ADDR : begin
  303. Spi2CtrlReg_o <= Data_i;
  304. end
  305. SPI_2_CLK_ADDR : begin
  306. Spi2ClkReg_o <= Data_i;
  307. end
  308. SPI_2_CS_DELAY_ADDR : begin
  309. Spi2CsDelayReg_o <= Data_i;
  310. end
  311. SPI_2_CS_CTRL_ADDR : begin
  312. Spi2CsCtrlReg_o <= Data_i;
  313. end
  314. SPI_2_TX_FIFO_CTRL_ADDR_LSB : begin
  315. Spi2TxFifoCtrlReg_o <= Data_i;
  316. end
  317. SPI_2_RX_FIFO_CTRL_ADDR_LSB : begin
  318. Spi2RxFifoCtrlReg_o <= Data_i;
  319. end
  320. SPI_3_CTRL_ADDR : begin
  321. Spi3CtrlReg_o <= Data_i;
  322. end
  323. SPI_3_CLK_ADDR : begin
  324. Spi3ClkReg_o <= Data_i;
  325. end
  326. SPI_3_CS_DELAY_ADDR : begin
  327. Spi3CsDelayReg_o <= Data_i;
  328. end
  329. SPI_3_CS_CTRL_ADDR : begin
  330. Spi3CsCtrlReg_o <= Data_i;
  331. end
  332. SPI_3_TX_FIFO_CTRL_ADDR_LSB : begin
  333. Spi3TxFifoCtrlReg_o <= Data_i;
  334. end
  335. SPI_3_RX_FIFO_CTRL_ADDR_LSB : begin
  336. Spi3RxFifoCtrlReg_o <= Data_i;
  337. end
  338. SPI_4_CTRL_ADDR : begin
  339. Spi4CtrlReg_o <= Data_i;
  340. end
  341. SPI_4_CLK_ADDR : begin
  342. Spi4ClkReg_o <= Data_i;
  343. end
  344. SPI_4_CS_DELAY_ADDR : begin
  345. Spi4CsDelayReg_o <= Data_i;
  346. end
  347. SPI_4_CS_CTRL_ADDR : begin
  348. Spi4CsCtrlReg_o <= Data_i;
  349. end
  350. SPI_4_TX_FIFO_CTRL_ADDR_LSB : begin
  351. Spi4TxFifoCtrlReg_o <= Data_i;
  352. end
  353. SPI_4_RX_FIFO_CTRL_ADDR_LSB : begin
  354. Spi4RxFifoCtrlReg_o <= Data_i;
  355. end
  356. SPI_5_CTRL_ADDR : begin
  357. Spi5CtrlReg_o <= Data_i;
  358. end
  359. SPI_5_CLK_ADDR : begin
  360. Spi5ClkReg_o <= Data_i;
  361. end
  362. SPI_5_CS_DELAY_ADDR : begin
  363. Spi5CsDelayReg_o <= Data_i;
  364. end
  365. SPI_5_CS_CTRL_ADDR : begin
  366. Spi5CsCtrlReg_o <= Data_i;
  367. end
  368. SPI_5_TX_FIFO_CTRL_ADDR_LSB : begin
  369. Spi5TxFifoCtrlReg_o <= Data_i;
  370. end
  371. SPI_5_RX_FIFO_CTRL_ADDR_LSB : begin
  372. Spi5RxFifoCtrlReg_o <= Data_i;
  373. end
  374. SPI_6_CTRL_ADDR : begin
  375. Spi6CtrlReg_o <= Data_i;
  376. end
  377. SPI_6_CLK_ADDR : begin
  378. Spi6ClkReg_o <= Data_i;
  379. end
  380. SPI_6_CS_DELAY_ADDR : begin
  381. Spi6CsDelayReg_o <= Data_i;
  382. end
  383. SPI_6_CS_CTRL_ADDR : begin
  384. Spi6CsCtrlReg_o <= Data_i;
  385. end
  386. SPI_6_TX_FIFO_CTRL_ADDR_LSB : begin
  387. Spi6TxFifoCtrlReg_o <= Data_i;
  388. end
  389. SPI_6_RX_FIFO_CTRL_ADDR_LSB : begin
  390. Spi6RxFifoCtrlReg_o <= Data_i;
  391. end
  392. SPI_TX_RX_EN : begin
  393. spiTxRxEnReg <= Data_i;
  394. end
  395. GPIO_CTRL_ADDR : begin
  396. GPIOAReg <= Data_i;
  397. end
  398. GPIO_CTRL_ADDR_S : begin
  399. GPIOARegS <= Data_i;
  400. end
  401. DEBUG_0_ADDR : begin
  402. ledReg <= Data_i;
  403. end
  404. endcase
  405. end
  406. 1 : begin
  407. case (Addr_i)
  408. SPI_0_CTRL_ADDR : begin
  409. Spi0CtrlReg_o[15:8] <= Data_i[15:8];
  410. end
  411. SPI_0_CLK_ADDR : begin
  412. Spi0ClkReg_o[15:8] <= Data_i[15:8];
  413. end
  414. SPI_0_CS_DELAY_ADDR : begin
  415. Spi0CsDelayReg_o[15:8] <= Data_i[15:8];
  416. end
  417. SPI_0_CS_CTRL_ADDR : begin
  418. Spi0CsCtrlReg_o[15:8] <= Data_i[15:8];
  419. end
  420. SPI_0_TX_FIFO_CTRL_ADDR_LSB : begin
  421. Spi0TxFifoCtrlReg_o[15:8] <= Data_i[15:8];
  422. end
  423. SPI_0_RX_FIFO_CTRL_ADDR_LSB : begin
  424. Spi0RxFifoCtrlReg_o[15:8] <= Data_i[15:8];
  425. end
  426. SPI_1_CTRL_ADDR : begin
  427. Spi1CtrlReg_o[15:8] <= Data_i[15:8];
  428. end
  429. SPI_1_CLK_ADDR : begin
  430. Spi1ClkReg_o[15:8] <= Data_i[15:8];
  431. end
  432. SPI_1_CS_DELAY_ADDR : begin
  433. Spi1CsDelayReg_o[15:8] <= Data_i[15:8];
  434. end
  435. SPI_1_CS_CTRL_ADDR : begin
  436. Spi1CsCtrlReg_o[15:8] <= Data_i[15:8];
  437. end
  438. SPI_1_TX_FIFO_CTRL_ADDR_LSB : begin
  439. Spi1TxFifoCtrlReg_o[15:8] <= Data_i[15:8];
  440. end
  441. SPI_1_RX_FIFO_CTRL_ADDR_LSB : begin
  442. Spi1RxFifoCtrlReg_o[15:8] <= Data_i[15:8];
  443. end
  444. SPI_2_CTRL_ADDR : begin
  445. Spi2CtrlReg_o[15:8] <= Data_i[15:8];
  446. end
  447. SPI_2_CLK_ADDR : begin
  448. Spi2ClkReg_o[15:8] <= Data_i[15:8];
  449. end
  450. SPI_2_CS_DELAY_ADDR : begin
  451. Spi2CsDelayReg_o[15:8] <= Data_i[15:8];
  452. end
  453. SPI_2_CS_CTRL_ADDR : begin
  454. Spi2CsCtrlReg_o[15:8] <= Data_i[15:8];
  455. end
  456. SPI_2_TX_FIFO_CTRL_ADDR_LSB : begin
  457. Spi2TxFifoCtrlReg_o[15:8] <= Data_i[15:8];
  458. end
  459. SPI_2_RX_FIFO_CTRL_ADDR_LSB : begin
  460. Spi2RxFifoCtrlReg_o[15:8] <= Data_i[15:8];
  461. end
  462. SPI_3_CTRL_ADDR : begin
  463. Spi3CtrlReg_o[15:8] <= Data_i[15:8];
  464. end
  465. SPI_3_CLK_ADDR : begin
  466. Spi3ClkReg_o[15:8] <= Data_i[15:8];
  467. end
  468. SPI_3_CS_DELAY_ADDR : begin
  469. Spi3CsDelayReg_o[15:8] <= Data_i[15:8];
  470. end
  471. SPI_3_CS_CTRL_ADDR : begin
  472. Spi3CsCtrlReg_o[15:8] <= Data_i[15:8];
  473. end
  474. SPI_3_TX_FIFO_CTRL_ADDR_LSB : begin
  475. Spi3TxFifoCtrlReg_o[15:8] <= Data_i[15:8];
  476. end
  477. SPI_3_RX_FIFO_CTRL_ADDR_LSB : begin
  478. Spi3RxFifoCtrlReg_o[15:8] <= Data_i[15:8];
  479. end
  480. SPI_4_CTRL_ADDR : begin
  481. Spi4CtrlReg_o[15:8] <= Data_i[15:8];
  482. end
  483. SPI_4_CLK_ADDR : begin
  484. Spi4ClkReg_o[15:8] <= Data_i[15:8];
  485. end
  486. SPI_4_CS_DELAY_ADDR : begin
  487. Spi4CsDelayReg_o[15:8] <= Data_i[15:8];
  488. end
  489. SPI_4_CS_CTRL_ADDR : begin
  490. Spi4CsCtrlReg_o[15:8] <= Data_i[15:8];
  491. end
  492. SPI_4_TX_FIFO_CTRL_ADDR_LSB : begin
  493. Spi4TxFifoCtrlReg_o[15:8] <= Data_i[15:8];
  494. end
  495. SPI_4_RX_FIFO_CTRL_ADDR_LSB : begin
  496. Spi4RxFifoCtrlReg_o[15:8] <= Data_i[15:8];
  497. end
  498. SPI_5_CTRL_ADDR : begin
  499. Spi5CtrlReg_o[15:8] <= Data_i[15:8];
  500. end
  501. SPI_5_CLK_ADDR : begin
  502. Spi5ClkReg_o[15:8] <= Data_i[15:8];
  503. end
  504. SPI_5_CS_DELAY_ADDR : begin
  505. Spi5CsDelayReg_o[15:8] <= Data_i[15:8];
  506. end
  507. SPI_5_CS_CTRL_ADDR : begin
  508. Spi5CsCtrlReg_o[15:8] <= Data_i[15:8];
  509. end
  510. SPI_5_TX_FIFO_CTRL_ADDR_LSB : begin
  511. Spi5TxFifoCtrlReg_o[15:8] <= Data_i[15:8];
  512. end
  513. SPI_5_RX_FIFO_CTRL_ADDR_LSB : begin
  514. Spi5RxFifoCtrlReg_o[15:8] <= Data_i[15:8];
  515. end
  516. SPI_6_CTRL_ADDR : begin
  517. Spi6CtrlReg_o[15:8] <= Data_i[15:8];
  518. end
  519. SPI_6_CLK_ADDR : begin
  520. Spi6ClkReg_o[15:8] <= Data_i[15:8];
  521. end
  522. SPI_6_CS_DELAY_ADDR : begin
  523. Spi6CsDelayReg_o[15:8] <= Data_i[15:8];
  524. end
  525. SPI_6_CS_CTRL_ADDR : begin
  526. Spi6CsCtrlReg_o[15:8] <= Data_i[15:8];
  527. end
  528. SPI_6_TX_FIFO_CTRL_ADDR_LSB : begin
  529. Spi6TxFifoCtrlReg_o[15:8] <= Data_i[15:8];
  530. end
  531. SPI_6_RX_FIFO_CTRL_ADDR_LSB : begin
  532. Spi6RxFifoCtrlReg_o[15:8] <= Data_i[15:8];
  533. end
  534. SPI_TX_RX_EN : begin
  535. spiTxRxEnReg[15:8] <= Data_i[15:8];
  536. end
  537. GPIO_CTRL_ADDR : begin
  538. GPIOAReg[15:8] <= Data_i[15:8];
  539. end
  540. GPIO_CTRL_ADDR_S : begin
  541. GPIOARegS[15:8] <= Data_i[15:8];
  542. end
  543. DEBUG_0_ADDR : begin
  544. ledReg[15:8] <= Data_i[15:8];
  545. end
  546. endcase
  547. end
  548. 2 : begin
  549. case (Addr_i)
  550. SPI_0_CTRL_ADDR : begin
  551. Spi0CtrlReg_o[7:0] <= Data_i[7:0];
  552. end
  553. SPI_0_CLK_ADDR : begin
  554. Spi0ClkReg_o[7:0] <= Data_i[7:0];
  555. end
  556. SPI_0_CS_DELAY_ADDR : begin
  557. Spi0CsDelayReg_o[7:0] <= Data_i[7:0];
  558. end
  559. SPI_0_CS_CTRL_ADDR : begin
  560. Spi0CsCtrlReg_o[7:0] <= Data_i[7:0];
  561. end
  562. SPI_0_TX_FIFO_CTRL_ADDR_LSB : begin
  563. Spi0TxFifoCtrlReg_o[7:0] <= Data_i[7:0];
  564. end
  565. SPI_0_RX_FIFO_CTRL_ADDR_LSB : begin
  566. Spi0RxFifoCtrlReg_o[7:0] <= Data_i[7:0];
  567. end
  568. SPI_1_CTRL_ADDR : begin
  569. Spi1CtrlReg_o[7:0] <= Data_i[7:0];
  570. end
  571. SPI_1_CLK_ADDR : begin
  572. Spi1ClkReg_o[7:0] <= Data_i[7:0];
  573. end
  574. SPI_1_CS_DELAY_ADDR : begin
  575. Spi1CsDelayReg_o[7:0] <= Data_i[7:0];
  576. end
  577. SPI_1_CS_CTRL_ADDR : begin
  578. Spi1CsCtrlReg_o[7:0] <= Data_i[7:0];
  579. end
  580. SPI_1_TX_FIFO_CTRL_ADDR_LSB : begin
  581. Spi1TxFifoCtrlReg_o[7:0] <= Data_i[7:0];
  582. end
  583. SPI_1_RX_FIFO_CTRL_ADDR_LSB : begin
  584. Spi1RxFifoCtrlReg_o[7:0] <= Data_i[7:0];
  585. end
  586. SPI_2_CTRL_ADDR : begin
  587. Spi2CtrlReg_o[7:0] <= Data_i[7:0];
  588. end
  589. SPI_2_CLK_ADDR : begin
  590. Spi2ClkReg_o[7:0] <= Data_i[7:0];
  591. end
  592. SPI_2_CS_DELAY_ADDR : begin
  593. Spi2CsDelayReg_o[7:0] <= Data_i[7:0];
  594. end
  595. SPI_2_CS_CTRL_ADDR : begin
  596. Spi2CsCtrlReg_o[7:0] <= Data_i[7:0];
  597. end
  598. SPI_2_TX_FIFO_CTRL_ADDR_LSB : begin
  599. Spi2TxFifoCtrlReg_o[7:0] <= Data_i[7:0];
  600. end
  601. SPI_2_RX_FIFO_CTRL_ADDR_LSB : begin
  602. Spi2RxFifoCtrlReg_o[7:0] <= Data_i[7:0];
  603. end
  604. SPI_3_CTRL_ADDR : begin
  605. Spi3CtrlReg_o[7:0] <= Data_i[7:0];
  606. end
  607. SPI_3_CLK_ADDR : begin
  608. Spi3ClkReg_o[7:0] <= Data_i[7:0];
  609. end
  610. SPI_3_CS_DELAY_ADDR : begin
  611. Spi3CsDelayReg_o[7:0] <= Data_i[7:0];
  612. end
  613. SPI_3_CS_CTRL_ADDR : begin
  614. Spi3CsCtrlReg_o[7:0] <= Data_i[7:0];
  615. end
  616. SPI_3_TX_FIFO_CTRL_ADDR_LSB : begin
  617. Spi3TxFifoCtrlReg_o[7:0] <= Data_i[7:0];
  618. end
  619. SPI_3_RX_FIFO_CTRL_ADDR_LSB : begin
  620. Spi3RxFifoCtrlReg_o[7:0] <= Data_i[7:0];
  621. end
  622. SPI_4_CTRL_ADDR : begin
  623. Spi4CtrlReg_o[7:0] <= Data_i[7:0];
  624. end
  625. SPI_4_CLK_ADDR : begin
  626. Spi4ClkReg_o[7:0] <= Data_i[7:0];
  627. end
  628. SPI_4_CS_DELAY_ADDR : begin
  629. Spi4CsDelayReg_o[7:0] <= Data_i[7:0];
  630. end
  631. SPI_4_CS_CTRL_ADDR : begin
  632. Spi4CsCtrlReg_o[7:0] <= Data_i[7:0];
  633. end
  634. SPI_4_TX_FIFO_CTRL_ADDR_LSB : begin
  635. Spi4TxFifoCtrlReg_o[7:0] <= Data_i[7:0];
  636. end
  637. SPI_4_RX_FIFO_CTRL_ADDR_LSB : begin
  638. Spi4RxFifoCtrlReg_o[7:0] <= Data_i[7:0];
  639. end
  640. SPI_5_CTRL_ADDR : begin
  641. Spi5CtrlReg_o[7:0] <= Data_i[7:0];
  642. end
  643. SPI_5_CLK_ADDR : begin
  644. Spi5ClkReg_o[7:0] <= Data_i[7:0];
  645. end
  646. SPI_5_CS_DELAY_ADDR : begin
  647. Spi5CsDelayReg_o[7:0] <= Data_i[7:0];
  648. end
  649. SPI_5_CS_CTRL_ADDR : begin
  650. Spi5CsCtrlReg_o[7:0] <= Data_i[7:0];
  651. end
  652. SPI_5_TX_FIFO_CTRL_ADDR_LSB : begin
  653. Spi5TxFifoCtrlReg_o[7:0] <= Data_i[7:0];
  654. end
  655. SPI_5_RX_FIFO_CTRL_ADDR_LSB : begin
  656. Spi5RxFifoCtrlReg_o[7:0] <= Data_i[7:0];
  657. end
  658. SPI_6_CTRL_ADDR : begin
  659. Spi6CtrlReg_o[7:0] <= Data_i[7:0];
  660. end
  661. SPI_6_CLK_ADDR : begin
  662. Spi6ClkReg_o[7:0] <= Data_i[7:0];
  663. end
  664. SPI_6_CS_DELAY_ADDR : begin
  665. Spi6CsDelayReg_o[7:0] <= Data_i[7:0];
  666. end
  667. SPI_6_CS_CTRL_ADDR : begin
  668. Spi6CsCtrlReg_o[7:0] <= Data_i[7:0];
  669. end
  670. SPI_6_TX_FIFO_CTRL_ADDR_LSB : begin
  671. Spi6TxFifoCtrlReg_o[7:0] <= Data_i[7:0];
  672. end
  673. SPI_6_RX_FIFO_CTRL_ADDR_LSB : begin
  674. Spi6RxFifoCtrlReg_o[7:0] <= Data_i[7:0];
  675. end
  676. SPI_TX_RX_EN : begin
  677. spiTxRxEnReg[7:0] <= Data_i[7:0];
  678. end
  679. GPIO_CTRL_ADDR : begin
  680. GPIOAReg[7:0] <= Data_i[7:0];
  681. end
  682. GPIO_CTRL_ADDR_S : begin
  683. GPIOARegS[7:0] <= Data_i[7:0];
  684. end
  685. DEBUG_0_ADDR : begin
  686. ledReg[7:0] <= Data_i[7:0];
  687. end
  688. endcase
  689. end
  690. endcase
  691. end
  692. end
  693. end
  694. always @(*) begin
  695. if (Rst_i) begin
  696. ansReg = 0;
  697. end else begin
  698. case (Addr_i)
  699. SPI_0_CTRL_ADDR : begin
  700. ansReg = Spi0CtrlReg_o;
  701. end
  702. SPI_0_CLK_ADDR : begin
  703. ansReg = Spi0ClkReg_o;
  704. end
  705. SPI_0_CS_DELAY_ADDR : begin
  706. ansReg = Spi0CsDelayReg_o;
  707. end
  708. SPI_0_CS_CTRL_ADDR : begin
  709. ansReg = Spi0CsCtrlReg_o;
  710. end
  711. SPI_0_TX_FIFO_CTRL_ADDR_LSB : begin
  712. ansReg = TxFifoCtrlReg0_i[15:0];
  713. end
  714. SPI_0_TX_FIFO_CTRL_ADDR_MSB : begin
  715. ansReg = TxFifoCtrlReg0_i[31:16];
  716. end
  717. SPI_0_RX_FIFO_CTRL_ADDR_LSB : begin
  718. ansReg = RxFifoCtrlReg0_i[15:0];
  719. end
  720. SPI_0_RX_FIFO_CTRL_ADDR_MSB : begin
  721. ansReg = RxFifoCtrlReg0_i[31:16];
  722. end
  723. SPI_1_CTRL_ADDR : begin
  724. ansReg = Spi1CtrlReg_o;
  725. end
  726. SPI_1_CLK_ADDR : begin
  727. ansReg = Spi1ClkReg_o;
  728. end
  729. SPI_1_CS_DELAY_ADDR : begin
  730. ansReg = Spi1CsDelayReg_o;
  731. end
  732. SPI_1_CS_CTRL_ADDR : begin
  733. ansReg = Spi1CsCtrlReg_o;
  734. end
  735. SPI_1_TX_FIFO_CTRL_ADDR_LSB : begin
  736. ansReg = TxFifoCtrlReg1_i[15:0];
  737. end
  738. SPI_1_TX_FIFO_CTRL_ADDR_MSB : begin
  739. ansReg = TxFifoCtrlReg1_i[31:16];
  740. end
  741. SPI_1_RX_FIFO_CTRL_ADDR_LSB : begin
  742. ansReg = RxFifoCtrlReg1_i[15:0];
  743. end
  744. SPI_1_RX_FIFO_CTRL_ADDR_MSB : begin
  745. ansReg = RxFifoCtrlReg1_i[31:16];
  746. end
  747. SPI_2_CTRL_ADDR : begin
  748. ansReg = Spi2CtrlReg_o;
  749. end
  750. SPI_2_CLK_ADDR : begin
  751. ansReg = Spi2ClkReg_o;
  752. end
  753. SPI_2_CS_DELAY_ADDR : begin
  754. ansReg = Spi2CsDelayReg_o;
  755. end
  756. SPI_2_CS_CTRL_ADDR : begin
  757. ansReg = Spi2CsCtrlReg_o;
  758. end
  759. SPI_2_TX_FIFO_CTRL_ADDR_LSB : begin
  760. ansReg = TxFifoCtrlReg2_i[15:0];
  761. end
  762. SPI_2_TX_FIFO_CTRL_ADDR_MSB : begin
  763. ansReg = TxFifoCtrlReg2_i[31:16];
  764. end
  765. SPI_2_RX_FIFO_CTRL_ADDR_LSB : begin
  766. ansReg = RxFifoCtrlReg2_i[15:0];
  767. end
  768. SPI_2_RX_FIFO_CTRL_ADDR_MSB : begin
  769. ansReg = RxFifoCtrlReg2_i[31:16];
  770. end
  771. SPI_3_CTRL_ADDR : begin
  772. ansReg = Spi3CtrlReg_o;
  773. end
  774. SPI_3_CLK_ADDR : begin
  775. ansReg = Spi3ClkReg_o;
  776. end
  777. SPI_3_CS_DELAY_ADDR : begin
  778. ansReg = Spi3CsDelayReg_o;
  779. end
  780. SPI_3_CS_CTRL_ADDR : begin
  781. ansReg = Spi3CsCtrlReg_o;
  782. end
  783. SPI_3_TX_FIFO_CTRL_ADDR_LSB : begin
  784. ansReg = TxFifoCtrlReg3_i[15:0];
  785. end
  786. SPI_3_TX_FIFO_CTRL_ADDR_MSB : begin
  787. ansReg = TxFifoCtrlReg3_i[31:16];
  788. end
  789. SPI_3_RX_FIFO_CTRL_ADDR_LSB : begin
  790. ansReg = RxFifoCtrlReg3_i[15:0];
  791. end
  792. SPI_3_RX_FIFO_CTRL_ADDR_MSB : begin
  793. ansReg = RxFifoCtrlReg3_i[31:16];
  794. end
  795. SPI_4_CTRL_ADDR : begin
  796. ansReg = Spi4CtrlReg_o;
  797. end
  798. SPI_4_CLK_ADDR : begin
  799. ansReg = Spi4ClkReg_o;
  800. end
  801. SPI_4_CS_DELAY_ADDR : begin
  802. ansReg = Spi4CsDelayReg_o;
  803. end
  804. SPI_4_CS_CTRL_ADDR : begin
  805. ansReg = Spi4CsCtrlReg_o;
  806. end
  807. SPI_4_TX_FIFO_CTRL_ADDR_LSB : begin
  808. ansReg = TxFifoCtrlReg4_i[15:0];
  809. end
  810. SPI_4_TX_FIFO_CTRL_ADDR_MSB : begin
  811. ansReg = TxFifoCtrlReg4_i[31:16];
  812. end
  813. SPI_4_RX_FIFO_CTRL_ADDR_LSB : begin
  814. ansReg = RxFifoCtrlReg4_i[15:0];
  815. end
  816. SPI_4_RX_FIFO_CTRL_ADDR_MSB : begin
  817. ansReg = RxFifoCtrlReg4_i[31:16];
  818. end
  819. SPI_5_CTRL_ADDR : begin
  820. ansReg = Spi5CtrlReg_o;
  821. end
  822. SPI_5_CLK_ADDR : begin
  823. ansReg = Spi5ClkReg_o;
  824. end
  825. SPI_5_CS_DELAY_ADDR : begin
  826. ansReg = Spi5CsDelayReg_o;
  827. end
  828. SPI_5_CS_CTRL_ADDR : begin
  829. ansReg = Spi5CsCtrlReg_o;
  830. end
  831. SPI_5_TX_FIFO_CTRL_ADDR_LSB : begin
  832. ansReg = TxFifoCtrlReg5_i[15:0];
  833. end
  834. SPI_5_TX_FIFO_CTRL_ADDR_MSB : begin
  835. ansReg = TxFifoCtrlReg5_i[31:16];
  836. end
  837. SPI_5_RX_FIFO_CTRL_ADDR_LSB : begin
  838. ansReg = RxFifoCtrlReg5_i[15:0];
  839. end
  840. SPI_5_RX_FIFO_CTRL_ADDR_MSB : begin
  841. ansReg = RxFifoCtrlReg5_i[31:16];
  842. end
  843. SPI_6_CTRL_ADDR : begin
  844. ansReg = Spi6CtrlReg_o;
  845. end
  846. SPI_6_CLK_ADDR : begin
  847. ansReg = Spi6ClkReg_o;
  848. end
  849. SPI_6_CS_DELAY_ADDR : begin
  850. ansReg = Spi6CsDelayReg_o;
  851. end
  852. SPI_6_CS_CTRL_ADDR : begin
  853. ansReg = Spi6CsCtrlReg_o;
  854. end
  855. SPI_6_TX_FIFO_CTRL_ADDR_LSB : begin
  856. ansReg = TxFifoCtrlReg6_i[15:0];
  857. end
  858. SPI_6_TX_FIFO_CTRL_ADDR_MSB : begin
  859. ansReg = TxFifoCtrlReg6_i[31:16];
  860. end
  861. SPI_6_RX_FIFO_CTRL_ADDR_LSB : begin
  862. ansReg = RxFifoCtrlReg6_i[15:0];
  863. end
  864. SPI_6_RX_FIFO_CTRL_ADDR_MSB : begin
  865. ansReg = RxFifoCtrlReg6_i[31:16];
  866. end
  867. SPI_TX_RX_EN : begin
  868. ansReg = spiTxRxEnReg;
  869. end
  870. GPIO_CTRL_ADDR : begin
  871. ansReg = GPIOAReg;
  872. end
  873. GPIO_CTRL_ADDR_S : begin
  874. ansReg = {9'd0,LdReg_i};
  875. end
  876. DEBUG_0_ADDR : begin
  877. ansReg = ledReg;
  878. end
  879. default : begin
  880. ansReg = 0;
  881. end
  882. endcase
  883. end
  884. end
  885. endmodule