RegMap.v 40 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012
  1. module RegMap #(
  2. parameter CmdRegWidth = 32,
  3. parameter AddrRegWidth = 12
  4. )
  5. (
  6. input [CmdRegWidth/2-1:0] Data_i,
  7. input [AddrRegWidth-1:0] Addr_i,
  8. input Val_i,
  9. input Clk_i,
  10. input Rst_i,
  11. input [1:0] SmcBe_i,
  12. input [CmdRegWidth-1:0] TxFifoCtrlReg0_i,
  13. input [CmdRegWidth-1:0] RxFifoCtrlReg0_i,
  14. input [CmdRegWidth-1:0] TxFifoCtrlReg1_i,
  15. input [CmdRegWidth-1:0] RxFifoCtrlReg1_i,
  16. input [CmdRegWidth-1:0] TxFifoCtrlReg2_i,
  17. input [CmdRegWidth-1:0] RxFifoCtrlReg2_i,
  18. input [CmdRegWidth-1:0] TxFifoCtrlReg3_i,
  19. input [CmdRegWidth-1:0] RxFifoCtrlReg3_i,
  20. input [CmdRegWidth-1:0] TxFifoCtrlReg4_i,
  21. input [CmdRegWidth-1:0] RxFifoCtrlReg4_i,
  22. input [CmdRegWidth-1:0] TxFifoCtrlReg5_i,
  23. input [CmdRegWidth-1:0] RxFifoCtrlReg5_i,
  24. input [CmdRegWidth-1:0] TxFifoCtrlReg6_i,
  25. input [CmdRegWidth-1:0] RxFifoCtrlReg6_i,
  26. input [6:0] LdReg_i,
  27. output [CmdRegWidth/2-1:0] Spi0CtrlReg_o,
  28. output [CmdRegWidth/2-1:0] Spi0ClkReg_o,
  29. output [CmdRegWidth/2-1:0] Spi0CsDelayReg_o,
  30. output [CmdRegWidth/2-1:0] Spi0CsCtrlReg_o,
  31. output [CmdRegWidth/2-1:0] Spi0TxFifoCtrlReg_o,
  32. output [CmdRegWidth/2-1:0] Spi0RxFifoCtrlReg_o,
  33. output [CmdRegWidth/2-1:0] Spi0TxFifoReg_o,
  34. output [CmdRegWidth/2-1:0] Spi0RxFifoReg_o,
  35. output [CmdRegWidth/2-1:0] Spi1CtrlReg_o,
  36. output [CmdRegWidth/2-1:0] Spi1ClkReg_o,
  37. output [CmdRegWidth/2-1:0] Spi1CsDelayReg_o,
  38. output [CmdRegWidth/2-1:0] Spi1CsCtrlReg_o,
  39. output [CmdRegWidth/2-1:0] Spi1TxFifoCtrlReg_o,
  40. output [CmdRegWidth/2-1:0] Spi1RxFifoCtrlReg_o,
  41. output [CmdRegWidth/2-1:0] Spi1TxFifoReg_o,
  42. output [CmdRegWidth/2-1:0] Spi1RxFifoReg_o,
  43. output [CmdRegWidth/2-1:0] Spi2CtrlReg_o,
  44. output [CmdRegWidth/2-1:0] Spi2ClkReg_o,
  45. output [CmdRegWidth/2-1:0] Spi2CsDelayReg_o,
  46. output [CmdRegWidth/2-1:0] Spi2CsCtrlReg_o,
  47. output [CmdRegWidth/2-1:0] Spi2TxFifoCtrlReg_o,
  48. output [CmdRegWidth/2-1:0] Spi2RxFifoCtrlReg_o,
  49. output [CmdRegWidth/2-1:0] Spi2TxFifoReg_o,
  50. output [CmdRegWidth/2-1:0] Spi2RxFifoReg_o,
  51. output [CmdRegWidth/2-1:0] Spi3CtrlReg_o,
  52. output [CmdRegWidth/2-1:0] Spi3ClkReg_o,
  53. output [CmdRegWidth/2-1:0] Spi3CsDelayReg_o,
  54. output [CmdRegWidth/2-1:0] Spi3CsCtrlReg_o,
  55. output [CmdRegWidth/2-1:0] Spi3TxFifoCtrlReg_o,
  56. output [CmdRegWidth/2-1:0] Spi3RxFifoCtrlReg_o,
  57. output [CmdRegWidth/2-1:0] Spi3TxFifoReg_o,
  58. output [CmdRegWidth/2-1:0] Spi3RxFifoReg_o,
  59. output [CmdRegWidth/2-1:0] Spi4CtrlReg_o,
  60. output [CmdRegWidth/2-1:0] Spi4ClkReg_o,
  61. output [CmdRegWidth/2-1:0] Spi4CsDelayReg_o,
  62. output [CmdRegWidth/2-1:0] Spi4CsCtrlReg_o,
  63. output [CmdRegWidth/2-1:0] Spi4TxFifoCtrlReg_o,
  64. output [CmdRegWidth/2-1:0] Spi4RxFifoCtrlReg_o,
  65. output [CmdRegWidth/2-1:0] Spi4TxFifoReg_o,
  66. output [CmdRegWidth/2-1:0] Spi4RxFifoReg_o,
  67. output [CmdRegWidth/2-1:0] Spi5CtrlReg_o,
  68. output [CmdRegWidth/2-1:0] Spi5ClkReg_o,
  69. output [CmdRegWidth/2-1:0] Spi5CsDelayReg_o,
  70. output [CmdRegWidth/2-1:0] Spi5CsCtrlReg_o,
  71. output [CmdRegWidth/2-1:0] Spi5TxFifoCtrlReg_o,
  72. output [CmdRegWidth/2-1:0] Spi5RxFifoCtrlReg_o,
  73. output [CmdRegWidth/2-1:0] Spi5TxFifoReg_o,
  74. output [CmdRegWidth/2-1:0] Spi5RxFifoReg_o,
  75. output [CmdRegWidth/2-1:0] Spi6CtrlReg_o,
  76. output [CmdRegWidth/2-1:0] Spi6ClkReg_o,
  77. output [CmdRegWidth/2-1:0] Spi6CsDelayReg_o,
  78. output [CmdRegWidth/2-1:0] Spi6CsCtrlReg_o,
  79. output [CmdRegWidth/2-1:0] Spi6TxFifoCtrlReg_o,
  80. output [CmdRegWidth/2-1:0] Spi6RxFifoCtrlReg_o,
  81. output [CmdRegWidth/2-1:0] Spi6TxFifoReg_o,
  82. output [CmdRegWidth/2-1:0] Spi6RxFifoReg_o,
  83. output [CmdRegWidth/2-1:0] SpiTxRxEnReg_o,
  84. output [CmdRegWidth-1:0] GPIOAReg_o,
  85. output [CmdRegWidth/2-1:0] AnsDataReg_o,
  86. output Led_o
  87. );
  88. //================================================================================
  89. // REG/WIRE
  90. //================================================================================
  91. reg [CmdRegWidth/2-1:0] Spi0CtrlReg;
  92. reg [CmdRegWidth/2-1:0] Spi0ClkReg;
  93. reg [CmdRegWidth/2-1:0] Spi0CsDelayReg;
  94. reg [CmdRegWidth/2-1:0] Spi0CsCtrlReg;
  95. reg [CmdRegWidth/2-1:0] Spi0TxFifoCtrlReg;
  96. reg [CmdRegWidth/2-1:0] Spi0RxFifoCtrlReg;
  97. reg [CmdRegWidth/2-1:0] Spi1CtrlReg;
  98. reg [CmdRegWidth/2-1:0] Spi1ClkReg;
  99. reg [CmdRegWidth/2-1:0] Spi1CsDelayReg;
  100. reg [CmdRegWidth/2-1:0] Spi1CsCtrlReg;
  101. reg [CmdRegWidth/2-1:0] Spi1TxFifoCtrlReg;
  102. reg [CmdRegWidth/2-1:0] Spi1RxFifoCtrlReg;
  103. reg [CmdRegWidth/2-1:0] Spi2CtrlReg;
  104. reg [CmdRegWidth/2-1:0] Spi2ClkReg;
  105. reg [CmdRegWidth/2-1:0] Spi2CsDelayReg;
  106. reg [CmdRegWidth/2-1:0] Spi2CsCtrlReg;
  107. reg [CmdRegWidth/2-1:0] Spi2TxFifoCtrlReg;
  108. reg [CmdRegWidth/2-1:0] Spi2RxFifoCtrlReg;
  109. reg [CmdRegWidth/2-1:0] Spi3CtrlReg;
  110. reg [CmdRegWidth/2-1:0] Spi3ClkReg;
  111. reg [CmdRegWidth/2-1:0] Spi3CsDelayReg;
  112. reg [CmdRegWidth/2-1:0] Spi3CsCtrlReg;
  113. reg [CmdRegWidth/2-1:0] Spi3TxFifoCtrlReg;
  114. reg [CmdRegWidth/2-1:0] Spi3RxFifoCtrlReg;
  115. reg [CmdRegWidth/2-1:0] Spi4CtrlReg;
  116. reg [CmdRegWidth/2-1:0] Spi4ClkReg;
  117. reg [CmdRegWidth/2-1:0] Spi4CsDelayReg;
  118. reg [CmdRegWidth/2-1:0] Spi4CsCtrlReg;
  119. reg [CmdRegWidth/2-1:0] Spi4TxFifoCtrlReg;
  120. reg [CmdRegWidth/2-1:0] Spi4RxFifoCtrlReg;
  121. reg [CmdRegWidth/2-1:0] Spi5CtrlReg;
  122. reg [CmdRegWidth/2-1:0] Spi5ClkReg;
  123. reg [CmdRegWidth/2-1:0] Spi5CsDelayReg;
  124. reg [CmdRegWidth/2-1:0] Spi5CsCtrlReg;
  125. reg [CmdRegWidth/2-1:0] Spi5TxFifoCtrlReg;
  126. reg [CmdRegWidth/2-1:0] Spi5RxFifoCtrlReg;
  127. reg [CmdRegWidth/2-1:0] Spi6CtrlReg;
  128. reg [CmdRegWidth/2-1:0] Spi6ClkReg;
  129. reg [CmdRegWidth/2-1:0] Spi6CsDelayReg;
  130. reg [CmdRegWidth/2-1:0] Spi6CsCtrlReg;
  131. reg [CmdRegWidth/2-1:0] Spi6TxFifoCtrlReg;
  132. reg [CmdRegWidth/2-1:0] Spi6RxFifoCtrlReg;
  133. (* dont_touch = "yes" *)reg [CmdRegWidth/2-1:0] spiTxRxEnReg;
  134. reg [CmdRegWidth/2-1:0] GPIOAReg;
  135. reg [CmdRegWidth/2-1:0] GPIOARegS;
  136. (* dont_touch = "yes" *)reg [CmdRegWidth/2-1:0] ansReg;
  137. (* dont_touch = "yes" *)reg [CmdRegWidth/2-1:0] ledReg;
  138. reg [1:0] beReg;
  139. //================================================================================
  140. // ASSIGNMENTS
  141. //================================================================================
  142. assign Spi0CtrlReg_o = Spi0CtrlReg;
  143. assign Spi0ClkReg_o = Spi0ClkReg;
  144. assign Spi0CsDelayReg_o = Spi0CsDelayReg;
  145. assign Spi0CsCtrlReg_o = Spi0CsCtrlReg;
  146. assign Spi0TxFifoCtrlReg_o = Spi0TxFifoCtrlReg;
  147. assign Spi0RxFifoCtrlReg_o = Spi0RxFifoCtrlReg;
  148. assign Spi1CtrlReg_o = Spi1CtrlReg;
  149. assign Spi1ClkReg_o = Spi1ClkReg;
  150. assign Spi1CsDelayReg_o = Spi1CsDelayReg;
  151. assign Spi1CsCtrlReg_o = Spi1CsCtrlReg;
  152. assign Spi1TxFifoCtrlReg_o = Spi1TxFifoCtrlReg;
  153. assign Spi1RxFifoCtrlReg_o = Spi1RxFifoCtrlReg;
  154. assign Spi2CtrlReg_o = Spi2CtrlReg;
  155. assign Spi2ClkReg_o = Spi2ClkReg;
  156. assign Spi2CsDelayReg_o = Spi2CsDelayReg;
  157. assign Spi2CsCtrlReg_o = Spi2CsCtrlReg;
  158. assign Spi2TxFifoCtrlReg_o = Spi2TxFifoCtrlReg;
  159. assign Spi2RxFifoCtrlReg_o = Spi2RxFifoCtrlReg;
  160. assign Spi3CtrlReg_o = Spi3CtrlReg;
  161. assign Spi3ClkReg_o = Spi3ClkReg;
  162. assign Spi3CsDelayReg_o = Spi3CsDelayReg;
  163. assign Spi3CsCtrlReg_o = Spi3CsCtrlReg;
  164. assign Spi3TxFifoCtrlReg_o = Spi3TxFifoCtrlReg;
  165. assign Spi3RxFifoCtrlReg_o = Spi3RxFifoCtrlReg;
  166. assign Spi4CtrlReg_o = Spi4CtrlReg;
  167. assign Spi4ClkReg_o = Spi4ClkReg;
  168. assign Spi4CsDelayReg_o = Spi4CsDelayReg;
  169. assign Spi4CsCtrlReg_o = Spi4CsCtrlReg;
  170. assign Spi4TxFifoCtrlReg_o = Spi4TxFifoCtrlReg;
  171. assign Spi4RxFifoCtrlReg_o = Spi4RxFifoCtrlReg;
  172. assign Spi5CtrlReg_o = Spi5CtrlReg;
  173. assign Spi5ClkReg_o = Spi5ClkReg;
  174. assign Spi5CsDelayReg_o = Spi5CsDelayReg;
  175. assign Spi5CsCtrlReg_o = Spi5CsCtrlReg;
  176. assign Spi5TxFifoCtrlReg_o = Spi5TxFifoCtrlReg;
  177. assign Spi5RxFifoCtrlReg_o = Spi5RxFifoCtrlReg;
  178. assign Spi6CtrlReg_o = Spi6CtrlReg;
  179. assign Spi6ClkReg_o = Spi6ClkReg;
  180. assign Spi6CsDelayReg_o = Spi6CsDelayReg;
  181. assign Spi6CsCtrlReg_o = Spi6CsCtrlReg;
  182. assign Spi6TxFifoCtrlReg_o = Spi6TxFifoCtrlReg;
  183. assign Spi6RxFifoCtrlReg_o = Spi6RxFifoCtrlReg;
  184. assign SpiTxRxEnReg_o = spiTxRxEnReg;
  185. assign GPIOAReg_o = {GPIOARegS, GPIOAReg};
  186. assign AnsDataReg_o = ansReg;
  187. assign Led_o = ledReg[0];
  188. //================================================================================
  189. // LOCALPARAMS
  190. //================================================================================
  191. localparam Spi0CtrlAddr = 12'h00;
  192. localparam Spi0ClkAddr = 12'h04;
  193. localparam Spi0CsDelayAddr = 12'h08;
  194. localparam Spi0CsCtrlAddr = 12'h0c;
  195. localparam Spi0TxFifoCtrlAddrLsb = 12'h10;
  196. localparam Spi0TxFifoCtrlAddrMsb = 12'h12;
  197. localparam Spi0RxFifoCtrlAddrLsb = 12'h14;
  198. localparam Spi0RxFifoCtrlAddrMsb = 12'h16;
  199. localparam Spi0TxFifo = 12'h18;
  200. localparam Spi0RxFifo = 12'h1c;
  201. localparam Spi1CtrlAddr = 12'h50;
  202. localparam Spi1ClkAddr = 12'h54;
  203. localparam Spi1CsDelayAddr = 12'h58;
  204. localparam Spi1CsCtrlAddr = 12'h5c;
  205. localparam Spi1TxFifoCtrlAddrLsb = 12'h60;
  206. localparam Spi1TxFifoCtrlAddrMsb = 12'h62;
  207. localparam Spi1RxFifoCtrlAddrLsb = 12'h64;
  208. localparam Spi1RxFifoCtrlAddrMsb = 12'h66;
  209. localparam Spi1TxFifo = 12'h68;
  210. localparam Spi1RxFifo = 12'h6c;
  211. localparam Spi2CtrlAddr = 12'hF0;
  212. localparam Spi2ClkAddr = 12'hF4;
  213. localparam Spi2CsDelayAddr = 12'hF8;
  214. localparam Spi2CsCtrlAddr = 12'hFc;
  215. localparam Spi2TxFifoCtrlAddrLsb = 12'h100;
  216. localparam Spi2TxFifoCtrlAddrMsb = 12'h102;
  217. localparam Spi2RxFifoCtrlAddrLsb = 12'h104;
  218. localparam Spi2RxFifoCtrlAddrMsb = 12'h106;
  219. localparam Spi2TxFifo = 12'h108;
  220. localparam Spi2RxFifo = 12'h10c;
  221. localparam Spi3CtrlAddr = 12'h140;
  222. localparam Spi3ClkAddr = 12'h144;
  223. localparam Spi3CsDelayAddr = 12'h148;
  224. localparam Spi3CsCtrlAddr = 12'h14c;
  225. localparam Spi3TxFifoCtrlAddrLsb = 12'h150;
  226. localparam Spi3TxFifoCtrlAddrMsb = 12'h152;
  227. localparam Spi3RxFifoCtrlAddrLsb = 12'h154;
  228. localparam Spi3RxFifoCtrlAddrMsb = 12'h156;
  229. localparam Spi3TxFifo = 12'h158;
  230. localparam Spi3RxFifo = 12'h15c;
  231. localparam Spi4CtrlAddr = 12'h190;
  232. localparam Spi4ClkAddr = 12'h194;
  233. localparam Spi4CsDelayAddr = 12'h198;
  234. localparam Spi4CsCtrlAddr = 12'h19c;
  235. localparam Spi4TxFifoCtrlAddrLsb = 12'h1a0;
  236. localparam Spi4TxFifoCtrlAddrMsb = 12'h1a2;
  237. localparam Spi4RxFifoCtrlAddrLsb = 12'h1a4;
  238. localparam Spi4RxFifoCtrlAddrMsb = 12'h1a6;
  239. localparam Spi4TxFifo = 12'h1a8;
  240. localparam Spi4RxFifo = 12'h1ac;
  241. localparam Spi5CtrlAddr = 12'h1e0;
  242. localparam Spi5ClkAddr = 12'h1e4;
  243. localparam Spi5CsDelayAddr = 12'h1e8;
  244. localparam Spi5CsCtrlAddr = 12'h1ec;
  245. localparam Spi5TxFifoCtrlAddrLsb = 12'h1f0;
  246. localparam Spi5TxFifoCtrlAddrMsb = 12'h1f2;
  247. localparam Spi5RxFifoCtrlAddrLsb = 12'h1f4;
  248. localparam Spi5RxFifoCtrlAddrMsb = 12'h1f6;
  249. localparam Spi5TxFifo = 12'h1f8;
  250. localparam Spi5RxFifo = 12'h1fc;
  251. localparam Spi6CtrlAddr = 12'h230;
  252. localparam Spi6ClkAddr = 12'h234;
  253. localparam Spi6CsDelayAddr = 12'h238;
  254. localparam Spi6CsCtrlAddr = 12'h23c;
  255. localparam Spi6TxFifoCtrlAddrLsb = 12'h240;
  256. localparam Spi6TxFifoCtrlAddrMsb = 12'h242;
  257. localparam Spi6RxFifoCtrlAddrLsb = 12'h244;
  258. localparam Spi6RxFifoCtrlAddrMsb = 12'h246;
  259. localparam Spi6TxFifo = 12'h248;
  260. localparam Spi6RxFifo = 12'h24c;
  261. localparam SpiTxRxEn = 12'hF00;
  262. localparam GPIOCtrlAddr = 12'hFF0;
  263. localparam GPIOCtrlAddrS = 12'hFF2;
  264. localparam Debug0Addr = 12'hFF8;
  265. localparam Debug1Addr = 12'hFFC;
  266. //================================================================================
  267. always @(posedge Clk_i) begin
  268. if (!Rst_i) begin
  269. beReg <= 2'b0;
  270. end else begin
  271. beReg <= SmcBe_i;
  272. end
  273. end
  274. always @(posedge Clk_i) begin
  275. if (Rst_i) begin
  276. Spi0ClkReg <= 0;
  277. Spi0CtrlReg <= 0;
  278. Spi0CsDelayReg <= 0;
  279. Spi0CsCtrlReg <= 0;
  280. Spi0TxFifoCtrlReg <= 0;
  281. Spi0RxFifoCtrlReg <= 0;
  282. Spi1ClkReg <= 0;
  283. Spi1CtrlReg <= 0;
  284. Spi1CsDelayReg <= 0;
  285. Spi1CsCtrlReg <= 0;
  286. Spi1TxFifoCtrlReg <= 0;
  287. Spi1RxFifoCtrlReg <= 0;
  288. Spi2ClkReg <= 0;
  289. Spi2CtrlReg <= 0;
  290. Spi2CsDelayReg <= 0;
  291. Spi2CsCtrlReg <= 0;
  292. Spi2TxFifoCtrlReg <= 0;
  293. Spi2RxFifoCtrlReg <= 0;
  294. Spi3ClkReg <= 0;
  295. Spi3CtrlReg <= 0;
  296. Spi3CsDelayReg <= 0;
  297. Spi3CsCtrlReg <= 0;
  298. Spi3TxFifoCtrlReg <= 0;
  299. Spi3RxFifoCtrlReg <= 0;
  300. Spi4ClkReg <= 0;
  301. Spi4CtrlReg <= 0;
  302. Spi4CsDelayReg <= 0;
  303. Spi4CsCtrlReg <= 0;
  304. Spi4TxFifoCtrlReg <= 0;
  305. Spi4RxFifoCtrlReg <= 0;
  306. Spi5ClkReg <= 0;
  307. Spi5CtrlReg <= 0;
  308. Spi5CsDelayReg <= 0;
  309. Spi5CsCtrlReg <= 0;
  310. Spi5TxFifoCtrlReg <= 0;
  311. Spi5RxFifoCtrlReg <= 0;
  312. Spi6ClkReg <= 0;
  313. Spi6CtrlReg <= 0;
  314. Spi6CsDelayReg <= 0;
  315. Spi6CsCtrlReg <= 0;
  316. Spi6TxFifoCtrlReg <= 0;
  317. Spi6RxFifoCtrlReg <= 0;
  318. spiTxRxEnReg <= 0;
  319. GPIOAReg <= 0;
  320. GPIOARegS <= 0;
  321. ledReg <= 0;
  322. end
  323. else begin
  324. if (Val_i) begin
  325. case (beReg)
  326. 0 : begin
  327. case (Addr_i)
  328. Spi0CtrlAddr : begin
  329. Spi0CtrlReg <= Data_i;
  330. end
  331. Spi0ClkAddr : begin
  332. Spi0ClkReg <= Data_i;
  333. end
  334. Spi0CsDelayAddr : begin
  335. Spi0CsDelayReg <= Data_i;
  336. end
  337. Spi0CsCtrlAddr : begin
  338. Spi0CsCtrlReg <= Data_i;
  339. end
  340. Spi0TxFifoCtrlAddrLsb : begin
  341. Spi0TxFifoCtrlReg <= Data_i;
  342. end
  343. Spi0RxFifoCtrlAddrLsb : begin
  344. Spi0RxFifoCtrlReg <= Data_i;
  345. end
  346. Spi1CtrlAddr : begin
  347. Spi1CtrlReg <= Data_i;
  348. end
  349. Spi1ClkAddr : begin
  350. Spi1ClkReg <= Data_i;
  351. end
  352. Spi1CsDelayAddr : begin
  353. Spi1CsDelayReg <= Data_i;
  354. end
  355. Spi1CsCtrlAddr : begin
  356. Spi1CsCtrlReg <= Data_i;
  357. end
  358. Spi1TxFifoCtrlAddrLsb : begin
  359. Spi1TxFifoCtrlReg <= Data_i;
  360. end
  361. Spi1RxFifoCtrlAddrLsb : begin
  362. Spi1RxFifoCtrlReg <= Data_i;
  363. end
  364. Spi2CtrlAddr : begin
  365. Spi2CtrlReg <= Data_i;
  366. end
  367. Spi2ClkAddr : begin
  368. Spi2ClkReg <= Data_i;
  369. end
  370. Spi2CsDelayAddr : begin
  371. Spi2CsDelayReg <= Data_i;
  372. end
  373. Spi2CsCtrlAddr : begin
  374. Spi2CsCtrlReg <= Data_i;
  375. end
  376. Spi2TxFifoCtrlAddrLsb : begin
  377. Spi2TxFifoCtrlReg <= Data_i;
  378. end
  379. Spi2RxFifoCtrlAddrLsb : begin
  380. Spi2RxFifoCtrlReg <= Data_i;
  381. end
  382. Spi3CtrlAddr : begin
  383. Spi3CtrlReg <= Data_i;
  384. end
  385. Spi3ClkAddr : begin
  386. Spi3ClkReg <= Data_i;
  387. end
  388. Spi3CsDelayAddr : begin
  389. Spi3CsDelayReg <= Data_i;
  390. end
  391. Spi3CsCtrlAddr : begin
  392. Spi3CsCtrlReg <= Data_i;
  393. end
  394. Spi3TxFifoCtrlAddrLsb : begin
  395. Spi3TxFifoCtrlReg <= Data_i;
  396. end
  397. Spi3RxFifoCtrlAddrLsb : begin
  398. Spi3RxFifoCtrlReg <= Data_i;
  399. end
  400. Spi4CtrlAddr : begin
  401. Spi4CtrlReg <= Data_i;
  402. end
  403. Spi4ClkAddr : begin
  404. Spi4ClkReg <= Data_i;
  405. end
  406. Spi4CsDelayAddr : begin
  407. Spi4CsDelayReg <= Data_i;
  408. end
  409. Spi4CsCtrlAddr : begin
  410. Spi4CsCtrlReg <= Data_i;
  411. end
  412. Spi4TxFifoCtrlAddrLsb : begin
  413. Spi4TxFifoCtrlReg <= Data_i;
  414. end
  415. Spi4RxFifoCtrlAddrLsb : begin
  416. Spi4RxFifoCtrlReg <= Data_i;
  417. end
  418. Spi5CtrlAddr : begin
  419. Spi5CtrlReg <= Data_i;
  420. end
  421. Spi5ClkAddr : begin
  422. Spi5ClkReg <= Data_i;
  423. end
  424. Spi5CsDelayAddr : begin
  425. Spi5CsDelayReg <= Data_i;
  426. end
  427. Spi5CsCtrlAddr : begin
  428. Spi5CsCtrlReg <= Data_i;
  429. end
  430. Spi5TxFifoCtrlAddrLsb : begin
  431. Spi5TxFifoCtrlReg <= Data_i;
  432. end
  433. Spi5RxFifoCtrlAddrLsb : begin
  434. Spi5RxFifoCtrlReg <= Data_i;
  435. end
  436. Spi6CtrlAddr : begin
  437. Spi6CtrlReg <= Data_i;
  438. end
  439. Spi6ClkAddr : begin
  440. Spi6ClkReg <= Data_i;
  441. end
  442. Spi6CsDelayAddr : begin
  443. Spi6CsDelayReg <= Data_i;
  444. end
  445. Spi6CsCtrlAddr : begin
  446. Spi6CsCtrlReg <= Data_i;
  447. end
  448. Spi6TxFifoCtrlAddrLsb : begin
  449. Spi6TxFifoCtrlReg <= Data_i;
  450. end
  451. Spi6RxFifoCtrlAddrLsb : begin
  452. Spi6RxFifoCtrlReg <= Data_i;
  453. end
  454. SpiTxRxEn : begin
  455. spiTxRxEnReg <= Data_i;
  456. end
  457. GPIOCtrlAddr : begin
  458. GPIOAReg <= Data_i;
  459. end
  460. GPIOCtrlAddrS : begin
  461. GPIOARegS <= Data_i;
  462. end
  463. Debug0Addr : begin
  464. ledReg <= Data_i;
  465. end
  466. endcase
  467. end
  468. 1 : begin
  469. case (Addr_i)
  470. Spi0CtrlAddr : begin
  471. Spi0CtrlReg[15:8] <= Data_i[15:8];
  472. end
  473. Spi0ClkAddr : begin
  474. Spi0ClkReg[15:8] <= Data_i[15:8];
  475. end
  476. Spi0CsDelayAddr : begin
  477. Spi0CsDelayReg[15:8] <= Data_i[15:8];
  478. end
  479. Spi0CsCtrlAddr : begin
  480. Spi0CsCtrlReg[15:8] <= Data_i[15:8];
  481. end
  482. Spi0TxFifoCtrlAddrLsb : begin
  483. Spi0TxFifoCtrlReg[15:8] <= Data_i[15:8];
  484. end
  485. Spi0RxFifoCtrlAddrLsb : begin
  486. Spi0RxFifoCtrlReg[15:8] <= Data_i[15:8];
  487. end
  488. Spi1CtrlAddr : begin
  489. Spi1CtrlReg[15:8] <= Data_i[15:8];
  490. end
  491. Spi1ClkAddr : begin
  492. Spi1ClkReg[15:8] <= Data_i[15:8];
  493. end
  494. Spi1CsDelayAddr : begin
  495. Spi1CsDelayReg[15:8] <= Data_i[15:8];
  496. end
  497. Spi1CsCtrlAddr : begin
  498. Spi1CsCtrlReg[15:8] <= Data_i[15:8];
  499. end
  500. Spi1TxFifoCtrlAddrLsb : begin
  501. Spi1TxFifoCtrlReg[15:8] <= Data_i[15:8];
  502. end
  503. Spi1RxFifoCtrlAddrLsb : begin
  504. Spi1RxFifoCtrlReg[15:8] <= Data_i[15:8];
  505. end
  506. Spi2CtrlAddr : begin
  507. Spi2CtrlReg[15:8] <= Data_i[15:8];
  508. end
  509. Spi2ClkAddr : begin
  510. Spi2ClkReg[15:8] <= Data_i[15:8];
  511. end
  512. Spi2CsDelayAddr : begin
  513. Spi2CsDelayReg[15:8] <= Data_i[15:8];
  514. end
  515. Spi2CsCtrlAddr : begin
  516. Spi2CsCtrlReg[15:8] <= Data_i[15:8];
  517. end
  518. Spi2TxFifoCtrlAddrLsb : begin
  519. Spi2TxFifoCtrlReg[15:8] <= Data_i[15:8];
  520. end
  521. Spi2RxFifoCtrlAddrLsb : begin
  522. Spi2RxFifoCtrlReg[15:8] <= Data_i[15:8];
  523. end
  524. Spi3CtrlAddr : begin
  525. Spi3CtrlReg[15:8] <= Data_i[15:8];
  526. end
  527. Spi3ClkAddr : begin
  528. Spi3ClkReg[15:8] <= Data_i[15:8];
  529. end
  530. Spi3CsDelayAddr : begin
  531. Spi3CsDelayReg[15:8] <= Data_i[15:8];
  532. end
  533. Spi3CsCtrlAddr : begin
  534. Spi3CsCtrlReg[15:8] <= Data_i[15:8];
  535. end
  536. Spi3TxFifoCtrlAddrLsb : begin
  537. Spi3TxFifoCtrlReg[15:8] <= Data_i[15:8];
  538. end
  539. Spi3RxFifoCtrlAddrLsb : begin
  540. Spi3RxFifoCtrlReg[15:8] <= Data_i[15:8];
  541. end
  542. Spi4CtrlAddr : begin
  543. Spi4CtrlReg[15:8] <= Data_i[15:8];
  544. end
  545. Spi4ClkAddr : begin
  546. Spi4ClkReg[15:8] <= Data_i[15:8];
  547. end
  548. Spi4CsDelayAddr : begin
  549. Spi4CsDelayReg[15:8] <= Data_i[15:8];
  550. end
  551. Spi4CsCtrlAddr : begin
  552. Spi4CsCtrlReg[15:8] <= Data_i[15:8];
  553. end
  554. Spi4TxFifoCtrlAddrLsb : begin
  555. Spi4TxFifoCtrlReg[15:8] <= Data_i[15:8];
  556. end
  557. Spi4RxFifoCtrlAddrLsb : begin
  558. Spi4RxFifoCtrlReg[15:8] <= Data_i[15:8];
  559. end
  560. Spi5CtrlAddr : begin
  561. Spi5CtrlReg[15:8] <= Data_i[15:8];
  562. end
  563. Spi5ClkAddr : begin
  564. Spi5ClkReg[15:8] <= Data_i[15:8];
  565. end
  566. Spi5CsDelayAddr : begin
  567. Spi5CsDelayReg[15:8] <= Data_i[15:8];
  568. end
  569. Spi5CsCtrlAddr : begin
  570. Spi5CsCtrlReg[15:8] <= Data_i[15:8];
  571. end
  572. Spi5TxFifoCtrlAddrLsb : begin
  573. Spi5TxFifoCtrlReg[15:8] <= Data_i[15:8];
  574. end
  575. Spi5RxFifoCtrlAddrLsb : begin
  576. Spi5RxFifoCtrlReg[15:8] <= Data_i[15:8];
  577. end
  578. Spi6CtrlAddr : begin
  579. Spi6CtrlReg[15:8] <= Data_i[15:8];
  580. end
  581. Spi6ClkAddr : begin
  582. Spi6ClkReg[15:8] <= Data_i[15:8];
  583. end
  584. Spi6CsDelayAddr : begin
  585. Spi6CsDelayReg[15:8] <= Data_i[15:8];
  586. end
  587. Spi6CsCtrlAddr : begin
  588. Spi6CsCtrlReg[15:8] <= Data_i[15:8];
  589. end
  590. Spi6TxFifoCtrlAddrLsb : begin
  591. Spi6TxFifoCtrlReg[15:8] <= Data_i[15:8];
  592. end
  593. Spi6RxFifoCtrlAddrLsb : begin
  594. Spi6RxFifoCtrlReg[15:8] <= Data_i[15:8];
  595. end
  596. SpiTxRxEn : begin
  597. spiTxRxEnReg[15:8] <= Data_i[15:8];
  598. end
  599. GPIOCtrlAddr : begin
  600. GPIOAReg[15:8] <= Data_i[15:8];
  601. end
  602. GPIOCtrlAddrS : begin
  603. GPIOARegS[15:8] <= Data_i[15:8];
  604. end
  605. Debug0Addr : begin
  606. ledReg[15:8] <= Data_i[15:8];
  607. end
  608. endcase
  609. end
  610. 2 : begin
  611. case (Addr_i)
  612. Spi0CtrlAddr : begin
  613. Spi0CtrlReg[7:0] <= Data_i[7:0];
  614. end
  615. Spi0ClkAddr : begin
  616. Spi0ClkReg[7:0] <= Data_i[7:0];
  617. end
  618. Spi0CsDelayAddr : begin
  619. Spi0CsDelayReg[7:0] <= Data_i[7:0];
  620. end
  621. Spi0CsCtrlAddr : begin
  622. Spi0CsCtrlReg[7:0] <= Data_i[7:0];
  623. end
  624. Spi0TxFifoCtrlAddrLsb : begin
  625. Spi0TxFifoCtrlReg[7:0] <= Data_i[7:0];
  626. end
  627. Spi0RxFifoCtrlAddrLsb : begin
  628. Spi0RxFifoCtrlReg[7:0] <= Data_i[7:0];
  629. end
  630. Spi1CtrlAddr : begin
  631. Spi1CtrlReg[7:0] <= Data_i[7:0];
  632. end
  633. Spi1ClkAddr : begin
  634. Spi1ClkReg[7:0] <= Data_i[7:0];
  635. end
  636. Spi1CsDelayAddr : begin
  637. Spi1CsDelayReg[7:0] <= Data_i[7:0];
  638. end
  639. Spi1CsCtrlAddr : begin
  640. Spi1CsCtrlReg[7:0] <= Data_i[7:0];
  641. end
  642. Spi1TxFifoCtrlAddrLsb : begin
  643. Spi1TxFifoCtrlReg[7:0] <= Data_i[7:0];
  644. end
  645. Spi1RxFifoCtrlAddrLsb : begin
  646. Spi1RxFifoCtrlReg[7:0] <= Data_i[7:0];
  647. end
  648. Spi2CtrlAddr : begin
  649. Spi2CtrlReg[7:0] <= Data_i[7:0];
  650. end
  651. Spi2ClkAddr : begin
  652. Spi2ClkReg[7:0] <= Data_i[7:0];
  653. end
  654. Spi2CsDelayAddr : begin
  655. Spi2CsDelayReg[7:0] <= Data_i[7:0];
  656. end
  657. Spi2CsCtrlAddr : begin
  658. Spi2CsCtrlReg[7:0] <= Data_i[7:0];
  659. end
  660. Spi2TxFifoCtrlAddrLsb : begin
  661. Spi2TxFifoCtrlReg[7:0] <= Data_i[7:0];
  662. end
  663. Spi2RxFifoCtrlAddrLsb : begin
  664. Spi2RxFifoCtrlReg[7:0] <= Data_i[7:0];
  665. end
  666. Spi3CtrlAddr : begin
  667. Spi3CtrlReg[7:0] <= Data_i[7:0];
  668. end
  669. Spi3ClkAddr : begin
  670. Spi3ClkReg[7:0] <= Data_i[7:0];
  671. end
  672. Spi3CsDelayAddr : begin
  673. Spi3CsDelayReg[7:0] <= Data_i[7:0];
  674. end
  675. Spi3CsCtrlAddr : begin
  676. Spi3CsCtrlReg[7:0] <= Data_i[7:0];
  677. end
  678. Spi3TxFifoCtrlAddrLsb : begin
  679. Spi3TxFifoCtrlReg[7:0] <= Data_i[7:0];
  680. end
  681. Spi3RxFifoCtrlAddrLsb : begin
  682. Spi3RxFifoCtrlReg[7:0] <= Data_i[7:0];
  683. end
  684. Spi4CtrlAddr : begin
  685. Spi4CtrlReg[7:0] <= Data_i[7:0];
  686. end
  687. Spi4ClkAddr : begin
  688. Spi4ClkReg[7:0] <= Data_i[7:0];
  689. end
  690. Spi4CsDelayAddr : begin
  691. Spi4CsDelayReg[7:0] <= Data_i[7:0];
  692. end
  693. Spi4CsCtrlAddr : begin
  694. Spi4CsCtrlReg[7:0] <= Data_i[7:0];
  695. end
  696. Spi4TxFifoCtrlAddrLsb : begin
  697. Spi4TxFifoCtrlReg[7:0] <= Data_i[7:0];
  698. end
  699. Spi4RxFifoCtrlAddrLsb : begin
  700. Spi4RxFifoCtrlReg[7:0] <= Data_i[7:0];
  701. end
  702. Spi5CtrlAddr : begin
  703. Spi5CtrlReg[7:0] <= Data_i[7:0];
  704. end
  705. Spi5ClkAddr : begin
  706. Spi5ClkReg[7:0] <= Data_i[7:0];
  707. end
  708. Spi5CsDelayAddr : begin
  709. Spi5CsDelayReg[7:0] <= Data_i[7:0];
  710. end
  711. Spi5CsCtrlAddr : begin
  712. Spi5CsCtrlReg[7:0] <= Data_i[7:0];
  713. end
  714. Spi5TxFifoCtrlAddrLsb : begin
  715. Spi5TxFifoCtrlReg[7:0] <= Data_i[7:0];
  716. end
  717. Spi5RxFifoCtrlAddrLsb : begin
  718. Spi5RxFifoCtrlReg[7:0] <= Data_i[7:0];
  719. end
  720. Spi6CtrlAddr : begin
  721. Spi6CtrlReg[7:0] <= Data_i[7:0];
  722. end
  723. Spi6ClkAddr : begin
  724. Spi6ClkReg[7:0] <= Data_i[7:0];
  725. end
  726. Spi6CsDelayAddr : begin
  727. Spi6CsDelayReg[7:0] <= Data_i[7:0];
  728. end
  729. Spi6CsCtrlAddr : begin
  730. Spi6CsCtrlReg[7:0] <= Data_i[7:0];
  731. end
  732. Spi6TxFifoCtrlAddrLsb : begin
  733. Spi6TxFifoCtrlReg[7:0] <= Data_i[7:0];
  734. end
  735. Spi6RxFifoCtrlAddrLsb : begin
  736. Spi6RxFifoCtrlReg[7:0] <= Data_i[7:0];
  737. end
  738. SpiTxRxEn : begin
  739. spiTxRxEnReg[7:0] <= Data_i[7:0];
  740. end
  741. GPIOCtrlAddr : begin
  742. GPIOAReg[7:0] <= Data_i[7:0];
  743. end
  744. GPIOCtrlAddrS : begin
  745. GPIOARegS[7:0] <= Data_i[7:0];
  746. end
  747. Debug0Addr : begin
  748. ledReg[7:0] <= Data_i[7:0];
  749. end
  750. endcase
  751. end
  752. endcase
  753. end
  754. end
  755. end
  756. always @(*) begin
  757. if (Rst_i) begin
  758. ansReg = 0;
  759. end else begin
  760. case (Addr_i)
  761. Spi0CtrlAddr : begin
  762. ansReg = Spi0CtrlReg;
  763. end
  764. Spi0ClkAddr : begin
  765. ansReg = Spi0ClkReg;
  766. end
  767. Spi0CsDelayAddr : begin
  768. ansReg = Spi0CsDelayReg;
  769. end
  770. Spi0CsCtrlAddr : begin
  771. ansReg = Spi0CsCtrlReg;
  772. end
  773. Spi0TxFifoCtrlAddrLsb : begin
  774. ansReg = TxFifoCtrlReg0_i[15:0];
  775. end
  776. Spi0TxFifoCtrlAddrMsb : begin
  777. ansReg = TxFifoCtrlReg0_i[31:16];
  778. end
  779. Spi0RxFifoCtrlAddrLsb : begin
  780. ansReg = RxFifoCtrlReg0_i[15:0];
  781. end
  782. Spi0RxFifoCtrlAddrMsb : begin
  783. ansReg = RxFifoCtrlReg0_i[31:16];
  784. end
  785. Spi1CtrlAddr : begin
  786. ansReg = Spi1CtrlReg;
  787. end
  788. Spi1ClkAddr : begin
  789. ansReg = Spi1ClkReg;
  790. end
  791. Spi1CsDelayAddr : begin
  792. ansReg = Spi1CsDelayReg;
  793. end
  794. Spi1CsCtrlAddr : begin
  795. ansReg = Spi1CsCtrlReg;
  796. end
  797. Spi1TxFifoCtrlAddrLsb : begin
  798. ansReg = TxFifoCtrlReg1_i[15:0];
  799. end
  800. Spi1TxFifoCtrlAddrMsb : begin
  801. ansReg = TxFifoCtrlReg1_i[31:16];
  802. end
  803. Spi1RxFifoCtrlAddrLsb : begin
  804. ansReg = RxFifoCtrlReg1_i[15:0];
  805. end
  806. Spi1RxFifoCtrlAddrMsb : begin
  807. ansReg = RxFifoCtrlReg1_i[31:16];
  808. end
  809. Spi2CtrlAddr : begin
  810. ansReg = Spi2CtrlReg;
  811. end
  812. Spi2ClkAddr : begin
  813. ansReg = Spi2ClkReg;
  814. end
  815. Spi2CsDelayAddr : begin
  816. ansReg = Spi2CsDelayReg;
  817. end
  818. Spi2CsCtrlAddr : begin
  819. ansReg = Spi2CsCtrlReg;
  820. end
  821. Spi2TxFifoCtrlAddrLsb : begin
  822. ansReg = TxFifoCtrlReg2_i[15:0];
  823. end
  824. Spi2TxFifoCtrlAddrMsb : begin
  825. ansReg = TxFifoCtrlReg2_i[31:16];
  826. end
  827. Spi2RxFifoCtrlAddrLsb : begin
  828. ansReg = RxFifoCtrlReg2_i[15:0];
  829. end
  830. Spi2RxFifoCtrlAddrMsb : begin
  831. ansReg = RxFifoCtrlReg2_i[31:16];
  832. end
  833. Spi3CtrlAddr : begin
  834. ansReg = Spi3CtrlReg;
  835. end
  836. Spi3ClkAddr : begin
  837. ansReg = Spi3ClkReg;
  838. end
  839. Spi3CsDelayAddr : begin
  840. ansReg = Spi3CsDelayReg;
  841. end
  842. Spi3CsCtrlAddr : begin
  843. ansReg = Spi3CsCtrlReg;
  844. end
  845. Spi3TxFifoCtrlAddrLsb : begin
  846. ansReg = TxFifoCtrlReg3_i[15:0];
  847. end
  848. Spi3TxFifoCtrlAddrMsb : begin
  849. ansReg = TxFifoCtrlReg3_i[31:16];
  850. end
  851. Spi3RxFifoCtrlAddrLsb : begin
  852. ansReg = RxFifoCtrlReg3_i[15:0];
  853. end
  854. Spi3RxFifoCtrlAddrMsb : begin
  855. ansReg = RxFifoCtrlReg3_i[31:16];
  856. end
  857. Spi4CtrlAddr : begin
  858. ansReg = Spi4CtrlReg;
  859. end
  860. Spi4ClkAddr : begin
  861. ansReg = Spi4ClkReg;
  862. end
  863. Spi4CsDelayAddr : begin
  864. ansReg = Spi4CsDelayReg;
  865. end
  866. Spi4CsCtrlAddr : begin
  867. ansReg = Spi4CsCtrlReg;
  868. end
  869. Spi4TxFifoCtrlAddrLsb : begin
  870. ansReg = TxFifoCtrlReg4_i[15:0];
  871. end
  872. Spi4TxFifoCtrlAddrMsb : begin
  873. ansReg = TxFifoCtrlReg4_i[31:16];
  874. end
  875. Spi4RxFifoCtrlAddrLsb : begin
  876. ansReg = RxFifoCtrlReg4_i[15:0];
  877. end
  878. Spi4RxFifoCtrlAddrMsb : begin
  879. ansReg = RxFifoCtrlReg4_i[31:16];
  880. end
  881. Spi5CtrlAddr : begin
  882. ansReg = Spi5CtrlReg;
  883. end
  884. Spi5ClkAddr : begin
  885. ansReg = Spi5ClkReg;
  886. end
  887. Spi5CsDelayAddr : begin
  888. ansReg = Spi5CsDelayReg;
  889. end
  890. Spi5CsCtrlAddr : begin
  891. ansReg = Spi5CsCtrlReg;
  892. end
  893. Spi5TxFifoCtrlAddrLsb : begin
  894. ansReg = TxFifoCtrlReg5_i[15:0];
  895. end
  896. Spi5TxFifoCtrlAddrMsb : begin
  897. ansReg = TxFifoCtrlReg5_i[31:16];
  898. end
  899. Spi5RxFifoCtrlAddrLsb : begin
  900. ansReg = RxFifoCtrlReg5_i[15:0];
  901. end
  902. Spi5RxFifoCtrlAddrMsb : begin
  903. ansReg = RxFifoCtrlReg5_i[31:16];
  904. end
  905. Spi6CtrlAddr : begin
  906. ansReg = Spi6CtrlReg;
  907. end
  908. Spi6ClkAddr : begin
  909. ansReg = Spi6ClkReg;
  910. end
  911. Spi6CsDelayAddr : begin
  912. ansReg = Spi6CsDelayReg;
  913. end
  914. Spi6CsCtrlAddr : begin
  915. ansReg = Spi6CsCtrlReg;
  916. end
  917. Spi6TxFifoCtrlAddrLsb : begin
  918. ansReg = TxFifoCtrlReg6_i[15:0];
  919. end
  920. Spi6TxFifoCtrlAddrMsb : begin
  921. ansReg = TxFifoCtrlReg6_i[31:16];
  922. end
  923. Spi6RxFifoCtrlAddrLsb : begin
  924. ansReg = RxFifoCtrlReg6_i[15:0];
  925. end
  926. Spi6RxFifoCtrlAddrMsb : begin
  927. ansReg = RxFifoCtrlReg6_i[31:16];
  928. end
  929. SpiTxRxEn : begin
  930. ansReg = spiTxRxEnReg;
  931. end
  932. GPIOCtrlAddr : begin
  933. ansReg = GPIOAReg;
  934. end
  935. GPIOCtrlAddrS : begin
  936. ansReg = {9'd0,LdReg_i};
  937. end
  938. Debug0Addr : begin
  939. ansReg = ledReg;
  940. end
  941. default : begin
  942. ansReg = 0;
  943. end
  944. endcase
  945. end
  946. end
  947. endmodule