altera_remote_update_core.v 76 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681
  1. //altremote_update CBX_AUTO_BLACKBOX="ALL" CBX_SINGLE_OUTPUT_FILE="ON" check_app_pof="true" config_device_addr_width=24 DEVICE_FAMILY="Cyclone IV E" in_data_width=24 is_epcq="true" operation_mode="remote" out_data_width=29 asmi_addr asmi_busy asmi_data_valid asmi_dataout asmi_rden asmi_read busy clock ctl_nupdt data_in data_out param pof_error read_param read_source reconfig reset reset_timer write_param
  2. //VERSION_BEGIN 21.1 cbx_altremote_update 2021:10:21:11:02:24:SJ cbx_cycloneii 2021:10:21:11:02:24:SJ cbx_lpm_add_sub 2021:10:21:11:02:24:SJ cbx_lpm_compare 2021:10:21:11:02:24:SJ cbx_lpm_counter 2021:10:21:11:02:24:SJ cbx_lpm_decode 2021:10:21:11:02:24:SJ cbx_lpm_shiftreg 2021:10:21:11:02:24:SJ cbx_mgl 2021:10:21:11:11:47:SJ cbx_nadder 2021:10:21:11:02:24:SJ cbx_nightfury 2021:10:21:11:02:24:SJ cbx_stratix 2021:10:21:11:02:24:SJ cbx_stratixii 2021:10:21:11:02:24:SJ VERSION_END
  3. // synthesis VERILOG_INPUT_VERSION VERILOG_2001
  4. // altera message_off 10463
  5. // Copyright (C) 2021 Intel Corporation. All rights reserved.
  6. // Your use of Intel Corporation's design tools, logic functions
  7. // and other software and tools, and any partner logic
  8. // functions, and any output files from any of the foregoing
  9. // (including device programming or simulation files), and any
  10. // associated documentation or information are expressly subject
  11. // to the terms and conditions of the Intel Program License
  12. // Subscription Agreement, the Intel Quartus Prime License Agreement,
  13. // the Intel FPGA IP License Agreement, or other applicable license
  14. // agreement, including, without limitation, that your use is for
  15. // the sole purpose of programming logic devices manufactured by
  16. // Intel and sold by Intel or its authorized distributors. Please
  17. // refer to the applicable agreement for further details, at
  18. // https://fpgasoftware.intel.com/eula.
  19. //synthesis_resources = cycloneive_rublock 1 lpm_add_sub 1 lpm_counter 8 lpm_shiftreg 1 reg 167
  20. //synopsys translate_off
  21. `timescale 1 ps / 1 ps
  22. //synopsys translate_on
  23. (* ALTERA_ATTRIBUTE = {"suppress_da_rule_internal=c104;suppress_da_rule_internal=C101;suppress_da_rule_internal=C103"} *)
  24. module altera_remote_update_core
  25. (
  26. asmi_addr,
  27. asmi_busy,
  28. asmi_data_valid,
  29. asmi_dataout,
  30. asmi_rden,
  31. asmi_read,
  32. busy,
  33. clock,
  34. ctl_nupdt,
  35. data_in,
  36. data_out,
  37. param,
  38. pof_error,
  39. read_param,
  40. read_source,
  41. reconfig,
  42. reset,
  43. reset_timer,
  44. write_param) /* synthesis synthesis_clearbox=1 */;
  45. output [23:0] asmi_addr;
  46. input asmi_busy;
  47. input asmi_data_valid;
  48. input [7:0] asmi_dataout;
  49. output asmi_rden;
  50. output asmi_read;
  51. output busy;
  52. input clock;
  53. input ctl_nupdt;
  54. input [23:0] data_in;
  55. output [28:0] data_out;
  56. input [2:0] param;
  57. output pof_error;
  58. input read_param;
  59. input [1:0] read_source;
  60. input reconfig;
  61. input reset;
  62. input reset_timer;
  63. input write_param;
  64. `ifndef ALTERA_RESERVED_QIS
  65. // synopsys translate_off
  66. `endif
  67. tri0 asmi_busy;
  68. tri0 asmi_data_valid;
  69. tri0 [7:0] asmi_dataout;
  70. tri0 ctl_nupdt;
  71. tri0 [23:0] data_in;
  72. tri0 [2:0] param;
  73. tri0 read_param;
  74. tri0 [1:0] read_source;
  75. tri0 reconfig;
  76. tri0 reset_timer;
  77. tri0 write_param;
  78. `ifndef ALTERA_RESERVED_QIS
  79. // synopsys translate_on
  80. `endif
  81. reg [7:0] asim_data_reg;
  82. wire [23:0] wire_asmi_addr_st_d;
  83. reg [23:0] asmi_addr_st;
  84. wire [23:0] wire_asmi_addr_st_ena;
  85. reg [0:0] asmi_read_reg;
  86. reg [0:0] cal_addr_reg;
  87. reg [0:0] check_busy_dffe;
  88. reg [0:0] crc_cal_reg;
  89. reg [0:0] crc_check_end_reg;
  90. reg [0:0] crc_chk_st_dffe;
  91. reg [0:0] crc_done_reg;
  92. wire wire_crc_done_reg_ena;
  93. reg [7:0] crc_high;
  94. reg [7:0] crc_low;
  95. reg [15:0] crc_reg;
  96. wire [23:0] wire_dataa_switch_d;
  97. reg [23:0] dataa_switch;
  98. wire [23:0] wire_dataa_switch_ena;
  99. reg [6:0] dffe10a;
  100. wire [6:0] wire_dffe10a_ena;
  101. reg [0:0] dffe1a0;
  102. reg [0:0] dffe1a1;
  103. wire [1:0] wire_dffe1a_ena;
  104. reg [0:0] dffe2a0;
  105. reg [0:0] dffe2a1;
  106. reg [0:0] dffe2a2;
  107. wire [2:0] wire_dffe2a_ena;
  108. reg [0:0] dffe3a0;
  109. reg [0:0] dffe3a1;
  110. reg [0:0] dffe3a2;
  111. wire [2:0] wire_dffe3a_ena;
  112. reg [28:0] dffe7a;
  113. wire [28:0] wire_dffe7a_ena;
  114. reg dffe9;
  115. reg [0:0] get_addr_reg;
  116. reg idle_state;
  117. reg idle_write_wait;
  118. reg [0:0] load_crc_high_reg;
  119. reg [0:0] load_crc_low_reg;
  120. reg [0:0] load_data_reg;
  121. reg [0:0] pof_counter_l42;
  122. reg [0:0] pof_error_reg;
  123. wire wire_pof_error_reg_ena;
  124. reg re_config_reg;
  125. reg read_address_state;
  126. wire wire_read_address_state_ena;
  127. reg [0:0] read_control_reg_dffe;
  128. reg read_data_state;
  129. reg read_init_counter_state;
  130. reg read_init_state;
  131. reg read_post_state;
  132. reg read_pre_data_state;
  133. reg read_source_update_state;
  134. reg [0:0] reconfig_width_reg;
  135. reg [0:0] ru_reconfig_pof_reg;
  136. reg write_data_state;
  137. reg write_init_counter_state;
  138. reg write_init_state;
  139. reg write_load_state;
  140. reg write_post_data_state;
  141. reg write_pre_data_state;
  142. reg write_source_update_state;
  143. reg write_wait_state;
  144. wire [23:0] wire_add_sub16_result;
  145. wire [2:0] wire_cntr11_q;
  146. wire [2:0] wire_cntr12_q;
  147. wire [2:0] wire_cntr13_q;
  148. wire wire_cntr14_cout;
  149. wire [5:0] wire_cntr14_q;
  150. wire wire_cntr15_cout;
  151. wire [2:0] wire_cntr15_q;
  152. wire [5:0] wire_cntr5_q;
  153. wire [4:0] wire_cntr6_q;
  154. wire [2:0] wire_cntr8_q;
  155. wire wire_shift_reg17_shiftout;
  156. wire wire_sd4_regout;
  157. wire asmi_read_out;
  158. wire asmi_read_wire;
  159. wire bit_counter_all_done;
  160. wire bit_counter_clear;
  161. wire bit_counter_enable;
  162. wire [5:0] bit_counter_param_start;
  163. wire bit_counter_param_start_match;
  164. wire cal_addr;
  165. wire chk_crc_counter_enable;
  166. wire chk_pof_counter_enable;
  167. wire chk_pof_counter_start;
  168. wire [6:0] combine_port;
  169. wire [15:0] crc;
  170. wire crc_cal;
  171. wire crc_check_end;
  172. wire crc_check_st;
  173. wire crc_check_st_wire;
  174. wire crc_enable_wire;
  175. wire [15:0] crc_reg_wire;
  176. wire crc_shift_done;
  177. wire get_addr;
  178. wire global_gnd;
  179. wire global_vcc;
  180. wire halt_cal;
  181. wire idle;
  182. wire invert_bits;
  183. wire load_crc_high;
  184. wire load_crc_low;
  185. wire load_data;
  186. wire [2:0] param_c3;
  187. wire [6:0] param_decoder_param_latch;
  188. wire [22:0] param_decoder_select;
  189. wire pof_counter_40;
  190. wire pof_error_wire;
  191. wire power_up;
  192. wire read_address;
  193. wire read_control_reg;
  194. wire read_data;
  195. wire read_init;
  196. wire read_init_counter;
  197. wire read_param_c3;
  198. wire read_post;
  199. wire read_pre_data;
  200. wire [1:0] read_source_c3;
  201. wire read_source_update;
  202. wire reconfig_c3;
  203. wire rsource_load;
  204. wire [1:0] rsource_parallel_in;
  205. wire rsource_serial_out;
  206. wire rsource_shift_enable;
  207. wire [2:0] rsource_state_par_ini;
  208. wire rsource_update_done;
  209. wire ru_reconfig_pof;
  210. wire rublock_captnupdt;
  211. wire rublock_clock;
  212. wire rublock_reconfig;
  213. wire rublock_regin;
  214. wire rublock_regout;
  215. wire rublock_regout_reg;
  216. wire rublock_shiftnld;
  217. wire select_shift_nloop;
  218. wire shift_reg_clear;
  219. wire shift_reg_load_enable;
  220. wire [28:0] shift_reg_q;
  221. wire shift_reg_serial_in;
  222. wire shift_reg_serial_out;
  223. wire shift_reg_shift_enable;
  224. wire st_counter_enable;
  225. wire st_v0;
  226. wire st_v1;
  227. wire st_v2;
  228. wire st_v3;
  229. wire st_v4;
  230. wire st_v5;
  231. wire st_v6;
  232. wire st_v7;
  233. wire [5:0] start_bit_decoder_out;
  234. wire [22:0] start_bit_decoder_param_select;
  235. wire [1:0] w4w;
  236. wire [5:0] w53w;
  237. wire [4:0] w83w;
  238. wire width_counter_all_done;
  239. wire width_counter_clear;
  240. wire width_counter_enable;
  241. wire [4:0] width_counter_param_width;
  242. wire width_counter_param_width_match;
  243. wire [4:0] width_decoder_out;
  244. wire [22:0] width_decoder_param_select;
  245. wire write_data;
  246. wire write_init;
  247. wire write_init_counter;
  248. wire write_load;
  249. wire write_param_c3;
  250. wire write_post_data;
  251. wire write_pre_data;
  252. wire write_source_update;
  253. wire write_wait;
  254. wire [2:0] wsource_state_par_ini;
  255. wire wsource_update_done;
  256. // synopsys translate_off
  257. initial
  258. asim_data_reg = 0;
  259. // synopsys translate_on
  260. always @ ( posedge clock or posedge reset)
  261. if (reset == 1'b1) asim_data_reg <= 8'b0;
  262. else if (asmi_data_valid == 1'b1) asim_data_reg <= {asmi_dataout[0], asmi_dataout[1], asmi_dataout[2], asmi_dataout[3], asmi_dataout[4], asmi_dataout[5], asmi_dataout[6], asmi_dataout[7]};
  263. // synopsys translate_off
  264. initial
  265. asmi_addr_st[0:0] = 0;
  266. // synopsys translate_on
  267. always @ ( posedge clock or posedge reset)
  268. if (reset == 1'b1) asmi_addr_st[0:0] <= 1'b0;
  269. else if (wire_asmi_addr_st_ena[0:0] == 1'b1) asmi_addr_st[0:0] <= wire_asmi_addr_st_d[0:0];
  270. // synopsys translate_off
  271. initial
  272. asmi_addr_st[1:1] = 0;
  273. // synopsys translate_on
  274. always @ ( posedge clock or posedge reset)
  275. if (reset == 1'b1) asmi_addr_st[1:1] <= 1'b0;
  276. else if (wire_asmi_addr_st_ena[1:1] == 1'b1) asmi_addr_st[1:1] <= wire_asmi_addr_st_d[1:1];
  277. // synopsys translate_off
  278. initial
  279. asmi_addr_st[2:2] = 0;
  280. // synopsys translate_on
  281. always @ ( posedge clock or posedge reset)
  282. if (reset == 1'b1) asmi_addr_st[2:2] <= 1'b0;
  283. else if (wire_asmi_addr_st_ena[2:2] == 1'b1) asmi_addr_st[2:2] <= wire_asmi_addr_st_d[2:2];
  284. // synopsys translate_off
  285. initial
  286. asmi_addr_st[3:3] = 0;
  287. // synopsys translate_on
  288. always @ ( posedge clock or posedge reset)
  289. if (reset == 1'b1) asmi_addr_st[3:3] <= 1'b0;
  290. else if (wire_asmi_addr_st_ena[3:3] == 1'b1) asmi_addr_st[3:3] <= wire_asmi_addr_st_d[3:3];
  291. // synopsys translate_off
  292. initial
  293. asmi_addr_st[4:4] = 0;
  294. // synopsys translate_on
  295. always @ ( posedge clock or posedge reset)
  296. if (reset == 1'b1) asmi_addr_st[4:4] <= 1'b0;
  297. else if (wire_asmi_addr_st_ena[4:4] == 1'b1) asmi_addr_st[4:4] <= wire_asmi_addr_st_d[4:4];
  298. // synopsys translate_off
  299. initial
  300. asmi_addr_st[5:5] = 0;
  301. // synopsys translate_on
  302. always @ ( posedge clock or posedge reset)
  303. if (reset == 1'b1) asmi_addr_st[5:5] <= 1'b0;
  304. else if (wire_asmi_addr_st_ena[5:5] == 1'b1) asmi_addr_st[5:5] <= wire_asmi_addr_st_d[5:5];
  305. // synopsys translate_off
  306. initial
  307. asmi_addr_st[6:6] = 0;
  308. // synopsys translate_on
  309. always @ ( posedge clock or posedge reset)
  310. if (reset == 1'b1) asmi_addr_st[6:6] <= 1'b0;
  311. else if (wire_asmi_addr_st_ena[6:6] == 1'b1) asmi_addr_st[6:6] <= wire_asmi_addr_st_d[6:6];
  312. // synopsys translate_off
  313. initial
  314. asmi_addr_st[7:7] = 0;
  315. // synopsys translate_on
  316. always @ ( posedge clock or posedge reset)
  317. if (reset == 1'b1) asmi_addr_st[7:7] <= 1'b0;
  318. else if (wire_asmi_addr_st_ena[7:7] == 1'b1) asmi_addr_st[7:7] <= wire_asmi_addr_st_d[7:7];
  319. // synopsys translate_off
  320. initial
  321. asmi_addr_st[8:8] = 0;
  322. // synopsys translate_on
  323. always @ ( posedge clock or posedge reset)
  324. if (reset == 1'b1) asmi_addr_st[8:8] <= 1'b0;
  325. else if (wire_asmi_addr_st_ena[8:8] == 1'b1) asmi_addr_st[8:8] <= wire_asmi_addr_st_d[8:8];
  326. // synopsys translate_off
  327. initial
  328. asmi_addr_st[9:9] = 0;
  329. // synopsys translate_on
  330. always @ ( posedge clock or posedge reset)
  331. if (reset == 1'b1) asmi_addr_st[9:9] <= 1'b0;
  332. else if (wire_asmi_addr_st_ena[9:9] == 1'b1) asmi_addr_st[9:9] <= wire_asmi_addr_st_d[9:9];
  333. // synopsys translate_off
  334. initial
  335. asmi_addr_st[10:10] = 0;
  336. // synopsys translate_on
  337. always @ ( posedge clock or posedge reset)
  338. if (reset == 1'b1) asmi_addr_st[10:10] <= 1'b0;
  339. else if (wire_asmi_addr_st_ena[10:10] == 1'b1) asmi_addr_st[10:10] <= wire_asmi_addr_st_d[10:10];
  340. // synopsys translate_off
  341. initial
  342. asmi_addr_st[11:11] = 0;
  343. // synopsys translate_on
  344. always @ ( posedge clock or posedge reset)
  345. if (reset == 1'b1) asmi_addr_st[11:11] <= 1'b0;
  346. else if (wire_asmi_addr_st_ena[11:11] == 1'b1) asmi_addr_st[11:11] <= wire_asmi_addr_st_d[11:11];
  347. // synopsys translate_off
  348. initial
  349. asmi_addr_st[12:12] = 0;
  350. // synopsys translate_on
  351. always @ ( posedge clock or posedge reset)
  352. if (reset == 1'b1) asmi_addr_st[12:12] <= 1'b0;
  353. else if (wire_asmi_addr_st_ena[12:12] == 1'b1) asmi_addr_st[12:12] <= wire_asmi_addr_st_d[12:12];
  354. // synopsys translate_off
  355. initial
  356. asmi_addr_st[13:13] = 0;
  357. // synopsys translate_on
  358. always @ ( posedge clock or posedge reset)
  359. if (reset == 1'b1) asmi_addr_st[13:13] <= 1'b0;
  360. else if (wire_asmi_addr_st_ena[13:13] == 1'b1) asmi_addr_st[13:13] <= wire_asmi_addr_st_d[13:13];
  361. // synopsys translate_off
  362. initial
  363. asmi_addr_st[14:14] = 0;
  364. // synopsys translate_on
  365. always @ ( posedge clock or posedge reset)
  366. if (reset == 1'b1) asmi_addr_st[14:14] <= 1'b0;
  367. else if (wire_asmi_addr_st_ena[14:14] == 1'b1) asmi_addr_st[14:14] <= wire_asmi_addr_st_d[14:14];
  368. // synopsys translate_off
  369. initial
  370. asmi_addr_st[15:15] = 0;
  371. // synopsys translate_on
  372. always @ ( posedge clock or posedge reset)
  373. if (reset == 1'b1) asmi_addr_st[15:15] <= 1'b0;
  374. else if (wire_asmi_addr_st_ena[15:15] == 1'b1) asmi_addr_st[15:15] <= wire_asmi_addr_st_d[15:15];
  375. // synopsys translate_off
  376. initial
  377. asmi_addr_st[16:16] = 0;
  378. // synopsys translate_on
  379. always @ ( posedge clock or posedge reset)
  380. if (reset == 1'b1) asmi_addr_st[16:16] <= 1'b0;
  381. else if (wire_asmi_addr_st_ena[16:16] == 1'b1) asmi_addr_st[16:16] <= wire_asmi_addr_st_d[16:16];
  382. // synopsys translate_off
  383. initial
  384. asmi_addr_st[17:17] = 0;
  385. // synopsys translate_on
  386. always @ ( posedge clock or posedge reset)
  387. if (reset == 1'b1) asmi_addr_st[17:17] <= 1'b0;
  388. else if (wire_asmi_addr_st_ena[17:17] == 1'b1) asmi_addr_st[17:17] <= wire_asmi_addr_st_d[17:17];
  389. // synopsys translate_off
  390. initial
  391. asmi_addr_st[18:18] = 0;
  392. // synopsys translate_on
  393. always @ ( posedge clock or posedge reset)
  394. if (reset == 1'b1) asmi_addr_st[18:18] <= 1'b0;
  395. else if (wire_asmi_addr_st_ena[18:18] == 1'b1) asmi_addr_st[18:18] <= wire_asmi_addr_st_d[18:18];
  396. // synopsys translate_off
  397. initial
  398. asmi_addr_st[19:19] = 0;
  399. // synopsys translate_on
  400. always @ ( posedge clock or posedge reset)
  401. if (reset == 1'b1) asmi_addr_st[19:19] <= 1'b0;
  402. else if (wire_asmi_addr_st_ena[19:19] == 1'b1) asmi_addr_st[19:19] <= wire_asmi_addr_st_d[19:19];
  403. // synopsys translate_off
  404. initial
  405. asmi_addr_st[20:20] = 0;
  406. // synopsys translate_on
  407. always @ ( posedge clock or posedge reset)
  408. if (reset == 1'b1) asmi_addr_st[20:20] <= 1'b0;
  409. else if (wire_asmi_addr_st_ena[20:20] == 1'b1) asmi_addr_st[20:20] <= wire_asmi_addr_st_d[20:20];
  410. // synopsys translate_off
  411. initial
  412. asmi_addr_st[21:21] = 0;
  413. // synopsys translate_on
  414. always @ ( posedge clock or posedge reset)
  415. if (reset == 1'b1) asmi_addr_st[21:21] <= 1'b0;
  416. else if (wire_asmi_addr_st_ena[21:21] == 1'b1) asmi_addr_st[21:21] <= wire_asmi_addr_st_d[21:21];
  417. // synopsys translate_off
  418. initial
  419. asmi_addr_st[22:22] = 0;
  420. // synopsys translate_on
  421. always @ ( posedge clock or posedge reset)
  422. if (reset == 1'b1) asmi_addr_st[22:22] <= 1'b0;
  423. else if (wire_asmi_addr_st_ena[22:22] == 1'b1) asmi_addr_st[22:22] <= wire_asmi_addr_st_d[22:22];
  424. // synopsys translate_off
  425. initial
  426. asmi_addr_st[23:23] = 0;
  427. // synopsys translate_on
  428. always @ ( posedge clock or posedge reset)
  429. if (reset == 1'b1) asmi_addr_st[23:23] <= 1'b0;
  430. else if (wire_asmi_addr_st_ena[23:23] == 1'b1) asmi_addr_st[23:23] <= wire_asmi_addr_st_d[23:23];
  431. assign
  432. wire_asmi_addr_st_d = {((shift_reg_q[21] & get_addr) | (wire_add_sub16_result[23] & asmi_read_wire)), ((shift_reg_q[20] & get_addr) | (wire_add_sub16_result[22] & asmi_read_wire)), ((shift_reg_q[19] & get_addr) | (wire_add_sub16_result[21] & asmi_read_wire)), ((shift_reg_q[18] & get_addr) | (wire_add_sub16_result[20] & asmi_read_wire)), ((shift_reg_q[17] & get_addr) | (wire_add_sub16_result[19] & asmi_read_wire)), ((shift_reg_q[16] & get_addr) | (wire_add_sub16_result[18] & asmi_read_wire)), ((shift_reg_q[15] & get_addr) | (wire_add_sub16_result[17] & asmi_read_wire)), ((shift_reg_q[14] & get_addr) | (wire_add_sub16_result[16] & asmi_read_wire)), ((shift_reg_q[13] & get_addr) | (wire_add_sub16_result[15] & asmi_read_wire)), ((shift_reg_q[12] & get_addr) | (wire_add_sub16_result[14] & asmi_read_wire)), ((shift_reg_q[11] & get_addr) | (wire_add_sub16_result[13] & asmi_read_wire)), ((shift_reg_q[10] & get_addr) | (wire_add_sub16_result[12] & asmi_read_wire)), ((shift_reg_q[9] & get_addr) | (wire_add_sub16_result[11] & asmi_read_wire)), ((shift_reg_q[8] & get_addr) | (wire_add_sub16_result[10] & asmi_read_wire)), ((shift_reg_q[7] & get_addr) | (wire_add_sub16_result[9] & asmi_read_wire)), ((shift_reg_q[6] & get_addr) | (wire_add_sub16_result[8] & asmi_read_wire)), ((shift_reg_q[5] & get_addr) | (wire_add_sub16_result[7] & asmi_read_wire)), ((shift_reg_q[4] & get_addr) | (wire_add_sub16_result[6] & asmi_read_wire)), ((shift_reg_q[3] & get_addr) | (wire_add_sub16_result[5] & asmi_read_wire)), ((shift_reg_q[2] & get_addr) | (wire_add_sub16_result[4] & asmi_read_wire)), ((shift_reg_q[1] & get_addr) | (wire_add_sub16_result[3] & asmi_read_wire)), ((shift_reg_q[0] & get_addr) | (wire_add_sub16_result[2] & asmi_read_wire)), (wire_add_sub16_result[1] & asmi_read_wire), (wire_add_sub16_result[0] & asmi_read_wire)};
  433. assign
  434. wire_asmi_addr_st_ena = {24{(get_addr | asmi_read_wire)}};
  435. // synopsys translate_off
  436. initial
  437. asmi_read_reg = 0;
  438. // synopsys translate_on
  439. always @ ( posedge clock or posedge reset)
  440. if (reset == 1'b1) asmi_read_reg <= 1'b0;
  441. else if (check_busy_dffe == 1'b1) asmi_read_reg <= ((wire_cntr12_q[2] & (~ wire_cntr12_q[1])) & wire_cntr12_q[0]);
  442. // synopsys translate_off
  443. initial
  444. cal_addr_reg = 0;
  445. // synopsys translate_on
  446. always @ ( posedge clock or posedge reset)
  447. if (reset == 1'b1) cal_addr_reg <= 1'b0;
  448. else if (check_busy_dffe == 1'b1) cal_addr_reg <= (get_addr_reg | ((wire_cntr12_q[2] & (~ wire_cntr12_q[1])) & (~ wire_cntr12_q[0])));
  449. // synopsys translate_off
  450. initial
  451. check_busy_dffe = 0;
  452. // synopsys translate_on
  453. always @ ( posedge clock or posedge reset)
  454. if (reset == 1'b1) check_busy_dffe <= 1'b0;
  455. else check_busy_dffe <= ((wire_cntr11_q[2] | wire_cntr11_q[1]) | wire_cntr11_q[0]);
  456. // synopsys translate_off
  457. initial
  458. crc_cal_reg = 0;
  459. // synopsys translate_on
  460. always @ ( posedge clock or posedge reset)
  461. if (reset == 1'b1) crc_cal_reg <= 1'b0;
  462. else crc_cal_reg <= (((~ wire_cntr12_q[2]) & wire_cntr12_q[1]) & wire_cntr12_q[0]);
  463. // synopsys translate_off
  464. initial
  465. crc_check_end_reg = 0;
  466. // synopsys translate_on
  467. always @ ( posedge clock or posedge reset)
  468. if (reset == 1'b1) crc_check_end_reg <= 1'b0;
  469. else crc_check_end_reg <= (((wire_cntr11_q[2] & wire_cntr11_q[1]) & (~ wire_cntr11_q[0])) & wire_cntr14_cout);
  470. // synopsys translate_off
  471. initial
  472. crc_chk_st_dffe = 0;
  473. // synopsys translate_on
  474. always @ ( posedge clock or posedge reset)
  475. if (reset == 1'b1) crc_chk_st_dffe <= 1'b0;
  476. else crc_chk_st_dffe <= crc_check_st_wire;
  477. // synopsys translate_off
  478. initial
  479. crc_done_reg = 0;
  480. // synopsys translate_on
  481. always @ ( posedge clock or posedge reset)
  482. if (reset == 1'b1) crc_done_reg <= 1'b0;
  483. else if (wire_crc_done_reg_ena == 1'b1)
  484. if (chk_pof_counter_start == 1'b1) crc_done_reg <= 1'b0;
  485. else crc_done_reg <= pof_counter_40;
  486. assign
  487. wire_crc_done_reg_ena = (pof_counter_40 | chk_pof_counter_start);
  488. // synopsys translate_off
  489. initial
  490. crc_high = 0;
  491. // synopsys translate_on
  492. always @ ( posedge clock or posedge reset)
  493. if (reset == 1'b1) crc_high <= 8'b0;
  494. else if (load_crc_high == 1'b1) crc_high <= asim_data_reg;
  495. // synopsys translate_off
  496. initial
  497. crc_low = 0;
  498. // synopsys translate_on
  499. always @ ( posedge clock or posedge reset)
  500. if (reset == 1'b1) crc_low <= 8'b0;
  501. else if (load_crc_low == 1'b1) crc_low <= asim_data_reg;
  502. // synopsys translate_off
  503. initial
  504. crc_reg = 0;
  505. // synopsys translate_on
  506. always @ ( posedge clock or posedge reset)
  507. if (reset == 1'b1) crc_reg <= {16{1'b1}};
  508. else if (crc_enable_wire == 1'b1)
  509. if (crc_check_st_wire == 1'b1) crc_reg <= {{1{1'b1}}, {15{1'b1}}};
  510. else crc_reg <= crc_reg_wire;
  511. // synopsys translate_off
  512. initial
  513. dataa_switch[0:0] = 0;
  514. // synopsys translate_on
  515. always @ ( posedge clock or posedge reset)
  516. if (reset == 1'b1) dataa_switch[0:0] <= 1'b0;
  517. else if (wire_dataa_switch_ena[0:0] == 1'b1) dataa_switch[0:0] <= wire_dataa_switch_d[0:0];
  518. // synopsys translate_off
  519. initial
  520. dataa_switch[1:1] = 0;
  521. // synopsys translate_on
  522. always @ ( posedge clock or posedge reset)
  523. if (reset == 1'b1) dataa_switch[1:1] <= 1'b0;
  524. else if (wire_dataa_switch_ena[1:1] == 1'b1) dataa_switch[1:1] <= wire_dataa_switch_d[1:1];
  525. // synopsys translate_off
  526. initial
  527. dataa_switch[2:2] = 0;
  528. // synopsys translate_on
  529. always @ ( posedge clock or posedge reset)
  530. if (reset == 1'b1) dataa_switch[2:2] <= 1'b0;
  531. else if (wire_dataa_switch_ena[2:2] == 1'b1) dataa_switch[2:2] <= wire_dataa_switch_d[2:2];
  532. // synopsys translate_off
  533. initial
  534. dataa_switch[3:3] = 0;
  535. // synopsys translate_on
  536. always @ ( posedge clock or posedge reset)
  537. if (reset == 1'b1) dataa_switch[3:3] <= 1'b0;
  538. else if (wire_dataa_switch_ena[3:3] == 1'b1) dataa_switch[3:3] <= wire_dataa_switch_d[3:3];
  539. // synopsys translate_off
  540. initial
  541. dataa_switch[4:4] = 0;
  542. // synopsys translate_on
  543. always @ ( posedge clock or posedge reset)
  544. if (reset == 1'b1) dataa_switch[4:4] <= 1'b0;
  545. else if (wire_dataa_switch_ena[4:4] == 1'b1) dataa_switch[4:4] <= wire_dataa_switch_d[4:4];
  546. // synopsys translate_off
  547. initial
  548. dataa_switch[5:5] = 0;
  549. // synopsys translate_on
  550. always @ ( posedge clock or posedge reset)
  551. if (reset == 1'b1) dataa_switch[5:5] <= 1'b0;
  552. else if (wire_dataa_switch_ena[5:5] == 1'b1) dataa_switch[5:5] <= wire_dataa_switch_d[5:5];
  553. // synopsys translate_off
  554. initial
  555. dataa_switch[6:6] = 0;
  556. // synopsys translate_on
  557. always @ ( posedge clock or posedge reset)
  558. if (reset == 1'b1) dataa_switch[6:6] <= 1'b0;
  559. else if (wire_dataa_switch_ena[6:6] == 1'b1) dataa_switch[6:6] <= wire_dataa_switch_d[6:6];
  560. // synopsys translate_off
  561. initial
  562. dataa_switch[7:7] = 0;
  563. // synopsys translate_on
  564. always @ ( posedge clock or posedge reset)
  565. if (reset == 1'b1) dataa_switch[7:7] <= 1'b0;
  566. else if (wire_dataa_switch_ena[7:7] == 1'b1) dataa_switch[7:7] <= wire_dataa_switch_d[7:7];
  567. // synopsys translate_off
  568. initial
  569. dataa_switch[8:8] = 0;
  570. // synopsys translate_on
  571. always @ ( posedge clock or posedge reset)
  572. if (reset == 1'b1) dataa_switch[8:8] <= 1'b0;
  573. else if (wire_dataa_switch_ena[8:8] == 1'b1) dataa_switch[8:8] <= wire_dataa_switch_d[8:8];
  574. // synopsys translate_off
  575. initial
  576. dataa_switch[9:9] = 0;
  577. // synopsys translate_on
  578. always @ ( posedge clock or posedge reset)
  579. if (reset == 1'b1) dataa_switch[9:9] <= 1'b0;
  580. else if (wire_dataa_switch_ena[9:9] == 1'b1) dataa_switch[9:9] <= wire_dataa_switch_d[9:9];
  581. // synopsys translate_off
  582. initial
  583. dataa_switch[10:10] = 0;
  584. // synopsys translate_on
  585. always @ ( posedge clock or posedge reset)
  586. if (reset == 1'b1) dataa_switch[10:10] <= 1'b0;
  587. else if (wire_dataa_switch_ena[10:10] == 1'b1) dataa_switch[10:10] <= wire_dataa_switch_d[10:10];
  588. // synopsys translate_off
  589. initial
  590. dataa_switch[11:11] = 0;
  591. // synopsys translate_on
  592. always @ ( posedge clock or posedge reset)
  593. if (reset == 1'b1) dataa_switch[11:11] <= 1'b0;
  594. else if (wire_dataa_switch_ena[11:11] == 1'b1) dataa_switch[11:11] <= wire_dataa_switch_d[11:11];
  595. // synopsys translate_off
  596. initial
  597. dataa_switch[12:12] = 0;
  598. // synopsys translate_on
  599. always @ ( posedge clock or posedge reset)
  600. if (reset == 1'b1) dataa_switch[12:12] <= 1'b0;
  601. else if (wire_dataa_switch_ena[12:12] == 1'b1) dataa_switch[12:12] <= wire_dataa_switch_d[12:12];
  602. // synopsys translate_off
  603. initial
  604. dataa_switch[13:13] = 0;
  605. // synopsys translate_on
  606. always @ ( posedge clock or posedge reset)
  607. if (reset == 1'b1) dataa_switch[13:13] <= 1'b0;
  608. else if (wire_dataa_switch_ena[13:13] == 1'b1) dataa_switch[13:13] <= wire_dataa_switch_d[13:13];
  609. // synopsys translate_off
  610. initial
  611. dataa_switch[14:14] = 0;
  612. // synopsys translate_on
  613. always @ ( posedge clock or posedge reset)
  614. if (reset == 1'b1) dataa_switch[14:14] <= 1'b0;
  615. else if (wire_dataa_switch_ena[14:14] == 1'b1) dataa_switch[14:14] <= wire_dataa_switch_d[14:14];
  616. // synopsys translate_off
  617. initial
  618. dataa_switch[15:15] = 0;
  619. // synopsys translate_on
  620. always @ ( posedge clock or posedge reset)
  621. if (reset == 1'b1) dataa_switch[15:15] <= 1'b0;
  622. else if (wire_dataa_switch_ena[15:15] == 1'b1) dataa_switch[15:15] <= wire_dataa_switch_d[15:15];
  623. // synopsys translate_off
  624. initial
  625. dataa_switch[16:16] = 0;
  626. // synopsys translate_on
  627. always @ ( posedge clock or posedge reset)
  628. if (reset == 1'b1) dataa_switch[16:16] <= 1'b0;
  629. else if (wire_dataa_switch_ena[16:16] == 1'b1) dataa_switch[16:16] <= wire_dataa_switch_d[16:16];
  630. // synopsys translate_off
  631. initial
  632. dataa_switch[17:17] = 0;
  633. // synopsys translate_on
  634. always @ ( posedge clock or posedge reset)
  635. if (reset == 1'b1) dataa_switch[17:17] <= 1'b0;
  636. else if (wire_dataa_switch_ena[17:17] == 1'b1) dataa_switch[17:17] <= wire_dataa_switch_d[17:17];
  637. // synopsys translate_off
  638. initial
  639. dataa_switch[18:18] = 0;
  640. // synopsys translate_on
  641. always @ ( posedge clock or posedge reset)
  642. if (reset == 1'b1) dataa_switch[18:18] <= 1'b0;
  643. else if (wire_dataa_switch_ena[18:18] == 1'b1) dataa_switch[18:18] <= wire_dataa_switch_d[18:18];
  644. // synopsys translate_off
  645. initial
  646. dataa_switch[19:19] = 0;
  647. // synopsys translate_on
  648. always @ ( posedge clock or posedge reset)
  649. if (reset == 1'b1) dataa_switch[19:19] <= 1'b0;
  650. else if (wire_dataa_switch_ena[19:19] == 1'b1) dataa_switch[19:19] <= wire_dataa_switch_d[19:19];
  651. // synopsys translate_off
  652. initial
  653. dataa_switch[20:20] = 0;
  654. // synopsys translate_on
  655. always @ ( posedge clock or posedge reset)
  656. if (reset == 1'b1) dataa_switch[20:20] <= 1'b0;
  657. else if (wire_dataa_switch_ena[20:20] == 1'b1) dataa_switch[20:20] <= wire_dataa_switch_d[20:20];
  658. // synopsys translate_off
  659. initial
  660. dataa_switch[21:21] = 0;
  661. // synopsys translate_on
  662. always @ ( posedge clock or posedge reset)
  663. if (reset == 1'b1) dataa_switch[21:21] <= 1'b0;
  664. else if (wire_dataa_switch_ena[21:21] == 1'b1) dataa_switch[21:21] <= wire_dataa_switch_d[21:21];
  665. // synopsys translate_off
  666. initial
  667. dataa_switch[22:22] = 0;
  668. // synopsys translate_on
  669. always @ ( posedge clock or posedge reset)
  670. if (reset == 1'b1) dataa_switch[22:22] <= 1'b0;
  671. else if (wire_dataa_switch_ena[22:22] == 1'b1) dataa_switch[22:22] <= wire_dataa_switch_d[22:22];
  672. // synopsys translate_off
  673. initial
  674. dataa_switch[23:23] = 0;
  675. // synopsys translate_on
  676. always @ ( posedge clock or posedge reset)
  677. if (reset == 1'b1) dataa_switch[23:23] <= 1'b0;
  678. else if (wire_dataa_switch_ena[23:23] == 1'b1) dataa_switch[23:23] <= wire_dataa_switch_d[23:23];
  679. assign
  680. wire_dataa_switch_d = {{18{1'b0}}, (get_addr & (~ crc_check_st)), {4{1'b0}}, (get_addr | crc_check_st)};
  681. assign
  682. wire_dataa_switch_ena = {24{(get_addr | crc_check_st)}};
  683. // synopsys translate_off
  684. initial
  685. dffe10a[0:0] = 0;
  686. // synopsys translate_on
  687. always @ ( posedge clock or posedge reset)
  688. if (reset == 1'b1) dffe10a[0:0] <= 1'b0;
  689. else if (wire_dffe10a_ena[0:0] == 1'b1) dffe10a[0:0] <= combine_port[0:0];
  690. // synopsys translate_off
  691. initial
  692. dffe10a[1:1] = 0;
  693. // synopsys translate_on
  694. always @ ( posedge clock or posedge reset)
  695. if (reset == 1'b1) dffe10a[1:1] <= 1'b0;
  696. else if (wire_dffe10a_ena[1:1] == 1'b1) dffe10a[1:1] <= combine_port[1:1];
  697. // synopsys translate_off
  698. initial
  699. dffe10a[2:2] = 0;
  700. // synopsys translate_on
  701. always @ ( posedge clock or posedge reset)
  702. if (reset == 1'b1) dffe10a[2:2] <= 1'b0;
  703. else if (wire_dffe10a_ena[2:2] == 1'b1) dffe10a[2:2] <= combine_port[2:2];
  704. // synopsys translate_off
  705. initial
  706. dffe10a[3:3] = 0;
  707. // synopsys translate_on
  708. always @ ( posedge clock or posedge reset)
  709. if (reset == 1'b1) dffe10a[3:3] <= 1'b0;
  710. else if (wire_dffe10a_ena[3:3] == 1'b1) dffe10a[3:3] <= combine_port[3:3];
  711. // synopsys translate_off
  712. initial
  713. dffe10a[4:4] = 0;
  714. // synopsys translate_on
  715. always @ ( posedge clock or posedge reset)
  716. if (reset == 1'b1) dffe10a[4:4] <= 1'b0;
  717. else if (wire_dffe10a_ena[4:4] == 1'b1) dffe10a[4:4] <= combine_port[4:4];
  718. // synopsys translate_off
  719. initial
  720. dffe10a[5:5] = 0;
  721. // synopsys translate_on
  722. always @ ( posedge clock or posedge reset)
  723. if (reset == 1'b1) dffe10a[5:5] <= 1'b0;
  724. else if (wire_dffe10a_ena[5:5] == 1'b1) dffe10a[5:5] <= combine_port[5:5];
  725. // synopsys translate_off
  726. initial
  727. dffe10a[6:6] = 0;
  728. // synopsys translate_on
  729. always @ ( posedge clock or posedge reset)
  730. if (reset == 1'b1) dffe10a[6:6] <= 1'b0;
  731. else if (wire_dffe10a_ena[6:6] == 1'b1) dffe10a[6:6] <= combine_port[6:6];
  732. assign
  733. wire_dffe10a_ena = {7{(idle & ((write_param_c3 | read_param_c3) | read_control_reg))}};
  734. // synopsys translate_off
  735. initial
  736. dffe1a0 = 0;
  737. // synopsys translate_on
  738. always @ ( posedge clock or posedge reset)
  739. if (reset == 1'b1) dffe1a0 <= 1'b0;
  740. else if (wire_dffe1a_ena[0:0] == 1'b1) dffe1a0 <= ((rsource_load & rsource_parallel_in[0]) | ((~ rsource_load) & dffe1a1[0:0]));
  741. // synopsys translate_off
  742. initial
  743. dffe1a1 = 0;
  744. // synopsys translate_on
  745. always @ ( posedge clock or posedge reset)
  746. if (reset == 1'b1) dffe1a1 <= 1'b0;
  747. else if (wire_dffe1a_ena[1:1] == 1'b1) dffe1a1 <= (rsource_parallel_in[1] & rsource_load);
  748. assign
  749. wire_dffe1a_ena = {2{(rsource_load | rsource_shift_enable)}};
  750. // synopsys translate_off
  751. initial
  752. dffe2a0 = 0;
  753. // synopsys translate_on
  754. always @ ( posedge clock or posedge reset)
  755. if (reset == 1'b1) dffe2a0 <= 1'b0;
  756. else if (wire_dffe2a_ena[0:0] == 1'b1) dffe2a0 <= ((rsource_load & rsource_state_par_ini[0]) | ((~ rsource_load) & dffe2a1[0:0]));
  757. // synopsys translate_off
  758. initial
  759. dffe2a1 = 0;
  760. // synopsys translate_on
  761. always @ ( posedge clock or posedge reset)
  762. if (reset == 1'b1) dffe2a1 <= 1'b0;
  763. else if (wire_dffe2a_ena[1:1] == 1'b1) dffe2a1 <= ((rsource_load & rsource_state_par_ini[1]) | ((~ rsource_load) & dffe2a2[0:0]));
  764. // synopsys translate_off
  765. initial
  766. dffe2a2 = 0;
  767. // synopsys translate_on
  768. always @ ( posedge clock or posedge reset)
  769. if (reset == 1'b1) dffe2a2 <= 1'b0;
  770. else if (wire_dffe2a_ena[2:2] == 1'b1) dffe2a2 <= (rsource_state_par_ini[2] & rsource_load);
  771. assign
  772. wire_dffe2a_ena = {3{(rsource_load | global_vcc)}};
  773. // synopsys translate_off
  774. initial
  775. dffe3a0 = 0;
  776. // synopsys translate_on
  777. always @ ( posedge clock or posedge reset)
  778. if (reset == 1'b1) dffe3a0 <= 1'b0;
  779. else if (wire_dffe3a_ena[0:0] == 1'b1) dffe3a0 <= ((rsource_load & wsource_state_par_ini[0]) | ((~ rsource_load) & dffe3a1[0:0]));
  780. // synopsys translate_off
  781. initial
  782. dffe3a1 = 0;
  783. // synopsys translate_on
  784. always @ ( posedge clock or posedge reset)
  785. if (reset == 1'b1) dffe3a1 <= 1'b0;
  786. else if (wire_dffe3a_ena[1:1] == 1'b1) dffe3a1 <= ((rsource_load & wsource_state_par_ini[1]) | ((~ rsource_load) & dffe3a2[0:0]));
  787. // synopsys translate_off
  788. initial
  789. dffe3a2 = 0;
  790. // synopsys translate_on
  791. always @ ( posedge clock or posedge reset)
  792. if (reset == 1'b1) dffe3a2 <= 1'b0;
  793. else if (wire_dffe3a_ena[2:2] == 1'b1) dffe3a2 <= (wsource_state_par_ini[2] & rsource_load);
  794. assign
  795. wire_dffe3a_ena = {3{(rsource_load | global_vcc)}};
  796. // synopsys translate_off
  797. initial
  798. dffe7a[0:0] = 0;
  799. // synopsys translate_on
  800. always @ ( posedge clock or posedge reset)
  801. if (reset == 1'b1) dffe7a[0:0] <= 1'b0;
  802. else if (wire_dffe7a_ena[0:0] == 1'b1)
  803. if (shift_reg_clear == 1'b1) dffe7a[0:0] <= 1'b0;
  804. else dffe7a[0:0] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[2]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[0]))) | ((~ shift_reg_load_enable) & dffe7a[1:1]));
  805. // synopsys translate_off
  806. initial
  807. dffe7a[1:1] = 0;
  808. // synopsys translate_on
  809. always @ ( posedge clock or posedge reset)
  810. if (reset == 1'b1) dffe7a[1:1] <= 1'b0;
  811. else if (wire_dffe7a_ena[1:1] == 1'b1)
  812. if (shift_reg_clear == 1'b1) dffe7a[1:1] <= 1'b0;
  813. else dffe7a[1:1] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[3]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[1]))) | ((~ shift_reg_load_enable) & dffe7a[2:2]));
  814. // synopsys translate_off
  815. initial
  816. dffe7a[2:2] = 0;
  817. // synopsys translate_on
  818. always @ ( posedge clock or posedge reset)
  819. if (reset == 1'b1) dffe7a[2:2] <= 1'b0;
  820. else if (wire_dffe7a_ena[2:2] == 1'b1)
  821. if (shift_reg_clear == 1'b1) dffe7a[2:2] <= 1'b0;
  822. else dffe7a[2:2] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[4]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[2]))) | ((~ shift_reg_load_enable) & dffe7a[3:3]));
  823. // synopsys translate_off
  824. initial
  825. dffe7a[3:3] = 0;
  826. // synopsys translate_on
  827. always @ ( posedge clock or posedge reset)
  828. if (reset == 1'b1) dffe7a[3:3] <= 1'b0;
  829. else if (wire_dffe7a_ena[3:3] == 1'b1)
  830. if (shift_reg_clear == 1'b1) dffe7a[3:3] <= 1'b0;
  831. else dffe7a[3:3] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[5]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[3]))) | ((~ shift_reg_load_enable) & dffe7a[4:4]));
  832. // synopsys translate_off
  833. initial
  834. dffe7a[4:4] = 0;
  835. // synopsys translate_on
  836. always @ ( posedge clock or posedge reset)
  837. if (reset == 1'b1) dffe7a[4:4] <= 1'b0;
  838. else if (wire_dffe7a_ena[4:4] == 1'b1)
  839. if (shift_reg_clear == 1'b1) dffe7a[4:4] <= 1'b0;
  840. else dffe7a[4:4] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[6]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[4]))) | ((~ shift_reg_load_enable) & dffe7a[5:5]));
  841. // synopsys translate_off
  842. initial
  843. dffe7a[5:5] = 0;
  844. // synopsys translate_on
  845. always @ ( posedge clock or posedge reset)
  846. if (reset == 1'b1) dffe7a[5:5] <= 1'b0;
  847. else if (wire_dffe7a_ena[5:5] == 1'b1)
  848. if (shift_reg_clear == 1'b1) dffe7a[5:5] <= 1'b0;
  849. else dffe7a[5:5] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[7]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[5]))) | ((~ shift_reg_load_enable) & dffe7a[6:6]));
  850. // synopsys translate_off
  851. initial
  852. dffe7a[6:6] = 0;
  853. // synopsys translate_on
  854. always @ ( posedge clock or posedge reset)
  855. if (reset == 1'b1) dffe7a[6:6] <= 1'b0;
  856. else if (wire_dffe7a_ena[6:6] == 1'b1)
  857. if (shift_reg_clear == 1'b1) dffe7a[6:6] <= 1'b0;
  858. else dffe7a[6:6] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[8]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[6]))) | ((~ shift_reg_load_enable) & dffe7a[7:7]));
  859. // synopsys translate_off
  860. initial
  861. dffe7a[7:7] = 0;
  862. // synopsys translate_on
  863. always @ ( posedge clock or posedge reset)
  864. if (reset == 1'b1) dffe7a[7:7] <= 1'b0;
  865. else if (wire_dffe7a_ena[7:7] == 1'b1)
  866. if (shift_reg_clear == 1'b1) dffe7a[7:7] <= 1'b0;
  867. else dffe7a[7:7] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[9]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[7]))) | ((~ shift_reg_load_enable) & dffe7a[8:8]));
  868. // synopsys translate_off
  869. initial
  870. dffe7a[8:8] = 0;
  871. // synopsys translate_on
  872. always @ ( posedge clock or posedge reset)
  873. if (reset == 1'b1) dffe7a[8:8] <= 1'b0;
  874. else if (wire_dffe7a_ena[8:8] == 1'b1)
  875. if (shift_reg_clear == 1'b1) dffe7a[8:8] <= 1'b0;
  876. else dffe7a[8:8] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[10]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[8]))) | ((~ shift_reg_load_enable) & dffe7a[9:9]));
  877. // synopsys translate_off
  878. initial
  879. dffe7a[9:9] = 0;
  880. // synopsys translate_on
  881. always @ ( posedge clock or posedge reset)
  882. if (reset == 1'b1) dffe7a[9:9] <= 1'b0;
  883. else if (wire_dffe7a_ena[9:9] == 1'b1)
  884. if (shift_reg_clear == 1'b1) dffe7a[9:9] <= 1'b0;
  885. else dffe7a[9:9] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[11]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[9]))) | ((~ shift_reg_load_enable) & dffe7a[10:10]));
  886. // synopsys translate_off
  887. initial
  888. dffe7a[10:10] = 0;
  889. // synopsys translate_on
  890. always @ ( posedge clock or posedge reset)
  891. if (reset == 1'b1) dffe7a[10:10] <= 1'b0;
  892. else if (wire_dffe7a_ena[10:10] == 1'b1)
  893. if (shift_reg_clear == 1'b1) dffe7a[10:10] <= 1'b0;
  894. else dffe7a[10:10] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[12]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[10]))) | ((~ shift_reg_load_enable) & dffe7a[11:11]));
  895. // synopsys translate_off
  896. initial
  897. dffe7a[11:11] = 0;
  898. // synopsys translate_on
  899. always @ ( posedge clock or posedge reset)
  900. if (reset == 1'b1) dffe7a[11:11] <= 1'b0;
  901. else if (wire_dffe7a_ena[11:11] == 1'b1)
  902. if (shift_reg_clear == 1'b1) dffe7a[11:11] <= 1'b0;
  903. else dffe7a[11:11] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[13]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[11]))) | ((~ shift_reg_load_enable) & dffe7a[12:12]));
  904. // synopsys translate_off
  905. initial
  906. dffe7a[12:12] = 0;
  907. // synopsys translate_on
  908. always @ ( posedge clock or posedge reset)
  909. if (reset == 1'b1) dffe7a[12:12] <= 1'b0;
  910. else if (wire_dffe7a_ena[12:12] == 1'b1)
  911. if (shift_reg_clear == 1'b1) dffe7a[12:12] <= 1'b0;
  912. else dffe7a[12:12] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[14]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[12]))) | ((~ shift_reg_load_enable) & dffe7a[13:13]));
  913. // synopsys translate_off
  914. initial
  915. dffe7a[13:13] = 0;
  916. // synopsys translate_on
  917. always @ ( posedge clock or posedge reset)
  918. if (reset == 1'b1) dffe7a[13:13] <= 1'b0;
  919. else if (wire_dffe7a_ena[13:13] == 1'b1)
  920. if (shift_reg_clear == 1'b1) dffe7a[13:13] <= 1'b0;
  921. else dffe7a[13:13] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[15]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[13]))) | ((~ shift_reg_load_enable) & dffe7a[14:14]));
  922. // synopsys translate_off
  923. initial
  924. dffe7a[14:14] = 0;
  925. // synopsys translate_on
  926. always @ ( posedge clock or posedge reset)
  927. if (reset == 1'b1) dffe7a[14:14] <= 1'b0;
  928. else if (wire_dffe7a_ena[14:14] == 1'b1)
  929. if (shift_reg_clear == 1'b1) dffe7a[14:14] <= 1'b0;
  930. else dffe7a[14:14] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[16]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[14]))) | ((~ shift_reg_load_enable) & dffe7a[15:15]));
  931. // synopsys translate_off
  932. initial
  933. dffe7a[15:15] = 0;
  934. // synopsys translate_on
  935. always @ ( posedge clock or posedge reset)
  936. if (reset == 1'b1) dffe7a[15:15] <= 1'b0;
  937. else if (wire_dffe7a_ena[15:15] == 1'b1)
  938. if (shift_reg_clear == 1'b1) dffe7a[15:15] <= 1'b0;
  939. else dffe7a[15:15] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[17]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[15]))) | ((~ shift_reg_load_enable) & dffe7a[16:16]));
  940. // synopsys translate_off
  941. initial
  942. dffe7a[16:16] = 0;
  943. // synopsys translate_on
  944. always @ ( posedge clock or posedge reset)
  945. if (reset == 1'b1) dffe7a[16:16] <= 1'b0;
  946. else if (wire_dffe7a_ena[16:16] == 1'b1)
  947. if (shift_reg_clear == 1'b1) dffe7a[16:16] <= 1'b0;
  948. else dffe7a[16:16] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[18]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[16]))) | ((~ shift_reg_load_enable) & dffe7a[17:17]));
  949. // synopsys translate_off
  950. initial
  951. dffe7a[17:17] = 0;
  952. // synopsys translate_on
  953. always @ ( posedge clock or posedge reset)
  954. if (reset == 1'b1) dffe7a[17:17] <= 1'b0;
  955. else if (wire_dffe7a_ena[17:17] == 1'b1)
  956. if (shift_reg_clear == 1'b1) dffe7a[17:17] <= 1'b0;
  957. else dffe7a[17:17] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[19]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[17]))) | ((~ shift_reg_load_enable) & dffe7a[18:18]));
  958. // synopsys translate_off
  959. initial
  960. dffe7a[18:18] = 0;
  961. // synopsys translate_on
  962. always @ ( posedge clock or posedge reset)
  963. if (reset == 1'b1) dffe7a[18:18] <= 1'b0;
  964. else if (wire_dffe7a_ena[18:18] == 1'b1)
  965. if (shift_reg_clear == 1'b1) dffe7a[18:18] <= 1'b0;
  966. else dffe7a[18:18] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[20]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[18]))) | ((~ shift_reg_load_enable) & dffe7a[19:19]));
  967. // synopsys translate_off
  968. initial
  969. dffe7a[19:19] = 0;
  970. // synopsys translate_on
  971. always @ ( posedge clock or posedge reset)
  972. if (reset == 1'b1) dffe7a[19:19] <= 1'b0;
  973. else if (wire_dffe7a_ena[19:19] == 1'b1)
  974. if (shift_reg_clear == 1'b1) dffe7a[19:19] <= 1'b0;
  975. else dffe7a[19:19] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[21]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[19]))) | ((~ shift_reg_load_enable) & dffe7a[20:20]));
  976. // synopsys translate_off
  977. initial
  978. dffe7a[20:20] = 0;
  979. // synopsys translate_on
  980. always @ ( posedge clock or posedge reset)
  981. if (reset == 1'b1) dffe7a[20:20] <= 1'b0;
  982. else if (wire_dffe7a_ena[20:20] == 1'b1)
  983. if (shift_reg_clear == 1'b1) dffe7a[20:20] <= 1'b0;
  984. else dffe7a[20:20] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[22]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[20]))) | ((~ shift_reg_load_enable) & dffe7a[21:21]));
  985. // synopsys translate_off
  986. initial
  987. dffe7a[21:21] = 0;
  988. // synopsys translate_on
  989. always @ ( posedge clock or posedge reset)
  990. if (reset == 1'b1) dffe7a[21:21] <= 1'b0;
  991. else if (wire_dffe7a_ena[21:21] == 1'b1)
  992. if (shift_reg_clear == 1'b1) dffe7a[21:21] <= 1'b0;
  993. else dffe7a[21:21] <= ((shift_reg_load_enable & ((((param[2] & (~ param[1])) & (~ param[0])) & data_in[23]) | ((~ ((param[2] & (~ param[1])) & (~ param[0]))) & data_in[21]))) | ((~ shift_reg_load_enable) & dffe7a[22:22]));
  994. // synopsys translate_off
  995. initial
  996. dffe7a[22:22] = 0;
  997. // synopsys translate_on
  998. always @ ( posedge clock or posedge reset)
  999. if (reset == 1'b1) dffe7a[22:22] <= 1'b0;
  1000. else if (wire_dffe7a_ena[22:22] == 1'b1)
  1001. if (shift_reg_clear == 1'b1) dffe7a[22:22] <= 1'b0;
  1002. else dffe7a[22:22] <= ((~ shift_reg_load_enable) & dffe7a[23:23]);
  1003. // synopsys translate_off
  1004. initial
  1005. dffe7a[23:23] = 0;
  1006. // synopsys translate_on
  1007. always @ ( posedge clock or posedge reset)
  1008. if (reset == 1'b1) dffe7a[23:23] <= 1'b0;
  1009. else if (wire_dffe7a_ena[23:23] == 1'b1)
  1010. if (shift_reg_clear == 1'b1) dffe7a[23:23] <= 1'b0;
  1011. else dffe7a[23:23] <= ((~ shift_reg_load_enable) & dffe7a[24:24]);
  1012. // synopsys translate_off
  1013. initial
  1014. dffe7a[24:24] = 0;
  1015. // synopsys translate_on
  1016. always @ ( posedge clock or posedge reset)
  1017. if (reset == 1'b1) dffe7a[24:24] <= 1'b0;
  1018. else if (wire_dffe7a_ena[24:24] == 1'b1)
  1019. if (shift_reg_clear == 1'b1) dffe7a[24:24] <= 1'b0;
  1020. else dffe7a[24:24] <= ((~ shift_reg_load_enable) & dffe7a[25:25]);
  1021. // synopsys translate_off
  1022. initial
  1023. dffe7a[25:25] = 0;
  1024. // synopsys translate_on
  1025. always @ ( posedge clock or posedge reset)
  1026. if (reset == 1'b1) dffe7a[25:25] <= 1'b0;
  1027. else if (wire_dffe7a_ena[25:25] == 1'b1)
  1028. if (shift_reg_clear == 1'b1) dffe7a[25:25] <= 1'b0;
  1029. else dffe7a[25:25] <= ((~ shift_reg_load_enable) & dffe7a[26:26]);
  1030. // synopsys translate_off
  1031. initial
  1032. dffe7a[26:26] = 0;
  1033. // synopsys translate_on
  1034. always @ ( posedge clock or posedge reset)
  1035. if (reset == 1'b1) dffe7a[26:26] <= 1'b0;
  1036. else if (wire_dffe7a_ena[26:26] == 1'b1)
  1037. if (shift_reg_clear == 1'b1) dffe7a[26:26] <= 1'b0;
  1038. else dffe7a[26:26] <= ((~ shift_reg_load_enable) & dffe7a[27:27]);
  1039. // synopsys translate_off
  1040. initial
  1041. dffe7a[27:27] = 0;
  1042. // synopsys translate_on
  1043. always @ ( posedge clock or posedge reset)
  1044. if (reset == 1'b1) dffe7a[27:27] <= 1'b0;
  1045. else if (wire_dffe7a_ena[27:27] == 1'b1)
  1046. if (shift_reg_clear == 1'b1) dffe7a[27:27] <= 1'b0;
  1047. else dffe7a[27:27] <= ((~ shift_reg_load_enable) & dffe7a[28:28]);
  1048. // synopsys translate_off
  1049. initial
  1050. dffe7a[28:28] = 0;
  1051. // synopsys translate_on
  1052. always @ ( posedge clock or posedge reset)
  1053. if (reset == 1'b1) dffe7a[28:28] <= 1'b0;
  1054. else if (wire_dffe7a_ena[28:28] == 1'b1)
  1055. if (shift_reg_clear == 1'b1) dffe7a[28:28] <= 1'b0;
  1056. else dffe7a[28:28] <= ((~ shift_reg_load_enable) & shift_reg_serial_in);
  1057. assign
  1058. wire_dffe7a_ena = {29{((shift_reg_load_enable | shift_reg_shift_enable) | shift_reg_clear)}};
  1059. // synopsys translate_off
  1060. initial
  1061. dffe9 = 0;
  1062. // synopsys translate_on
  1063. always @ ( posedge clock or posedge reset)
  1064. if (reset == 1'b1) dffe9 <= 1'b0;
  1065. else dffe9 <= rublock_regout;
  1066. // synopsys translate_off
  1067. initial
  1068. get_addr_reg = 0;
  1069. // synopsys translate_on
  1070. always @ ( posedge clock or posedge reset)
  1071. if (reset == 1'b1) get_addr_reg <= 1'b0;
  1072. else get_addr_reg <= (((~ wire_cntr11_q[2]) & wire_cntr11_q[1]) & wire_cntr11_q[0]);
  1073. // synopsys translate_off
  1074. initial
  1075. idle_state = 0;
  1076. // synopsys translate_on
  1077. always @ ( posedge clock or posedge reset)
  1078. if (reset == 1'b1) idle_state <= {1{1'b1}};
  1079. else idle_state <= ((((((((idle & (~ read_param_c3)) & (~ write_param_c3)) & (~ read_control_reg)) | write_wait) | (read_data & width_counter_all_done)) | (read_post & width_counter_all_done)) | power_up) & (~ check_busy_dffe));
  1080. // synopsys translate_off
  1081. initial
  1082. idle_write_wait = 0;
  1083. // synopsys translate_on
  1084. always @ ( posedge clock or posedge reset)
  1085. if (reset == 1'b1) idle_write_wait <= 1'b0;
  1086. else idle_write_wait <= ((((((((idle & (~ read_param_c3)) & (~ write_param_c3)) & (~ read_control_reg)) | write_wait) | (read_data & width_counter_all_done)) | (read_post & width_counter_all_done)) | power_up) & write_load);
  1087. // synopsys translate_off
  1088. initial
  1089. load_crc_high_reg = 0;
  1090. // synopsys translate_on
  1091. always @ ( posedge clock or posedge reset)
  1092. if (reset == 1'b1) load_crc_high_reg <= 1'b0;
  1093. else load_crc_high_reg <= ((((~ wire_cntr12_q[2]) & wire_cntr12_q[1]) & (~ wire_cntr12_q[0])) & (((((wire_cntr14_q[5] & (~ wire_cntr14_q[4])) & wire_cntr14_q[3]) & (~ wire_cntr14_q[2])) & (~ wire_cntr14_q[1])) & wire_cntr14_q[0]));
  1094. // synopsys translate_off
  1095. initial
  1096. load_crc_low_reg = 0;
  1097. // synopsys translate_on
  1098. always @ ( posedge clock or posedge reset)
  1099. if (reset == 1'b1) load_crc_low_reg <= 1'b0;
  1100. else load_crc_low_reg <= ((((~ wire_cntr12_q[2]) & wire_cntr12_q[1]) & (~ wire_cntr12_q[0])) & (((((wire_cntr14_q[5] & (~ wire_cntr14_q[4])) & wire_cntr14_q[3]) & (~ wire_cntr14_q[2])) & (~ wire_cntr14_q[1])) & (~ wire_cntr14_q[0])));
  1101. // synopsys translate_off
  1102. initial
  1103. load_data_reg = 0;
  1104. // synopsys translate_on
  1105. always @ ( posedge clock or posedge reset)
  1106. if (reset == 1'b1) load_data_reg <= 1'b0;
  1107. else load_data_reg <= (((~ wire_cntr12_q[2]) & wire_cntr12_q[1]) & (~ wire_cntr12_q[0]));
  1108. // synopsys translate_off
  1109. initial
  1110. pof_counter_l42 = 0;
  1111. // synopsys translate_on
  1112. always @ ( posedge clock or posedge reset)
  1113. if (reset == 1'b1) pof_counter_l42 <= 1'b0;
  1114. else
  1115. if (crc_check_st_wire == 1'b1) pof_counter_l42 <= 1'b0;
  1116. else pof_counter_l42 <= (((wire_cntr14_q[5] & wire_cntr14_q[3]) & wire_cntr14_q[0]) | ((wire_cntr14_q[5] & wire_cntr14_q[3]) & wire_cntr14_q[1]));
  1117. // synopsys translate_off
  1118. initial
  1119. pof_error_reg = 0;
  1120. // synopsys translate_on
  1121. always @ ( posedge clock or posedge reset)
  1122. if (reset == 1'b1) pof_error_reg <= 1'b0;
  1123. else if (wire_pof_error_reg_ena == 1'b1)
  1124. if (crc_check_st_wire == 1'b1) pof_error_reg <= 1'b0;
  1125. else pof_error_reg <= pof_error_wire;
  1126. assign
  1127. wire_pof_error_reg_ena = (crc_check_end | crc_check_st_wire);
  1128. // synopsys translate_off
  1129. initial
  1130. re_config_reg = 0;
  1131. // synopsys translate_on
  1132. always @ ( posedge clock or posedge reset)
  1133. if (reset == 1'b1) re_config_reg <= 1'b0;
  1134. else
  1135. if (crc_check_st_wire == 1'b1) re_config_reg <= 1'b0;
  1136. else re_config_reg <= (ru_reconfig_pof & (~ pof_error_reg));
  1137. // synopsys translate_off
  1138. initial
  1139. read_address_state = 0;
  1140. // synopsys translate_on
  1141. always @ ( posedge clock or posedge reset)
  1142. if (reset == 1'b1) read_address_state <= 1'b0;
  1143. else if (wire_read_address_state_ena == 1'b1) read_address_state <= (((read_param | write_param) & ((param[2] & (~ param[1])) & (~ param[0]))) & (~ ((((~ idle) | check_busy_dffe) | ru_reconfig_pof) | (~ st_v0))));
  1144. assign
  1145. wire_read_address_state_ena = (read_param | write_param);
  1146. // synopsys translate_off
  1147. initial
  1148. read_control_reg_dffe = 0;
  1149. // synopsys translate_on
  1150. always @ ( posedge clock or posedge reset)
  1151. if (reset == 1'b1) read_control_reg_dffe <= 1'b0;
  1152. else read_control_reg_dffe <= (((~ wire_cntr11_q[2]) & (~ wire_cntr11_q[1])) & wire_cntr11_q[0]);
  1153. // synopsys translate_off
  1154. initial
  1155. read_data_state = 0;
  1156. // synopsys translate_on
  1157. always @ ( posedge clock or posedge reset)
  1158. if (reset == 1'b1) read_data_state <= 1'b0;
  1159. else read_data_state <= (((read_init_counter & bit_counter_param_start_match) | (read_pre_data & bit_counter_param_start_match)) | ((read_data & (~ width_counter_param_width_match)) & (~ width_counter_all_done)));
  1160. // synopsys translate_off
  1161. initial
  1162. read_init_counter_state = 0;
  1163. // synopsys translate_on
  1164. always @ ( posedge clock or posedge reset)
  1165. if (reset == 1'b1) read_init_counter_state <= 1'b0;
  1166. else read_init_counter_state <= rsource_update_done;
  1167. // synopsys translate_off
  1168. initial
  1169. read_init_state = 0;
  1170. // synopsys translate_on
  1171. always @ ( posedge clock or posedge reset)
  1172. if (reset == 1'b1) read_init_state <= 1'b0;
  1173. else read_init_state <= (idle & (read_param_c3 | read_control_reg));
  1174. // synopsys translate_off
  1175. initial
  1176. read_post_state = 0;
  1177. // synopsys translate_on
  1178. always @ ( posedge clock or posedge reset)
  1179. if (reset == 1'b1) read_post_state <= 1'b0;
  1180. else read_post_state <= (((read_data & width_counter_param_width_match) & (~ width_counter_all_done)) | (read_post & (~ width_counter_all_done)));
  1181. // synopsys translate_off
  1182. initial
  1183. read_pre_data_state = 0;
  1184. // synopsys translate_on
  1185. always @ ( posedge clock or posedge reset)
  1186. if (reset == 1'b1) read_pre_data_state <= 1'b0;
  1187. else read_pre_data_state <= ((read_init_counter & (~ bit_counter_param_start_match)) | (read_pre_data & (~ bit_counter_param_start_match)));
  1188. // synopsys translate_off
  1189. initial
  1190. read_source_update_state = 0;
  1191. // synopsys translate_on
  1192. always @ ( posedge clock or posedge reset)
  1193. if (reset == 1'b1) read_source_update_state <= 1'b0;
  1194. else read_source_update_state <= ((read_init | read_source_update) & (~ rsource_update_done));
  1195. // synopsys translate_off
  1196. initial
  1197. reconfig_width_reg = 0;
  1198. // synopsys translate_on
  1199. always @ ( posedge clock or posedge reset)
  1200. if (reset == 1'b1) reconfig_width_reg <= 1'b0;
  1201. else
  1202. if (wire_cntr15_cout == 1'b1) reconfig_width_reg <= 1'b0;
  1203. else reconfig_width_reg <= (((wire_cntr11_q[2] & wire_cntr11_q[1]) & wire_cntr11_q[0]) | reconfig_width_reg);
  1204. // synopsys translate_off
  1205. initial
  1206. ru_reconfig_pof_reg = 0;
  1207. // synopsys translate_on
  1208. always @ ( posedge clock or posedge reset)
  1209. if (reset == 1'b1) ru_reconfig_pof_reg <= 1'b0;
  1210. else ru_reconfig_pof_reg <= (((wire_cntr11_q[2] & wire_cntr11_q[1]) & wire_cntr11_q[0]) | ((wire_cntr15_q[2] | wire_cntr15_q[1]) | wire_cntr15_q[0]));
  1211. // synopsys translate_off
  1212. initial
  1213. write_data_state = 0;
  1214. // synopsys translate_on
  1215. always @ ( posedge clock or posedge reset)
  1216. if (reset == 1'b1) write_data_state <= 1'b0;
  1217. else write_data_state <= (((write_init_counter & bit_counter_param_start_match) | (write_pre_data & bit_counter_param_start_match)) | ((write_data & (~ width_counter_param_width_match)) & (~ bit_counter_all_done)));
  1218. // synopsys translate_off
  1219. initial
  1220. write_init_counter_state = 0;
  1221. // synopsys translate_on
  1222. always @ ( posedge clock or posedge reset)
  1223. if (reset == 1'b1) write_init_counter_state <= 1'b0;
  1224. else write_init_counter_state <= wsource_update_done;
  1225. // synopsys translate_off
  1226. initial
  1227. write_init_state = 0;
  1228. // synopsys translate_on
  1229. always @ ( posedge clock or posedge reset)
  1230. if (reset == 1'b1) write_init_state <= 1'b0;
  1231. else write_init_state <= (idle & write_param_c3);
  1232. // synopsys translate_off
  1233. initial
  1234. write_load_state = 0;
  1235. // synopsys translate_on
  1236. always @ ( posedge clock or posedge reset)
  1237. if (reset == 1'b1) write_load_state <= 1'b0;
  1238. else write_load_state <= ((write_data & bit_counter_all_done) | (write_post_data & bit_counter_all_done));
  1239. // synopsys translate_off
  1240. initial
  1241. write_post_data_state = 0;
  1242. // synopsys translate_on
  1243. always @ ( posedge clock or posedge reset)
  1244. if (reset == 1'b1) write_post_data_state <= 1'b0;
  1245. else write_post_data_state <= (((write_data & width_counter_param_width_match) & (~ bit_counter_all_done)) | (write_post_data & (~ bit_counter_all_done)));
  1246. // synopsys translate_off
  1247. initial
  1248. write_pre_data_state = 0;
  1249. // synopsys translate_on
  1250. always @ ( posedge clock or posedge reset)
  1251. if (reset == 1'b1) write_pre_data_state <= 1'b0;
  1252. else write_pre_data_state <= ((write_init_counter & (~ bit_counter_param_start_match)) | (write_pre_data & (~ bit_counter_param_start_match)));
  1253. // synopsys translate_off
  1254. initial
  1255. write_source_update_state = 0;
  1256. // synopsys translate_on
  1257. always @ ( posedge clock or posedge reset)
  1258. if (reset == 1'b1) write_source_update_state <= 1'b0;
  1259. else write_source_update_state <= ((write_init | write_source_update) & (~ wsource_update_done));
  1260. // synopsys translate_off
  1261. initial
  1262. write_wait_state = 0;
  1263. // synopsys translate_on
  1264. always @ ( posedge clock or posedge reset)
  1265. if (reset == 1'b1) write_wait_state <= 1'b0;
  1266. else write_wait_state <= write_load;
  1267. lpm_add_sub add_sub16
  1268. (
  1269. .aclr(reset),
  1270. .clken(cal_addr),
  1271. .clock(clock),
  1272. .cout(),
  1273. .dataa(dataa_switch),
  1274. .datab(asmi_addr_st),
  1275. .overflow(),
  1276. .result(wire_add_sub16_result)
  1277. `ifndef FORMAL_VERIFICATION
  1278. // synopsys translate_off
  1279. `endif
  1280. ,
  1281. .add_sub(1'b1),
  1282. .cin()
  1283. `ifndef FORMAL_VERIFICATION
  1284. // synopsys translate_on
  1285. `endif
  1286. );
  1287. defparam
  1288. add_sub16.lpm_direction = "ADD",
  1289. add_sub16.lpm_pipeline = 1,
  1290. add_sub16.lpm_width = 24,
  1291. add_sub16.lpm_type = "lpm_add_sub";
  1292. lpm_counter cntr11
  1293. (
  1294. .aclr(reset),
  1295. .clk_en(chk_pof_counter_enable),
  1296. .clock(clock),
  1297. .cout(),
  1298. .eq(),
  1299. .q(wire_cntr11_q)
  1300. `ifndef FORMAL_VERIFICATION
  1301. // synopsys translate_off
  1302. `endif
  1303. ,
  1304. .aload(1'b0),
  1305. .aset(1'b0),
  1306. .cin(1'b1),
  1307. .cnt_en(1'b1),
  1308. .data({3{1'b0}}),
  1309. .sclr(1'b0),
  1310. .sload(1'b0),
  1311. .sset(1'b0),
  1312. .updown(1'b1)
  1313. `ifndef FORMAL_VERIFICATION
  1314. // synopsys translate_on
  1315. `endif
  1316. );
  1317. defparam
  1318. cntr11.lpm_port_updown = "PORT_UNUSED",
  1319. cntr11.lpm_width = 3,
  1320. cntr11.lpm_type = "lpm_counter";
  1321. lpm_counter cntr12
  1322. (
  1323. .aclr(reset),
  1324. .clk_en(chk_crc_counter_enable),
  1325. .clock(clock),
  1326. .cout(),
  1327. .data({{2{1'b0}}, 1'b1}),
  1328. .eq(),
  1329. .q(wire_cntr12_q),
  1330. .sload(asmi_read_reg)
  1331. `ifndef FORMAL_VERIFICATION
  1332. // synopsys translate_off
  1333. `endif
  1334. ,
  1335. .aload(1'b0),
  1336. .aset(1'b0),
  1337. .cin(1'b1),
  1338. .cnt_en(1'b1),
  1339. .sclr(1'b0),
  1340. .sset(1'b0),
  1341. .updown(1'b1)
  1342. `ifndef FORMAL_VERIFICATION
  1343. // synopsys translate_on
  1344. `endif
  1345. );
  1346. defparam
  1347. cntr12.lpm_modulus = 7,
  1348. cntr12.lpm_port_updown = "PORT_UNUSED",
  1349. cntr12.lpm_width = 3,
  1350. cntr12.lpm_type = "lpm_counter";
  1351. lpm_counter cntr13
  1352. (
  1353. .aclr(reset),
  1354. .clk_en(crc_cal_reg),
  1355. .clock(clock),
  1356. .cout(),
  1357. .eq(),
  1358. .q(wire_cntr13_q)
  1359. `ifndef FORMAL_VERIFICATION
  1360. // synopsys translate_off
  1361. `endif
  1362. ,
  1363. .aload(1'b0),
  1364. .aset(1'b0),
  1365. .cin(1'b1),
  1366. .cnt_en(1'b1),
  1367. .data({3{1'b0}}),
  1368. .sclr(1'b0),
  1369. .sload(1'b0),
  1370. .sset(1'b0),
  1371. .updown(1'b1)
  1372. `ifndef FORMAL_VERIFICATION
  1373. // synopsys translate_on
  1374. `endif
  1375. );
  1376. defparam
  1377. cntr13.lpm_modulus = 8,
  1378. cntr13.lpm_port_updown = "PORT_UNUSED",
  1379. cntr13.lpm_width = 3,
  1380. cntr13.lpm_type = "lpm_counter";
  1381. lpm_counter cntr14
  1382. (
  1383. .aclr(reset),
  1384. .clk_en((asmi_read_wire | ((wire_cntr11_q[2] & (~ wire_cntr11_q[1])) & wire_cntr11_q[0]))),
  1385. .clock(clock),
  1386. .cout(wire_cntr14_cout),
  1387. .eq(),
  1388. .q(wire_cntr14_q),
  1389. .sclr(crc_check_st)
  1390. `ifndef FORMAL_VERIFICATION
  1391. // synopsys translate_off
  1392. `endif
  1393. ,
  1394. .aload(1'b0),
  1395. .aset(1'b0),
  1396. .cin(1'b1),
  1397. .cnt_en(1'b1),
  1398. .data({6{1'b0}}),
  1399. .sload(1'b0),
  1400. .sset(1'b0),
  1401. .updown(1'b1)
  1402. `ifndef FORMAL_VERIFICATION
  1403. // synopsys translate_on
  1404. `endif
  1405. );
  1406. defparam
  1407. cntr14.lpm_modulus = 43,
  1408. cntr14.lpm_port_updown = "PORT_UNUSED",
  1409. cntr14.lpm_width = 6,
  1410. cntr14.lpm_type = "lpm_counter";
  1411. lpm_counter cntr15
  1412. (
  1413. .aclr(reset),
  1414. .clk_en((((wire_cntr11_q[2] & wire_cntr11_q[1]) & wire_cntr11_q[0]) | reconfig_width_reg)),
  1415. .clock(clock),
  1416. .cout(wire_cntr15_cout),
  1417. .eq(),
  1418. .q(wire_cntr15_q)
  1419. `ifndef FORMAL_VERIFICATION
  1420. // synopsys translate_off
  1421. `endif
  1422. ,
  1423. .aload(1'b0),
  1424. .aset(1'b0),
  1425. .cin(1'b1),
  1426. .cnt_en(1'b1),
  1427. .data({3{1'b0}}),
  1428. .sclr(1'b0),
  1429. .sload(1'b0),
  1430. .sset(1'b0),
  1431. .updown(1'b1)
  1432. `ifndef FORMAL_VERIFICATION
  1433. // synopsys translate_on
  1434. `endif
  1435. );
  1436. defparam
  1437. cntr15.lpm_modulus = 4,
  1438. cntr15.lpm_port_updown = "PORT_UNUSED",
  1439. cntr15.lpm_width = 3,
  1440. cntr15.lpm_type = "lpm_counter";
  1441. lpm_counter cntr5
  1442. (
  1443. .aclr(reset),
  1444. .clock(clock),
  1445. .cnt_en(bit_counter_enable),
  1446. .cout(),
  1447. .eq(),
  1448. .q(wire_cntr5_q),
  1449. .sclr(bit_counter_clear)
  1450. `ifndef FORMAL_VERIFICATION
  1451. // synopsys translate_off
  1452. `endif
  1453. ,
  1454. .aload(1'b0),
  1455. .aset(1'b0),
  1456. .cin(1'b1),
  1457. .clk_en(1'b1),
  1458. .data({6{1'b0}}),
  1459. .sload(1'b0),
  1460. .sset(1'b0),
  1461. .updown(1'b1)
  1462. `ifndef FORMAL_VERIFICATION
  1463. // synopsys translate_on
  1464. `endif
  1465. );
  1466. defparam
  1467. cntr5.lpm_direction = "UP",
  1468. cntr5.lpm_port_updown = "PORT_UNUSED",
  1469. cntr5.lpm_width = 6,
  1470. cntr5.lpm_type = "lpm_counter";
  1471. lpm_counter cntr6
  1472. (
  1473. .aclr(reset),
  1474. .clock(clock),
  1475. .cnt_en(width_counter_enable),
  1476. .cout(),
  1477. .eq(),
  1478. .q(wire_cntr6_q),
  1479. .sclr(width_counter_clear)
  1480. `ifndef FORMAL_VERIFICATION
  1481. // synopsys translate_off
  1482. `endif
  1483. ,
  1484. .aload(1'b0),
  1485. .aset(1'b0),
  1486. .cin(1'b1),
  1487. .clk_en(1'b1),
  1488. .data({5{1'b0}}),
  1489. .sload(1'b0),
  1490. .sset(1'b0),
  1491. .updown(1'b1)
  1492. `ifndef FORMAL_VERIFICATION
  1493. // synopsys translate_on
  1494. `endif
  1495. );
  1496. defparam
  1497. cntr6.lpm_direction = "UP",
  1498. cntr6.lpm_port_updown = "PORT_UNUSED",
  1499. cntr6.lpm_width = 5,
  1500. cntr6.lpm_type = "lpm_counter";
  1501. lpm_counter cntr8
  1502. (
  1503. .aclr(reset),
  1504. .clock(clock),
  1505. .cnt_en(st_counter_enable),
  1506. .cout(),
  1507. .eq(),
  1508. .q(wire_cntr8_q),
  1509. .sclr(((((st_v4 & (~ (((~ idle) | check_busy_dffe) | ru_reconfig_pof))) | st_v5) | st_v6) | st_v7))
  1510. `ifndef FORMAL_VERIFICATION
  1511. // synopsys translate_off
  1512. `endif
  1513. ,
  1514. .aload(1'b0),
  1515. .aset(1'b0),
  1516. .cin(1'b1),
  1517. .clk_en(1'b1),
  1518. .data({3{1'b0}}),
  1519. .sload(1'b0),
  1520. .sset(1'b0),
  1521. .updown(1'b1)
  1522. `ifndef FORMAL_VERIFICATION
  1523. // synopsys translate_on
  1524. `endif
  1525. );
  1526. defparam
  1527. cntr8.lpm_direction = "UP",
  1528. cntr8.lpm_port_updown = "PORT_UNUSED",
  1529. cntr8.lpm_width = 3,
  1530. cntr8.lpm_type = "lpm_counter";
  1531. lpm_shiftreg shift_reg17
  1532. (
  1533. .aclr(reset),
  1534. .clock(clock),
  1535. .data(asim_data_reg),
  1536. .enable((crc_cal | load_data)),
  1537. .load(load_data),
  1538. .q(),
  1539. .sclr(crc_check_st),
  1540. .shiftout(wire_shift_reg17_shiftout)
  1541. `ifndef FORMAL_VERIFICATION
  1542. // synopsys translate_off
  1543. `endif
  1544. ,
  1545. .aset(1'b0),
  1546. .shiftin(1'b1),
  1547. .sset(1'b0)
  1548. `ifndef FORMAL_VERIFICATION
  1549. // synopsys translate_on
  1550. `endif
  1551. );
  1552. defparam
  1553. shift_reg17.lpm_direction = "RIGHT",
  1554. shift_reg17.lpm_width = 8,
  1555. shift_reg17.lpm_type = "lpm_shiftreg";
  1556. cycloneive_rublock sd4
  1557. (
  1558. .captnupdt(rublock_captnupdt),
  1559. .clk(rublock_clock),
  1560. .rconfig(rublock_reconfig),
  1561. .regin(rublock_regin),
  1562. .regout(wire_sd4_regout),
  1563. .rsttimer(reset_timer),
  1564. .shiftnld(rublock_shiftnld));
  1565. assign
  1566. asmi_addr = wire_add_sub16_result,
  1567. asmi_rden = asmi_read_out,
  1568. asmi_read = asmi_read_out,
  1569. asmi_read_out = ((crc_chk_st_dffe | asmi_read_reg) & (~ pof_counter_l42)),
  1570. asmi_read_wire = (crc_chk_st_dffe | asmi_read_reg),
  1571. bit_counter_all_done = (((((wire_cntr5_q[0] & (~ wire_cntr5_q[1])) & (~ wire_cntr5_q[2])) & wire_cntr5_q[3]) & (~ wire_cntr5_q[4])) & wire_cntr5_q[5]),
  1572. bit_counter_clear = (rsource_update_done | wsource_update_done),
  1573. bit_counter_enable = (((((((((rsource_update_done | wsource_update_done) | read_init_counter) | write_init_counter) | read_pre_data) | write_pre_data) | read_data) | write_data) | read_post) | write_post_data),
  1574. bit_counter_param_start = start_bit_decoder_out,
  1575. bit_counter_param_start_match = ((((((~ w53w[0]) & (~ w53w[1])) & (~ w53w[2])) & (~ w53w[3])) & (~ w53w[4])) & (~ w53w[5])),
  1576. busy = ((((~ idle) | check_busy_dffe) | ru_reconfig_pof) | (~ st_v0)),
  1577. cal_addr = cal_addr_reg,
  1578. chk_crc_counter_enable = (((((((((((~ wire_cntr12_q[2]) & (~ wire_cntr12_q[1])) & (~ wire_cntr12_q[0])) & crc_check_st) | ((((~ wire_cntr12_q[2]) & (~ wire_cntr12_q[1])) & wire_cntr12_q[0]) & asmi_data_valid)) | (((~ wire_cntr12_q[2]) & wire_cntr12_q[1]) & (~ wire_cntr12_q[0]))) | ((((~ wire_cntr12_q[2]) & wire_cntr12_q[1]) & wire_cntr12_q[0]) & crc_shift_done)) | (((wire_cntr12_q[2] & (~ wire_cntr12_q[1])) & (~ wire_cntr12_q[0])) & (~ asmi_busy))) | ((wire_cntr12_q[2] & (~ wire_cntr12_q[1])) & wire_cntr12_q[0])) | (((wire_cntr12_q[2] & wire_cntr12_q[1]) & (~ wire_cntr12_q[0])) & wire_cntr14_cout)) | ((wire_cntr12_q[2] & wire_cntr12_q[1]) & (~ wire_cntr12_q[0]))),
  1579. chk_pof_counter_enable = (((((((((((~ wire_cntr11_q[2]) & (~ wire_cntr11_q[1])) & (~ wire_cntr11_q[0])) & chk_pof_counter_start) | (((~ wire_cntr11_q[2]) & (~ wire_cntr11_q[1])) & wire_cntr11_q[0])) | (((((~ wire_cntr11_q[2]) & wire_cntr11_q[1]) & (~ wire_cntr11_q[0])) & (~ bit_counter_enable)) & (~ read_control_reg))) | (((~ wire_cntr11_q[2]) & wire_cntr11_q[1]) & wire_cntr11_q[0])) | ((wire_cntr11_q[2] & (~ wire_cntr11_q[1])) & (~ wire_cntr11_q[0]))) | ((wire_cntr11_q[2] & (~ wire_cntr11_q[1])) & wire_cntr11_q[0])) | (((wire_cntr11_q[2] & wire_cntr11_q[1]) & (~ wire_cntr11_q[0])) & wire_cntr14_cout)) | ((wire_cntr11_q[2] & wire_cntr11_q[1]) & wire_cntr11_q[0])),
  1580. chk_pof_counter_start = (idle & reconfig_c3),
  1581. combine_port = {read_param_c3, write_param_c3, read_source_c3, param_c3},
  1582. crc = crc_reg,
  1583. crc_cal = (crc_cal_reg & (~ crc_done_reg)),
  1584. crc_check_end = crc_check_end_reg,
  1585. crc_check_st = crc_chk_st_dffe,
  1586. crc_check_st_wire = ((wire_cntr11_q[2] & (~ wire_cntr11_q[1])) & wire_cntr11_q[0]),
  1587. crc_enable_wire = (crc_cal | crc_check_st_wire),
  1588. crc_reg_wire = {((halt_cal & crc_reg[15]) | ((~ halt_cal) & invert_bits)), ((halt_cal & crc_reg[14]) | ((~ halt_cal) & crc_reg[15])), ((halt_cal & crc_reg[13]) | ((~ halt_cal) & (crc_reg[14] ^ invert_bits))), ((halt_cal & crc_reg[12]) | ((~ halt_cal) & crc_reg[13])), ((halt_cal & crc_reg[11]) | ((~ halt_cal) & crc_reg[12])), ((halt_cal & crc_reg[10]) | ((~ halt_cal) & crc_reg[11])), ((halt_cal & crc_reg[9]) | ((~ halt_cal) & crc_reg[10])), ((halt_cal & crc_reg[8]) | ((~ halt_cal) & crc_reg[9])), ((halt_cal & crc_reg[7]) | ((~ halt_cal) & crc_reg[8])), ((halt_cal & crc_reg[6]) | ((~ halt_cal) & crc_reg[7])), ((halt_cal & crc_reg[5]) | ((~ halt_cal) & crc_reg[6])), ((halt_cal & crc_reg[4]) | ((~ halt_cal) & crc_reg[5])), ((halt_cal & crc_reg[3]) | ((~ halt_cal) & crc_reg[4])), ((halt_cal & crc_reg[2]) | ((~ halt_cal) & crc_reg[3])), ((halt_cal & crc_reg[1]) | ((~ halt_cal) & crc_reg[2])), ((halt_cal & crc_reg[0]) | ((~ halt_cal) & (crc_reg[1] ^ invert_bits)))},
  1589. crc_shift_done = ((wire_cntr13_q[2] & wire_cntr13_q[1]) & (~ wire_cntr13_q[0])),
  1590. data_out = {((read_address & dffe7a[26]) | ((~ read_address) & dffe7a[28])), ((read_address & dffe7a[25]) | ((~ read_address) & dffe7a[27])), ((read_address & dffe7a[24]) | ((~ read_address) & dffe7a[26])), ((read_address & dffe7a[23]) | ((~ read_address) & dffe7a[25])), ((read_address & dffe7a[22]) | ((~ read_address) & dffe7a[24])), ((read_address & dffe7a[21]) | ((~ read_address) & dffe7a[23])), ((read_address & dffe7a[20]) | ((~ read_address) & dffe7a[22])), ((read_address & dffe7a[19]) | ((~ read_address) & dffe7a[21])), ((read_address & dffe7a[18]) | ((~ read_address) & dffe7a[20])), ((read_address & dffe7a[17]) | ((~ read_address) & dffe7a[19])), ((read_address & dffe7a[16]) | ((~ read_address) & dffe7a[18])), ((read_address & dffe7a[15]) | ((~ read_address) & dffe7a[17])), ((read_address & dffe7a[14]) | ((~ read_address) & dffe7a[16])), ((read_address & dffe7a[13]) | ((~ read_address) & dffe7a[15])), ((read_address & dffe7a[12]) | ((~ read_address) & dffe7a[14])), ((read_address & dffe7a[11]) | ((~ read_address) & dffe7a[13])), ((read_address & dffe7a[10]) | ((~ read_address) & dffe7a[12])), ((read_address & dffe7a[9]) | ((~ read_address) & dffe7a[11])), ((read_address & dffe7a[8]) | ((~ read_address) & dffe7a[10])), ((read_address & dffe7a[7]) | ((~ read_address) & dffe7a[9])), ((read_address & dffe7a[6]) | ((~ read_address) & dffe7a[8])), ((read_address & dffe7a[5]) | ((~ read_address) & dffe7a[7])), ((read_address & dffe7a[4]) | ((~ read_address) & dffe7a[6])), ((read_address & dffe7a[3]) | ((~ read_address) & dffe7a[5])), ((read_address & dffe7a[2]) | ((~ read_address) & dffe7a[4])), ((read_address & dffe7a[1]) | ((~ read_address) & dffe7a[3])), ((read_address & dffe7a[0]) | ((~ read_address) & dffe7a[2])), ((~ read_address) & dffe7a[1]), ((~ read_address) & dffe7a[0])},
  1591. get_addr = get_addr_reg,
  1592. global_gnd = 1'b0,
  1593. global_vcc = 1'b1,
  1594. idle = idle_state,
  1595. invert_bits = (wire_shift_reg17_shiftout ^ crc_reg[0]),
  1596. load_crc_high = load_crc_high_reg,
  1597. load_crc_low = load_crc_low_reg,
  1598. load_data = load_data_reg,
  1599. param_c3 = {((param[2] & st_v0) | (st_v1 | st_v2)), (param[1] & st_v0), (param[0] & st_v0)},
  1600. param_decoder_param_latch = dffe10a,
  1601. param_decoder_select = {(((((((~ param_decoder_param_latch[0]) & param_decoder_param_latch[1]) & param_decoder_param_latch[2]) & param_decoder_param_latch[3]) & param_decoder_param_latch[4]) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6]), (((((((~ param_decoder_param_latch[0]) & (~ param_decoder_param_latch[1])) & param_decoder_param_latch[2]) & param_decoder_param_latch[3]) & param_decoder_param_latch[4]) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6]), ((((((param_decoder_param_latch[0] & param_decoder_param_latch[1]) & (~ param_decoder_param_latch[2])) & param_decoder_param_latch[3]) & param_decoder_param_latch[4]) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6]), (((((((~ param_decoder_param_latch[0]) & param_decoder_param_latch[1]) & (~ param_decoder_param_latch[2])) & param_decoder_param_latch[3]) & param_decoder_param_latch[4]) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6]), ((((((param_decoder_param_latch[0] & (~ param_decoder_param_latch[1])) & (~ param_decoder_param_latch[2])) & param_decoder_param_latch[3]) & param_decoder_param_latch[4]) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6]), (((((((~ param_decoder_param_latch[0]) & param_decoder_param_latch[1]) & param_decoder_param_latch[2]) & (~ param_decoder_param_latch[3])) & (~ param_decoder_param_latch[4])) & param_decoder_param_latch[5]) & (~ param_decoder_param_latch[6])), (((((((~ param_decoder_param_latch[0]) & (~ param_decoder_param_latch[1])) & param_decoder_param_latch[2]) & (~ param_decoder_param_latch[3])) & (~ param_decoder_param_latch[4])) & param_decoder_param_latch[5]) & (~ param_decoder_param_latch[6])), ((((((param_decoder_param_latch[0] & param_decoder_param_latch[1]) & (~ param_decoder_param_latch[2])) & (~ param_decoder_param_latch[3])) & (~ param_decoder_param_latch[4])) & param_decoder_param_latch[5]) & (~ param_decoder_param_latch[6])), (((((((~ param_decoder_param_latch[0]) & param_decoder_param_latch[1]) & (~ param_decoder_param_latch[2]
  1602. )) & (~ param_decoder_param_latch[3])) & (~ param_decoder_param_latch[4])) & param_decoder_param_latch[5]) & (~ param_decoder_param_latch[6])), ((((((param_decoder_param_latch[0] & (~ param_decoder_param_latch[1])) & (~ param_decoder_param_latch[2])) & (~ param_decoder_param_latch[3])) & (~ param_decoder_param_latch[4])) & param_decoder_param_latch[5]) & (~ param_decoder_param_latch[6])), ((((((param_decoder_param_latch[0] & param_decoder_param_latch[1]) & param_decoder_param_latch[2]) & (~ param_decoder_param_latch[3])) & param_decoder_param_latch[4]) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6]), (((((((~ param_decoder_param_latch[0]) & (~ param_decoder_param_latch[1])) & param_decoder_param_latch[2]) & (~ param_decoder_param_latch[3])) & param_decoder_param_latch[4]) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6]), (((((((~ param_decoder_param_latch[0]) & (~ param_decoder_param_latch[1])) & (~ param_decoder_param_latch[2])) & (~ param_decoder_param_latch[3])) & param_decoder_param_latch[4]) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6]), ((((((param_decoder_param_latch[0] & param_decoder_param_latch[1]) & param_decoder_param_latch[2]) & param_decoder_param_latch[3]) & (~ param_decoder_param_latch[4])) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6]), (((((((~ param_decoder_param_latch[0]) & (~ param_decoder_param_latch[1])) & param_decoder_param_latch[2]) & param_decoder_param_latch[3]) & (~ param_decoder_param_latch[4])) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6]), (((((((~ param_decoder_param_latch[0]) & (~ param_decoder_param_latch[1])) & (~ param_decoder_param_latch[2])) & param_decoder_param_latch[3]) & (~ param_decoder_param_latch[4])) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6]), (((((((~ param_decoder_param_latch[0]) & (~ param_decoder_param_latch[1])) & param_decoder_param_latch[2]) & (~ param_decoder_param_latch[3])) & param_decoder_param_latch[4]) & (~ param_decoder_param_latch[5]
  1603. )) & param_decoder_param_latch[6]), (((((((~ param_decoder_param_latch[0]) & (~ param_decoder_param_latch[1])) & (~ param_decoder_param_latch[2])) & (~ param_decoder_param_latch[3])) & param_decoder_param_latch[4]) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6]), ((((((param_decoder_param_latch[0] & param_decoder_param_latch[1]) & (~ param_decoder_param_latch[2])) & param_decoder_param_latch[3]) & (~ param_decoder_param_latch[4])) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6]), (((((((~ param_decoder_param_latch[0]) & param_decoder_param_latch[1]) & (~ param_decoder_param_latch[2])) & param_decoder_param_latch[3]) & (~ param_decoder_param_latch[4])) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6]), (((((((~ param_decoder_param_latch[0]) & (~ param_decoder_param_latch[1])) & (~ param_decoder_param_latch[2])) & param_decoder_param_latch[3]) & (~ param_decoder_param_latch[4])) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6]), (((((((~ param_decoder_param_latch[0]) & (~ param_decoder_param_latch[1])) & param_decoder_param_latch[2]) & (~ param_decoder_param_latch[3])) & (~ param_decoder_param_latch[4])) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6]), (((((((~ param_decoder_param_latch[0]) & (~ param_decoder_param_latch[1])) & (~ param_decoder_param_latch[2])) & (~ param_decoder_param_latch[3])) & (~ param_decoder_param_latch[4])) & (~ param_decoder_param_latch[5])) & param_decoder_param_latch[6])},
  1604. pof_counter_40 = (((((wire_cntr14_q[5] & (~ wire_cntr14_q[4])) & wire_cntr14_q[3]) & (~ wire_cntr14_q[2])) & (~ wire_cntr14_q[1])) & (~ wire_cntr14_q[0])),
  1605. pof_error = pof_error_reg,
  1606. pof_error_wire = ((((((((((((((((crc[0] ^ crc_low[0]) | (crc[8] ^ crc_high[0])) | (crc[1] ^ crc_low[1])) | (crc[9] ^ crc_high[1])) | (crc[2] ^ crc_low[2])) | (crc[10] ^ crc_high[2])) | (crc[3] ^ crc_low[3])) | (crc[11] ^ crc_high[3])) | (crc[4] ^ crc_low[4])) | (crc[12] ^ crc_high[4])) | (crc[5] ^ crc_low[5])) | (crc[13] ^ crc_high[5])) | (crc[6] ^ crc_low[6])) | (crc[14] ^ crc_high[6])) | (crc[7] ^ crc_low[7])) | (crc[15] ^ crc_high[7])),
  1607. power_up = (((((((((((((((~ idle) & (~ read_init)) & (~ read_source_update)) & (~ read_init_counter)) & (~ read_pre_data)) & (~ read_data)) & (~ read_post)) & (~ write_init)) & (~ write_init_counter)) & (~ write_source_update)) & (~ write_pre_data)) & (~ write_data)) & (~ write_post_data)) & (~ write_load)) & (~ write_wait)),
  1608. read_address = read_address_state,
  1609. read_control_reg = read_control_reg_dffe,
  1610. read_data = read_data_state,
  1611. read_init = read_init_state,
  1612. read_init_counter = read_init_counter_state,
  1613. read_param_c3 = ((read_param & st_v0) | st_v2),
  1614. read_post = read_post_state,
  1615. read_pre_data = read_pre_data_state,
  1616. read_source_c3 = {((read_source[1] & st_v0) | (st_v1 | st_v2)), ((read_source[0] & st_v0) | (st_v1 | st_v2))},
  1617. read_source_update = read_source_update_state,
  1618. reconfig_c3 = (st_v2 | st_v3),
  1619. rsource_load = (idle & (write_param_c3 | read_param_c3)),
  1620. rsource_parallel_in = {((w4w[1] & read_param_c3) | write_param_c3), ((w4w[0] & read_param_c3) | write_param_c3)},
  1621. rsource_serial_out = dffe1a0[0:0],
  1622. rsource_shift_enable = (read_source_update | write_source_update),
  1623. rsource_state_par_ini = {read_param_c3, {2{global_gnd}}},
  1624. rsource_update_done = dffe2a0[0:0],
  1625. ru_reconfig_pof = ru_reconfig_pof_reg,
  1626. rublock_captnupdt = (~ write_load),
  1627. rublock_clock = (~ (clock | idle_write_wait)),
  1628. rublock_reconfig = re_config_reg,
  1629. rublock_regin = (((((rublock_regout_reg & (~ select_shift_nloop)) & (~ read_source_update)) & (~ write_source_update)) | (((shift_reg_serial_out & select_shift_nloop) & (~ read_source_update)) & (~ write_source_update))) | ((read_source_update | write_source_update) & rsource_serial_out)),
  1630. rublock_regout = wire_sd4_regout,
  1631. rublock_regout_reg = dffe9,
  1632. rublock_shiftnld = (((((((read_pre_data | write_pre_data) | read_data) | write_data) | read_post) | write_post_data) | read_source_update) | write_source_update),
  1633. select_shift_nloop = ((read_data & (~ width_counter_param_width_match)) | (write_data & (~ width_counter_param_width_match))),
  1634. shift_reg_clear = (idle & (read_param_c3 | read_control_reg)),
  1635. shift_reg_load_enable = (idle & write_param_c3),
  1636. shift_reg_q = dffe7a,
  1637. shift_reg_serial_in = (rublock_regout_reg & select_shift_nloop),
  1638. shift_reg_serial_out = dffe7a[0:0],
  1639. shift_reg_shift_enable = (((read_data | write_data) | read_post) | write_post_data),
  1640. st_counter_enable = (((((st_v0 & (~ (((~ idle) | check_busy_dffe) | ru_reconfig_pof))) & reconfig) | st_v1) | st_v2) | st_v3),
  1641. st_v0 = (((~ wire_cntr8_q[2]) & (~ wire_cntr8_q[1])) & (~ wire_cntr8_q[0])),
  1642. st_v1 = (((~ wire_cntr8_q[2]) & (~ wire_cntr8_q[1])) & wire_cntr8_q[0]),
  1643. st_v2 = (((~ wire_cntr8_q[2]) & wire_cntr8_q[1]) & (~ wire_cntr8_q[0])),
  1644. st_v3 = (((~ wire_cntr8_q[2]) & wire_cntr8_q[1]) & wire_cntr8_q[0]),
  1645. st_v4 = ((wire_cntr8_q[2] & (~ wire_cntr8_q[1])) & (~ wire_cntr8_q[0])),
  1646. st_v5 = ((wire_cntr8_q[2] & (~ wire_cntr8_q[1])) & wire_cntr8_q[0]),
  1647. st_v6 = ((wire_cntr8_q[2] & wire_cntr8_q[1]) & (~ wire_cntr8_q[0])),
  1648. st_v7 = ((wire_cntr8_q[2] & wire_cntr8_q[1]) & wire_cntr8_q[0]),
  1649. start_bit_decoder_out = (((((((((((((((((((((({1'b0, {4{start_bit_decoder_param_select[0]}}, 1'b0} | {6{1'b0}}) | {1'b0, {4{start_bit_decoder_param_select[2]}}, 1'b0}) | {6{1'b0}}) | {1'b0, {3{start_bit_decoder_param_select[4]}}, 1'b0, start_bit_decoder_param_select[4]}) | {1'b0, {4{start_bit_decoder_param_select[5]}}, 1'b0}) | {6{1'b0}}) | {1'b0, {2{start_bit_decoder_param_select[7]}}, {3{1'b0}}}) | {6{1'b0}}) | {1'b0, {2{start_bit_decoder_param_select[9]}}, 1'b0, start_bit_decoder_param_select[9], 1'b0}) | {1'b0, {2{start_bit_decoder_param_select[10]}}, {3{1'b0}}}) | {6{1'b0}}) | {1'b0, {2{start_bit_decoder_param_select[12]}}, 1'b0, start_bit_decoder_param_select[12], 1'b0}) | {start_bit_decoder_param_select[13], {2{1'b0}}, start_bit_decoder_param_select[13], 1'b0, start_bit_decoder_param_select[13]}) | {6{1'b0}}) | {start_bit_decoder_param_select[15], {3{1'b0}}, {2{start_bit_decoder_param_select[15]}}}) | {{2{1'b0}}, {2{start_bit_decoder_param_select[16]}}, {2{1'b0}}}) | {start_bit_decoder_param_select[17], {2{1'b0}}, start_bit_decoder_param_select[17], {2{1'b0}}}) | {start_bit_decoder_param_select[18], {2{1'b0}}, start_bit_decoder_param_select[18], 1'b0, start_bit_decoder_param_select[18]}) | {6{1'b0}}) | {start_bit_decoder_param_select[20], {3{1'b0}}, {2{start_bit_decoder_param_select[20]}}}) | {{2{1'b0}}, {2{start_bit_decoder_param_select[21]}}, {2{1'b0}}}) | {start_bit_decoder_param_select[22], {2{1'b0}}, start_bit_decoder_param_select[22], {2{1'b0}}}),
  1650. start_bit_decoder_param_select = param_decoder_select,
  1651. w4w = read_source_c3,
  1652. w53w = (wire_cntr5_q ^ bit_counter_param_start),
  1653. w83w = (wire_cntr6_q ^ width_counter_param_width),
  1654. width_counter_all_done = (((((~ wire_cntr6_q[0]) & (~ wire_cntr6_q[1])) & wire_cntr6_q[2]) & wire_cntr6_q[3]) & wire_cntr6_q[4]),
  1655. width_counter_clear = (rsource_update_done | wsource_update_done),
  1656. width_counter_enable = ((read_data | write_data) | read_post),
  1657. width_counter_param_width = width_decoder_out,
  1658. width_counter_param_width_match = (((((~ w83w[0]) & (~ w83w[1])) & (~ w83w[2])) & (~ w83w[3])) & (~ w83w[4])),
  1659. width_decoder_out = (((((((((((((((((((((({{3{1'b0}}, width_decoder_param_select[0], 1'b0} | {{2{width_decoder_param_select[1]}}, {3{1'b0}}}) | {{3{1'b0}}, width_decoder_param_select[2], 1'b0}) | {{3{width_decoder_param_select[3]}}, 1'b0, width_decoder_param_select[3]}) | {{4{1'b0}}, width_decoder_param_select[4]}) | {{3{1'b0}}, width_decoder_param_select[5], 1'b0}) | {{2{width_decoder_param_select[6]}}, {3{1'b0}}}) | {{3{1'b0}}, width_decoder_param_select[7], 1'b0}) | {{2{width_decoder_param_select[8]}}, {3{1'b0}}}) | {{2{1'b0}}, width_decoder_param_select[9], 1'b0, width_decoder_param_select[9]}) | {{3{1'b0}}, width_decoder_param_select[10], 1'b0}) | {{2{width_decoder_param_select[11]}}, {3{1'b0}}}) | {{2{1'b0}}, width_decoder_param_select[12], 1'b0, width_decoder_param_select[12]}) | {{4{1'b0}}, width_decoder_param_select[13]}) | {1'b0, {2{width_decoder_param_select[14]}}, {2{1'b0}}}) | {{4{1'b0}}, width_decoder_param_select[15]}) | {width_decoder_param_select[16], 1'b0, {2{width_decoder_param_select[16]}}, 1'b0}) | {{4{1'b0}}, width_decoder_param_select[17]}) | {{4{1'b0}}, width_decoder_param_select[18]}) | {1'b0, {2{width_decoder_param_select[19]}}, {2{1'b0}}}) | {{4{1'b0}}, width_decoder_param_select[20]}) | {width_decoder_param_select[21], 1'b0, {2{width_decoder_param_select[21]}}, 1'b0}) | {{4{1'b0}}, width_decoder_param_select[22]}),
  1660. width_decoder_param_select = param_decoder_select,
  1661. write_data = write_data_state,
  1662. write_init = write_init_state,
  1663. write_init_counter = write_init_counter_state,
  1664. write_load = write_load_state,
  1665. write_param_c3 = (write_param & st_v0),
  1666. write_post_data = write_post_data_state,
  1667. write_pre_data = write_pre_data_state,
  1668. write_source_update = write_source_update_state,
  1669. write_wait = write_wait_state,
  1670. wsource_state_par_ini = {write_param_c3, {2{global_gnd}}},
  1671. wsource_update_done = dffe3a0[0:0];
  1672. endmodule //altera_remote_update_core
  1673. //VALID FILE