Loop_VConvH_proc.vhd 71 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570
  1. -- ==============================================================
  2. -- RTL generated by Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC
  3. -- Version: 2018.3
  4. -- Copyright (C) 1986-2018 Xilinx, Inc. All Rights Reserved.
  5. --
  6. -- ===========================================================
  7. library IEEE;
  8. use IEEE.std_logic_1164.all;
  9. use IEEE.numeric_std.all;
  10. entity Loop_VConvH_proc is
  11. port (
  12. ap_clk : IN STD_LOGIC;
  13. ap_rst : IN STD_LOGIC;
  14. ap_start : IN STD_LOGIC;
  15. ap_done : OUT STD_LOGIC;
  16. ap_continue : IN STD_LOGIC;
  17. ap_idle : OUT STD_LOGIC;
  18. ap_ready : OUT STD_LOGIC;
  19. height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
  20. height_empty_n : IN STD_LOGIC;
  21. height_read : OUT STD_LOGIC;
  22. vconv_xlim_loc_dout : IN STD_LOGIC_VECTOR (31 downto 0);
  23. vconv_xlim_loc_empty_n : IN STD_LOGIC;
  24. vconv_xlim_loc_read : OUT STD_LOGIC;
  25. hconv_V_dout : IN STD_LOGIC_VECTOR (31 downto 0);
  26. hconv_V_empty_n : IN STD_LOGIC;
  27. hconv_V_read : OUT STD_LOGIC;
  28. vconv_V_din : OUT STD_LOGIC_VECTOR (31 downto 0);
  29. vconv_V_full_n : IN STD_LOGIC;
  30. vconv_V_write : OUT STD_LOGIC;
  31. filt1_dout : IN STD_LOGIC_VECTOR (31 downto 0);
  32. filt1_empty_n : IN STD_LOGIC;
  33. filt1_read : OUT STD_LOGIC;
  34. filt2_dout : IN STD_LOGIC_VECTOR (31 downto 0);
  35. filt2_empty_n : IN STD_LOGIC;
  36. filt2_read : OUT STD_LOGIC;
  37. height_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
  38. height_out_full_n : IN STD_LOGIC;
  39. height_out_write : OUT STD_LOGIC;
  40. vconv_xlim_loc_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
  41. vconv_xlim_loc_out_full_n : IN STD_LOGIC;
  42. vconv_xlim_loc_out_write : OUT STD_LOGIC );
  43. end;
  44. architecture behav of Loop_VConvH_proc is
  45. constant ap_const_logic_1 : STD_LOGIC := '1';
  46. constant ap_const_logic_0 : STD_LOGIC := '0';
  47. constant ap_ST_fsm_state1 : STD_LOGIC_VECTOR (3 downto 0) := "0001";
  48. constant ap_ST_fsm_state2 : STD_LOGIC_VECTOR (3 downto 0) := "0010";
  49. constant ap_ST_fsm_pp0_stage0 : STD_LOGIC_VECTOR (3 downto 0) := "0100";
  50. constant ap_ST_fsm_state9 : STD_LOGIC_VECTOR (3 downto 0) := "1000";
  51. constant ap_const_lv32_0 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000000";
  52. constant ap_const_boolean_1 : BOOLEAN := true;
  53. constant ap_const_lv32_2 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000010";
  54. constant ap_const_boolean_0 : BOOLEAN := false;
  55. constant ap_const_lv1_0 : STD_LOGIC_VECTOR (0 downto 0) := "0";
  56. constant ap_const_lv1_1 : STD_LOGIC_VECTOR (0 downto 0) := "1";
  57. constant ap_const_lv32_1 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000001";
  58. constant ap_const_lv64_0 : STD_LOGIC_VECTOR (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000000";
  59. constant ap_const_lv10_0 : STD_LOGIC_VECTOR (9 downto 0) := "0000000000";
  60. constant ap_const_lv64_1 : STD_LOGIC_VECTOR (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000001";
  61. constant ap_const_lv10_1 : STD_LOGIC_VECTOR (9 downto 0) := "0000000001";
  62. constant ap_const_lv10_9 : STD_LOGIC_VECTOR (9 downto 0) := "0000001001";
  63. constant ap_const_lv32_3 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000011";
  64. signal ap_done_reg : STD_LOGIC := '0';
  65. signal ap_CS_fsm : STD_LOGIC_VECTOR (3 downto 0) := "0001";
  66. attribute fsm_encoding : string;
  67. attribute fsm_encoding of ap_CS_fsm : signal is "none";
  68. signal ap_CS_fsm_state1 : STD_LOGIC;
  69. attribute fsm_encoding of ap_CS_fsm_state1 : signal is "none";
  70. signal linebuf_0_address0 : STD_LOGIC_VECTOR (9 downto 0);
  71. signal linebuf_0_ce0 : STD_LOGIC;
  72. signal linebuf_0_q0 : STD_LOGIC_VECTOR (31 downto 0);
  73. signal linebuf_0_address1 : STD_LOGIC_VECTOR (9 downto 0);
  74. signal linebuf_0_ce1 : STD_LOGIC;
  75. signal linebuf_0_we1 : STD_LOGIC;
  76. signal linebuf_1_address0 : STD_LOGIC_VECTOR (9 downto 0);
  77. signal linebuf_1_ce0 : STD_LOGIC;
  78. signal linebuf_1_q0 : STD_LOGIC_VECTOR (31 downto 0);
  79. signal linebuf_1_address1 : STD_LOGIC_VECTOR (9 downto 0);
  80. signal linebuf_1_ce1 : STD_LOGIC;
  81. signal linebuf_1_we1 : STD_LOGIC;
  82. signal linebuf_2_address0 : STD_LOGIC_VECTOR (9 downto 0);
  83. signal linebuf_2_ce0 : STD_LOGIC;
  84. signal linebuf_2_q0 : STD_LOGIC_VECTOR (31 downto 0);
  85. signal linebuf_2_address1 : STD_LOGIC_VECTOR (9 downto 0);
  86. signal linebuf_2_ce1 : STD_LOGIC;
  87. signal linebuf_2_we1 : STD_LOGIC;
  88. signal linebuf_3_address0 : STD_LOGIC_VECTOR (9 downto 0);
  89. signal linebuf_3_ce0 : STD_LOGIC;
  90. signal linebuf_3_q0 : STD_LOGIC_VECTOR (31 downto 0);
  91. signal linebuf_3_address1 : STD_LOGIC_VECTOR (9 downto 0);
  92. signal linebuf_3_ce1 : STD_LOGIC;
  93. signal linebuf_3_we1 : STD_LOGIC;
  94. signal linebuf_4_address0 : STD_LOGIC_VECTOR (9 downto 0);
  95. signal linebuf_4_ce0 : STD_LOGIC;
  96. signal linebuf_4_q0 : STD_LOGIC_VECTOR (31 downto 0);
  97. signal linebuf_4_address1 : STD_LOGIC_VECTOR (9 downto 0);
  98. signal linebuf_4_ce1 : STD_LOGIC;
  99. signal linebuf_4_we1 : STD_LOGIC;
  100. signal linebuf_5_address0 : STD_LOGIC_VECTOR (9 downto 0);
  101. signal linebuf_5_ce0 : STD_LOGIC;
  102. signal linebuf_5_q0 : STD_LOGIC_VECTOR (31 downto 0);
  103. signal linebuf_5_address1 : STD_LOGIC_VECTOR (9 downto 0);
  104. signal linebuf_5_ce1 : STD_LOGIC;
  105. signal linebuf_5_we1 : STD_LOGIC;
  106. signal linebuf_6_address0 : STD_LOGIC_VECTOR (9 downto 0);
  107. signal linebuf_6_ce0 : STD_LOGIC;
  108. signal linebuf_6_q0 : STD_LOGIC_VECTOR (31 downto 0);
  109. signal linebuf_6_address1 : STD_LOGIC_VECTOR (9 downto 0);
  110. signal linebuf_6_ce1 : STD_LOGIC;
  111. signal linebuf_6_we1 : STD_LOGIC;
  112. signal linebuf_7_address0 : STD_LOGIC_VECTOR (9 downto 0);
  113. signal linebuf_7_ce0 : STD_LOGIC;
  114. signal linebuf_7_q0 : STD_LOGIC_VECTOR (31 downto 0);
  115. signal linebuf_7_address1 : STD_LOGIC_VECTOR (9 downto 0);
  116. signal linebuf_7_ce1 : STD_LOGIC;
  117. signal linebuf_7_we1 : STD_LOGIC;
  118. signal linebuf_8_address0 : STD_LOGIC_VECTOR (9 downto 0);
  119. signal linebuf_8_ce0 : STD_LOGIC;
  120. signal linebuf_8_q0 : STD_LOGIC_VECTOR (31 downto 0);
  121. signal linebuf_8_address1 : STD_LOGIC_VECTOR (9 downto 0);
  122. signal linebuf_8_ce1 : STD_LOGIC;
  123. signal linebuf_8_we1 : STD_LOGIC;
  124. signal linebuf_9_address0 : STD_LOGIC_VECTOR (9 downto 0);
  125. signal linebuf_9_ce0 : STD_LOGIC;
  126. signal linebuf_9_q0 : STD_LOGIC_VECTOR (31 downto 0);
  127. signal linebuf_9_address1 : STD_LOGIC_VECTOR (9 downto 0);
  128. signal linebuf_9_ce1 : STD_LOGIC;
  129. signal linebuf_9_we1 : STD_LOGIC;
  130. signal height_blk_n : STD_LOGIC;
  131. signal vconv_xlim_loc_blk_n : STD_LOGIC;
  132. signal hconv_V_blk_n : STD_LOGIC;
  133. signal ap_CS_fsm_pp0_stage0 : STD_LOGIC;
  134. attribute fsm_encoding of ap_CS_fsm_pp0_stage0 : signal is "none";
  135. signal ap_enable_reg_pp0_iter1 : STD_LOGIC := '0';
  136. signal ap_block_pp0_stage0 : BOOLEAN;
  137. signal exitcond_flatten_reg_532 : STD_LOGIC_VECTOR (0 downto 0);
  138. signal vconv_V_blk_n : STD_LOGIC;
  139. signal ap_enable_reg_pp0_iter5 : STD_LOGIC := '0';
  140. signal tmp_8_i_i_mid2_reg_541 : STD_LOGIC_VECTOR (0 downto 0);
  141. signal tmp_8_i_i_mid2_reg_541_pp0_iter4_reg : STD_LOGIC_VECTOR (0 downto 0);
  142. signal filt1_blk_n : STD_LOGIC;
  143. signal filt2_blk_n : STD_LOGIC;
  144. signal height_out_blk_n : STD_LOGIC;
  145. signal vconv_xlim_loc_out_blk_n : STD_LOGIC;
  146. signal indvar_flatten_reg_319 : STD_LOGIC_VECTOR (63 downto 0);
  147. signal col1_0_i_i_i_reg_330 : STD_LOGIC_VECTOR (9 downto 0);
  148. signal row2_0_i_i_i_reg_341 : STD_LOGIC_VECTOR (9 downto 0);
  149. signal height_read_reg_506 : STD_LOGIC_VECTOR (31 downto 0);
  150. signal ap_block_state1 : BOOLEAN;
  151. signal vconv_xlim_loc_read_reg_511 : STD_LOGIC_VECTOR (31 downto 0);
  152. signal filt1_read_reg_517 : STD_LOGIC_VECTOR (31 downto 0);
  153. signal filt2_read_reg_522 : STD_LOGIC_VECTOR (31 downto 0);
  154. signal bound_fu_358_p2 : STD_LOGIC_VECTOR (63 downto 0);
  155. signal bound_reg_527 : STD_LOGIC_VECTOR (63 downto 0);
  156. signal ap_CS_fsm_state2 : STD_LOGIC;
  157. attribute fsm_encoding of ap_CS_fsm_state2 : signal is "none";
  158. signal exitcond_flatten_fu_373_p2 : STD_LOGIC_VECTOR (0 downto 0);
  159. signal ap_block_state3_pp0_stage0_iter0 : BOOLEAN;
  160. signal ap_block_state4_pp0_stage0_iter1 : BOOLEAN;
  161. signal ap_block_state5_pp0_stage0_iter2 : BOOLEAN;
  162. signal ap_block_state6_pp0_stage0_iter3 : BOOLEAN;
  163. signal ap_block_state7_pp0_stage0_iter4 : BOOLEAN;
  164. signal ap_block_state8_pp0_stage0_iter5 : BOOLEAN;
  165. signal ap_block_pp0_stage0_11001 : BOOLEAN;
  166. signal exitcond_flatten_reg_532_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
  167. signal exitcond_flatten_reg_532_pp0_iter2_reg : STD_LOGIC_VECTOR (0 downto 0);
  168. signal exitcond_flatten_reg_532_pp0_iter3_reg : STD_LOGIC_VECTOR (0 downto 0);
  169. signal indvar_flatten_next_fu_378_p2 : STD_LOGIC_VECTOR (63 downto 0);
  170. signal ap_enable_reg_pp0_iter0 : STD_LOGIC := '0';
  171. signal tmp_8_i_i_mid2_fu_410_p3 : STD_LOGIC_VECTOR (0 downto 0);
  172. signal tmp_8_i_i_mid2_reg_541_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
  173. signal tmp_8_i_i_mid2_reg_541_pp0_iter2_reg : STD_LOGIC_VECTOR (0 downto 0);
  174. signal tmp_8_i_i_mid2_reg_541_pp0_iter3_reg : STD_LOGIC_VECTOR (0 downto 0);
  175. signal col1_0_i_i_i_mid2_fu_418_p3 : STD_LOGIC_VECTOR (9 downto 0);
  176. signal linebuf_0_addr_reg_550 : STD_LOGIC_VECTOR (9 downto 0);
  177. signal linebuf_1_addr_reg_556 : STD_LOGIC_VECTOR (9 downto 0);
  178. signal linebuf_2_addr_reg_562 : STD_LOGIC_VECTOR (9 downto 0);
  179. signal linebuf_3_addr_reg_568 : STD_LOGIC_VECTOR (9 downto 0);
  180. signal linebuf_4_addr_reg_574 : STD_LOGIC_VECTOR (9 downto 0);
  181. signal linebuf_5_addr_reg_580 : STD_LOGIC_VECTOR (9 downto 0);
  182. signal linebuf_6_addr_reg_586 : STD_LOGIC_VECTOR (9 downto 0);
  183. signal linebuf_7_addr_reg_592 : STD_LOGIC_VECTOR (9 downto 0);
  184. signal linebuf_8_addr_reg_598 : STD_LOGIC_VECTOR (9 downto 0);
  185. signal linebuf_9_addr_reg_604 : STD_LOGIC_VECTOR (9 downto 0);
  186. signal row_fu_440_p2 : STD_LOGIC_VECTOR (9 downto 0);
  187. signal tmp_1_reg_615 : STD_LOGIC_VECTOR (31 downto 0);
  188. signal linebuf_5_load_reg_620 : STD_LOGIC_VECTOR (31 downto 0);
  189. signal linebuf_5_load_reg_620_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
  190. signal linebuf_5_load_reg_620_pp0_iter3_reg : STD_LOGIC_VECTOR (31 downto 0);
  191. signal linebuf_8_load_reg_625 : STD_LOGIC_VECTOR (31 downto 0);
  192. signal linebuf_8_load_reg_625_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
  193. signal linebuf_9_load_reg_630 : STD_LOGIC_VECTOR (31 downto 0);
  194. signal tmp2_fu_446_p2 : STD_LOGIC_VECTOR (31 downto 0);
  195. signal tmp2_reg_635 : STD_LOGIC_VECTOR (31 downto 0);
  196. signal tmp2_reg_635_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
  197. signal tmp2_reg_635_pp0_iter3_reg : STD_LOGIC_VECTOR (31 downto 0);
  198. signal tmp2_reg_635_pp0_iter4_reg : STD_LOGIC_VECTOR (31 downto 0);
  199. signal tmp3_fu_458_p2 : STD_LOGIC_VECTOR (31 downto 0);
  200. signal tmp3_reg_640 : STD_LOGIC_VECTOR (31 downto 0);
  201. signal tmp3_reg_640_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
  202. signal tmp3_reg_640_pp0_iter3_reg : STD_LOGIC_VECTOR (31 downto 0);
  203. signal tmp3_reg_640_pp0_iter4_reg : STD_LOGIC_VECTOR (31 downto 0);
  204. signal tmp7_fu_464_p2 : STD_LOGIC_VECTOR (31 downto 0);
  205. signal tmp7_reg_645 : STD_LOGIC_VECTOR (31 downto 0);
  206. signal tmp7_reg_645_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
  207. signal tmp7_reg_645_pp0_iter3_reg : STD_LOGIC_VECTOR (31 downto 0);
  208. signal tmp_30_9_i_i_fu_470_p2 : STD_LOGIC_VECTOR (31 downto 0);
  209. signal tmp_30_9_i_i_reg_650 : STD_LOGIC_VECTOR (31 downto 0);
  210. signal tmp_30_i_i_fu_474_p2 : STD_LOGIC_VECTOR (31 downto 0);
  211. signal tmp_30_i_i_reg_655 : STD_LOGIC_VECTOR (31 downto 0);
  212. signal tmp8_fu_482_p2 : STD_LOGIC_VECTOR (31 downto 0);
  213. signal tmp8_reg_660 : STD_LOGIC_VECTOR (31 downto 0);
  214. signal tmp5_fu_491_p2 : STD_LOGIC_VECTOR (31 downto 0);
  215. signal tmp5_reg_665 : STD_LOGIC_VECTOR (31 downto 0);
  216. signal ap_block_pp0_stage0_subdone : BOOLEAN;
  217. signal ap_condition_pp0_exit_iter0_state3 : STD_LOGIC;
  218. signal ap_enable_reg_pp0_iter2 : STD_LOGIC := '0';
  219. signal ap_enable_reg_pp0_iter3 : STD_LOGIC := '0';
  220. signal ap_enable_reg_pp0_iter4 : STD_LOGIC := '0';
  221. signal tmp_16_i_i_fu_426_p1 : STD_LOGIC_VECTOR (63 downto 0);
  222. signal ap_block_pp0_stage0_01001 : BOOLEAN;
  223. signal bound_fu_358_p0 : STD_LOGIC_VECTOR (31 downto 0);
  224. signal bound_fu_358_p1 : STD_LOGIC_VECTOR (31 downto 0);
  225. signal row2_0_i_cast_i_i_fu_364_p1 : STD_LOGIC_VECTOR (31 downto 0);
  226. signal tmp_11_i_i_fu_368_p2 : STD_LOGIC_VECTOR (0 downto 0);
  227. signal col_fu_392_p2 : STD_LOGIC_VECTOR (9 downto 0);
  228. signal tmp_8_i_i_fu_404_p2 : STD_LOGIC_VECTOR (0 downto 0);
  229. signal tmp_8_i_i_mid1_fu_398_p2 : STD_LOGIC_VECTOR (0 downto 0);
  230. signal row2_0_i_i_i_mid2_fu_384_p3 : STD_LOGIC_VECTOR (9 downto 0);
  231. signal tmp4_fu_452_p2 : STD_LOGIC_VECTOR (31 downto 0);
  232. signal tmp9_fu_478_p2 : STD_LOGIC_VECTOR (31 downto 0);
  233. signal tmp6_fu_487_p2 : STD_LOGIC_VECTOR (31 downto 0);
  234. signal tmp1_fu_496_p2 : STD_LOGIC_VECTOR (31 downto 0);
  235. signal ap_CS_fsm_state9 : STD_LOGIC;
  236. attribute fsm_encoding of ap_CS_fsm_state9 : signal is "none";
  237. signal ap_NS_fsm : STD_LOGIC_VECTOR (3 downto 0);
  238. signal ap_block_pp0 : BOOLEAN;
  239. signal ap_enable_operation_44 : BOOLEAN;
  240. signal ap_enable_state3_pp0_iter0_stage0 : BOOLEAN;
  241. signal ap_enable_operation_66 : BOOLEAN;
  242. signal ap_enable_state4_pp0_iter1_stage0 : BOOLEAN;
  243. signal ap_enable_operation_68 : BOOLEAN;
  244. signal ap_enable_operation_46 : BOOLEAN;
  245. signal ap_enable_operation_67 : BOOLEAN;
  246. signal ap_enable_operation_70 : BOOLEAN;
  247. signal ap_enable_operation_48 : BOOLEAN;
  248. signal ap_enable_operation_69 : BOOLEAN;
  249. signal ap_enable_operation_72 : BOOLEAN;
  250. signal ap_enable_operation_50 : BOOLEAN;
  251. signal ap_enable_operation_71 : BOOLEAN;
  252. signal ap_enable_operation_74 : BOOLEAN;
  253. signal ap_enable_operation_52 : BOOLEAN;
  254. signal ap_enable_operation_73 : BOOLEAN;
  255. signal ap_enable_operation_76 : BOOLEAN;
  256. signal ap_enable_operation_54 : BOOLEAN;
  257. signal ap_enable_operation_75 : BOOLEAN;
  258. signal ap_enable_operation_78 : BOOLEAN;
  259. signal ap_enable_operation_56 : BOOLEAN;
  260. signal ap_enable_operation_77 : BOOLEAN;
  261. signal ap_enable_operation_80 : BOOLEAN;
  262. signal ap_enable_operation_58 : BOOLEAN;
  263. signal ap_enable_operation_79 : BOOLEAN;
  264. signal ap_enable_operation_82 : BOOLEAN;
  265. signal ap_enable_operation_60 : BOOLEAN;
  266. signal ap_enable_operation_81 : BOOLEAN;
  267. signal ap_enable_operation_84 : BOOLEAN;
  268. signal ap_enable_operation_62 : BOOLEAN;
  269. signal ap_enable_operation_83 : BOOLEAN;
  270. signal ap_enable_operation_89 : BOOLEAN;
  271. signal ap_idle_pp0 : STD_LOGIC;
  272. signal ap_enable_pp0 : STD_LOGIC;
  273. signal bound_fu_358_p00 : STD_LOGIC_VECTOR (63 downto 0);
  274. signal bound_fu_358_p10 : STD_LOGIC_VECTOR (63 downto 0);
  275. component Loop_VConvH_proc_linebuf_0 IS
  276. generic (
  277. DataWidth : INTEGER;
  278. AddressRange : INTEGER;
  279. AddressWidth : INTEGER );
  280. port (
  281. clk : IN STD_LOGIC;
  282. reset : IN STD_LOGIC;
  283. address0 : IN STD_LOGIC_VECTOR (9 downto 0);
  284. ce0 : IN STD_LOGIC;
  285. q0 : OUT STD_LOGIC_VECTOR (31 downto 0);
  286. address1 : IN STD_LOGIC_VECTOR (9 downto 0);
  287. ce1 : IN STD_LOGIC;
  288. we1 : IN STD_LOGIC;
  289. d1 : IN STD_LOGIC_VECTOR (31 downto 0) );
  290. end component;
  291. begin
  292. linebuf_0_U : component Loop_VConvH_proc_linebuf_0
  293. generic map (
  294. DataWidth => 32,
  295. AddressRange => 672,
  296. AddressWidth => 10)
  297. port map (
  298. clk => ap_clk,
  299. reset => ap_rst,
  300. address0 => linebuf_0_address0,
  301. ce0 => linebuf_0_ce0,
  302. q0 => linebuf_0_q0,
  303. address1 => linebuf_0_address1,
  304. ce1 => linebuf_0_ce1,
  305. we1 => linebuf_0_we1,
  306. d1 => linebuf_1_q0);
  307. linebuf_1_U : component Loop_VConvH_proc_linebuf_0
  308. generic map (
  309. DataWidth => 32,
  310. AddressRange => 672,
  311. AddressWidth => 10)
  312. port map (
  313. clk => ap_clk,
  314. reset => ap_rst,
  315. address0 => linebuf_1_address0,
  316. ce0 => linebuf_1_ce0,
  317. q0 => linebuf_1_q0,
  318. address1 => linebuf_1_address1,
  319. ce1 => linebuf_1_ce1,
  320. we1 => linebuf_1_we1,
  321. d1 => linebuf_2_q0);
  322. linebuf_2_U : component Loop_VConvH_proc_linebuf_0
  323. generic map (
  324. DataWidth => 32,
  325. AddressRange => 672,
  326. AddressWidth => 10)
  327. port map (
  328. clk => ap_clk,
  329. reset => ap_rst,
  330. address0 => linebuf_2_address0,
  331. ce0 => linebuf_2_ce0,
  332. q0 => linebuf_2_q0,
  333. address1 => linebuf_2_address1,
  334. ce1 => linebuf_2_ce1,
  335. we1 => linebuf_2_we1,
  336. d1 => linebuf_3_q0);
  337. linebuf_3_U : component Loop_VConvH_proc_linebuf_0
  338. generic map (
  339. DataWidth => 32,
  340. AddressRange => 672,
  341. AddressWidth => 10)
  342. port map (
  343. clk => ap_clk,
  344. reset => ap_rst,
  345. address0 => linebuf_3_address0,
  346. ce0 => linebuf_3_ce0,
  347. q0 => linebuf_3_q0,
  348. address1 => linebuf_3_address1,
  349. ce1 => linebuf_3_ce1,
  350. we1 => linebuf_3_we1,
  351. d1 => linebuf_4_q0);
  352. linebuf_4_U : component Loop_VConvH_proc_linebuf_0
  353. generic map (
  354. DataWidth => 32,
  355. AddressRange => 672,
  356. AddressWidth => 10)
  357. port map (
  358. clk => ap_clk,
  359. reset => ap_rst,
  360. address0 => linebuf_4_address0,
  361. ce0 => linebuf_4_ce0,
  362. q0 => linebuf_4_q0,
  363. address1 => linebuf_4_address1,
  364. ce1 => linebuf_4_ce1,
  365. we1 => linebuf_4_we1,
  366. d1 => linebuf_5_q0);
  367. linebuf_5_U : component Loop_VConvH_proc_linebuf_0
  368. generic map (
  369. DataWidth => 32,
  370. AddressRange => 672,
  371. AddressWidth => 10)
  372. port map (
  373. clk => ap_clk,
  374. reset => ap_rst,
  375. address0 => linebuf_5_address0,
  376. ce0 => linebuf_5_ce0,
  377. q0 => linebuf_5_q0,
  378. address1 => linebuf_5_address1,
  379. ce1 => linebuf_5_ce1,
  380. we1 => linebuf_5_we1,
  381. d1 => linebuf_6_q0);
  382. linebuf_6_U : component Loop_VConvH_proc_linebuf_0
  383. generic map (
  384. DataWidth => 32,
  385. AddressRange => 672,
  386. AddressWidth => 10)
  387. port map (
  388. clk => ap_clk,
  389. reset => ap_rst,
  390. address0 => linebuf_6_address0,
  391. ce0 => linebuf_6_ce0,
  392. q0 => linebuf_6_q0,
  393. address1 => linebuf_6_address1,
  394. ce1 => linebuf_6_ce1,
  395. we1 => linebuf_6_we1,
  396. d1 => linebuf_7_q0);
  397. linebuf_7_U : component Loop_VConvH_proc_linebuf_0
  398. generic map (
  399. DataWidth => 32,
  400. AddressRange => 672,
  401. AddressWidth => 10)
  402. port map (
  403. clk => ap_clk,
  404. reset => ap_rst,
  405. address0 => linebuf_7_address0,
  406. ce0 => linebuf_7_ce0,
  407. q0 => linebuf_7_q0,
  408. address1 => linebuf_7_address1,
  409. ce1 => linebuf_7_ce1,
  410. we1 => linebuf_7_we1,
  411. d1 => linebuf_8_q0);
  412. linebuf_8_U : component Loop_VConvH_proc_linebuf_0
  413. generic map (
  414. DataWidth => 32,
  415. AddressRange => 672,
  416. AddressWidth => 10)
  417. port map (
  418. clk => ap_clk,
  419. reset => ap_rst,
  420. address0 => linebuf_8_address0,
  421. ce0 => linebuf_8_ce0,
  422. q0 => linebuf_8_q0,
  423. address1 => linebuf_8_address1,
  424. ce1 => linebuf_8_ce1,
  425. we1 => linebuf_8_we1,
  426. d1 => linebuf_9_q0);
  427. linebuf_9_U : component Loop_VConvH_proc_linebuf_0
  428. generic map (
  429. DataWidth => 32,
  430. AddressRange => 672,
  431. AddressWidth => 10)
  432. port map (
  433. clk => ap_clk,
  434. reset => ap_rst,
  435. address0 => linebuf_9_address0,
  436. ce0 => linebuf_9_ce0,
  437. q0 => linebuf_9_q0,
  438. address1 => linebuf_9_address1,
  439. ce1 => linebuf_9_ce1,
  440. we1 => linebuf_9_we1,
  441. d1 => hconv_V_dout);
  442. ap_CS_fsm_assign_proc : process(ap_clk)
  443. begin
  444. if (ap_clk'event and ap_clk = '1') then
  445. if (ap_rst = '1') then
  446. ap_CS_fsm <= ap_ST_fsm_state1;
  447. else
  448. ap_CS_fsm <= ap_NS_fsm;
  449. end if;
  450. end if;
  451. end process;
  452. ap_done_reg_assign_proc : process(ap_clk)
  453. begin
  454. if (ap_clk'event and ap_clk = '1') then
  455. if (ap_rst = '1') then
  456. ap_done_reg <= ap_const_logic_0;
  457. else
  458. if ((ap_continue = ap_const_logic_1)) then
  459. ap_done_reg <= ap_const_logic_0;
  460. elsif ((ap_const_logic_1 = ap_CS_fsm_state9)) then
  461. ap_done_reg <= ap_const_logic_1;
  462. end if;
  463. end if;
  464. end if;
  465. end process;
  466. ap_enable_reg_pp0_iter0_assign_proc : process(ap_clk)
  467. begin
  468. if (ap_clk'event and ap_clk = '1') then
  469. if (ap_rst = '1') then
  470. ap_enable_reg_pp0_iter0 <= ap_const_logic_0;
  471. else
  472. if (((ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_const_logic_1 = ap_condition_pp0_exit_iter0_state3) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  473. ap_enable_reg_pp0_iter0 <= ap_const_logic_0;
  474. elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then
  475. ap_enable_reg_pp0_iter0 <= ap_const_logic_1;
  476. end if;
  477. end if;
  478. end if;
  479. end process;
  480. ap_enable_reg_pp0_iter1_assign_proc : process(ap_clk)
  481. begin
  482. if (ap_clk'event and ap_clk = '1') then
  483. if (ap_rst = '1') then
  484. ap_enable_reg_pp0_iter1 <= ap_const_logic_0;
  485. else
  486. if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then
  487. if ((ap_const_logic_1 = ap_condition_pp0_exit_iter0_state3)) then
  488. ap_enable_reg_pp0_iter1 <= (ap_const_logic_1 xor ap_condition_pp0_exit_iter0_state3);
  489. elsif ((ap_const_boolean_1 = ap_const_boolean_1)) then
  490. ap_enable_reg_pp0_iter1 <= ap_enable_reg_pp0_iter0;
  491. end if;
  492. end if;
  493. end if;
  494. end if;
  495. end process;
  496. ap_enable_reg_pp0_iter2_assign_proc : process(ap_clk)
  497. begin
  498. if (ap_clk'event and ap_clk = '1') then
  499. if (ap_rst = '1') then
  500. ap_enable_reg_pp0_iter2 <= ap_const_logic_0;
  501. else
  502. if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then
  503. ap_enable_reg_pp0_iter2 <= ap_enable_reg_pp0_iter1;
  504. end if;
  505. end if;
  506. end if;
  507. end process;
  508. ap_enable_reg_pp0_iter3_assign_proc : process(ap_clk)
  509. begin
  510. if (ap_clk'event and ap_clk = '1') then
  511. if (ap_rst = '1') then
  512. ap_enable_reg_pp0_iter3 <= ap_const_logic_0;
  513. else
  514. if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then
  515. ap_enable_reg_pp0_iter3 <= ap_enable_reg_pp0_iter2;
  516. end if;
  517. end if;
  518. end if;
  519. end process;
  520. ap_enable_reg_pp0_iter4_assign_proc : process(ap_clk)
  521. begin
  522. if (ap_clk'event and ap_clk = '1') then
  523. if (ap_rst = '1') then
  524. ap_enable_reg_pp0_iter4 <= ap_const_logic_0;
  525. else
  526. if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then
  527. ap_enable_reg_pp0_iter4 <= ap_enable_reg_pp0_iter3;
  528. end if;
  529. end if;
  530. end if;
  531. end process;
  532. ap_enable_reg_pp0_iter5_assign_proc : process(ap_clk)
  533. begin
  534. if (ap_clk'event and ap_clk = '1') then
  535. if (ap_rst = '1') then
  536. ap_enable_reg_pp0_iter5 <= ap_const_logic_0;
  537. else
  538. if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then
  539. ap_enable_reg_pp0_iter5 <= ap_enable_reg_pp0_iter4;
  540. elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then
  541. ap_enable_reg_pp0_iter5 <= ap_const_logic_0;
  542. end if;
  543. end if;
  544. end if;
  545. end process;
  546. col1_0_i_i_i_reg_330_assign_proc : process (ap_clk)
  547. begin
  548. if (ap_clk'event and ap_clk = '1') then
  549. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_fu_373_p2 = ap_const_lv1_0))) then
  550. col1_0_i_i_i_reg_330 <= col1_0_i_i_i_mid2_fu_418_p3;
  551. elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then
  552. col1_0_i_i_i_reg_330 <= ap_const_lv10_0;
  553. end if;
  554. end if;
  555. end process;
  556. indvar_flatten_reg_319_assign_proc : process (ap_clk)
  557. begin
  558. if (ap_clk'event and ap_clk = '1') then
  559. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_fu_373_p2 = ap_const_lv1_0))) then
  560. indvar_flatten_reg_319 <= indvar_flatten_next_fu_378_p2;
  561. elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then
  562. indvar_flatten_reg_319 <= ap_const_lv64_0;
  563. end if;
  564. end if;
  565. end process;
  566. row2_0_i_i_i_reg_341_assign_proc : process (ap_clk)
  567. begin
  568. if (ap_clk'event and ap_clk = '1') then
  569. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_fu_373_p2 = ap_const_lv1_0))) then
  570. row2_0_i_i_i_reg_341 <= row_fu_440_p2;
  571. elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then
  572. row2_0_i_i_i_reg_341 <= ap_const_lv10_0;
  573. end if;
  574. end if;
  575. end process;
  576. process (ap_clk)
  577. begin
  578. if (ap_clk'event and ap_clk = '1') then
  579. if ((ap_const_logic_1 = ap_CS_fsm_state2)) then
  580. bound_reg_527 <= bound_fu_358_p2;
  581. end if;
  582. end if;
  583. end process;
  584. process (ap_clk)
  585. begin
  586. if (ap_clk'event and ap_clk = '1') then
  587. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  588. exitcond_flatten_reg_532 <= exitcond_flatten_fu_373_p2;
  589. exitcond_flatten_reg_532_pp0_iter1_reg <= exitcond_flatten_reg_532;
  590. tmp_8_i_i_mid2_reg_541_pp0_iter1_reg <= tmp_8_i_i_mid2_reg_541;
  591. end if;
  592. end if;
  593. end process;
  594. process (ap_clk)
  595. begin
  596. if (ap_clk'event and ap_clk = '1') then
  597. if ((ap_const_boolean_0 = ap_block_pp0_stage0_11001)) then
  598. exitcond_flatten_reg_532_pp0_iter2_reg <= exitcond_flatten_reg_532_pp0_iter1_reg;
  599. exitcond_flatten_reg_532_pp0_iter3_reg <= exitcond_flatten_reg_532_pp0_iter2_reg;
  600. linebuf_5_load_reg_620_pp0_iter2_reg <= linebuf_5_load_reg_620;
  601. linebuf_5_load_reg_620_pp0_iter3_reg <= linebuf_5_load_reg_620_pp0_iter2_reg;
  602. linebuf_8_load_reg_625_pp0_iter2_reg <= linebuf_8_load_reg_625;
  603. tmp2_reg_635_pp0_iter2_reg <= tmp2_reg_635;
  604. tmp2_reg_635_pp0_iter3_reg <= tmp2_reg_635_pp0_iter2_reg;
  605. tmp2_reg_635_pp0_iter4_reg <= tmp2_reg_635_pp0_iter3_reg;
  606. tmp3_reg_640_pp0_iter2_reg <= tmp3_reg_640;
  607. tmp3_reg_640_pp0_iter3_reg <= tmp3_reg_640_pp0_iter2_reg;
  608. tmp3_reg_640_pp0_iter4_reg <= tmp3_reg_640_pp0_iter3_reg;
  609. tmp7_reg_645_pp0_iter2_reg <= tmp7_reg_645;
  610. tmp7_reg_645_pp0_iter3_reg <= tmp7_reg_645_pp0_iter2_reg;
  611. tmp_8_i_i_mid2_reg_541_pp0_iter2_reg <= tmp_8_i_i_mid2_reg_541_pp0_iter1_reg;
  612. tmp_8_i_i_mid2_reg_541_pp0_iter3_reg <= tmp_8_i_i_mid2_reg_541_pp0_iter2_reg;
  613. tmp_8_i_i_mid2_reg_541_pp0_iter4_reg <= tmp_8_i_i_mid2_reg_541_pp0_iter3_reg;
  614. end if;
  615. end if;
  616. end process;
  617. process (ap_clk)
  618. begin
  619. if (ap_clk'event and ap_clk = '1') then
  620. if ((not(((ap_start = ap_const_logic_0) or (vconv_xlim_loc_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
  621. filt1_read_reg_517 <= filt1_dout;
  622. filt2_read_reg_522 <= filt2_dout;
  623. height_read_reg_506 <= height_dout;
  624. vconv_xlim_loc_read_reg_511 <= vconv_xlim_loc_dout;
  625. end if;
  626. end if;
  627. end process;
  628. process (ap_clk)
  629. begin
  630. if (ap_clk'event and ap_clk = '1') then
  631. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_fu_373_p2 = ap_const_lv1_0))) then
  632. linebuf_0_addr_reg_550 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  633. linebuf_1_addr_reg_556 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  634. linebuf_2_addr_reg_562 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  635. linebuf_3_addr_reg_568 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  636. linebuf_4_addr_reg_574 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  637. linebuf_5_addr_reg_580 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  638. linebuf_6_addr_reg_586 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  639. linebuf_7_addr_reg_592 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  640. linebuf_8_addr_reg_598 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  641. linebuf_9_addr_reg_604 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  642. tmp_8_i_i_mid2_reg_541 <= tmp_8_i_i_mid2_fu_410_p3;
  643. end if;
  644. end if;
  645. end process;
  646. process (ap_clk)
  647. begin
  648. if (ap_clk'event and ap_clk = '1') then
  649. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_reg_532 = ap_const_lv1_0))) then
  650. linebuf_5_load_reg_620 <= linebuf_5_q0;
  651. linebuf_8_load_reg_625 <= linebuf_8_q0;
  652. linebuf_9_load_reg_630 <= linebuf_9_q0;
  653. end if;
  654. end if;
  655. end process;
  656. process (ap_clk)
  657. begin
  658. if (ap_clk'event and ap_clk = '1') then
  659. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_reg_532 = ap_const_lv1_0))) then
  660. tmp2_reg_635 <= tmp2_fu_446_p2;
  661. tmp3_reg_640 <= tmp3_fu_458_p2;
  662. tmp7_reg_645 <= tmp7_fu_464_p2;
  663. tmp_1_reg_615 <= hconv_V_dout;
  664. end if;
  665. end if;
  666. end process;
  667. process (ap_clk)
  668. begin
  669. if (ap_clk'event and ap_clk = '1') then
  670. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (exitcond_flatten_reg_532_pp0_iter3_reg = ap_const_lv1_0))) then
  671. tmp5_reg_665 <= tmp5_fu_491_p2;
  672. end if;
  673. end if;
  674. end process;
  675. process (ap_clk)
  676. begin
  677. if (ap_clk'event and ap_clk = '1') then
  678. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (exitcond_flatten_reg_532_pp0_iter2_reg = ap_const_lv1_0))) then
  679. tmp8_reg_660 <= tmp8_fu_482_p2;
  680. end if;
  681. end if;
  682. end process;
  683. process (ap_clk)
  684. begin
  685. if (ap_clk'event and ap_clk = '1') then
  686. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (exitcond_flatten_reg_532_pp0_iter1_reg = ap_const_lv1_0))) then
  687. tmp_30_9_i_i_reg_650 <= tmp_30_9_i_i_fu_470_p2;
  688. tmp_30_i_i_reg_655 <= tmp_30_i_i_fu_474_p2;
  689. end if;
  690. end if;
  691. end process;
  692. ap_NS_fsm_assign_proc : process (ap_start, ap_done_reg, ap_CS_fsm, ap_CS_fsm_state1, height_empty_n, vconv_xlim_loc_empty_n, filt1_empty_n, filt2_empty_n, height_out_full_n, vconv_xlim_loc_out_full_n, ap_enable_reg_pp0_iter1, ap_enable_reg_pp0_iter5, exitcond_flatten_fu_373_p2, ap_enable_reg_pp0_iter0, ap_block_pp0_stage0_subdone, ap_enable_reg_pp0_iter4)
  693. begin
  694. case ap_CS_fsm is
  695. when ap_ST_fsm_state1 =>
  696. if ((not(((ap_start = ap_const_logic_0) or (vconv_xlim_loc_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
  697. ap_NS_fsm <= ap_ST_fsm_state2;
  698. else
  699. ap_NS_fsm <= ap_ST_fsm_state1;
  700. end if;
  701. when ap_ST_fsm_state2 =>
  702. ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
  703. when ap_ST_fsm_pp0_stage0 =>
  704. if ((not(((ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (exitcond_flatten_fu_373_p2 = ap_const_lv1_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_0))) and not(((ap_enable_reg_pp0_iter4 = ap_const_logic_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter5 = ap_const_logic_1))))) then
  705. ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
  706. elsif ((((ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (exitcond_flatten_fu_373_p2 = ap_const_lv1_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_0)) or ((ap_enable_reg_pp0_iter4 = ap_const_logic_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter5 = ap_const_logic_1)))) then
  707. ap_NS_fsm <= ap_ST_fsm_state9;
  708. else
  709. ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
  710. end if;
  711. when ap_ST_fsm_state9 =>
  712. ap_NS_fsm <= ap_ST_fsm_state1;
  713. when others =>
  714. ap_NS_fsm <= "XXXX";
  715. end case;
  716. end process;
  717. ap_CS_fsm_pp0_stage0 <= ap_CS_fsm(2);
  718. ap_CS_fsm_state1 <= ap_CS_fsm(0);
  719. ap_CS_fsm_state2 <= ap_CS_fsm(1);
  720. ap_CS_fsm_state9 <= ap_CS_fsm(3);
  721. ap_block_pp0_assign_proc : process(ap_CS_fsm, ap_block_pp0_stage0_subdone)
  722. begin
  723. ap_block_pp0 <= ((ap_ST_fsm_pp0_stage0 = ap_CS_fsm) and (ap_const_boolean_1 = ap_block_pp0_stage0_subdone));
  724. end process;
  725. ap_block_pp0_stage0 <= not((ap_const_boolean_1 = ap_const_boolean_1));
  726. ap_block_pp0_stage0_01001_assign_proc : process(hconv_V_empty_n, vconv_V_full_n, ap_enable_reg_pp0_iter1, exitcond_flatten_reg_532, ap_enable_reg_pp0_iter5, tmp_8_i_i_mid2_reg_541_pp0_iter4_reg)
  727. begin
  728. ap_block_pp0_stage0_01001 <= (((vconv_V_full_n = ap_const_logic_0) and (ap_enable_reg_pp0_iter5 = ap_const_logic_1) and (tmp_8_i_i_mid2_reg_541_pp0_iter4_reg = ap_const_lv1_1)) or ((hconv_V_empty_n = ap_const_logic_0) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (exitcond_flatten_reg_532 = ap_const_lv1_0)));
  729. end process;
  730. ap_block_pp0_stage0_11001_assign_proc : process(hconv_V_empty_n, vconv_V_full_n, ap_enable_reg_pp0_iter1, exitcond_flatten_reg_532, ap_enable_reg_pp0_iter5, tmp_8_i_i_mid2_reg_541_pp0_iter4_reg)
  731. begin
  732. ap_block_pp0_stage0_11001 <= (((vconv_V_full_n = ap_const_logic_0) and (ap_enable_reg_pp0_iter5 = ap_const_logic_1) and (tmp_8_i_i_mid2_reg_541_pp0_iter4_reg = ap_const_lv1_1)) or ((hconv_V_empty_n = ap_const_logic_0) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (exitcond_flatten_reg_532 = ap_const_lv1_0)));
  733. end process;
  734. ap_block_pp0_stage0_subdone_assign_proc : process(hconv_V_empty_n, vconv_V_full_n, ap_enable_reg_pp0_iter1, exitcond_flatten_reg_532, ap_enable_reg_pp0_iter5, tmp_8_i_i_mid2_reg_541_pp0_iter4_reg)
  735. begin
  736. ap_block_pp0_stage0_subdone <= (((vconv_V_full_n = ap_const_logic_0) and (ap_enable_reg_pp0_iter5 = ap_const_logic_1) and (tmp_8_i_i_mid2_reg_541_pp0_iter4_reg = ap_const_lv1_1)) or ((hconv_V_empty_n = ap_const_logic_0) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (exitcond_flatten_reg_532 = ap_const_lv1_0)));
  737. end process;
  738. ap_block_state1_assign_proc : process(ap_start, ap_done_reg, height_empty_n, vconv_xlim_loc_empty_n, filt1_empty_n, filt2_empty_n, height_out_full_n, vconv_xlim_loc_out_full_n)
  739. begin
  740. ap_block_state1 <= ((ap_start = ap_const_logic_0) or (vconv_xlim_loc_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1));
  741. end process;
  742. ap_block_state3_pp0_stage0_iter0 <= not((ap_const_boolean_1 = ap_const_boolean_1));
  743. ap_block_state4_pp0_stage0_iter1_assign_proc : process(hconv_V_empty_n, exitcond_flatten_reg_532)
  744. begin
  745. ap_block_state4_pp0_stage0_iter1 <= ((hconv_V_empty_n = ap_const_logic_0) and (exitcond_flatten_reg_532 = ap_const_lv1_0));
  746. end process;
  747. ap_block_state5_pp0_stage0_iter2 <= not((ap_const_boolean_1 = ap_const_boolean_1));
  748. ap_block_state6_pp0_stage0_iter3 <= not((ap_const_boolean_1 = ap_const_boolean_1));
  749. ap_block_state7_pp0_stage0_iter4 <= not((ap_const_boolean_1 = ap_const_boolean_1));
  750. ap_block_state8_pp0_stage0_iter5_assign_proc : process(vconv_V_full_n, tmp_8_i_i_mid2_reg_541_pp0_iter4_reg)
  751. begin
  752. ap_block_state8_pp0_stage0_iter5 <= ((vconv_V_full_n = ap_const_logic_0) and (tmp_8_i_i_mid2_reg_541_pp0_iter4_reg = ap_const_lv1_1));
  753. end process;
  754. ap_condition_pp0_exit_iter0_state3_assign_proc : process(exitcond_flatten_fu_373_p2)
  755. begin
  756. if ((exitcond_flatten_fu_373_p2 = ap_const_lv1_1)) then
  757. ap_condition_pp0_exit_iter0_state3 <= ap_const_logic_1;
  758. else
  759. ap_condition_pp0_exit_iter0_state3 <= ap_const_logic_0;
  760. end if;
  761. end process;
  762. ap_done_assign_proc : process(ap_done_reg, ap_CS_fsm_state9)
  763. begin
  764. if ((ap_const_logic_1 = ap_CS_fsm_state9)) then
  765. ap_done <= ap_const_logic_1;
  766. else
  767. ap_done <= ap_done_reg;
  768. end if;
  769. end process;
  770. ap_enable_operation_44_assign_proc : process(exitcond_flatten_fu_373_p2)
  771. begin
  772. ap_enable_operation_44 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
  773. end process;
  774. ap_enable_operation_46_assign_proc : process(exitcond_flatten_fu_373_p2)
  775. begin
  776. ap_enable_operation_46 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
  777. end process;
  778. ap_enable_operation_48_assign_proc : process(exitcond_flatten_fu_373_p2)
  779. begin
  780. ap_enable_operation_48 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
  781. end process;
  782. ap_enable_operation_50_assign_proc : process(exitcond_flatten_fu_373_p2)
  783. begin
  784. ap_enable_operation_50 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
  785. end process;
  786. ap_enable_operation_52_assign_proc : process(exitcond_flatten_fu_373_p2)
  787. begin
  788. ap_enable_operation_52 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
  789. end process;
  790. ap_enable_operation_54_assign_proc : process(exitcond_flatten_fu_373_p2)
  791. begin
  792. ap_enable_operation_54 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
  793. end process;
  794. ap_enable_operation_56_assign_proc : process(exitcond_flatten_fu_373_p2)
  795. begin
  796. ap_enable_operation_56 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
  797. end process;
  798. ap_enable_operation_58_assign_proc : process(exitcond_flatten_fu_373_p2)
  799. begin
  800. ap_enable_operation_58 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
  801. end process;
  802. ap_enable_operation_60_assign_proc : process(exitcond_flatten_fu_373_p2)
  803. begin
  804. ap_enable_operation_60 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
  805. end process;
  806. ap_enable_operation_62_assign_proc : process(exitcond_flatten_fu_373_p2)
  807. begin
  808. ap_enable_operation_62 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
  809. end process;
  810. ap_enable_operation_66_assign_proc : process(exitcond_flatten_reg_532)
  811. begin
  812. ap_enable_operation_66 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  813. end process;
  814. ap_enable_operation_67_assign_proc : process(exitcond_flatten_reg_532)
  815. begin
  816. ap_enable_operation_67 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  817. end process;
  818. ap_enable_operation_68_assign_proc : process(exitcond_flatten_reg_532)
  819. begin
  820. ap_enable_operation_68 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  821. end process;
  822. ap_enable_operation_69_assign_proc : process(exitcond_flatten_reg_532)
  823. begin
  824. ap_enable_operation_69 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  825. end process;
  826. ap_enable_operation_70_assign_proc : process(exitcond_flatten_reg_532)
  827. begin
  828. ap_enable_operation_70 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  829. end process;
  830. ap_enable_operation_71_assign_proc : process(exitcond_flatten_reg_532)
  831. begin
  832. ap_enable_operation_71 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  833. end process;
  834. ap_enable_operation_72_assign_proc : process(exitcond_flatten_reg_532)
  835. begin
  836. ap_enable_operation_72 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  837. end process;
  838. ap_enable_operation_73_assign_proc : process(exitcond_flatten_reg_532)
  839. begin
  840. ap_enable_operation_73 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  841. end process;
  842. ap_enable_operation_74_assign_proc : process(exitcond_flatten_reg_532)
  843. begin
  844. ap_enable_operation_74 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  845. end process;
  846. ap_enable_operation_75_assign_proc : process(exitcond_flatten_reg_532)
  847. begin
  848. ap_enable_operation_75 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  849. end process;
  850. ap_enable_operation_76_assign_proc : process(exitcond_flatten_reg_532)
  851. begin
  852. ap_enable_operation_76 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  853. end process;
  854. ap_enable_operation_77_assign_proc : process(exitcond_flatten_reg_532)
  855. begin
  856. ap_enable_operation_77 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  857. end process;
  858. ap_enable_operation_78_assign_proc : process(exitcond_flatten_reg_532)
  859. begin
  860. ap_enable_operation_78 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  861. end process;
  862. ap_enable_operation_79_assign_proc : process(exitcond_flatten_reg_532)
  863. begin
  864. ap_enable_operation_79 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  865. end process;
  866. ap_enable_operation_80_assign_proc : process(exitcond_flatten_reg_532)
  867. begin
  868. ap_enable_operation_80 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  869. end process;
  870. ap_enable_operation_81_assign_proc : process(exitcond_flatten_reg_532)
  871. begin
  872. ap_enable_operation_81 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  873. end process;
  874. ap_enable_operation_82_assign_proc : process(exitcond_flatten_reg_532)
  875. begin
  876. ap_enable_operation_82 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  877. end process;
  878. ap_enable_operation_83_assign_proc : process(exitcond_flatten_reg_532)
  879. begin
  880. ap_enable_operation_83 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  881. end process;
  882. ap_enable_operation_84_assign_proc : process(exitcond_flatten_reg_532)
  883. begin
  884. ap_enable_operation_84 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  885. end process;
  886. ap_enable_operation_89_assign_proc : process(exitcond_flatten_reg_532)
  887. begin
  888. ap_enable_operation_89 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
  889. end process;
  890. ap_enable_pp0 <= (ap_idle_pp0 xor ap_const_logic_1);
  891. ap_enable_state3_pp0_iter0_stage0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter0)
  892. begin
  893. ap_enable_state3_pp0_iter0_stage0 <= ((ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0));
  894. end process;
  895. ap_enable_state4_pp0_iter1_stage0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1)
  896. begin
  897. ap_enable_state4_pp0_iter1_stage0 <= ((ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0));
  898. end process;
  899. ap_idle_assign_proc : process(ap_start, ap_CS_fsm_state1)
  900. begin
  901. if (((ap_start = ap_const_logic_0) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
  902. ap_idle <= ap_const_logic_1;
  903. else
  904. ap_idle <= ap_const_logic_0;
  905. end if;
  906. end process;
  907. ap_idle_pp0_assign_proc : process(ap_enable_reg_pp0_iter1, ap_enable_reg_pp0_iter5, ap_enable_reg_pp0_iter0, ap_enable_reg_pp0_iter2, ap_enable_reg_pp0_iter3, ap_enable_reg_pp0_iter4)
  908. begin
  909. if (((ap_enable_reg_pp0_iter4 = ap_const_logic_0) and (ap_enable_reg_pp0_iter3 = ap_const_logic_0) and (ap_enable_reg_pp0_iter2 = ap_const_logic_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_0) and (ap_enable_reg_pp0_iter5 = ap_const_logic_0) and (ap_enable_reg_pp0_iter1 = ap_const_logic_0))) then
  910. ap_idle_pp0 <= ap_const_logic_1;
  911. else
  912. ap_idle_pp0 <= ap_const_logic_0;
  913. end if;
  914. end process;
  915. ap_ready_assign_proc : process(ap_CS_fsm_state9)
  916. begin
  917. if ((ap_const_logic_1 = ap_CS_fsm_state9)) then
  918. ap_ready <= ap_const_logic_1;
  919. else
  920. ap_ready <= ap_const_logic_0;
  921. end if;
  922. end process;
  923. bound_fu_358_p0 <= bound_fu_358_p00(32 - 1 downto 0);
  924. bound_fu_358_p00 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(vconv_xlim_loc_read_reg_511),64));
  925. bound_fu_358_p1 <= bound_fu_358_p10(32 - 1 downto 0);
  926. bound_fu_358_p10 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(height_read_reg_506),64));
  927. bound_fu_358_p2 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(bound_fu_358_p0) * unsigned(bound_fu_358_p1), 64));
  928. col1_0_i_i_i_mid2_fu_418_p3 <=
  929. col1_0_i_i_i_reg_330 when (tmp_11_i_i_fu_368_p2(0) = '1') else
  930. col_fu_392_p2;
  931. col_fu_392_p2 <= std_logic_vector(unsigned(col1_0_i_i_i_reg_330) + unsigned(ap_const_lv10_1));
  932. exitcond_flatten_fu_373_p2 <= "1" when (indvar_flatten_reg_319 = bound_reg_527) else "0";
  933. filt1_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, filt1_empty_n)
  934. begin
  935. if ((not(((ap_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
  936. filt1_blk_n <= filt1_empty_n;
  937. else
  938. filt1_blk_n <= ap_const_logic_1;
  939. end if;
  940. end process;
  941. filt1_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n, vconv_xlim_loc_empty_n, filt1_empty_n, filt2_empty_n, height_out_full_n, vconv_xlim_loc_out_full_n)
  942. begin
  943. if ((not(((ap_start = ap_const_logic_0) or (vconv_xlim_loc_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
  944. filt1_read <= ap_const_logic_1;
  945. else
  946. filt1_read <= ap_const_logic_0;
  947. end if;
  948. end process;
  949. filt2_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, filt2_empty_n)
  950. begin
  951. if ((not(((ap_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
  952. filt2_blk_n <= filt2_empty_n;
  953. else
  954. filt2_blk_n <= ap_const_logic_1;
  955. end if;
  956. end process;
  957. filt2_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n, vconv_xlim_loc_empty_n, filt1_empty_n, filt2_empty_n, height_out_full_n, vconv_xlim_loc_out_full_n)
  958. begin
  959. if ((not(((ap_start = ap_const_logic_0) or (vconv_xlim_loc_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
  960. filt2_read <= ap_const_logic_1;
  961. else
  962. filt2_read <= ap_const_logic_0;
  963. end if;
  964. end process;
  965. hconv_V_blk_n_assign_proc : process(hconv_V_empty_n, ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0, exitcond_flatten_reg_532)
  966. begin
  967. if (((ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_reg_532 = ap_const_lv1_0) and (ap_const_boolean_0 = ap_block_pp0_stage0))) then
  968. hconv_V_blk_n <= hconv_V_empty_n;
  969. else
  970. hconv_V_blk_n <= ap_const_logic_1;
  971. end if;
  972. end process;
  973. hconv_V_read_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, exitcond_flatten_reg_532, ap_block_pp0_stage0_11001)
  974. begin
  975. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_reg_532 = ap_const_lv1_0))) then
  976. hconv_V_read <= ap_const_logic_1;
  977. else
  978. hconv_V_read <= ap_const_logic_0;
  979. end if;
  980. end process;
  981. height_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n)
  982. begin
  983. if ((not(((ap_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
  984. height_blk_n <= height_empty_n;
  985. else
  986. height_blk_n <= ap_const_logic_1;
  987. end if;
  988. end process;
  989. height_out_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_out_full_n)
  990. begin
  991. if ((not(((ap_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
  992. height_out_blk_n <= height_out_full_n;
  993. else
  994. height_out_blk_n <= ap_const_logic_1;
  995. end if;
  996. end process;
  997. height_out_din <= height_dout;
  998. height_out_write_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n, vconv_xlim_loc_empty_n, filt1_empty_n, filt2_empty_n, height_out_full_n, vconv_xlim_loc_out_full_n)
  999. begin
  1000. if ((not(((ap_start = ap_const_logic_0) or (vconv_xlim_loc_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
  1001. height_out_write <= ap_const_logic_1;
  1002. else
  1003. height_out_write <= ap_const_logic_0;
  1004. end if;
  1005. end process;
  1006. height_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n, vconv_xlim_loc_empty_n, filt1_empty_n, filt2_empty_n, height_out_full_n, vconv_xlim_loc_out_full_n)
  1007. begin
  1008. if ((not(((ap_start = ap_const_logic_0) or (vconv_xlim_loc_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
  1009. height_read <= ap_const_logic_1;
  1010. else
  1011. height_read <= ap_const_logic_0;
  1012. end if;
  1013. end process;
  1014. indvar_flatten_next_fu_378_p2 <= std_logic_vector(unsigned(indvar_flatten_reg_319) + unsigned(ap_const_lv64_1));
  1015. linebuf_0_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  1016. linebuf_0_address1 <= linebuf_0_addr_reg_550;
  1017. linebuf_0_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
  1018. begin
  1019. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1020. linebuf_0_ce0 <= ap_const_logic_1;
  1021. else
  1022. linebuf_0_ce0 <= ap_const_logic_0;
  1023. end if;
  1024. end process;
  1025. linebuf_0_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
  1026. begin
  1027. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1028. linebuf_0_ce1 <= ap_const_logic_1;
  1029. else
  1030. linebuf_0_ce1 <= ap_const_logic_0;
  1031. end if;
  1032. end process;
  1033. linebuf_0_we1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, exitcond_flatten_reg_532, ap_block_pp0_stage0_11001)
  1034. begin
  1035. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_reg_532 = ap_const_lv1_0))) then
  1036. linebuf_0_we1 <= ap_const_logic_1;
  1037. else
  1038. linebuf_0_we1 <= ap_const_logic_0;
  1039. end if;
  1040. end process;
  1041. linebuf_1_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  1042. linebuf_1_address1 <= linebuf_1_addr_reg_556;
  1043. linebuf_1_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
  1044. begin
  1045. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1046. linebuf_1_ce0 <= ap_const_logic_1;
  1047. else
  1048. linebuf_1_ce0 <= ap_const_logic_0;
  1049. end if;
  1050. end process;
  1051. linebuf_1_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
  1052. begin
  1053. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1054. linebuf_1_ce1 <= ap_const_logic_1;
  1055. else
  1056. linebuf_1_ce1 <= ap_const_logic_0;
  1057. end if;
  1058. end process;
  1059. linebuf_1_we1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, exitcond_flatten_reg_532, ap_block_pp0_stage0_11001)
  1060. begin
  1061. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_reg_532 = ap_const_lv1_0))) then
  1062. linebuf_1_we1 <= ap_const_logic_1;
  1063. else
  1064. linebuf_1_we1 <= ap_const_logic_0;
  1065. end if;
  1066. end process;
  1067. linebuf_2_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  1068. linebuf_2_address1 <= linebuf_2_addr_reg_562;
  1069. linebuf_2_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
  1070. begin
  1071. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1072. linebuf_2_ce0 <= ap_const_logic_1;
  1073. else
  1074. linebuf_2_ce0 <= ap_const_logic_0;
  1075. end if;
  1076. end process;
  1077. linebuf_2_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
  1078. begin
  1079. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1080. linebuf_2_ce1 <= ap_const_logic_1;
  1081. else
  1082. linebuf_2_ce1 <= ap_const_logic_0;
  1083. end if;
  1084. end process;
  1085. linebuf_2_we1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, exitcond_flatten_reg_532, ap_block_pp0_stage0_11001)
  1086. begin
  1087. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_reg_532 = ap_const_lv1_0))) then
  1088. linebuf_2_we1 <= ap_const_logic_1;
  1089. else
  1090. linebuf_2_we1 <= ap_const_logic_0;
  1091. end if;
  1092. end process;
  1093. linebuf_3_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  1094. linebuf_3_address1 <= linebuf_3_addr_reg_568;
  1095. linebuf_3_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
  1096. begin
  1097. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1098. linebuf_3_ce0 <= ap_const_logic_1;
  1099. else
  1100. linebuf_3_ce0 <= ap_const_logic_0;
  1101. end if;
  1102. end process;
  1103. linebuf_3_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
  1104. begin
  1105. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1106. linebuf_3_ce1 <= ap_const_logic_1;
  1107. else
  1108. linebuf_3_ce1 <= ap_const_logic_0;
  1109. end if;
  1110. end process;
  1111. linebuf_3_we1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, exitcond_flatten_reg_532, ap_block_pp0_stage0_11001)
  1112. begin
  1113. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_reg_532 = ap_const_lv1_0))) then
  1114. linebuf_3_we1 <= ap_const_logic_1;
  1115. else
  1116. linebuf_3_we1 <= ap_const_logic_0;
  1117. end if;
  1118. end process;
  1119. linebuf_4_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  1120. linebuf_4_address1 <= linebuf_4_addr_reg_574;
  1121. linebuf_4_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
  1122. begin
  1123. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1124. linebuf_4_ce0 <= ap_const_logic_1;
  1125. else
  1126. linebuf_4_ce0 <= ap_const_logic_0;
  1127. end if;
  1128. end process;
  1129. linebuf_4_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
  1130. begin
  1131. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1132. linebuf_4_ce1 <= ap_const_logic_1;
  1133. else
  1134. linebuf_4_ce1 <= ap_const_logic_0;
  1135. end if;
  1136. end process;
  1137. linebuf_4_we1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, exitcond_flatten_reg_532, ap_block_pp0_stage0_11001)
  1138. begin
  1139. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_reg_532 = ap_const_lv1_0))) then
  1140. linebuf_4_we1 <= ap_const_logic_1;
  1141. else
  1142. linebuf_4_we1 <= ap_const_logic_0;
  1143. end if;
  1144. end process;
  1145. linebuf_5_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  1146. linebuf_5_address1 <= linebuf_5_addr_reg_580;
  1147. linebuf_5_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
  1148. begin
  1149. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1150. linebuf_5_ce0 <= ap_const_logic_1;
  1151. else
  1152. linebuf_5_ce0 <= ap_const_logic_0;
  1153. end if;
  1154. end process;
  1155. linebuf_5_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
  1156. begin
  1157. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1158. linebuf_5_ce1 <= ap_const_logic_1;
  1159. else
  1160. linebuf_5_ce1 <= ap_const_logic_0;
  1161. end if;
  1162. end process;
  1163. linebuf_5_we1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, exitcond_flatten_reg_532, ap_block_pp0_stage0_11001)
  1164. begin
  1165. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_reg_532 = ap_const_lv1_0))) then
  1166. linebuf_5_we1 <= ap_const_logic_1;
  1167. else
  1168. linebuf_5_we1 <= ap_const_logic_0;
  1169. end if;
  1170. end process;
  1171. linebuf_6_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  1172. linebuf_6_address1 <= linebuf_6_addr_reg_586;
  1173. linebuf_6_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
  1174. begin
  1175. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1176. linebuf_6_ce0 <= ap_const_logic_1;
  1177. else
  1178. linebuf_6_ce0 <= ap_const_logic_0;
  1179. end if;
  1180. end process;
  1181. linebuf_6_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
  1182. begin
  1183. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1184. linebuf_6_ce1 <= ap_const_logic_1;
  1185. else
  1186. linebuf_6_ce1 <= ap_const_logic_0;
  1187. end if;
  1188. end process;
  1189. linebuf_6_we1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, exitcond_flatten_reg_532, ap_block_pp0_stage0_11001)
  1190. begin
  1191. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_reg_532 = ap_const_lv1_0))) then
  1192. linebuf_6_we1 <= ap_const_logic_1;
  1193. else
  1194. linebuf_6_we1 <= ap_const_logic_0;
  1195. end if;
  1196. end process;
  1197. linebuf_7_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  1198. linebuf_7_address1 <= linebuf_7_addr_reg_592;
  1199. linebuf_7_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
  1200. begin
  1201. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1202. linebuf_7_ce0 <= ap_const_logic_1;
  1203. else
  1204. linebuf_7_ce0 <= ap_const_logic_0;
  1205. end if;
  1206. end process;
  1207. linebuf_7_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
  1208. begin
  1209. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1210. linebuf_7_ce1 <= ap_const_logic_1;
  1211. else
  1212. linebuf_7_ce1 <= ap_const_logic_0;
  1213. end if;
  1214. end process;
  1215. linebuf_7_we1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, exitcond_flatten_reg_532, ap_block_pp0_stage0_11001)
  1216. begin
  1217. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_reg_532 = ap_const_lv1_0))) then
  1218. linebuf_7_we1 <= ap_const_logic_1;
  1219. else
  1220. linebuf_7_we1 <= ap_const_logic_0;
  1221. end if;
  1222. end process;
  1223. linebuf_8_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  1224. linebuf_8_address1 <= linebuf_8_addr_reg_598;
  1225. linebuf_8_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
  1226. begin
  1227. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1228. linebuf_8_ce0 <= ap_const_logic_1;
  1229. else
  1230. linebuf_8_ce0 <= ap_const_logic_0;
  1231. end if;
  1232. end process;
  1233. linebuf_8_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
  1234. begin
  1235. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1236. linebuf_8_ce1 <= ap_const_logic_1;
  1237. else
  1238. linebuf_8_ce1 <= ap_const_logic_0;
  1239. end if;
  1240. end process;
  1241. linebuf_8_we1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, exitcond_flatten_reg_532, ap_block_pp0_stage0_11001)
  1242. begin
  1243. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_reg_532 = ap_const_lv1_0))) then
  1244. linebuf_8_we1 <= ap_const_logic_1;
  1245. else
  1246. linebuf_8_we1 <= ap_const_logic_0;
  1247. end if;
  1248. end process;
  1249. linebuf_9_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
  1250. linebuf_9_address1 <= linebuf_9_addr_reg_604;
  1251. linebuf_9_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
  1252. begin
  1253. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1254. linebuf_9_ce0 <= ap_const_logic_1;
  1255. else
  1256. linebuf_9_ce0 <= ap_const_logic_0;
  1257. end if;
  1258. end process;
  1259. linebuf_9_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
  1260. begin
  1261. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
  1262. linebuf_9_ce1 <= ap_const_logic_1;
  1263. else
  1264. linebuf_9_ce1 <= ap_const_logic_0;
  1265. end if;
  1266. end process;
  1267. linebuf_9_we1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, exitcond_flatten_reg_532, ap_block_pp0_stage0_11001)
  1268. begin
  1269. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (exitcond_flatten_reg_532 = ap_const_lv1_0))) then
  1270. linebuf_9_we1 <= ap_const_logic_1;
  1271. else
  1272. linebuf_9_we1 <= ap_const_logic_0;
  1273. end if;
  1274. end process;
  1275. row2_0_i_cast_i_i_fu_364_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(row2_0_i_i_i_reg_341),32));
  1276. row2_0_i_i_i_mid2_fu_384_p3 <=
  1277. row2_0_i_i_i_reg_341 when (tmp_11_i_i_fu_368_p2(0) = '1') else
  1278. ap_const_lv10_0;
  1279. row_fu_440_p2 <= std_logic_vector(unsigned(row2_0_i_i_i_mid2_fu_384_p3) + unsigned(ap_const_lv10_1));
  1280. tmp1_fu_496_p2 <= std_logic_vector(unsigned(tmp3_reg_640_pp0_iter4_reg) + unsigned(tmp2_reg_635_pp0_iter4_reg));
  1281. tmp2_fu_446_p2 <= std_logic_vector(unsigned(linebuf_0_q0) + unsigned(linebuf_1_q0));
  1282. tmp3_fu_458_p2 <= std_logic_vector(unsigned(tmp4_fu_452_p2) + unsigned(linebuf_2_q0));
  1283. tmp4_fu_452_p2 <= std_logic_vector(unsigned(linebuf_3_q0) + unsigned(linebuf_4_q0));
  1284. tmp5_fu_491_p2 <= std_logic_vector(unsigned(tmp8_reg_660) + unsigned(tmp6_fu_487_p2));
  1285. tmp6_fu_487_p2 <= std_logic_vector(unsigned(tmp7_reg_645_pp0_iter3_reg) + unsigned(linebuf_5_load_reg_620_pp0_iter3_reg));
  1286. tmp7_fu_464_p2 <= std_logic_vector(unsigned(linebuf_6_q0) + unsigned(linebuf_7_q0));
  1287. tmp8_fu_482_p2 <= std_logic_vector(unsigned(tmp9_fu_478_p2) + unsigned(linebuf_8_load_reg_625_pp0_iter2_reg));
  1288. tmp9_fu_478_p2 <= std_logic_vector(unsigned(tmp_30_9_i_i_reg_650) + unsigned(tmp_30_i_i_reg_655));
  1289. tmp_11_i_i_fu_368_p2 <= "1" when (signed(row2_0_i_cast_i_i_fu_364_p1) < signed(vconv_xlim_loc_read_reg_511)) else "0";
  1290. tmp_16_i_i_fu_426_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(row2_0_i_i_i_mid2_fu_384_p3),64));
  1291. tmp_30_9_i_i_fu_470_p2 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(std_logic_vector(signed(filt1_read_reg_517) * signed(linebuf_9_load_reg_630))), 32));
  1292. tmp_30_i_i_fu_474_p2 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(std_logic_vector(signed(filt2_read_reg_522) * signed(tmp_1_reg_615))), 32));
  1293. tmp_8_i_i_fu_404_p2 <= "1" when (unsigned(col1_0_i_i_i_reg_330) > unsigned(ap_const_lv10_9)) else "0";
  1294. tmp_8_i_i_mid1_fu_398_p2 <= "1" when (unsigned(col_fu_392_p2) > unsigned(ap_const_lv10_9)) else "0";
  1295. tmp_8_i_i_mid2_fu_410_p3 <=
  1296. tmp_8_i_i_fu_404_p2 when (tmp_11_i_i_fu_368_p2(0) = '1') else
  1297. tmp_8_i_i_mid1_fu_398_p2;
  1298. vconv_V_blk_n_assign_proc : process(vconv_V_full_n, ap_block_pp0_stage0, ap_enable_reg_pp0_iter5, tmp_8_i_i_mid2_reg_541_pp0_iter4_reg)
  1299. begin
  1300. if (((ap_enable_reg_pp0_iter5 = ap_const_logic_1) and (tmp_8_i_i_mid2_reg_541_pp0_iter4_reg = ap_const_lv1_1) and (ap_const_boolean_0 = ap_block_pp0_stage0))) then
  1301. vconv_V_blk_n <= vconv_V_full_n;
  1302. else
  1303. vconv_V_blk_n <= ap_const_logic_1;
  1304. end if;
  1305. end process;
  1306. vconv_V_din <= std_logic_vector(unsigned(tmp5_reg_665) + unsigned(tmp1_fu_496_p2));
  1307. vconv_V_write_assign_proc : process(ap_enable_reg_pp0_iter5, tmp_8_i_i_mid2_reg_541_pp0_iter4_reg, ap_block_pp0_stage0_11001)
  1308. begin
  1309. if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter5 = ap_const_logic_1) and (tmp_8_i_i_mid2_reg_541_pp0_iter4_reg = ap_const_lv1_1))) then
  1310. vconv_V_write <= ap_const_logic_1;
  1311. else
  1312. vconv_V_write <= ap_const_logic_0;
  1313. end if;
  1314. end process;
  1315. vconv_xlim_loc_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, vconv_xlim_loc_empty_n)
  1316. begin
  1317. if ((not(((ap_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
  1318. vconv_xlim_loc_blk_n <= vconv_xlim_loc_empty_n;
  1319. else
  1320. vconv_xlim_loc_blk_n <= ap_const_logic_1;
  1321. end if;
  1322. end process;
  1323. vconv_xlim_loc_out_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, vconv_xlim_loc_out_full_n)
  1324. begin
  1325. if ((not(((ap_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
  1326. vconv_xlim_loc_out_blk_n <= vconv_xlim_loc_out_full_n;
  1327. else
  1328. vconv_xlim_loc_out_blk_n <= ap_const_logic_1;
  1329. end if;
  1330. end process;
  1331. vconv_xlim_loc_out_din <= vconv_xlim_loc_dout;
  1332. vconv_xlim_loc_out_write_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n, vconv_xlim_loc_empty_n, filt1_empty_n, filt2_empty_n, height_out_full_n, vconv_xlim_loc_out_full_n)
  1333. begin
  1334. if ((not(((ap_start = ap_const_logic_0) or (vconv_xlim_loc_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
  1335. vconv_xlim_loc_out_write <= ap_const_logic_1;
  1336. else
  1337. vconv_xlim_loc_out_write <= ap_const_logic_0;
  1338. end if;
  1339. end process;
  1340. vconv_xlim_loc_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n, vconv_xlim_loc_empty_n, filt1_empty_n, filt2_empty_n, height_out_full_n, vconv_xlim_loc_out_full_n)
  1341. begin
  1342. if ((not(((ap_start = ap_const_logic_0) or (vconv_xlim_loc_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
  1343. vconv_xlim_loc_read <= ap_const_logic_1;
  1344. else
  1345. vconv_xlim_loc_read <= ap_const_logic_0;
  1346. end if;
  1347. end process;
  1348. end behav;