RegMap.v 40 KB

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