Explorar o código

moved packaging ip to sources

subDesTagesMitExtraKaese %!s(int64=4) %!d(string=hai) anos
pai
achega
6614f4ff82
Modificáronse 54 ficheiros con 335 adicións e 16635 borrados
  1. 1 1
      README.md
  2. 0 1492
      src/ip_repo/neuron_packed/component.xml
  3. 0 321
      src/ip_repo/neuron_packed/src/Block_proc.vhd
  4. 0 896
      src/ip_repo/neuron_packed/src/Loop_Border_proc.vhd
  5. 0 132
      src/ip_repo/neuron_packed/src/Loop_Border_proc_borderbuf.vhd
  6. 0 746
      src/ip_repo/neuron_packed/src/Loop_HConvH_proc6.vhd
  7. 0 1570
      src/ip_repo/neuron_packed/src/Loop_VConvH_proc.vhd
  8. 0 132
      src/ip_repo/neuron_packed/src/Loop_VConvH_proc_linebuf_0.vhd
  9. 0 34
      src/ip_repo/neuron_packed/src/checksum.vhd
  10. 0 188
      src/ip_repo/neuron_packed/src/dummyModule.vhd
  11. 0 140
      src/ip_repo/neuron_packed/src/fifo_w32_d2_A.vhd
  12. 0 140
      src/ip_repo/neuron_packed/src/fifo_w32_d3_A.vhd
  13. 0 923
      src/ip_repo/neuron_packed/src/filter11x11_strm.vhd
  14. 0 368
      src/ip_repo/neuron_packed/src/filter11x11_strm_ent.vhd
  15. 0 40
      src/ip_repo/neuron_packed/src/globals.vhd
  16. 0 42
      src/ip_repo/neuron_packed/src/mac.vhd
  17. 0 228
      src/ip_repo/neuron_packed/src/multiplex.vhd
  18. 0 61
      src/ip_repo/neuron_packed/src/neuron.vhd
  19. 0 346
      src/ip_repo/neuron_packed/src/packaging.vhd
  20. 0 86
      src/ip_repo/neuron_packed/src/parallelize.vhd
  21. 0 30
      src/ip_repo/neuron_packed/src/relu.vhd
  22. 0 66
      src/ip_repo/neuron_packed/src/shiftIn.vhd
  23. 0 72
      src/ip_repo/neuron_packed/src/shiftOut.vhd
  24. 0 140
      src/ip_repo/neuron_packed/src/start_for_Block_proc_U0.vhd
  25. 0 140
      src/ip_repo/neuron_packed/src/start_for_Loop_Border_proc_U0.vhd
  26. 0 140
      src/ip_repo/neuron_packed/src/start_for_Loop_VConvH_proc_U0.vhd
  27. 0 25
      src/ip_repo/neuron_packed/xgui/packaging_v2_0.tcl
  28. 0 650
      src/ip_repo/packaging/component.xml
  29. 0 321
      src/ip_repo/packaging/src/Block_proc.vhd
  30. 0 896
      src/ip_repo/packaging/src/Loop_Border_proc.vhd
  31. 0 132
      src/ip_repo/packaging/src/Loop_Border_proc_borderbuf.vhd
  32. 0 746
      src/ip_repo/packaging/src/Loop_HConvH_proc6.vhd
  33. 0 1570
      src/ip_repo/packaging/src/Loop_VConvH_proc.vhd
  34. 0 132
      src/ip_repo/packaging/src/Loop_VConvH_proc_linebuf_0.vhd
  35. 0 34
      src/ip_repo/packaging/src/checksum.vhd
  36. 0 164
      src/ip_repo/packaging/src/conv2d_5x5_224p.vhd
  37. 0 117
      src/ip_repo/packaging/src/dummyModule.vhd
  38. 0 140
      src/ip_repo/packaging/src/fifo_w32_d2_A.vhd
  39. 0 140
      src/ip_repo/packaging/src/fifo_w32_d3_A.vhd
  40. 0 923
      src/ip_repo/packaging/src/filter11x11_strm.vhd
  41. 0 368
      src/ip_repo/packaging/src/filter11x11_strm_ent.vhd
  42. 0 36
      src/ip_repo/packaging/src/globals.vhd
  43. 0 31
      src/ip_repo/packaging/src/kernel_5x5.vhd
  44. 0 296
      src/ip_repo/packaging/src/multiplex.vhd
  45. 0 388
      src/ip_repo/packaging/src/packaging.vhd
  46. 0 37
      src/ip_repo/packaging/src/ram.vhd
  47. 0 75
      src/ip_repo/packaging/src/shiftIn.vhd
  48. 0 140
      src/ip_repo/packaging/src/start_for_Block_proc_U0.vhd
  49. 0 140
      src/ip_repo/packaging/src/start_for_Loop_Border_proc_U0.vhd
  50. 0 140
      src/ip_repo/packaging/src/start_for_Loop_VConvH_proc_U0.vhd
  51. 0 177
      src/ip_repo/packaging/src/tb.vhd
  52. 0 128
      src/ip_repo/packaging/src/tb_behav.wcfg
  53. 0 25
      src/ip_repo/packaging/xgui/packaging_v3_0.tcl
  54. 334 190
      vhdl-modules.tcl

+ 1 - 1
README.md

@@ -2,7 +2,7 @@
 
 VHDL implementation of job parser and hardware accelerator modules
 
-## barbedo/vivado-git
+## [barbedo/vivado-git](https://github.com/barbedo/vivado-git)
 
 Trying to make Vivado more git-friendly.
 

+ 0 - 1492
src/ip_repo/neuron_packed/component.xml

@@ -1,1492 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<spirit:component xmlns:xilinx="http://www.xilinx.com" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <spirit:vendor>xilinx.com</spirit:vendor>
-  <spirit:library>user</spirit:library>
-  <spirit:name>packaging</spirit:name>
-  <spirit:version>2.0</spirit:version>
-  <spirit:busInterfaces>
-    <spirit:busInterface>
-      <spirit:name>rst</spirit:name>
-      <spirit:busType spirit:vendor="xilinx.com" spirit:library="signal" spirit:name="reset" spirit:version="1.0"/>
-      <spirit:abstractionType spirit:vendor="xilinx.com" spirit:library="signal" spirit:name="reset_rtl" spirit:version="1.0"/>
-      <spirit:slave/>
-      <spirit:portMaps>
-        <spirit:portMap>
-          <spirit:logicalPort>
-            <spirit:name>RST</spirit:name>
-          </spirit:logicalPort>
-          <spirit:physicalPort>
-            <spirit:name>rst</spirit:name>
-          </spirit:physicalPort>
-        </spirit:portMap>
-      </spirit:portMaps>
-    </spirit:busInterface>
-    <spirit:busInterface>
-      <spirit:name>clk</spirit:name>
-      <spirit:busType spirit:vendor="xilinx.com" spirit:library="signal" spirit:name="clock" spirit:version="1.0"/>
-      <spirit:abstractionType spirit:vendor="xilinx.com" spirit:library="signal" spirit:name="clock_rtl" spirit:version="1.0"/>
-      <spirit:slave/>
-      <spirit:portMaps>
-        <spirit:portMap>
-          <spirit:logicalPort>
-            <spirit:name>CLK</spirit:name>
-          </spirit:logicalPort>
-          <spirit:physicalPort>
-            <spirit:name>clk</spirit:name>
-          </spirit:physicalPort>
-        </spirit:portMap>
-      </spirit:portMaps>
-      <spirit:parameters>
-        <spirit:parameter>
-          <spirit:name>ASSOCIATED_RESET</spirit:name>
-          <spirit:value spirit:id="BUSIFPARAM_VALUE.CLK.ASSOCIATED_RESET">rst</spirit:value>
-        </spirit:parameter>
-      </spirit:parameters>
-    </spirit:busInterface>
-    <spirit:busInterface>
-      <spirit:name>fifo_read</spirit:name>
-      <spirit:busType spirit:vendor="xilinx.com" spirit:library="interface" spirit:name="fifo_read" spirit:version="1.0"/>
-      <spirit:abstractionType spirit:vendor="xilinx.com" spirit:library="interface" spirit:name="fifo_read_rtl" spirit:version="1.0"/>
-      <spirit:master/>
-      <spirit:portMaps>
-        <spirit:portMap>
-          <spirit:logicalPort>
-            <spirit:name>RD_DATA</spirit:name>
-          </spirit:logicalPort>
-          <spirit:physicalPort>
-            <spirit:name>inputStream</spirit:name>
-          </spirit:physicalPort>
-        </spirit:portMap>
-        <spirit:portMap>
-          <spirit:logicalPort>
-            <spirit:name>EMPTY</spirit:name>
-          </spirit:logicalPort>
-          <spirit:physicalPort>
-            <spirit:name>inputEmpty</spirit:name>
-          </spirit:physicalPort>
-        </spirit:portMap>
-        <spirit:portMap>
-          <spirit:logicalPort>
-            <spirit:name>RD_EN</spirit:name>
-          </spirit:logicalPort>
-          <spirit:physicalPort>
-            <spirit:name>inpRdEn</spirit:name>
-          </spirit:physicalPort>
-        </spirit:portMap>
-      </spirit:portMaps>
-    </spirit:busInterface>
-    <spirit:busInterface>
-      <spirit:name>fifo_write</spirit:name>
-      <spirit:busType spirit:vendor="xilinx.com" spirit:library="interface" spirit:name="fifo_write" spirit:version="1.0"/>
-      <spirit:abstractionType spirit:vendor="xilinx.com" spirit:library="interface" spirit:name="fifo_write_rtl" spirit:version="1.0"/>
-      <spirit:master/>
-      <spirit:portMaps>
-        <spirit:portMap>
-          <spirit:logicalPort>
-            <spirit:name>ALMOST_FULL</spirit:name>
-          </spirit:logicalPort>
-          <spirit:physicalPort>
-            <spirit:name>outputFull</spirit:name>
-          </spirit:physicalPort>
-        </spirit:portMap>
-        <spirit:portMap>
-          <spirit:logicalPort>
-            <spirit:name>WR_DATA</spirit:name>
-          </spirit:logicalPort>
-          <spirit:physicalPort>
-            <spirit:name>outData</spirit:name>
-          </spirit:physicalPort>
-        </spirit:portMap>
-        <spirit:portMap>
-          <spirit:logicalPort>
-            <spirit:name>WR_EN</spirit:name>
-          </spirit:logicalPort>
-          <spirit:physicalPort>
-            <spirit:name>outWrEn</spirit:name>
-          </spirit:physicalPort>
-        </spirit:portMap>
-      </spirit:portMaps>
-    </spirit:busInterface>
-  </spirit:busInterfaces>
-  <spirit:model>
-    <spirit:views>
-      <spirit:view>
-        <spirit:name>xilinx_anylanguagesynthesis</spirit:name>
-        <spirit:displayName>Synthesis</spirit:displayName>
-        <spirit:envIdentifier>:vivado.xilinx.com:synthesis</spirit:envIdentifier>
-        <spirit:language>VHDL</spirit:language>
-        <spirit:modelName>packaging</spirit:modelName>
-        <spirit:fileSetRef>
-          <spirit:localName>xilinx_anylanguagesynthesis_view_fileset</spirit:localName>
-        </spirit:fileSetRef>
-        <spirit:parameters>
-          <spirit:parameter>
-            <spirit:name>viewChecksum</spirit:name>
-            <spirit:value>e0830e35</spirit:value>
-          </spirit:parameter>
-        </spirit:parameters>
-      </spirit:view>
-      <spirit:view>
-        <spirit:name>xilinx_anylanguagebehavioralsimulation</spirit:name>
-        <spirit:displayName>Simulation</spirit:displayName>
-        <spirit:envIdentifier>:vivado.xilinx.com:simulation</spirit:envIdentifier>
-        <spirit:language>VHDL</spirit:language>
-        <spirit:modelName>packaging</spirit:modelName>
-        <spirit:fileSetRef>
-          <spirit:localName>xilinx_anylanguagebehavioralsimulation_view_fileset</spirit:localName>
-        </spirit:fileSetRef>
-        <spirit:parameters>
-          <spirit:parameter>
-            <spirit:name>viewChecksum</spirit:name>
-            <spirit:value>e0830e35</spirit:value>
-          </spirit:parameter>
-        </spirit:parameters>
-      </spirit:view>
-      <spirit:view>
-        <spirit:name>xilinx_xpgui</spirit:name>
-        <spirit:displayName>UI Layout</spirit:displayName>
-        <spirit:envIdentifier>:vivado.xilinx.com:xgui.ui</spirit:envIdentifier>
-        <spirit:fileSetRef>
-          <spirit:localName>xilinx_xpgui_view_fileset</spirit:localName>
-        </spirit:fileSetRef>
-        <spirit:parameters>
-          <spirit:parameter>
-            <spirit:name>viewChecksum</spirit:name>
-            <spirit:value>b2335c60</spirit:value>
-          </spirit:parameter>
-        </spirit:parameters>
-      </spirit:view>
-    </spirit:views>
-    <spirit:ports>
-      <spirit:port>
-        <spirit:name>clk</spirit:name>
-        <spirit:wire>
-          <spirit:direction>in</spirit:direction>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>STD_LOGIC</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>rst</spirit:name>
-        <spirit:wire>
-          <spirit:direction>in</spirit:direction>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>STD_LOGIC</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>inputStream</spirit:name>
-        <spirit:wire>
-          <spirit:direction>in</spirit:direction>
-          <spirit:vector>
-            <spirit:left spirit:format="long" spirit:resolve="dependent" spirit:dependency="(spirit:decode(id(&apos;MODELPARAM_VALUE.busWidth&apos;)) - 1)">31</spirit:left>
-            <spirit:right spirit:format="long">0</spirit:right>
-          </spirit:vector>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>STD_LOGIC_VECTOR</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>inpRdEn</spirit:name>
-        <spirit:wire>
-          <spirit:direction>out</spirit:direction>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>std_logic</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>inputEmpty</spirit:name>
-        <spirit:wire>
-          <spirit:direction>in</spirit:direction>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>std_logic</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>outData</spirit:name>
-        <spirit:wire>
-          <spirit:direction>out</spirit:direction>
-          <spirit:vector>
-            <spirit:left spirit:format="long" spirit:resolve="dependent" spirit:dependency="(spirit:decode(id(&apos;MODELPARAM_VALUE.busWidth&apos;)) - 1)">31</spirit:left>
-            <spirit:right spirit:format="long">0</spirit:right>
-          </spirit:vector>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>STD_LOGIC_VECTOR</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>outWrEn</spirit:name>
-        <spirit:wire>
-          <spirit:direction>out</spirit:direction>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>std_logic</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>outputFull</spirit:name>
-        <spirit:wire>
-          <spirit:direction>in</spirit:direction>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>std_logic</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>errorCode</spirit:name>
-        <spirit:wire>
-          <spirit:direction>out</spirit:direction>
-          <spirit:vector>
-            <spirit:left spirit:format="long">3</spirit:left>
-            <spirit:right spirit:format="long">0</spirit:right>
-          </spirit:vector>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>STD_LOGIC_VECTOR</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>stateOut</spirit:name>
-        <spirit:wire>
-          <spirit:direction>out</spirit:direction>
-          <spirit:vector>
-            <spirit:left spirit:format="long">3</spirit:left>
-            <spirit:right spirit:format="long">0</spirit:right>
-          </spirit:vector>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>STD_LOGIC_VECTOR</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-    </spirit:ports>
-    <spirit:modelParameters>
-      <spirit:modelParameter xsi:type="spirit:nameValueTypeType" spirit:dataType="integer">
-        <spirit:name>busWidth</spirit:name>
-        <spirit:displayName>Buswidth</spirit:displayName>
-        <spirit:value spirit:format="long" spirit:resolve="generated" spirit:id="MODELPARAM_VALUE.busWidth">32</spirit:value>
-      </spirit:modelParameter>
-    </spirit:modelParameters>
-  </spirit:model>
-  <spirit:fileSets>
-    <spirit:fileSet>
-      <spirit:name>xilinx_anylanguagesynthesis_view_fileset</spirit:name>
-      <spirit:file>
-        <spirit:name>src/globals.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/checksum.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/mac.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/multiplex.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/neuron.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/parallelize.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/relu.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/shiftIn.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/shiftOut.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/packaging.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>CHECKSUM_e24132ad</spirit:userFileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Block_proc.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_Border_proc.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_Border_proc_borderbuf.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_HConvH_proc6.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_VConvH_proc.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_VConvH_proc_linebuf_0.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/dummyModule.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/fifo_w32_d2_A.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/fifo_w32_d3_A.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/filter11x11_strm.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/filter11x11_strm_ent.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/start_for_Block_proc_U0.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/start_for_Loop_Border_proc_U0.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/start_for_Loop_VConvH_proc_U0.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>CHECKSUM_636a71e0</spirit:userFileType>
-      </spirit:file>
-    </spirit:fileSet>
-    <spirit:fileSet>
-      <spirit:name>xilinx_anylanguagebehavioralsimulation_view_fileset</spirit:name>
-      <spirit:file>
-        <spirit:name>src/globals.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/checksum.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/mac.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/multiplex.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/neuron.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/parallelize.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/relu.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/shiftIn.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/shiftOut.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/packaging.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Block_proc.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_Border_proc.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_Border_proc_borderbuf.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_HConvH_proc6.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_VConvH_proc.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_VConvH_proc_linebuf_0.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/dummyModule.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/fifo_w32_d2_A.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/fifo_w32_d3_A.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/filter11x11_strm.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/filter11x11_strm_ent.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/start_for_Block_proc_U0.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/start_for_Loop_Border_proc_U0.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/start_for_Loop_VConvH_proc_U0.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-      </spirit:file>
-    </spirit:fileSet>
-    <spirit:fileSet>
-      <spirit:name>xilinx_xpgui_view_fileset</spirit:name>
-      <spirit:file>
-        <spirit:name>xgui/packaging_v2_0.tcl</spirit:name>
-        <spirit:fileType>tclSource</spirit:fileType>
-        <spirit:userFileType>CHECKSUM_b2335c60</spirit:userFileType>
-        <spirit:userFileType>XGUI_VERSION_2</spirit:userFileType>
-      </spirit:file>
-    </spirit:fileSet>
-  </spirit:fileSets>
-  <spirit:description>packaging_v2_0</spirit:description>
-  <spirit:parameters>
-    <spirit:parameter>
-      <spirit:name>busWidth</spirit:name>
-      <spirit:displayName>Buswidth</spirit:displayName>
-      <spirit:value spirit:format="long" spirit:resolve="user" spirit:id="PARAM_VALUE.busWidth">32</spirit:value>
-    </spirit:parameter>
-    <spirit:parameter>
-      <spirit:name>Component_Name</spirit:name>
-      <spirit:value spirit:resolve="user" spirit:id="PARAM_VALUE.Component_Name" spirit:order="1">packaging_v1_0</spirit:value>
-    </spirit:parameter>
-  </spirit:parameters>
-  <spirit:vendorExtensions>
-    <xilinx:coreExtensions>
-      <xilinx:supportedFamilies>
-        <xilinx:family xilinx:lifeCycle="Production">kintex7</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">kintex7l</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">artix7</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">artix7l</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">aartix7</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">zynq</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">azynq</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">spartan7</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">aspartan7</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">kintexuplus</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">zynquplus</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">kintexu</xilinx:family>
-      </xilinx:supportedFamilies>
-      <xilinx:taxonomies>
-        <xilinx:taxonomy>/UserIP</xilinx:taxonomy>
-      </xilinx:taxonomies>
-      <xilinx:displayName>packaging_v2_0</xilinx:displayName>
-      <xilinx:definitionSource>package_project</xilinx:definitionSource>
-      <xilinx:coreRevision>3</xilinx:coreRevision>
-      <xilinx:upgrades>
-        <xilinx:canUpgradeFrom>xilinx.com:user:packaging:1.0</xilinx:canUpgradeFrom>
-      </xilinx:upgrades>
-      <xilinx:coreCreationDateTime>2019-10-16T09:51:10Z</xilinx:coreCreationDateTime>
-      <xilinx:tags>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@105e225f_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@353c6712_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@362c957e_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5bebdbc4_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@170add92_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@33cfaeaa_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@369ec517_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@33360b83_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@28564d66_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@774c8c63_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@8b338fb_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@18d437fb_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7761b32_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2a4a3414_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2da708a4_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4b3376ad_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@632b59b7_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@44c052a5_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4bc4feed_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@608c5e8_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1225cb57_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7e1f1e3e_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3164125a_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@45e925e9_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4a02a502_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3e3a2e80_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2923fda7_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@23282350_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3b307b96_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@31cfc384_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7a410b56_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@264e2c7a_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@715e6ca8_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@40f76d5e_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1e7ab314_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5c91265a_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2f182399_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@172d5c30_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@28187eb0_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@67c86b0e_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@527eeb70_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@8554693_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@43504843_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@46bcae18_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@601e72f0_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6b962d7b_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@64b06441_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@56f138ba_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@ae935c9_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@391794ed_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@62166f9_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5b5a23a5_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@18a1fe76_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@482afb2c_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@338f273f_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2da359be_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@34956441_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@583f330f_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5dcd6158_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1d3eee88_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2211d83c_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@16a24311_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3ab34342_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4291f3f7_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@31ba1ecd_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7723b700_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2229e8a4_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6f52e252_ARCHIVE_LOCATION">z:/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1eef7928_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@45371b79_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5ee51691_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@726e8b01_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@d3f40d5_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6928dce3_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3f0eef12_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6e6e7fd3_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@51de4e7a_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@152d85ef_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@394d181_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1880e1c7_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@41e3eb42_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@121a5d68_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@70dc5e2b_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2a45e81e_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@294f0b2e_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1babb820_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@65bb7c12_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@15bece10_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3e72a132_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@46185c96_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@60e928cb_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6ec05f6_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2250e6e9_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7d8e0eab_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4ca22b7_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6c8527a7_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5e471d5a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@264be9b7_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5a898915_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@686fa915_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2200b64d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7c16bdf3_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1b15d990_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7d056b90_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@56c37d0c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@50603fc6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@293117f4_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@24459cb5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@bdb273d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3eb0d203_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4f3fef78_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@37eac613_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@79c88937_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2c99fe68_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7d28c89a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@386fcd07_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@17b07d86_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@24ce2eed_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@180eeee8_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3736bfe5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@281ae218_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1bfc9500_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@d4c29f6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@275bb7ec_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@358fa6a5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@71a69966_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6664dce8_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@562911d1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5fd1abe9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2d3acdd6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@35c55229_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@47cd5711_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1bd0b9cc_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@368189e1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@63257e36_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@57dd532c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1380aeb1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7eefef0c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6945470a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7239f15_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4c075595_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7c744732_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3eb41a7a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@33e89d58_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@721ed88f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@63c462ec_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@431a6b84_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@479a5653_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@71a6b4f7_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@d09a70d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@604a5e5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@bece180_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2f5b421d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3244fa20_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@615ec8f5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@644f952d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@31fa183d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4c222823_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@217996e4_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@f5f8518_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4280b630_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@54dfebcd_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@a55ace_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6f115984_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6b6bcd6c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4620f458_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@655fb8fa_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2d88cdcb_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@8891cee_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4bd1bf48_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7333c165_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@e5a660b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@92274fc_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@257b7316_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4c47ec24_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@23ee88c7_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@c8c7cc0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7e63fb66_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@66c45433_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@75c793c0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@56c00d39_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4ddf8668_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@637493f0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@d06ec32_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@8132fdf_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@205c3368_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@192872f1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2eb6b48d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@129fc4d6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@44e64ea0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@41eb38ea_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5b7cb39d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@645280f8_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2fd14edb_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4366e419_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@375b1190_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@54f6cfa4_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5d703afd_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@723cea03_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6d41e3a0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@21f9bf8d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@167ac3d6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@203a7b5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6a4dfd15_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@287aa38_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@359b04d5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@17a1773c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6365ae38_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@16d9cb42_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@894eed1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@39482203_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@457d9dcd_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@43f7d2e0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3ad5bbf7_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@504c6b40_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5a1d7d0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3d7e5662_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@195351e8_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7543392d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@44f5366c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@37e3e1b4_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@412e7907_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1fccbf08_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3358ad6b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@25506c83_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@769f4d4d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1ae0c498_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@f97a33a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@52fc52b0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6e99f073_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2236f408_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@41d2fa2b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5f3e4c92_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@574e4f9c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@66b8179f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@49bc9d25_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2308061f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@30917538_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@23f72c2c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5507a44_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@56e4222f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@f20ece1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6147a8cd_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@35d4af28_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@b1f1c28_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2075fdc8_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4a5fce65_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@75ddd9f7_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@289879d5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@37ba5673_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4ce1653a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@bfb0d59_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5d1bc88_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@560f0e0b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2098e713_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1dd2877b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1cdc1b19_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4024f74f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@16ad8cde_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@626ba9c9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@107daa22_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1f3cafc6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@73b0d65e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@180870e9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@24d8e1de_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1ddea386_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4ce65e27_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7a272e40_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@71e6e298_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2f1a29df_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@704065c4_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@48040f20_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3f723545_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@134fc764_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@77ba6731_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@21115e0a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@54f8c0c2_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@334eb063_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6ad23f92_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@73147595_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5dd1ff4a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1fcb693_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@34a000ed_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1b60c852_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2a8980b2_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@30ca08ac_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@67189fc1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1a448d75_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2f3b136c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@40a7fea_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@25e6c81b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7e90ec3d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7bf9daf0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@77dd2948_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@29cb9324_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3c50fd3d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5d76aa1d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1c2340fa_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2aa200f7_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@74ca2797_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@73914fc4_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@51cf192_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3e5f08c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5b0f787f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1c9b56f4_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@727f7362_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5b0a6471_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2d76c963_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@284f37e8_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@365734b3_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1435ccea_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@19c8ef8e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6e3c19df_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7181324b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@35e9f36a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2110b2a3_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@55bdfbbd_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@55e3706d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6a303979_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2e1412ad_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7013988a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@14488285_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1d80749c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@56994c83_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2b087577_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@aaabb2a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@fdc5315_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6c86fec_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5ce6dc5b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2bd3de27_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5eba574b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5f28a6f5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5c73aed2_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3afdb18f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@28dfe51_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2c7556f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7ac73acc_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@69dce28_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7e142eff_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@28b8cf04_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4f71a2b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@fd64fbe_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@17f194f4_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6719a036_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@368e17dd_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4dbf8e45_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5b0ff594_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@45c7b99a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4b96b736_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4a06a5b8_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1922c47e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4bd5dda6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@784d77a4_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7209eb9e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1fa0ed28_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5216be59_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@56affad_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@51665cd1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@233c8088_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7460e16b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@63f4a55f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4e96d57f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@24026c74_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@63e580be_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@71300f0f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6caa615f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@449d04e1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@56ad56e6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@49e1895b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@21c099c4_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1c77e79d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@bc8a662_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@33dca678_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6c3bcc81_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@37c4f403_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@569c0c17_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4479efeb_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@64024ba4_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@52279613_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5d50831_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5d058c03_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@401eccd7_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@14b4b51f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@47084558_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@481e3063_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7bfed3e1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@47ac4f62_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4eece3b4_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@55429231_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2c947f02_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5461bef2_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6d0888fa_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@761d877b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@528df47d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@583bb054_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6b2818b0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4334c216_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6bce39e7_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6ca29cc4_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@53616d9b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@32b0f86_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@312e8143_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@285fff8_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@551e2905_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@e67ab95_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@641b85fc_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@eaf8b99_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@20f556fb_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7724a7f1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1ecd6c31_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@132cea4f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@36cefd05_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2a042ed4_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3e0e30bf_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3d1e503_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3ec6ef52_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4fb2ce0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@78c34175_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@12c0888_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6b1dabd3_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1d527604_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@25fc77e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@74335ce_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2d1131e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@617d5bd6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7119b72d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@26cf6d3f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5adc235a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@70b40fb5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@45a750a3_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1e5c066e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7aab8857_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@39a0f2f1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@78e821d9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2aef726c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@519cccd6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7320b7b9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7e61ff95_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@63338c0d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@57383800_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@34f3e5dd_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@66e379fe_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@66fc2f9b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7f01d0b6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@33ed042e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@173ede34_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5e0ce528_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@30f86729_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@399c88f4_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@320d0d3_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1fa3da96_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2f046848_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@59acbf5a_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@a07f0fe_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@395a04e7_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3344c68c_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@327c7dac_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@203b2612_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2e160858_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@782e4ce9_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2483a0e_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7e033a94_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@475ded70_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@148138c9_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3dcb7565_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@ba94ac2_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4fe34cce_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@476287a9_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@789a6185_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@f28e30e_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1ba72485_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@361e41fb_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1cd28dcc_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@69eaa171_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@321d2e6c_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@689effc0_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@cd36380_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3d19e2e1_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@26945477_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2d1391ed_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6dbc31c2_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5d01ece_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5cab06f0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1dc02665_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@676b6c8b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@38a7a9e6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7ea5ba83_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4dcc740f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@25a48121_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@43e40283_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@a9b720f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@31a8f860_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4c29334a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@70fe5bef_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7ec91951_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4ef43c4d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@57f035bf_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6d976609_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@592b3c1e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@e34fea5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@205f36e3_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5f029e19_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@27526b93_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@30983a10_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@13b249cb_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@41d61c40_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@687d6291_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7cf84bb1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7fb7a036_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7d28ae80_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@208677df_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@72ccc351_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@78c3faad_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5b351fb9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@14463fb5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5ea46783_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4152b788_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@32cfcb6a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5e3e77a6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2b2849e2_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@78e81ff9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2da094c0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6c7e555d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@17c5baa9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5198f12c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6def8c44_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5a764cbd_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@67f8f674_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2a9797ce_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@f621475_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1f2fceeb_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7b155f04_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2e25bb03_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@56ef40f0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@18a285b5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@345b7192_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@79846876_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1d9b9a44_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@55373634_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@969e1f5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1dd523c0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5f3ef58a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1105e5a7_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4aab0651_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@74b97292_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@50bc919f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1c354e26_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@42c48705_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@d923cf9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@40b8262_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@24b347fe_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@991de85_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7e4c87b9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@20cdf5f1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1c1af2d1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5a0e255e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3efb7b23_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@bf08ba8_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@44a3166b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@442d582_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@73c3c2b9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@434a433d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@280478a3_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@72b0c98c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@222199c7_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5a48df2a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@33813916_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@741df183_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@17d68231_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@216fb3ed_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6c34f000_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1aee148f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@30a0a7b1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@14585d45_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6e1dd1d2_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7bacd11a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@408e5a98_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1b8ed28d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6a430d9e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4e4d5331_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@50b9190e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@34b4c04c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@32afe6af_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2590cea1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2669cbe9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@25acf74_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@60fa9a3_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2e911fca_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4e3319d3_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7e2d10c5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@305f96ec_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@42175074_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5ce39d25_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@62c9ebee_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@32b07558_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7b8c8df5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@78191c43_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2491457d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@10f42d8_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@170aa26_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4e69a0a4_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@544c77a3_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@797c3024_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@99323fa_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4ac726aa_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@268916e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4c04c13e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5a85fbd2_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6a9e0604_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2d63b5cc_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@13283555_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@180fd2a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6e242f01_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5cb6f9db_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@721ad5dc_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5128cc9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1e66ea9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3f242680_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@64dbd022_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@d105b57_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6333f170_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2c14aced_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@22845e32_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2677fbd3_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4ef57865_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7c3d3a15_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6c7728e3_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@b9c200_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3997847_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4c6de413_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@64ad0cf4_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@f304253_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1006cde9_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@46afee4b_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@461d0750_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@390f5aa3_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3d39c98d_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@283af8cd_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4c56d984_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@413983e5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@69a504a6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@9b9fc4b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6dab861d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6559e95d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7c3b42a1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@53126a32_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@244d7968_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4f6dd23f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5f640945_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3e504621_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@77748a0a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@683dc52d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@ed56536_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@386f4469_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@583eda0f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@84e7ae9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@351bac2d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2d0c9b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@52fafe34_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7cdf83b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2ba9d615_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2fa86abf_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2019c5af_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@257b3bda_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3e9e6a0b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4be317ad_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5b9442df_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@11e35aec_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@499b8576_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1f2f8af0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@619fdd00_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@609f3d87_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2e35fdcf_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@13d1de5c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@712ae511_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@fa8a126_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@31fb6f2f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@437d428e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@18721c00_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@750a5f0f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5851466e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7f188b86_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@25d62a58_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@caa9b60_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1ed2eba_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3768eefa_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@13ec6bd6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6a05b019_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3e318997_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@11b476e2_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@28744bb3_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1f9e4bb0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1492282a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@220d0962_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3e8a46dd_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1e9ebd80_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@47884b5b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@377efc72_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1f0b1da5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@33d68a7f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@69556a02_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6f950ec6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6705aed6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3a6e87c1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2dea9999_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1794e60d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@70c68dbf_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@65372a0c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7b724e0e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@c659e30_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2320df12_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@684b548a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@29d3870d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2d7741c8_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3462b2f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5dbfc21e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1987dbbe_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6a10e844_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@863afc2_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@182c3bbf_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4fdf2685_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@741f4f2b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1664b625_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@55a383ee_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@a7e8fc1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5fc3fe86_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@58ecee45_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@194b2dbf_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@48c027aa_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@549226e3_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@612c40be_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5be2f340_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@48f69a63_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6849d369_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@34bfd1b0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6293d71c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@179649e7_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@24292b71_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7ea85aee_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7a0e41d2_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@b1848a0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2b67cda9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5d370eb1_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@50b6171d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@61800e9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3ddcc32c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@227120ab_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2d094e3f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7c3d5288_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@67387690_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5a1cba7f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4a0b379d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@17b10c13_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@77561f19_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@72583dea_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3d830430_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4662fdd2_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@27938ea6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1099e024_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@73583b59_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4da5eeae_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1380d870_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3e13037c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4c031002_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1ff11c3d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@205eaee8_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@692b548c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@71decb7a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7e791e3e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@745f0e0f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1819aa47_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@52a5ab83_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@53fbbc61_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@166c7ce0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@35e8da7a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@36fd815b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4454ac06_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1b7697c0_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@698c2495_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@bcf54ad_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@47f8aa4e_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@362046c6_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3e20fedd_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@e7c4e2a_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@38ddf109_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@11262b1f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@622a864f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7af4c6fd_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2aa4f5be_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@423bfb05_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@63a468c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2c019e74_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@599968_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4122a75f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3b2ca666_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6d378845_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3dcdf79d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@72c3a1b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6abea921_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@574c9a78_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4f1fd5bd_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4a0df3c3_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3ba12639_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7b54e061_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@e0838d2_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7338e8ec_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@769e723b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4874b475_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6d683fc_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@70adc78d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1c2eb1b9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1f260670_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1f7bdead_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@66be6aaa_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1e7ac6b8_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@39920438_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@316f4f49_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@592443fb_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@291be812_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@28f8d0c3_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@174a426c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7fe99329_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3aee96c9_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3d437f17_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7d00c445_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3983c207_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@57779637_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2060481b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6028499b_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@642f2563_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@74015bd5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4c81c226_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2f2a4020_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@14f284b5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3de50151_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3b809747_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7a3f6e7f_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4a797b07_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@543ac7c5_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5e80dd9d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@32675e10_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7a7f7694_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4b64e15d_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@248bc35_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7fcb21c3_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2164a63c_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6f8a2c49_ARCHIVE_LOCATION">c:/Users/johan/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@f646e0d_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@245cca0a_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7f846f9e_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@24b4952a_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4fc25bb8_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@11e6a1bf_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@21b0d5e7_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6c5dccdf_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2a7f3c13_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3add5be2_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@453c1d1e_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1cf29c2d_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@222d5697_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7ac8d917_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@535a7f26_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3b548089_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5fc04850_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4c913d17_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@179d09d7_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4bcbf8d6_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@755dba8a_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@673ebc77_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7c5e9280_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@188a972e_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7c58ab2f_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@186d10f9_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@341a369d_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@5fc1b953_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@212b2959_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@440a4d7b_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3673c74b_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1928ae46_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2d54bb37_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@77e1711d_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@598dc38e_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2fda988e_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4e1b422e_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@416ec275_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@19e9ce5f_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@655a623f_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@48d8416b_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7b07328b_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@1cc52049_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@112d8f87_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@61adbc0_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@7b2935c7_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@38138e4f_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@464ef59_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo/neuron_packed</xilinx:tag>
-      </xilinx:tags>
-    </xilinx:coreExtensions>
-    <xilinx:packagingInfo>
-      <xilinx:xilinxVersion>2018.3</xilinx:xilinxVersion>
-      <xilinx:checksum xilinx:scope="busInterfaces" xilinx:value="4107a84a"/>
-      <xilinx:checksum xilinx:scope="fileGroups" xilinx:value="ad41f57a"/>
-      <xilinx:checksum xilinx:scope="ports" xilinx:value="427ec09f"/>
-      <xilinx:checksum xilinx:scope="hdlParameters" xilinx:value="4c9ef9f8"/>
-      <xilinx:checksum xilinx:scope="parameters" xilinx:value="017f4340"/>
-    </xilinx:packagingInfo>
-  </spirit:vendorExtensions>
-</spirit:component>

+ 0 - 321
src/ip_repo/neuron_packed/src/Block_proc.vhd

@@ -1,321 +0,0 @@
--- ==============================================================
--- RTL generated by Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC
--- Version: 2018.3
--- Copyright (C) 1986-2018 Xilinx, Inc. All Rights Reserved.
--- 
--- ===========================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-
-entity Block_proc is
-port (
-    ap_clk : IN STD_LOGIC;
-    ap_rst : IN STD_LOGIC;
-    ap_start : IN STD_LOGIC;
-    start_full_n : IN STD_LOGIC;
-    ap_done : OUT STD_LOGIC;
-    ap_continue : IN STD_LOGIC;
-    ap_idle : OUT STD_LOGIC;
-    ap_ready : OUT STD_LOGIC;
-    start_out : OUT STD_LOGIC;
-    start_write : OUT STD_LOGIC;
-    width_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    width_empty_n : IN STD_LOGIC;
-    width_read : OUT STD_LOGIC;
-    height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    height_empty_n : IN STD_LOGIC;
-    height_read : OUT STD_LOGIC;
-    width_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    width_out_full_n : IN STD_LOGIC;
-    width_out_write : OUT STD_LOGIC;
-    height_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    height_out_full_n : IN STD_LOGIC;
-    height_out_write : OUT STD_LOGIC;
-    vconv_xlim_out_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    vconv_xlim_out_out_full_n : IN STD_LOGIC;
-    vconv_xlim_out_out_write : OUT STD_LOGIC );
-end;
-
-
-architecture behav of Block_proc is 
-    constant ap_const_logic_1 : STD_LOGIC := '1';
-    constant ap_const_logic_0 : STD_LOGIC := '0';
-    constant ap_ST_fsm_state1 : STD_LOGIC_VECTOR (1 downto 0) := "01";
-    constant ap_ST_fsm_state2 : STD_LOGIC_VECTOR (1 downto 0) := "10";
-    constant ap_const_lv32_0 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000000";
-    constant ap_const_lv32_1 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000001";
-    constant ap_const_lv32_FFFFFFF6 : STD_LOGIC_VECTOR (31 downto 0) := "11111111111111111111111111110110";
-    constant ap_const_boolean_1 : BOOLEAN := true;
-
-    signal real_start : STD_LOGIC;
-    signal start_once_reg : STD_LOGIC := '0';
-    signal ap_done_reg : STD_LOGIC := '0';
-    signal ap_CS_fsm : STD_LOGIC_VECTOR (1 downto 0) := "01";
-    attribute fsm_encoding : string;
-    attribute fsm_encoding of ap_CS_fsm : signal is "none";
-    signal ap_CS_fsm_state1 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state1 : signal is "none";
-    signal internal_ap_ready : STD_LOGIC;
-    signal width_blk_n : STD_LOGIC;
-    signal height_blk_n : STD_LOGIC;
-    signal width_out_blk_n : STD_LOGIC;
-    signal ap_CS_fsm_state2 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state2 : signal is "none";
-    signal height_out_blk_n : STD_LOGIC;
-    signal vconv_xlim_out_out_blk_n : STD_LOGIC;
-    signal width_read_reg_69 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_state1 : BOOLEAN;
-    signal height_read_reg_75 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_state2 : BOOLEAN;
-    signal ap_NS_fsm : STD_LOGIC_VECTOR (1 downto 0);
-
-
-begin
-
-
-
-
-    ap_CS_fsm_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_CS_fsm <= ap_ST_fsm_state1;
-            else
-                ap_CS_fsm <= ap_NS_fsm;
-            end if;
-        end if;
-    end process;
-
-
-    ap_done_reg_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_done_reg <= ap_const_logic_0;
-            else
-                if ((ap_continue = ap_const_logic_1)) then 
-                    ap_done_reg <= ap_const_logic_0;
-                elsif ((not(((vconv_xlim_out_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0))) and (ap_const_logic_1 = ap_CS_fsm_state2))) then 
-                    ap_done_reg <= ap_const_logic_1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    start_once_reg_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                start_once_reg <= ap_const_logic_0;
-            else
-                if (((internal_ap_ready = ap_const_logic_0) and (real_start = ap_const_logic_1))) then 
-                    start_once_reg <= ap_const_logic_1;
-                elsif ((internal_ap_ready = ap_const_logic_1)) then 
-                    start_once_reg <= ap_const_logic_0;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((not(((real_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
-                height_read_reg_75 <= height_dout;
-                width_read_reg_69 <= width_dout;
-            end if;
-        end if;
-    end process;
-
-    ap_NS_fsm_assign_proc : process (real_start, ap_done_reg, ap_CS_fsm, ap_CS_fsm_state1, width_empty_n, height_empty_n, width_out_full_n, height_out_full_n, vconv_xlim_out_out_full_n, ap_CS_fsm_state2)
-    begin
-        case ap_CS_fsm is
-            when ap_ST_fsm_state1 => 
-                if ((not(((real_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
-                    ap_NS_fsm <= ap_ST_fsm_state2;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_state1;
-                end if;
-            when ap_ST_fsm_state2 => 
-                if ((not(((vconv_xlim_out_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0))) and (ap_const_logic_1 = ap_CS_fsm_state2))) then
-                    ap_NS_fsm <= ap_ST_fsm_state1;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_state2;
-                end if;
-            when others =>  
-                ap_NS_fsm <= "XX";
-        end case;
-    end process;
-    ap_CS_fsm_state1 <= ap_CS_fsm(0);
-    ap_CS_fsm_state2 <= ap_CS_fsm(1);
-
-    ap_block_state1_assign_proc : process(real_start, ap_done_reg, width_empty_n, height_empty_n)
-    begin
-                ap_block_state1 <= ((real_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1));
-    end process;
-
-
-    ap_block_state2_assign_proc : process(width_out_full_n, height_out_full_n, vconv_xlim_out_out_full_n)
-    begin
-                ap_block_state2 <= ((vconv_xlim_out_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0));
-    end process;
-
-
-    ap_done_assign_proc : process(ap_done_reg, width_out_full_n, height_out_full_n, vconv_xlim_out_out_full_n, ap_CS_fsm_state2)
-    begin
-        if ((not(((vconv_xlim_out_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0))) and (ap_const_logic_1 = ap_CS_fsm_state2))) then 
-            ap_done <= ap_const_logic_1;
-        else 
-            ap_done <= ap_done_reg;
-        end if; 
-    end process;
-
-
-    ap_idle_assign_proc : process(real_start, ap_CS_fsm_state1)
-    begin
-        if (((real_start = ap_const_logic_0) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            ap_idle <= ap_const_logic_1;
-        else 
-            ap_idle <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    ap_ready <= internal_ap_ready;
-
-    height_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            height_blk_n <= height_empty_n;
-        else 
-            height_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    height_out_blk_n_assign_proc : process(height_out_full_n, ap_CS_fsm_state2)
-    begin
-        if ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-            height_out_blk_n <= height_out_full_n;
-        else 
-            height_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    height_out_din <= height_read_reg_75;
-
-    height_out_write_assign_proc : process(width_out_full_n, height_out_full_n, vconv_xlim_out_out_full_n, ap_CS_fsm_state2)
-    begin
-        if ((not(((vconv_xlim_out_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0))) and (ap_const_logic_1 = ap_CS_fsm_state2))) then 
-            height_out_write <= ap_const_logic_1;
-        else 
-            height_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    height_read_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_empty_n, height_empty_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            height_read <= ap_const_logic_1;
-        else 
-            height_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    internal_ap_ready_assign_proc : process(width_out_full_n, height_out_full_n, vconv_xlim_out_out_full_n, ap_CS_fsm_state2)
-    begin
-        if ((not(((vconv_xlim_out_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0))) and (ap_const_logic_1 = ap_CS_fsm_state2))) then 
-            internal_ap_ready <= ap_const_logic_1;
-        else 
-            internal_ap_ready <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    real_start_assign_proc : process(ap_start, start_full_n, start_once_reg)
-    begin
-        if (((start_full_n = ap_const_logic_0) and (start_once_reg = ap_const_logic_0))) then 
-            real_start <= ap_const_logic_0;
-        else 
-            real_start <= ap_start;
-        end if; 
-    end process;
-
-    start_out <= real_start;
-
-    start_write_assign_proc : process(real_start, start_once_reg)
-    begin
-        if (((start_once_reg = ap_const_logic_0) and (real_start = ap_const_logic_1))) then 
-            start_write <= ap_const_logic_1;
-        else 
-            start_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    vconv_xlim_out_out_blk_n_assign_proc : process(vconv_xlim_out_out_full_n, ap_CS_fsm_state2)
-    begin
-        if ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-            vconv_xlim_out_out_blk_n <= vconv_xlim_out_out_full_n;
-        else 
-            vconv_xlim_out_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    vconv_xlim_out_out_din <= std_logic_vector(unsigned(width_read_reg_69) + unsigned(ap_const_lv32_FFFFFFF6));
-
-    vconv_xlim_out_out_write_assign_proc : process(width_out_full_n, height_out_full_n, vconv_xlim_out_out_full_n, ap_CS_fsm_state2)
-    begin
-        if ((not(((vconv_xlim_out_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0))) and (ap_const_logic_1 = ap_CS_fsm_state2))) then 
-            vconv_xlim_out_out_write <= ap_const_logic_1;
-        else 
-            vconv_xlim_out_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    width_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_empty_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            width_blk_n <= width_empty_n;
-        else 
-            width_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    width_out_blk_n_assign_proc : process(width_out_full_n, ap_CS_fsm_state2)
-    begin
-        if ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-            width_out_blk_n <= width_out_full_n;
-        else 
-            width_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    width_out_din <= width_read_reg_69;
-
-    width_out_write_assign_proc : process(width_out_full_n, height_out_full_n, vconv_xlim_out_out_full_n, ap_CS_fsm_state2)
-    begin
-        if ((not(((vconv_xlim_out_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0))) and (ap_const_logic_1 = ap_CS_fsm_state2))) then 
-            width_out_write <= ap_const_logic_1;
-        else 
-            width_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    width_read_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_empty_n, height_empty_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            width_read <= ap_const_logic_1;
-        else 
-            width_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-end behav;

+ 0 - 896
src/ip_repo/neuron_packed/src/Loop_Border_proc.vhd

@@ -1,896 +0,0 @@
--- ==============================================================
--- RTL generated by Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC
--- Version: 2018.3
--- Copyright (C) 1986-2018 Xilinx, Inc. All Rights Reserved.
--- 
--- ===========================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-
-entity Loop_Border_proc is
-port (
-    ap_clk : IN STD_LOGIC;
-    ap_rst : IN STD_LOGIC;
-    ap_start : IN STD_LOGIC;
-    ap_done : OUT STD_LOGIC;
-    ap_continue : IN STD_LOGIC;
-    ap_idle : OUT STD_LOGIC;
-    ap_ready : OUT STD_LOGIC;
-    width_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    width_empty_n : IN STD_LOGIC;
-    width_read : OUT STD_LOGIC;
-    height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    height_empty_n : IN STD_LOGIC;
-    height_read : OUT STD_LOGIC;
-    dst_V_TDATA : OUT STD_LOGIC_VECTOR (31 downto 0);
-    dst_V_TVALID : OUT STD_LOGIC;
-    dst_V_TREADY : IN STD_LOGIC;
-    vconv_xlim_loc_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    vconv_xlim_loc_empty_n : IN STD_LOGIC;
-    vconv_xlim_loc_read : OUT STD_LOGIC;
-    vconv_V_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    vconv_V_empty_n : IN STD_LOGIC;
-    vconv_V_read : OUT STD_LOGIC );
-end;
-
-
-architecture behav of Loop_Border_proc is 
-    constant ap_const_logic_1 : STD_LOGIC := '1';
-    constant ap_const_logic_0 : STD_LOGIC := '0';
-    constant ap_ST_fsm_state1 : STD_LOGIC_VECTOR (3 downto 0) := "0001";
-    constant ap_ST_fsm_state2 : STD_LOGIC_VECTOR (3 downto 0) := "0010";
-    constant ap_ST_fsm_pp0_stage0 : STD_LOGIC_VECTOR (3 downto 0) := "0100";
-    constant ap_ST_fsm_state8 : STD_LOGIC_VECTOR (3 downto 0) := "1000";
-    constant ap_const_lv32_0 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000000";
-    constant ap_const_boolean_1 : BOOLEAN := true;
-    constant ap_const_lv1_0 : STD_LOGIC_VECTOR (0 downto 0) := "0";
-    constant ap_const_lv1_1 : STD_LOGIC_VECTOR (0 downto 0) := "1";
-    constant ap_const_lv2_0 : STD_LOGIC_VECTOR (1 downto 0) := "00";
-    constant ap_const_lv2_2 : STD_LOGIC_VECTOR (1 downto 0) := "10";
-    constant ap_const_lv2_3 : STD_LOGIC_VECTOR (1 downto 0) := "11";
-    constant ap_const_lv2_1 : STD_LOGIC_VECTOR (1 downto 0) := "01";
-    constant ap_const_boolean_0 : BOOLEAN := false;
-    constant ap_const_lv32_2 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000010";
-    constant ap_const_lv32_1 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000001";
-    constant ap_const_lv64_0 : STD_LOGIC_VECTOR (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000000";
-    constant ap_const_lv10_0 : STD_LOGIC_VECTOR (9 downto 0) := "0000000000";
-    constant ap_const_lv32_FFFFFFF5 : STD_LOGIC_VECTOR (31 downto 0) := "11111111111111111111111111110101";
-    constant ap_const_lv32_FFFFFFFA : STD_LOGIC_VECTOR (31 downto 0) := "11111111111111111111111111111010";
-    constant ap_const_lv32_FFFFFFFB : STD_LOGIC_VECTOR (31 downto 0) := "11111111111111111111111111111011";
-    constant ap_const_lv10_5 : STD_LOGIC_VECTOR (9 downto 0) := "0000000101";
-    constant ap_const_lv64_1 : STD_LOGIC_VECTOR (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000001";
-    constant ap_const_lv10_1 : STD_LOGIC_VECTOR (9 downto 0) := "0000000001";
-    constant ap_const_lv10_6 : STD_LOGIC_VECTOR (9 downto 0) := "0000000110";
-    constant ap_const_lv10_3FB : STD_LOGIC_VECTOR (9 downto 0) := "1111111011";
-    constant ap_const_lv32_3 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000011";
-
-    signal ap_done_reg : STD_LOGIC := '0';
-    signal ap_CS_fsm : STD_LOGIC_VECTOR (3 downto 0) := "0001";
-    attribute fsm_encoding : string;
-    attribute fsm_encoding of ap_CS_fsm : signal is "none";
-    signal ap_CS_fsm_state1 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state1 : signal is "none";
-    signal dst_V_1_data_out : STD_LOGIC_VECTOR (31 downto 0);
-    signal dst_V_1_vld_in : STD_LOGIC;
-    signal dst_V_1_vld_out : STD_LOGIC;
-    signal dst_V_1_ack_in : STD_LOGIC;
-    signal dst_V_1_ack_out : STD_LOGIC;
-    signal dst_V_1_payload_A : STD_LOGIC_VECTOR (31 downto 0);
-    signal dst_V_1_payload_B : STD_LOGIC_VECTOR (31 downto 0);
-    signal dst_V_1_sel_rd : STD_LOGIC := '0';
-    signal dst_V_1_sel_wr : STD_LOGIC := '0';
-    signal dst_V_1_sel : STD_LOGIC;
-    signal dst_V_1_load_A : STD_LOGIC;
-    signal dst_V_1_load_B : STD_LOGIC;
-    signal dst_V_1_state : STD_LOGIC_VECTOR (1 downto 0) := "00";
-    signal dst_V_1_state_cmp_full : STD_LOGIC;
-    signal width_blk_n : STD_LOGIC;
-    signal height_blk_n : STD_LOGIC;
-    signal dst_V_TDATA_blk_n : STD_LOGIC;
-    signal ap_enable_reg_pp0_iter3 : STD_LOGIC := '0';
-    signal ap_block_pp0_stage0 : BOOLEAN;
-    signal exitcond_flatten_reg_499 : STD_LOGIC_VECTOR (0 downto 0);
-    signal exitcond_flatten_reg_499_pp0_iter2_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal ap_enable_reg_pp0_iter4 : STD_LOGIC := '0';
-    signal exitcond_flatten_reg_499_pp0_iter3_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal vconv_xlim_loc_blk_n : STD_LOGIC;
-    signal vconv_V_blk_n : STD_LOGIC;
-    signal ap_CS_fsm_pp0_stage0 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_pp0_stage0 : signal is "none";
-    signal ap_enable_reg_pp0_iter1 : STD_LOGIC := '0';
-    signal brmerge_mid2_reg_516 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_24_i_i_reg_525 : STD_LOGIC_VECTOR (0 downto 0);
-    signal indvar_flatten_reg_145 : STD_LOGIC_VECTOR (63 downto 0);
-    signal i6_0_i_i_i_reg_156 : STD_LOGIC_VECTOR (9 downto 0);
-    signal j_0_i_i_i_reg_167 : STD_LOGIC_VECTOR (9 downto 0);
-    signal width_read_reg_459 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_state1 : BOOLEAN;
-    signal height_read_reg_467 : STD_LOGIC_VECTOR (31 downto 0);
-    signal vconv_xlim_loc_read_reg_473 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_9_i_i_fu_178_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_9_i_i_reg_478 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_CS_fsm_state2 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state2 : signal is "none";
-    signal tmp_i_i_fu_183_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_i_i_reg_483 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_7_i_i_fu_188_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_7_i_i_reg_488 : STD_LOGIC_VECTOR (31 downto 0);
-    signal bound_fu_199_p2 : STD_LOGIC_VECTOR (63 downto 0);
-    signal bound_reg_494 : STD_LOGIC_VECTOR (63 downto 0);
-    signal exitcond_flatten_fu_247_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal ap_block_state3_pp0_stage0_iter0 : BOOLEAN;
-    signal ap_predicate_op59_read_state4 : BOOLEAN;
-    signal ap_block_state4_pp0_stage0_iter1 : BOOLEAN;
-    signal ap_block_state5_pp0_stage0_iter2 : BOOLEAN;
-    signal ap_block_state6_pp0_stage0_iter3 : BOOLEAN;
-    signal ap_block_state6_io : BOOLEAN;
-    signal ap_block_state7_pp0_stage0_iter4 : BOOLEAN;
-    signal ap_block_state7_io : BOOLEAN;
-    signal ap_block_pp0_stage0_11001 : BOOLEAN;
-    signal exitcond_flatten_reg_499_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal indvar_flatten_next_fu_252_p2 : STD_LOGIC_VECTOR (63 downto 0);
-    signal ap_enable_reg_pp0_iter0 : STD_LOGIC := '0';
-    signal j_0_i_i_i_mid2_fu_268_p3 : STD_LOGIC_VECTOR (9 downto 0);
-    signal j_0_i_i_i_mid2_reg_508 : STD_LOGIC_VECTOR (9 downto 0);
-    signal brmerge_mid2_fu_305_p3 : STD_LOGIC_VECTOR (0 downto 0);
-    signal brmerge_mid2_reg_516_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal i6_0_i_i_i_mid2_fu_317_p3 : STD_LOGIC_VECTOR (9 downto 0);
-    signal tmp_24_i_i_fu_325_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_28_i_i_fu_330_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_28_i_i_reg_529 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_28_i_i_reg_529_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_30_i_i_fu_335_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_30_i_i_reg_534 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_30_i_i_reg_534_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_30_i_i_reg_534_pp0_iter2_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal j_fu_340_p2 : STD_LOGIC_VECTOR (9 downto 0);
-    signal tmp_27_i_i_fu_355_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_27_i_i_reg_544 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_29_i_i_fu_360_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_29_i_i_reg_549 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_29_i_i_reg_549_pp0_iter2_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal borderbuf_q1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal pix_out_7_reg_560 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_enable_reg_pp0_iter2 : STD_LOGIC := '0';
-    signal pix_out_8_fu_431_p3 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_pp0_stage0_subdone : BOOLEAN;
-    signal ap_condition_pp0_exit_iter0_state3 : STD_LOGIC;
-    signal borderbuf_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal borderbuf_ce0 : STD_LOGIC;
-    signal borderbuf_we0 : STD_LOGIC;
-    signal borderbuf_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal borderbuf_ce1 : STD_LOGIC;
-    signal tmp_26_i_i_fu_346_p1 : STD_LOGIC_VECTOR (63 downto 0);
-    signal tmp_32_i_i_fu_370_p1 : STD_LOGIC_VECTOR (63 downto 0);
-    signal r_edge_pix_fu_74 : STD_LOGIC_VECTOR (31 downto 0);
-    signal pix_out_fu_78 : STD_LOGIC_VECTOR (31 downto 0);
-    signal l_edge_pix_fu_391_p3 : STD_LOGIC_VECTOR (31 downto 0);
-    signal pix_out_1_fu_82 : STD_LOGIC_VECTOR (31 downto 0);
-    signal pix_in_2_l_edge_pix_s_fu_384_p3 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_pp0_stage0_01001 : BOOLEAN;
-    signal bound_fu_199_p0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal bound_fu_199_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal i6_0_i_cast_i_i_mid1_fu_205_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal notrhs_fu_221_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal notlhs_fu_215_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_17_i_i_fu_209_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal brmerge_i_i_i_not_fu_226_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal j_0_i_cast_i_i_fu_238_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal i_fu_258_p2 : STD_LOGIC_VECTOR (9 downto 0);
-    signal tmp_22_i_i_fu_242_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal i6_0_i_cast_i_i_fu_264_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal notrhs_mid1_fu_288_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal notlhs_mid1_fu_282_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_17_i_i_mid1_fu_276_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal brmerge_i_i_i_not_mi_fu_293_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal brmerge_fu_232_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal brmerge_mid1_fu_299_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal j_0_i_cast_i_i_mid2_s_fu_313_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_31_i_i_fu_365_p2 : STD_LOGIC_VECTOR (9 downto 0);
-    signal sel_tmp_fu_414_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal sel_tmp1_fu_419_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal pix_out_3_fu_424_p3 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_CS_fsm_state8 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state8 : signal is "none";
-    signal ap_NS_fsm : STD_LOGIC_VECTOR (3 downto 0);
-    signal ap_idle_pp0 : STD_LOGIC;
-    signal ap_enable_pp0 : STD_LOGIC;
-    signal bound_fu_199_p00 : STD_LOGIC_VECTOR (63 downto 0);
-    signal bound_fu_199_p10 : STD_LOGIC_VECTOR (63 downto 0);
-
-    component Loop_Border_proc_borderbuf IS
-    generic (
-        DataWidth : INTEGER;
-        AddressRange : INTEGER;
-        AddressWidth : INTEGER );
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        address0 : IN STD_LOGIC_VECTOR (9 downto 0);
-        ce0 : IN STD_LOGIC;
-        we0 : IN STD_LOGIC;
-        d0 : IN STD_LOGIC_VECTOR (31 downto 0);
-        address1 : IN STD_LOGIC_VECTOR (9 downto 0);
-        ce1 : IN STD_LOGIC;
-        q1 : OUT STD_LOGIC_VECTOR (31 downto 0) );
-    end component;
-
-
-
-begin
-    borderbuf_U : component Loop_Border_proc_borderbuf
-    generic map (
-        DataWidth => 32,
-        AddressRange => 662,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => borderbuf_address0,
-        ce0 => borderbuf_ce0,
-        we0 => borderbuf_we0,
-        d0 => vconv_V_dout,
-        address1 => borderbuf_address1,
-        ce1 => borderbuf_ce1,
-        q1 => borderbuf_q1);
-
-
-
-
-
-    ap_CS_fsm_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_CS_fsm <= ap_ST_fsm_state1;
-            else
-                ap_CS_fsm <= ap_NS_fsm;
-            end if;
-        end if;
-    end process;
-
-
-    ap_done_reg_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_done_reg <= ap_const_logic_0;
-            else
-                if ((ap_continue = ap_const_logic_1)) then 
-                    ap_done_reg <= ap_const_logic_0;
-                elsif (((dst_V_1_ack_in = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_state8))) then 
-                    ap_done_reg <= ap_const_logic_1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter0_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter0 <= ap_const_logic_0;
-            else
-                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 
-                    ap_enable_reg_pp0_iter0 <= ap_const_logic_0;
-                elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                    ap_enable_reg_pp0_iter0 <= ap_const_logic_1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter1_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter1 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then
-                    if ((ap_const_logic_1 = ap_condition_pp0_exit_iter0_state3)) then 
-                        ap_enable_reg_pp0_iter1 <= (ap_const_logic_1 xor ap_condition_pp0_exit_iter0_state3);
-                    elsif ((ap_const_boolean_1 = ap_const_boolean_1)) then 
-                        ap_enable_reg_pp0_iter1 <= ap_enable_reg_pp0_iter0;
-                    end if;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter2_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter2 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter2 <= ap_enable_reg_pp0_iter1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter3_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter3 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter3 <= ap_enable_reg_pp0_iter2;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter4_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter4 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter4 <= ap_enable_reg_pp0_iter3;
-                elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                    ap_enable_reg_pp0_iter4 <= ap_const_logic_0;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    dst_V_1_sel_rd_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                dst_V_1_sel_rd <= ap_const_logic_0;
-            else
-                if (((dst_V_1_ack_out = ap_const_logic_1) and (dst_V_1_vld_out = ap_const_logic_1))) then 
-                                        dst_V_1_sel_rd <= not(dst_V_1_sel_rd);
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    dst_V_1_sel_wr_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                dst_V_1_sel_wr <= ap_const_logic_0;
-            else
-                if (((dst_V_1_ack_in = ap_const_logic_1) and (dst_V_1_vld_in = ap_const_logic_1))) then 
-                                        dst_V_1_sel_wr <= not(dst_V_1_sel_wr);
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    dst_V_1_state_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                dst_V_1_state <= ap_const_lv2_0;
-            else
-                if ((((dst_V_1_state = ap_const_lv2_2) and (dst_V_1_vld_in = ap_const_logic_0)) or ((dst_V_1_state = ap_const_lv2_3) and (dst_V_1_vld_in = ap_const_logic_0) and (dst_V_1_ack_out = ap_const_logic_1)))) then 
-                    dst_V_1_state <= ap_const_lv2_2;
-                elsif ((((dst_V_1_state = ap_const_lv2_1) and (dst_V_1_ack_out = ap_const_logic_0)) or ((dst_V_1_state = ap_const_lv2_3) and (dst_V_1_ack_out = ap_const_logic_0) and (dst_V_1_vld_in = ap_const_logic_1)))) then 
-                    dst_V_1_state <= ap_const_lv2_1;
-                elsif (((not(((dst_V_1_vld_in = ap_const_logic_0) and (dst_V_1_ack_out = ap_const_logic_1))) and not(((dst_V_1_ack_out = ap_const_logic_0) and (dst_V_1_vld_in = ap_const_logic_1))) and (dst_V_1_state = ap_const_lv2_3)) or ((dst_V_1_state = ap_const_lv2_1) and (dst_V_1_ack_out = ap_const_logic_1)) or ((dst_V_1_state = ap_const_lv2_2) and (dst_V_1_vld_in = ap_const_logic_1)))) then 
-                    dst_V_1_state <= ap_const_lv2_3;
-                else 
-                    dst_V_1_state <= ap_const_lv2_2;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    i6_0_i_i_i_reg_156_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_fu_247_p2 = ap_const_lv1_0) and (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 
-                i6_0_i_i_i_reg_156 <= i6_0_i_i_i_mid2_fu_317_p3;
-            elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                i6_0_i_i_i_reg_156 <= ap_const_lv10_0;
-            end if; 
-        end if;
-    end process;
-
-    indvar_flatten_reg_145_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_fu_247_p2 = ap_const_lv1_0) and (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 
-                indvar_flatten_reg_145 <= indvar_flatten_next_fu_252_p2;
-            elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                indvar_flatten_reg_145 <= ap_const_lv64_0;
-            end if; 
-        end if;
-    end process;
-
-    j_0_i_i_i_reg_167_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_fu_247_p2 = ap_const_lv1_0) and (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 
-                j_0_i_i_i_reg_167 <= j_fu_340_p2;
-            elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                j_0_i_i_i_reg_167 <= ap_const_lv10_0;
-            end if; 
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((ap_const_logic_1 = ap_CS_fsm_state2)) then
-                bound_reg_494 <= bound_fu_199_p2;
-                tmp_7_i_i_reg_488 <= tmp_7_i_i_fu_188_p2;
-                tmp_9_i_i_reg_478 <= tmp_9_i_i_fu_178_p2;
-                tmp_i_i_reg_483 <= tmp_i_i_fu_183_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_fu_247_p2 = ap_const_lv1_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
-                brmerge_mid2_reg_516 <= brmerge_mid2_fu_305_p3;
-                j_0_i_i_i_mid2_reg_508 <= j_0_i_i_i_mid2_fu_268_p3;
-                tmp_30_i_i_reg_534 <= tmp_30_i_i_fu_335_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
-                brmerge_mid2_reg_516_pp0_iter1_reg <= brmerge_mid2_reg_516;
-                exitcond_flatten_reg_499 <= exitcond_flatten_fu_247_p2;
-                exitcond_flatten_reg_499_pp0_iter1_reg <= exitcond_flatten_reg_499;
-                tmp_28_i_i_reg_529_pp0_iter1_reg <= tmp_28_i_i_reg_529;
-                tmp_30_i_i_reg_534_pp0_iter1_reg <= tmp_30_i_i_reg_534;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((dst_V_1_load_A = ap_const_logic_1)) then
-                dst_V_1_payload_A <= pix_out_8_fu_431_p3;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((dst_V_1_load_B = ap_const_logic_1)) then
-                dst_V_1_payload_B <= pix_out_8_fu_431_p3;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((ap_const_boolean_0 = ap_block_pp0_stage0_11001)) then
-                exitcond_flatten_reg_499_pp0_iter2_reg <= exitcond_flatten_reg_499_pp0_iter1_reg;
-                exitcond_flatten_reg_499_pp0_iter3_reg <= exitcond_flatten_reg_499_pp0_iter2_reg;
-                tmp_29_i_i_reg_549_pp0_iter2_reg <= tmp_29_i_i_reg_549;
-                tmp_30_i_i_reg_534_pp0_iter2_reg <= tmp_30_i_i_reg_534_pp0_iter1_reg;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((not(((ap_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
-                height_read_reg_467 <= height_dout;
-                vconv_xlim_loc_read_reg_473 <= vconv_xlim_loc_dout;
-                width_read_reg_459 <= width_dout;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((brmerge_mid2_reg_516_pp0_iter1_reg = ap_const_lv1_1) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter2 = ap_const_logic_1))) then
-                pix_out_1_fu_82 <= pix_in_2_l_edge_pix_s_fu_384_p3;
-                pix_out_fu_78 <= l_edge_pix_fu_391_p3;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_reg_499_pp0_iter1_reg = ap_const_lv1_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter2 = ap_const_logic_1))) then
-                pix_out_7_reg_560 <= borderbuf_q1;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((tmp_24_i_i_reg_525 = ap_const_lv1_1) and (brmerge_mid2_reg_516 = ap_const_lv1_1) and (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
-                r_edge_pix_fu_74 <= vconv_V_dout;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((brmerge_mid2_fu_305_p3 = ap_const_lv1_1) and (exitcond_flatten_fu_247_p2 = ap_const_lv1_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
-                tmp_24_i_i_reg_525 <= tmp_24_i_i_fu_325_p2;
-                tmp_28_i_i_reg_529 <= tmp_28_i_i_fu_330_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((brmerge_mid2_reg_516 = ap_const_lv1_1) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
-                tmp_27_i_i_reg_544 <= tmp_27_i_i_fu_355_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_reg_499 = ap_const_lv1_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
-                tmp_29_i_i_reg_549 <= tmp_29_i_i_fu_360_p2;
-            end if;
-        end if;
-    end process;
-
-    ap_NS_fsm_assign_proc : process (ap_start, ap_done_reg, ap_CS_fsm, ap_CS_fsm_state1, width_empty_n, height_empty_n, dst_V_1_ack_in, vconv_xlim_loc_empty_n, ap_enable_reg_pp0_iter3, ap_enable_reg_pp0_iter4, ap_enable_reg_pp0_iter1, exitcond_flatten_fu_247_p2, ap_enable_reg_pp0_iter0, ap_block_pp0_stage0_subdone, ap_CS_fsm_state8)
-    begin
-        case ap_CS_fsm is
-            when ap_ST_fsm_state1 => 
-                if ((not(((ap_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
-                    ap_NS_fsm <= ap_ST_fsm_state2;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_state1;
-                end if;
-            when ap_ST_fsm_state2 => 
-                ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-            when ap_ST_fsm_pp0_stage0 => 
-                if ((not(((exitcond_flatten_fu_247_p2 = ap_const_lv1_1) and (ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_0))) and not(((ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter4 = ap_const_logic_1) and (ap_enable_reg_pp0_iter3 = ap_const_logic_0))))) then
-                    ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-                elsif ((((exitcond_flatten_fu_247_p2 = ap_const_lv1_1) and (ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_0)) or ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter4 = ap_const_logic_1) and (ap_enable_reg_pp0_iter3 = ap_const_logic_0)))) then
-                    ap_NS_fsm <= ap_ST_fsm_state8;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-                end if;
-            when ap_ST_fsm_state8 => 
-                if (((dst_V_1_ack_in = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_state8))) then
-                    ap_NS_fsm <= ap_ST_fsm_state1;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_state8;
-                end if;
-            when others =>  
-                ap_NS_fsm <= "XXXX";
-        end case;
-    end process;
-    ap_CS_fsm_pp0_stage0 <= ap_CS_fsm(2);
-    ap_CS_fsm_state1 <= ap_CS_fsm(0);
-    ap_CS_fsm_state2 <= ap_CS_fsm(1);
-    ap_CS_fsm_state8 <= ap_CS_fsm(3);
-        ap_block_pp0_stage0 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_block_pp0_stage0_01001_assign_proc : process(vconv_V_empty_n, ap_enable_reg_pp0_iter1, ap_predicate_op59_read_state4)
-    begin
-                ap_block_pp0_stage0_01001 <= ((vconv_V_empty_n = ap_const_logic_0) and (ap_predicate_op59_read_state4 = ap_const_boolean_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1));
-    end process;
-
-
-    ap_block_pp0_stage0_11001_assign_proc : process(vconv_V_empty_n, ap_enable_reg_pp0_iter3, ap_enable_reg_pp0_iter4, ap_enable_reg_pp0_iter1, ap_predicate_op59_read_state4, ap_block_state6_io, ap_block_state7_io)
-    begin
-                ap_block_pp0_stage0_11001 <= (((vconv_V_empty_n = ap_const_logic_0) and (ap_predicate_op59_read_state4 = ap_const_boolean_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1)) or ((ap_const_boolean_1 = ap_block_state7_io) and (ap_enable_reg_pp0_iter4 = ap_const_logic_1)) or ((ap_const_boolean_1 = ap_block_state6_io) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1)));
-    end process;
-
-
-    ap_block_pp0_stage0_subdone_assign_proc : process(vconv_V_empty_n, ap_enable_reg_pp0_iter3, ap_enable_reg_pp0_iter4, ap_enable_reg_pp0_iter1, ap_predicate_op59_read_state4, ap_block_state6_io, ap_block_state7_io)
-    begin
-                ap_block_pp0_stage0_subdone <= (((vconv_V_empty_n = ap_const_logic_0) and (ap_predicate_op59_read_state4 = ap_const_boolean_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1)) or ((ap_const_boolean_1 = ap_block_state7_io) and (ap_enable_reg_pp0_iter4 = ap_const_logic_1)) or ((ap_const_boolean_1 = ap_block_state6_io) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1)));
-    end process;
-
-
-    ap_block_state1_assign_proc : process(ap_start, ap_done_reg, width_empty_n, height_empty_n, vconv_xlim_loc_empty_n)
-    begin
-                ap_block_state1 <= ((ap_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1));
-    end process;
-
-        ap_block_state3_pp0_stage0_iter0 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_block_state4_pp0_stage0_iter1_assign_proc : process(vconv_V_empty_n, ap_predicate_op59_read_state4)
-    begin
-                ap_block_state4_pp0_stage0_iter1 <= ((vconv_V_empty_n = ap_const_logic_0) and (ap_predicate_op59_read_state4 = ap_const_boolean_1));
-    end process;
-
-        ap_block_state5_pp0_stage0_iter2 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_block_state6_io_assign_proc : process(dst_V_1_ack_in, exitcond_flatten_reg_499_pp0_iter2_reg)
-    begin
-                ap_block_state6_io <= ((exitcond_flatten_reg_499_pp0_iter2_reg = ap_const_lv1_0) and (dst_V_1_ack_in = ap_const_logic_0));
-    end process;
-
-        ap_block_state6_pp0_stage0_iter3 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_block_state7_io_assign_proc : process(dst_V_1_ack_in, exitcond_flatten_reg_499_pp0_iter3_reg)
-    begin
-                ap_block_state7_io <= ((exitcond_flatten_reg_499_pp0_iter3_reg = ap_const_lv1_0) and (dst_V_1_ack_in = ap_const_logic_0));
-    end process;
-
-        ap_block_state7_pp0_stage0_iter4 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_condition_pp0_exit_iter0_state3_assign_proc : process(exitcond_flatten_fu_247_p2)
-    begin
-        if ((exitcond_flatten_fu_247_p2 = ap_const_lv1_1)) then 
-            ap_condition_pp0_exit_iter0_state3 <= ap_const_logic_1;
-        else 
-            ap_condition_pp0_exit_iter0_state3 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    ap_done_assign_proc : process(ap_done_reg, dst_V_1_ack_in, ap_CS_fsm_state8)
-    begin
-        if (((dst_V_1_ack_in = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_state8))) then 
-            ap_done <= ap_const_logic_1;
-        else 
-            ap_done <= ap_done_reg;
-        end if; 
-    end process;
-
-    ap_enable_pp0 <= (ap_idle_pp0 xor ap_const_logic_1);
-
-    ap_idle_assign_proc : process(ap_start, ap_CS_fsm_state1)
-    begin
-        if (((ap_start = ap_const_logic_0) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            ap_idle <= ap_const_logic_1;
-        else 
-            ap_idle <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    ap_idle_pp0_assign_proc : process(ap_enable_reg_pp0_iter3, ap_enable_reg_pp0_iter4, ap_enable_reg_pp0_iter1, ap_enable_reg_pp0_iter0, ap_enable_reg_pp0_iter2)
-    begin
-        if (((ap_enable_reg_pp0_iter2 = ap_const_logic_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_0) and (ap_enable_reg_pp0_iter1 = ap_const_logic_0) and (ap_enable_reg_pp0_iter4 = ap_const_logic_0) and (ap_enable_reg_pp0_iter3 = ap_const_logic_0))) then 
-            ap_idle_pp0 <= ap_const_logic_1;
-        else 
-            ap_idle_pp0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    ap_predicate_op59_read_state4_assign_proc : process(brmerge_mid2_reg_516, tmp_24_i_i_reg_525)
-    begin
-                ap_predicate_op59_read_state4 <= ((tmp_24_i_i_reg_525 = ap_const_lv1_1) and (brmerge_mid2_reg_516 = ap_const_lv1_1));
-    end process;
-
-
-    ap_ready_assign_proc : process(dst_V_1_ack_in, ap_CS_fsm_state8)
-    begin
-        if (((dst_V_1_ack_in = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_state8))) then 
-            ap_ready <= ap_const_logic_1;
-        else 
-            ap_ready <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    borderbuf_address0 <= tmp_26_i_i_fu_346_p1(10 - 1 downto 0);
-    borderbuf_address1 <= tmp_32_i_i_fu_370_p1(10 - 1 downto 0);
-
-    borderbuf_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            borderbuf_ce0 <= ap_const_logic_1;
-        else 
-            borderbuf_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    borderbuf_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            borderbuf_ce1 <= ap_const_logic_1;
-        else 
-            borderbuf_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    borderbuf_we0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, brmerge_mid2_reg_516, tmp_24_i_i_reg_525, ap_block_pp0_stage0_11001)
-    begin
-        if (((tmp_24_i_i_reg_525 = ap_const_lv1_1) and (brmerge_mid2_reg_516 = ap_const_lv1_1) and (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 
-            borderbuf_we0 <= ap_const_logic_1;
-        else 
-            borderbuf_we0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    bound_fu_199_p0 <= bound_fu_199_p00(32 - 1 downto 0);
-    bound_fu_199_p00 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(width_read_reg_459),64));
-    bound_fu_199_p1 <= bound_fu_199_p10(32 - 1 downto 0);
-    bound_fu_199_p10 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(height_read_reg_467),64));
-    bound_fu_199_p2 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(bound_fu_199_p0) * unsigned(bound_fu_199_p1), 64));
-    brmerge_fu_232_p2 <= (tmp_17_i_i_fu_209_p2 or brmerge_i_i_i_not_fu_226_p2);
-    brmerge_i_i_i_not_fu_226_p2 <= (notrhs_fu_221_p2 and notlhs_fu_215_p2);
-    brmerge_i_i_i_not_mi_fu_293_p2 <= (notrhs_mid1_fu_288_p2 and notlhs_mid1_fu_282_p2);
-    brmerge_mid1_fu_299_p2 <= (tmp_17_i_i_mid1_fu_276_p2 or brmerge_i_i_i_not_mi_fu_293_p2);
-    brmerge_mid2_fu_305_p3 <= 
-        brmerge_fu_232_p2 when (tmp_22_i_i_fu_242_p2(0) = '1') else 
-        brmerge_mid1_fu_299_p2;
-    dst_V_1_ack_in <= dst_V_1_state(1);
-    dst_V_1_ack_out <= dst_V_TREADY;
-
-    dst_V_1_data_out_assign_proc : process(dst_V_1_payload_A, dst_V_1_payload_B, dst_V_1_sel)
-    begin
-        if ((dst_V_1_sel = ap_const_logic_1)) then 
-            dst_V_1_data_out <= dst_V_1_payload_B;
-        else 
-            dst_V_1_data_out <= dst_V_1_payload_A;
-        end if; 
-    end process;
-
-    dst_V_1_load_A <= (not(dst_V_1_sel_wr) and dst_V_1_state_cmp_full);
-    dst_V_1_load_B <= (dst_V_1_state_cmp_full and dst_V_1_sel_wr);
-    dst_V_1_sel <= dst_V_1_sel_rd;
-    dst_V_1_state_cmp_full <= '0' when (dst_V_1_state = ap_const_lv2_1) else '1';
-
-    dst_V_1_vld_in_assign_proc : process(ap_enable_reg_pp0_iter3, exitcond_flatten_reg_499_pp0_iter2_reg, ap_block_pp0_stage0_11001)
-    begin
-        if (((exitcond_flatten_reg_499_pp0_iter2_reg = ap_const_lv1_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1))) then 
-            dst_V_1_vld_in <= ap_const_logic_1;
-        else 
-            dst_V_1_vld_in <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    dst_V_1_vld_out <= dst_V_1_state(0);
-    dst_V_TDATA <= dst_V_1_data_out;
-
-    dst_V_TDATA_blk_n_assign_proc : process(dst_V_1_state, ap_enable_reg_pp0_iter3, ap_block_pp0_stage0, exitcond_flatten_reg_499_pp0_iter2_reg, ap_enable_reg_pp0_iter4, exitcond_flatten_reg_499_pp0_iter3_reg)
-    begin
-        if ((((exitcond_flatten_reg_499_pp0_iter3_reg = ap_const_lv1_0) and (ap_enable_reg_pp0_iter4 = ap_const_logic_1) and (ap_const_boolean_0 = ap_block_pp0_stage0)) or ((exitcond_flatten_reg_499_pp0_iter2_reg = ap_const_lv1_0) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1) and (ap_const_boolean_0 = ap_block_pp0_stage0)))) then 
-            dst_V_TDATA_blk_n <= dst_V_1_state(1);
-        else 
-            dst_V_TDATA_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    dst_V_TVALID <= dst_V_1_state(0);
-    exitcond_flatten_fu_247_p2 <= "1" when (indvar_flatten_reg_145 = bound_reg_494) else "0";
-
-    height_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n)
-    begin
-        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 
-            height_blk_n <= height_empty_n;
-        else 
-            height_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    height_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, width_empty_n, height_empty_n, vconv_xlim_loc_empty_n)
-    begin
-        if ((not(((ap_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            height_read <= ap_const_logic_1;
-        else 
-            height_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    i6_0_i_cast_i_i_fu_264_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(i_fu_258_p2),32));
-    i6_0_i_cast_i_i_mid1_fu_205_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(i6_0_i_i_i_reg_156),32));
-    i6_0_i_i_i_mid2_fu_317_p3 <= 
-        i6_0_i_i_i_reg_156 when (tmp_22_i_i_fu_242_p2(0) = '1') else 
-        i_fu_258_p2;
-    i_fu_258_p2 <= std_logic_vector(unsigned(i6_0_i_i_i_reg_156) + unsigned(ap_const_lv10_1));
-    indvar_flatten_next_fu_252_p2 <= std_logic_vector(unsigned(indvar_flatten_reg_145) + unsigned(ap_const_lv64_1));
-    j_0_i_cast_i_i_fu_238_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(j_0_i_i_i_reg_167),32));
-    j_0_i_cast_i_i_mid2_s_fu_313_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(j_0_i_i_i_mid2_fu_268_p3),32));
-    j_0_i_i_i_mid2_fu_268_p3 <= 
-        j_0_i_i_i_reg_167 when (tmp_22_i_i_fu_242_p2(0) = '1') else 
-        ap_const_lv10_0;
-    j_fu_340_p2 <= std_logic_vector(unsigned(j_0_i_i_i_mid2_fu_268_p3) + unsigned(ap_const_lv10_1));
-    l_edge_pix_fu_391_p3 <= 
-        r_edge_pix_fu_74 when (tmp_28_i_i_reg_529_pp0_iter1_reg(0) = '1') else 
-        pix_out_fu_78;
-    notlhs_fu_215_p2 <= "1" when (unsigned(i6_0_i_i_i_reg_156) > unsigned(ap_const_lv10_5)) else "0";
-    notlhs_mid1_fu_282_p2 <= "1" when (unsigned(i_fu_258_p2) > unsigned(ap_const_lv10_5)) else "0";
-    notrhs_fu_221_p2 <= "1" when (signed(i6_0_i_cast_i_i_mid1_fu_205_p1) < signed(tmp_7_i_i_reg_488)) else "0";
-    notrhs_mid1_fu_288_p2 <= "1" when (signed(i6_0_i_cast_i_i_fu_264_p1) < signed(tmp_7_i_i_reg_488)) else "0";
-    pix_in_2_l_edge_pix_s_fu_384_p3 <= 
-        r_edge_pix_fu_74 when (tmp_27_i_i_reg_544(0) = '1') else 
-        pix_out_1_fu_82;
-    pix_out_3_fu_424_p3 <= 
-        pix_out_7_reg_560 when (sel_tmp1_fu_419_p2(0) = '1') else 
-        pix_out_fu_78;
-    pix_out_8_fu_431_p3 <= 
-        pix_out_1_fu_82 when (tmp_29_i_i_reg_549_pp0_iter2_reg(0) = '1') else 
-        pix_out_3_fu_424_p3;
-    sel_tmp1_fu_419_p2 <= (tmp_30_i_i_reg_534_pp0_iter2_reg and sel_tmp_fu_414_p2);
-    sel_tmp_fu_414_p2 <= (tmp_29_i_i_reg_549_pp0_iter2_reg xor ap_const_lv1_1);
-    tmp_17_i_i_fu_209_p2 <= "1" when (i6_0_i_i_i_reg_156 = ap_const_lv10_0) else "0";
-    tmp_17_i_i_mid1_fu_276_p2 <= "1" when (i_fu_258_p2 = ap_const_lv10_0) else "0";
-    tmp_22_i_i_fu_242_p2 <= "1" when (signed(j_0_i_cast_i_i_fu_238_p1) < signed(width_read_reg_459)) else "0";
-    tmp_24_i_i_fu_325_p2 <= "1" when (signed(j_0_i_cast_i_i_mid2_s_fu_313_p1) < signed(vconv_xlim_loc_read_reg_473)) else "0";
-    tmp_26_i_i_fu_346_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(j_0_i_i_i_mid2_reg_508),64));
-    tmp_27_i_i_fu_355_p2 <= "1" when (j_0_i_i_i_mid2_reg_508 = ap_const_lv10_0) else "0";
-    tmp_28_i_i_fu_330_p2 <= "1" when (j_0_i_cast_i_i_mid2_s_fu_313_p1 = tmp_9_i_i_reg_478) else "0";
-    tmp_29_i_i_fu_360_p2 <= "1" when (unsigned(j_0_i_i_i_mid2_reg_508) < unsigned(ap_const_lv10_6)) else "0";
-    tmp_30_i_i_fu_335_p2 <= "1" when (signed(j_0_i_cast_i_i_mid2_s_fu_313_p1) < signed(tmp_i_i_reg_483)) else "0";
-    tmp_31_i_i_fu_365_p2 <= std_logic_vector(unsigned(j_0_i_i_i_mid2_reg_508) + unsigned(ap_const_lv10_3FB));
-    tmp_32_i_i_fu_370_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(tmp_31_i_i_fu_365_p2),64));
-    tmp_7_i_i_fu_188_p2 <= std_logic_vector(unsigned(height_read_reg_467) + unsigned(ap_const_lv32_FFFFFFFB));
-    tmp_9_i_i_fu_178_p2 <= std_logic_vector(unsigned(width_read_reg_459) + unsigned(ap_const_lv32_FFFFFFF5));
-    tmp_i_i_fu_183_p2 <= std_logic_vector(unsigned(width_read_reg_459) + unsigned(ap_const_lv32_FFFFFFFA));
-
-    vconv_V_blk_n_assign_proc : process(vconv_V_empty_n, ap_block_pp0_stage0, ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, brmerge_mid2_reg_516, tmp_24_i_i_reg_525)
-    begin
-        if (((tmp_24_i_i_reg_525 = ap_const_lv1_1) and (brmerge_mid2_reg_516 = ap_const_lv1_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0))) then 
-            vconv_V_blk_n <= vconv_V_empty_n;
-        else 
-            vconv_V_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    vconv_V_read_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_predicate_op59_read_state4, ap_block_pp0_stage0_11001)
-    begin
-        if (((ap_predicate_op59_read_state4 = ap_const_boolean_1) and (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 
-            vconv_V_read <= ap_const_logic_1;
-        else 
-            vconv_V_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    vconv_xlim_loc_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, vconv_xlim_loc_empty_n)
-    begin
-        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 
-            vconv_xlim_loc_blk_n <= vconv_xlim_loc_empty_n;
-        else 
-            vconv_xlim_loc_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    vconv_xlim_loc_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, width_empty_n, height_empty_n, vconv_xlim_loc_empty_n)
-    begin
-        if ((not(((ap_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            vconv_xlim_loc_read <= ap_const_logic_1;
-        else 
-            vconv_xlim_loc_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    width_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, width_empty_n)
-    begin
-        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 
-            width_blk_n <= width_empty_n;
-        else 
-            width_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    width_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, width_empty_n, height_empty_n, vconv_xlim_loc_empty_n)
-    begin
-        if ((not(((ap_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            width_read <= ap_const_logic_1;
-        else 
-            width_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-end behav;

+ 0 - 132
src/ip_repo/neuron_packed/src/Loop_Border_proc_borderbuf.vhd

@@ -1,132 +0,0 @@
--- ==============================================================
--- File generated on Wed Jun 26 16:53:30 CEST 2019
--- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
--- SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
--- IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
--- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
--- ==============================================================
---
-library ieee; 
-use ieee.std_logic_1164.all; 
-use ieee.std_logic_unsigned.all;
-
-entity Loop_Border_proc_borderbuf_ram is 
-    generic(
-            MEM_TYPE    : string := "block"; 
-            DWIDTH     : integer := 32; 
-            AWIDTH     : integer := 10; 
-            MEM_SIZE    : integer := 662
-    ); 
-    port (
-          addr0     : in std_logic_vector(AWIDTH-1 downto 0); 
-          ce0       : in std_logic; 
-          d0        : in std_logic_vector(DWIDTH-1 downto 0); 
-          we0       : in std_logic; 
-          addr1     : in std_logic_vector(AWIDTH-1 downto 0); 
-          ce1       : in std_logic; 
-          q1        : out std_logic_vector(DWIDTH-1 downto 0);
-          clk        : in std_logic 
-    ); 
-end entity; 
-
-
-architecture rtl of Loop_Border_proc_borderbuf_ram is 
-
-signal addr1_tmp : std_logic_vector(AWIDTH-1 downto 0); 
-type mem_array is array (0 to MEM_SIZE-1) of std_logic_vector (DWIDTH-1 downto 0); 
-shared variable ram : mem_array;
-
-attribute syn_ramstyle : string; 
-attribute syn_ramstyle of ram : variable is "block_ram";
-attribute ram_style : string;
-attribute ram_style of ram : variable is MEM_TYPE;
-
-begin 
-
-
-
-p_memory_access_0: process (clk)  
-begin 
-    if (clk'event and clk = '1') then
-        if (ce0 = '1') then 
-            if (we0 = '1') then 
-                ram(CONV_INTEGER(addr0)) := d0; 
-            end if;
-        end if;
-    end if;
-end process;
-
-memory_access_guard_1: process (addr1) 
-begin
-      addr1_tmp <= addr1;
---synthesis translate_off
-      if (CONV_INTEGER(addr1) > mem_size-1) then
-           addr1_tmp <= (others => '0');
-      else 
-           addr1_tmp <= addr1;
-      end if;
---synthesis translate_on
-end process;
-
-p_memory_access_1: process (clk)  
-begin 
-    if (clk'event and clk = '1') then
-        if (ce1 = '1') then 
-            q1 <= ram(CONV_INTEGER(addr1_tmp)); 
-        end if;
-    end if;
-end process;
-
-
-end rtl;
-
-Library IEEE;
-use IEEE.std_logic_1164.all;
-
-entity Loop_Border_proc_borderbuf is
-    generic (
-        DataWidth : INTEGER := 32;
-        AddressRange : INTEGER := 662;
-        AddressWidth : INTEGER := 10);
-    port (
-        reset : IN STD_LOGIC;
-        clk : IN STD_LOGIC;
-        address0 : IN STD_LOGIC_VECTOR(AddressWidth - 1 DOWNTO 0);
-        ce0 : IN STD_LOGIC;
-        we0 : IN STD_LOGIC;
-        d0 : IN STD_LOGIC_VECTOR(DataWidth - 1 DOWNTO 0);
-        address1 : IN STD_LOGIC_VECTOR(AddressWidth - 1 DOWNTO 0);
-        ce1 : IN STD_LOGIC;
-        q1 : OUT STD_LOGIC_VECTOR(DataWidth - 1 DOWNTO 0));
-end entity;
-
-architecture arch of Loop_Border_proc_borderbuf is
-    component Loop_Border_proc_borderbuf_ram is
-        port (
-            clk : IN STD_LOGIC;
-            addr0 : IN STD_LOGIC_VECTOR;
-            ce0 : IN STD_LOGIC;
-            we0 : IN STD_LOGIC;
-            d0 : IN STD_LOGIC_VECTOR;
-            addr1 : IN STD_LOGIC_VECTOR;
-            ce1 : IN STD_LOGIC;
-            q1 : OUT STD_LOGIC_VECTOR);
-    end component;
-
-
-
-begin
-    Loop_Border_proc_borderbuf_ram_U :  component Loop_Border_proc_borderbuf_ram
-    port map (
-        clk => clk,
-        addr0 => address0,
-        ce0 => ce0,
-        we0 => we0,
-        d0 => d0,
-        addr1 => address1,
-        ce1 => ce1,
-        q1 => q1);
-
-end architecture;
-
-

+ 0 - 746
src/ip_repo/neuron_packed/src/Loop_HConvH_proc6.vhd

@@ -1,746 +0,0 @@
--- ==============================================================
--- RTL generated by Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC
--- Version: 2018.3
--- Copyright (C) 1986-2018 Xilinx, Inc. All Rights Reserved.
--- 
--- ===========================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-
-entity Loop_HConvH_proc6 is
-port (
-    ap_clk : IN STD_LOGIC;
-    ap_rst : IN STD_LOGIC;
-    ap_start : IN STD_LOGIC;
-    ap_done : OUT STD_LOGIC;
-    ap_continue : IN STD_LOGIC;
-    ap_idle : OUT STD_LOGIC;
-    ap_ready : OUT STD_LOGIC;
-    height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    height_empty_n : IN STD_LOGIC;
-    height_read : OUT STD_LOGIC;
-    width_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    width_empty_n : IN STD_LOGIC;
-    width_read : OUT STD_LOGIC;
-    src_V_TDATA : IN STD_LOGIC_VECTOR (31 downto 0);
-    src_V_TVALID : IN STD_LOGIC;
-    src_V_TREADY : OUT STD_LOGIC;
-    filt1_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt1_empty_n : IN STD_LOGIC;
-    filt1_read : OUT STD_LOGIC;
-    filt2_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt2_empty_n : IN STD_LOGIC;
-    filt2_read : OUT STD_LOGIC;
-    hconv_V_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    hconv_V_full_n : IN STD_LOGIC;
-    hconv_V_write : OUT STD_LOGIC );
-end;
-
-
-architecture behav of Loop_HConvH_proc6 is 
-    constant ap_const_logic_1 : STD_LOGIC := '1';
-    constant ap_const_logic_0 : STD_LOGIC := '0';
-    constant ap_ST_fsm_state1 : STD_LOGIC_VECTOR (3 downto 0) := "0001";
-    constant ap_ST_fsm_state2 : STD_LOGIC_VECTOR (3 downto 0) := "0010";
-    constant ap_ST_fsm_pp0_stage0 : STD_LOGIC_VECTOR (3 downto 0) := "0100";
-    constant ap_ST_fsm_state7 : STD_LOGIC_VECTOR (3 downto 0) := "1000";
-    constant ap_const_lv32_0 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000000";
-    constant ap_const_boolean_1 : BOOLEAN := true;
-    constant ap_const_lv1_0 : STD_LOGIC_VECTOR (0 downto 0) := "0";
-    constant ap_const_lv1_1 : STD_LOGIC_VECTOR (0 downto 0) := "1";
-    constant ap_const_lv2_0 : STD_LOGIC_VECTOR (1 downto 0) := "00";
-    constant ap_const_lv2_2 : STD_LOGIC_VECTOR (1 downto 0) := "10";
-    constant ap_const_lv2_3 : STD_LOGIC_VECTOR (1 downto 0) := "11";
-    constant ap_const_lv2_1 : STD_LOGIC_VECTOR (1 downto 0) := "01";
-    constant ap_const_lv32_2 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000010";
-    constant ap_const_boolean_0 : BOOLEAN := false;
-    constant ap_const_lv32_1 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000001";
-    constant ap_const_lv64_0 : STD_LOGIC_VECTOR (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000000";
-    constant ap_const_lv10_0 : STD_LOGIC_VECTOR (9 downto 0) := "0000000000";
-    constant ap_const_lv64_1 : STD_LOGIC_VECTOR (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000001";
-    constant ap_const_lv10_9 : STD_LOGIC_VECTOR (9 downto 0) := "0000001001";
-    constant ap_const_lv10_1 : STD_LOGIC_VECTOR (9 downto 0) := "0000000001";
-    constant ap_const_lv32_3 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000011";
-
-    signal ap_done_reg : STD_LOGIC := '0';
-    signal ap_CS_fsm : STD_LOGIC_VECTOR (3 downto 0) := "0001";
-    attribute fsm_encoding : string;
-    attribute fsm_encoding of ap_CS_fsm : signal is "none";
-    signal ap_CS_fsm_state1 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state1 : signal is "none";
-    signal src_V_0_data_out : STD_LOGIC_VECTOR (31 downto 0);
-    signal src_V_0_vld_in : STD_LOGIC;
-    signal src_V_0_vld_out : STD_LOGIC;
-    signal src_V_0_ack_in : STD_LOGIC;
-    signal src_V_0_ack_out : STD_LOGIC;
-    signal src_V_0_payload_A : STD_LOGIC_VECTOR (31 downto 0);
-    signal src_V_0_payload_B : STD_LOGIC_VECTOR (31 downto 0);
-    signal src_V_0_sel_rd : STD_LOGIC := '0';
-    signal src_V_0_sel_wr : STD_LOGIC := '0';
-    signal src_V_0_sel : STD_LOGIC;
-    signal src_V_0_load_A : STD_LOGIC;
-    signal src_V_0_load_B : STD_LOGIC;
-    signal src_V_0_state : STD_LOGIC_VECTOR (1 downto 0) := "00";
-    signal src_V_0_state_cmp_full : STD_LOGIC;
-    signal height_blk_n : STD_LOGIC;
-    signal width_blk_n : STD_LOGIC;
-    signal src_V_TDATA_blk_n : STD_LOGIC;
-    signal ap_CS_fsm_pp0_stage0 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_pp0_stage0 : signal is "none";
-    signal ap_enable_reg_pp0_iter0 : STD_LOGIC := '0';
-    signal ap_block_pp0_stage0 : BOOLEAN;
-    signal exitcond_flatten_fu_214_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal filt1_blk_n : STD_LOGIC;
-    signal filt2_blk_n : STD_LOGIC;
-    signal hconv_V_blk_n : STD_LOGIC;
-    signal ap_enable_reg_pp0_iter3 : STD_LOGIC := '0';
-    signal tmp_10_i_reg_491 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_10_i_reg_491_pp0_iter2_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal indvar_flatten_reg_141 : STD_LOGIC_VECTOR (63 downto 0);
-    signal row_0_i_i_reg_152 : STD_LOGIC_VECTOR (9 downto 0);
-    signal height_read_reg_421 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_state1 : BOOLEAN;
-    signal width_read_reg_426 : STD_LOGIC_VECTOR (31 downto 0);
-    signal filt1_read_reg_432 : STD_LOGIC_VECTOR (31 downto 0);
-    signal filt2_read_reg_437 : STD_LOGIC_VECTOR (31 downto 0);
-    signal bound_fu_169_p2 : STD_LOGIC_VECTOR (63 downto 0);
-    signal bound_reg_442 : STD_LOGIC_VECTOR (63 downto 0);
-    signal ap_CS_fsm_state2 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state2 : signal is "none";
-    signal hwin_5_load_reg_447 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_state3_pp0_stage0_iter0 : BOOLEAN;
-    signal ap_block_state4_pp0_stage0_iter1 : BOOLEAN;
-    signal ap_block_state5_pp0_stage0_iter2 : BOOLEAN;
-    signal ap_block_state6_pp0_stage0_iter3 : BOOLEAN;
-    signal ap_block_pp0_stage0_11001 : BOOLEAN;
-    signal hwin_5_load_reg_447_pp0_iter1_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_8_load_reg_452 : STD_LOGIC_VECTOR (31 downto 0);
-    signal exitcond_flatten_reg_457 : STD_LOGIC_VECTOR (0 downto 0);
-    signal exitcond_flatten_reg_457_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal indvar_flatten_next_fu_219_p2 : STD_LOGIC_VECTOR (63 downto 0);
-    signal tmp_23_9_i_fu_281_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_23_9_i_reg_466 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_23_i_fu_286_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_23_i_reg_471 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_fu_291_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_reg_476 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_reg_476_pp0_iter1_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_reg_476_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_fu_303_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_reg_481 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_reg_481_pp0_iter1_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_reg_481_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp7_fu_309_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp7_reg_486 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp7_reg_486_pp0_iter1_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_10_i_fu_315_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_10_i_reg_491_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal row_fu_326_p2 : STD_LOGIC_VECTOR (9 downto 0);
-    signal tmp8_fu_336_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp8_reg_500 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp5_fu_345_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp5_reg_505 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_pp0_stage0_subdone : BOOLEAN;
-    signal ap_condition_pp0_exit_iter0_state3 : STD_LOGIC;
-    signal ap_enable_reg_pp0_iter1 : STD_LOGIC := '0';
-    signal ap_enable_reg_pp0_iter2 : STD_LOGIC := '0';
-    signal ap_block_pp0_stage0_01001 : BOOLEAN;
-    signal hwin_1_1_i_fu_64 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_1_fu_68 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_2_fu_72 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_3_fu_76 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_4_fu_80 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_5_fu_84 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_6_fu_88 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_7_fu_92 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_8_fu_96 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_9_fu_100 : STD_LOGIC_VECTOR (31 downto 0);
-    signal bound_fu_169_p0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal bound_fu_169_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal row_0_i_cast_i_fu_205_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_4_i_fu_209_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_23_9_i_fu_281_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_23_i_fu_286_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp4_fu_297_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal row_0_i_i_mid2_fu_273_p3 : STD_LOGIC_VECTOR (9 downto 0);
-    signal tmp9_fu_332_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp6_fu_341_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp1_fu_350_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_CS_fsm_state7 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state7 : signal is "none";
-    signal ap_NS_fsm : STD_LOGIC_VECTOR (3 downto 0);
-    signal ap_idle_pp0 : STD_LOGIC;
-    signal ap_enable_pp0 : STD_LOGIC;
-    signal bound_fu_169_p00 : STD_LOGIC_VECTOR (63 downto 0);
-    signal bound_fu_169_p10 : STD_LOGIC_VECTOR (63 downto 0);
-
-
-begin
-
-
-
-
-    ap_CS_fsm_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_CS_fsm <= ap_ST_fsm_state1;
-            else
-                ap_CS_fsm <= ap_NS_fsm;
-            end if;
-        end if;
-    end process;
-
-
-    ap_done_reg_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_done_reg <= ap_const_logic_0;
-            else
-                if ((ap_continue = ap_const_logic_1)) then 
-                    ap_done_reg <= ap_const_logic_0;
-                elsif ((ap_const_logic_1 = ap_CS_fsm_state7)) then 
-                    ap_done_reg <= ap_const_logic_1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter0_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter0 <= ap_const_logic_0;
-            else
-                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 
-                    ap_enable_reg_pp0_iter0 <= ap_const_logic_0;
-                elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                    ap_enable_reg_pp0_iter0 <= ap_const_logic_1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter1_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter1 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then
-                    if ((ap_const_logic_1 = ap_condition_pp0_exit_iter0_state3)) then 
-                        ap_enable_reg_pp0_iter1 <= (ap_const_logic_1 xor ap_condition_pp0_exit_iter0_state3);
-                    elsif ((ap_const_boolean_1 = ap_const_boolean_1)) then 
-                        ap_enable_reg_pp0_iter1 <= ap_enable_reg_pp0_iter0;
-                    end if;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter2_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter2 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter2 <= ap_enable_reg_pp0_iter1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter3_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter3 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter3 <= ap_enable_reg_pp0_iter2;
-                elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                    ap_enable_reg_pp0_iter3 <= ap_const_logic_0;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    src_V_0_sel_rd_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                src_V_0_sel_rd <= ap_const_logic_0;
-            else
-                if (((src_V_0_ack_out = ap_const_logic_1) and (src_V_0_vld_out = ap_const_logic_1))) then 
-                                        src_V_0_sel_rd <= not(src_V_0_sel_rd);
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    src_V_0_sel_wr_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                src_V_0_sel_wr <= ap_const_logic_0;
-            else
-                if (((src_V_0_ack_in = ap_const_logic_1) and (src_V_0_vld_in = ap_const_logic_1))) then 
-                                        src_V_0_sel_wr <= not(src_V_0_sel_wr);
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    src_V_0_state_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                src_V_0_state <= ap_const_lv2_0;
-            else
-                if ((((src_V_0_state = ap_const_lv2_2) and (src_V_0_vld_in = ap_const_logic_0)) or ((src_V_0_state = ap_const_lv2_3) and (src_V_0_vld_in = ap_const_logic_0) and (src_V_0_ack_out = ap_const_logic_1)))) then 
-                    src_V_0_state <= ap_const_lv2_2;
-                elsif ((((src_V_0_state = ap_const_lv2_1) and (src_V_0_ack_out = ap_const_logic_0)) or ((src_V_0_state = ap_const_lv2_3) and (src_V_0_ack_out = ap_const_logic_0) and (src_V_0_vld_in = ap_const_logic_1)))) then 
-                    src_V_0_state <= ap_const_lv2_1;
-                elsif (((not(((src_V_0_vld_in = ap_const_logic_0) and (src_V_0_ack_out = ap_const_logic_1))) and not(((src_V_0_ack_out = ap_const_logic_0) and (src_V_0_vld_in = ap_const_logic_1))) and (src_V_0_state = ap_const_lv2_3)) or ((src_V_0_state = ap_const_lv2_1) and (src_V_0_ack_out = ap_const_logic_1)) or ((src_V_0_state = ap_const_lv2_2) and (src_V_0_vld_in = ap_const_logic_1)))) then 
-                    src_V_0_state <= ap_const_lv2_3;
-                else 
-                    src_V_0_state <= ap_const_lv2_2;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    indvar_flatten_reg_141_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then 
-                indvar_flatten_reg_141 <= indvar_flatten_next_fu_219_p2;
-            elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                indvar_flatten_reg_141 <= ap_const_lv64_0;
-            end if; 
-        end if;
-    end process;
-
-    row_0_i_i_reg_152_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then 
-                row_0_i_i_reg_152 <= row_fu_326_p2;
-            elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                row_0_i_i_reg_152 <= ap_const_lv10_0;
-            end if; 
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((ap_const_logic_1 = ap_CS_fsm_state2)) then
-                bound_reg_442 <= bound_fu_169_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then
-                exitcond_flatten_reg_457 <= exitcond_flatten_fu_214_p2;
-                exitcond_flatten_reg_457_pp0_iter1_reg <= exitcond_flatten_reg_457;
-                hwin_5_load_reg_447 <= hwin_5_fu_84;
-                hwin_5_load_reg_447_pp0_iter1_reg <= hwin_5_load_reg_447;
-                hwin_8_load_reg_452 <= hwin_8_fu_96;
-                tmp2_reg_476_pp0_iter1_reg <= tmp2_reg_476;
-                tmp3_reg_481_pp0_iter1_reg <= tmp3_reg_481;
-                tmp7_reg_486_pp0_iter1_reg <= tmp7_reg_486;
-                tmp_10_i_reg_491_pp0_iter1_reg <= tmp_10_i_reg_491;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((not(((ap_start = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
-                filt1_read_reg_432 <= filt1_dout;
-                filt2_read_reg_437 <= filt2_dout;
-                height_read_reg_421 <= height_dout;
-                width_read_reg_426 <= width_dout;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then
-                hwin_1_1_i_fu_64 <= hwin_1_fu_68;
-                hwin_1_fu_68 <= hwin_2_fu_72;
-                hwin_2_fu_72 <= hwin_3_fu_76;
-                hwin_3_fu_76 <= hwin_4_fu_80;
-                hwin_4_fu_80 <= hwin_5_fu_84;
-                hwin_5_fu_84 <= hwin_6_fu_88;
-                hwin_6_fu_88 <= hwin_7_fu_92;
-                hwin_7_fu_92 <= hwin_8_fu_96;
-                hwin_8_fu_96 <= hwin_9_fu_100;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then
-                hwin_9_fu_100 <= src_V_0_data_out;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((src_V_0_load_A = ap_const_logic_1)) then
-                src_V_0_payload_A <= src_V_TDATA;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((src_V_0_load_B = ap_const_logic_1)) then
-                src_V_0_payload_B <= src_V_TDATA;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then
-                tmp2_reg_476 <= tmp2_fu_291_p2;
-                tmp3_reg_481 <= tmp3_fu_303_p2;
-                tmp7_reg_486 <= tmp7_fu_309_p2;
-                tmp_10_i_reg_491 <= tmp_10_i_fu_315_p2;
-                tmp_23_9_i_reg_466 <= tmp_23_9_i_fu_281_p2;
-                tmp_23_i_reg_471 <= tmp_23_i_fu_286_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((ap_const_boolean_0 = ap_block_pp0_stage0_11001)) then
-                tmp2_reg_476_pp0_iter2_reg <= tmp2_reg_476_pp0_iter1_reg;
-                tmp3_reg_481_pp0_iter2_reg <= tmp3_reg_481_pp0_iter1_reg;
-                tmp_10_i_reg_491_pp0_iter2_reg <= tmp_10_i_reg_491_pp0_iter1_reg;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_reg_457_pp0_iter1_reg = ap_const_lv1_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then
-                tmp5_reg_505 <= tmp5_fu_345_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_reg_457 = ap_const_lv1_0) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then
-                tmp8_reg_500 <= tmp8_fu_336_p2;
-            end if;
-        end if;
-    end process;
-
-    ap_NS_fsm_assign_proc : process (ap_start, ap_done_reg, ap_CS_fsm, ap_CS_fsm_state1, height_empty_n, width_empty_n, filt1_empty_n, filt2_empty_n, ap_enable_reg_pp0_iter0, exitcond_flatten_fu_214_p2, ap_enable_reg_pp0_iter3, ap_block_pp0_stage0_subdone, ap_enable_reg_pp0_iter1, ap_enable_reg_pp0_iter2)
-    begin
-        case ap_CS_fsm is
-            when ap_ST_fsm_state1 => 
-                if ((not(((ap_start = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
-                    ap_NS_fsm <= ap_ST_fsm_state2;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_state1;
-                end if;
-            when ap_ST_fsm_state2 => 
-                ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-            when ap_ST_fsm_pp0_stage0 => 
-                if ((not(((exitcond_flatten_fu_214_p2 = ap_const_lv1_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1))) and not(((ap_enable_reg_pp0_iter2 = ap_const_logic_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1))))) then
-                    ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-                elsif ((((ap_enable_reg_pp0_iter2 = ap_const_logic_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1)) or ((exitcond_flatten_fu_214_p2 = ap_const_lv1_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1)))) then
-                    ap_NS_fsm <= ap_ST_fsm_state7;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-                end if;
-            when ap_ST_fsm_state7 => 
-                ap_NS_fsm <= ap_ST_fsm_state1;
-            when others =>  
-                ap_NS_fsm <= "XXXX";
-        end case;
-    end process;
-    ap_CS_fsm_pp0_stage0 <= ap_CS_fsm(2);
-    ap_CS_fsm_state1 <= ap_CS_fsm(0);
-    ap_CS_fsm_state2 <= ap_CS_fsm(1);
-    ap_CS_fsm_state7 <= ap_CS_fsm(3);
-        ap_block_pp0_stage0 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_block_pp0_stage0_01001_assign_proc : process(src_V_0_vld_out, hconv_V_full_n, ap_enable_reg_pp0_iter0, exitcond_flatten_fu_214_p2, ap_enable_reg_pp0_iter3, tmp_10_i_reg_491_pp0_iter2_reg)
-    begin
-                ap_block_pp0_stage0_01001 <= (((tmp_10_i_reg_491_pp0_iter2_reg = ap_const_lv1_1) and (hconv_V_full_n = ap_const_logic_0) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1)) or ((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (src_V_0_vld_out = ap_const_logic_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1)));
-    end process;
-
-
-    ap_block_pp0_stage0_11001_assign_proc : process(src_V_0_vld_out, hconv_V_full_n, ap_enable_reg_pp0_iter0, exitcond_flatten_fu_214_p2, ap_enable_reg_pp0_iter3, tmp_10_i_reg_491_pp0_iter2_reg)
-    begin
-                ap_block_pp0_stage0_11001 <= (((tmp_10_i_reg_491_pp0_iter2_reg = ap_const_lv1_1) and (hconv_V_full_n = ap_const_logic_0) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1)) or ((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (src_V_0_vld_out = ap_const_logic_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1)));
-    end process;
-
-
-    ap_block_pp0_stage0_subdone_assign_proc : process(src_V_0_vld_out, hconv_V_full_n, ap_enable_reg_pp0_iter0, exitcond_flatten_fu_214_p2, ap_enable_reg_pp0_iter3, tmp_10_i_reg_491_pp0_iter2_reg)
-    begin
-                ap_block_pp0_stage0_subdone <= (((tmp_10_i_reg_491_pp0_iter2_reg = ap_const_lv1_1) and (hconv_V_full_n = ap_const_logic_0) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1)) or ((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (src_V_0_vld_out = ap_const_logic_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1)));
-    end process;
-
-
-    ap_block_state1_assign_proc : process(ap_start, ap_done_reg, height_empty_n, width_empty_n, filt1_empty_n, filt2_empty_n)
-    begin
-                ap_block_state1 <= ((ap_start = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1));
-    end process;
-
-
-    ap_block_state3_pp0_stage0_iter0_assign_proc : process(src_V_0_vld_out, exitcond_flatten_fu_214_p2)
-    begin
-                ap_block_state3_pp0_stage0_iter0 <= ((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (src_V_0_vld_out = ap_const_logic_0));
-    end process;
-
-        ap_block_state4_pp0_stage0_iter1 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-        ap_block_state5_pp0_stage0_iter2 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_block_state6_pp0_stage0_iter3_assign_proc : process(hconv_V_full_n, tmp_10_i_reg_491_pp0_iter2_reg)
-    begin
-                ap_block_state6_pp0_stage0_iter3 <= ((tmp_10_i_reg_491_pp0_iter2_reg = ap_const_lv1_1) and (hconv_V_full_n = ap_const_logic_0));
-    end process;
-
-
-    ap_condition_pp0_exit_iter0_state3_assign_proc : process(exitcond_flatten_fu_214_p2)
-    begin
-        if ((exitcond_flatten_fu_214_p2 = ap_const_lv1_1)) then 
-            ap_condition_pp0_exit_iter0_state3 <= ap_const_logic_1;
-        else 
-            ap_condition_pp0_exit_iter0_state3 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    ap_done_assign_proc : process(ap_done_reg, ap_CS_fsm_state7)
-    begin
-        if ((ap_const_logic_1 = ap_CS_fsm_state7)) then 
-            ap_done <= ap_const_logic_1;
-        else 
-            ap_done <= ap_done_reg;
-        end if; 
-    end process;
-
-    ap_enable_pp0 <= (ap_idle_pp0 xor ap_const_logic_1);
-
-    ap_idle_assign_proc : process(ap_start, ap_CS_fsm_state1)
-    begin
-        if (((ap_start = ap_const_logic_0) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            ap_idle <= ap_const_logic_1;
-        else 
-            ap_idle <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    ap_idle_pp0_assign_proc : process(ap_enable_reg_pp0_iter0, ap_enable_reg_pp0_iter3, ap_enable_reg_pp0_iter1, ap_enable_reg_pp0_iter2)
-    begin
-        if (((ap_enable_reg_pp0_iter2 = ap_const_logic_0) and (ap_enable_reg_pp0_iter1 = ap_const_logic_0) and (ap_enable_reg_pp0_iter3 = ap_const_logic_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_0))) then 
-            ap_idle_pp0 <= ap_const_logic_1;
-        else 
-            ap_idle_pp0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    ap_ready_assign_proc : process(ap_CS_fsm_state7)
-    begin
-        if ((ap_const_logic_1 = ap_CS_fsm_state7)) then 
-            ap_ready <= ap_const_logic_1;
-        else 
-            ap_ready <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    bound_fu_169_p0 <= bound_fu_169_p00(32 - 1 downto 0);
-    bound_fu_169_p00 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(width_read_reg_426),64));
-    bound_fu_169_p1 <= bound_fu_169_p10(32 - 1 downto 0);
-    bound_fu_169_p10 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(height_read_reg_421),64));
-    bound_fu_169_p2 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(bound_fu_169_p0) * unsigned(bound_fu_169_p1), 64));
-    exitcond_flatten_fu_214_p2 <= "1" when (indvar_flatten_reg_141 = bound_reg_442) else "0";
-
-    filt1_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, filt1_empty_n)
-    begin
-        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 
-            filt1_blk_n <= filt1_empty_n;
-        else 
-            filt1_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    filt1_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n, width_empty_n, filt1_empty_n, filt2_empty_n)
-    begin
-        if ((not(((ap_start = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt1_read <= ap_const_logic_1;
-        else 
-            filt1_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    filt2_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, filt2_empty_n)
-    begin
-        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 
-            filt2_blk_n <= filt2_empty_n;
-        else 
-            filt2_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    filt2_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n, width_empty_n, filt1_empty_n, filt2_empty_n)
-    begin
-        if ((not(((ap_start = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt2_read <= ap_const_logic_1;
-        else 
-            filt2_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    hconv_V_blk_n_assign_proc : process(hconv_V_full_n, ap_block_pp0_stage0, ap_enable_reg_pp0_iter3, tmp_10_i_reg_491_pp0_iter2_reg)
-    begin
-        if (((tmp_10_i_reg_491_pp0_iter2_reg = ap_const_lv1_1) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1) and (ap_const_boolean_0 = ap_block_pp0_stage0))) then 
-            hconv_V_blk_n <= hconv_V_full_n;
-        else 
-            hconv_V_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    hconv_V_din <= std_logic_vector(unsigned(tmp5_reg_505) + unsigned(tmp1_fu_350_p2));
-
-    hconv_V_write_assign_proc : process(ap_enable_reg_pp0_iter3, tmp_10_i_reg_491_pp0_iter2_reg, ap_block_pp0_stage0_11001)
-    begin
-        if (((tmp_10_i_reg_491_pp0_iter2_reg = ap_const_lv1_1) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then 
-            hconv_V_write <= ap_const_logic_1;
-        else 
-            hconv_V_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    height_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n)
-    begin
-        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 
-            height_blk_n <= height_empty_n;
-        else 
-            height_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    height_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n, width_empty_n, filt1_empty_n, filt2_empty_n)
-    begin
-        if ((not(((ap_start = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            height_read <= ap_const_logic_1;
-        else 
-            height_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    indvar_flatten_next_fu_219_p2 <= std_logic_vector(unsigned(indvar_flatten_reg_141) + unsigned(ap_const_lv64_1));
-    row_0_i_cast_i_fu_205_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(row_0_i_i_reg_152),32));
-    row_0_i_i_mid2_fu_273_p3 <= 
-        row_0_i_i_reg_152 when (tmp_4_i_fu_209_p2(0) = '1') else 
-        ap_const_lv10_0;
-    row_fu_326_p2 <= std_logic_vector(unsigned(row_0_i_i_mid2_fu_273_p3) + unsigned(ap_const_lv10_1));
-    src_V_0_ack_in <= src_V_0_state(1);
-
-    src_V_0_ack_out_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter0, exitcond_flatten_fu_214_p2, ap_block_pp0_stage0_11001)
-    begin
-        if (((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then 
-            src_V_0_ack_out <= ap_const_logic_1;
-        else 
-            src_V_0_ack_out <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    src_V_0_data_out_assign_proc : process(src_V_0_payload_A, src_V_0_payload_B, src_V_0_sel)
-    begin
-        if ((src_V_0_sel = ap_const_logic_1)) then 
-            src_V_0_data_out <= src_V_0_payload_B;
-        else 
-            src_V_0_data_out <= src_V_0_payload_A;
-        end if; 
-    end process;
-
-    src_V_0_load_A <= (src_V_0_state_cmp_full and not(src_V_0_sel_wr));
-    src_V_0_load_B <= (src_V_0_state_cmp_full and src_V_0_sel_wr);
-    src_V_0_sel <= src_V_0_sel_rd;
-    src_V_0_state_cmp_full <= '0' when (src_V_0_state = ap_const_lv2_1) else '1';
-    src_V_0_vld_in <= src_V_TVALID;
-    src_V_0_vld_out <= src_V_0_state(0);
-
-    src_V_TDATA_blk_n_assign_proc : process(src_V_0_state, ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter0, ap_block_pp0_stage0, exitcond_flatten_fu_214_p2)
-    begin
-        if (((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0))) then 
-            src_V_TDATA_blk_n <= src_V_0_state(0);
-        else 
-            src_V_TDATA_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    src_V_TREADY <= src_V_0_state(1);
-    tmp1_fu_350_p2 <= std_logic_vector(unsigned(tmp3_reg_481_pp0_iter2_reg) + unsigned(tmp2_reg_476_pp0_iter2_reg));
-    tmp2_fu_291_p2 <= std_logic_vector(unsigned(hwin_1_1_i_fu_64) + unsigned(hwin_1_fu_68));
-    tmp3_fu_303_p2 <= std_logic_vector(unsigned(tmp4_fu_297_p2) + unsigned(hwin_2_fu_72));
-    tmp4_fu_297_p2 <= std_logic_vector(unsigned(hwin_3_fu_76) + unsigned(hwin_4_fu_80));
-    tmp5_fu_345_p2 <= std_logic_vector(unsigned(tmp8_reg_500) + unsigned(tmp6_fu_341_p2));
-    tmp6_fu_341_p2 <= std_logic_vector(unsigned(tmp7_reg_486_pp0_iter1_reg) + unsigned(hwin_5_load_reg_447_pp0_iter1_reg));
-    tmp7_fu_309_p2 <= std_logic_vector(unsigned(hwin_6_fu_88) + unsigned(hwin_7_fu_92));
-    tmp8_fu_336_p2 <= std_logic_vector(unsigned(tmp9_fu_332_p2) + unsigned(hwin_8_load_reg_452));
-    tmp9_fu_332_p2 <= std_logic_vector(unsigned(tmp_23_9_i_reg_466) + unsigned(tmp_23_i_reg_471));
-    tmp_10_i_fu_315_p2 <= "1" when (unsigned(row_0_i_i_mid2_fu_273_p3) > unsigned(ap_const_lv10_9)) else "0";
-    tmp_23_9_i_fu_281_p1 <= hwin_9_fu_100;
-    tmp_23_9_i_fu_281_p2 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(std_logic_vector(signed(filt1_read_reg_432) * signed(tmp_23_9_i_fu_281_p1))), 32));
-    tmp_23_i_fu_286_p1 <= src_V_0_data_out;
-    tmp_23_i_fu_286_p2 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(std_logic_vector(signed(filt2_read_reg_437) * signed(tmp_23_i_fu_286_p1))), 32));
-    tmp_4_i_fu_209_p2 <= "1" when (signed(row_0_i_cast_i_fu_205_p1) < signed(width_read_reg_426)) else "0";
-
-    width_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, width_empty_n)
-    begin
-        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 
-            width_blk_n <= width_empty_n;
-        else 
-            width_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    width_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n, width_empty_n, filt1_empty_n, filt2_empty_n)
-    begin
-        if ((not(((ap_start = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            width_read <= ap_const_logic_1;
-        else 
-            width_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-end behav;

+ 0 - 1570
src/ip_repo/neuron_packed/src/Loop_VConvH_proc.vhd

@@ -1,1570 +0,0 @@
--- ==============================================================
--- RTL generated by Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC
--- Version: 2018.3
--- Copyright (C) 1986-2018 Xilinx, Inc. All Rights Reserved.
--- 
--- ===========================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-
-entity Loop_VConvH_proc is
-port (
-    ap_clk : IN STD_LOGIC;
-    ap_rst : IN STD_LOGIC;
-    ap_start : IN STD_LOGIC;
-    ap_done : OUT STD_LOGIC;
-    ap_continue : IN STD_LOGIC;
-    ap_idle : OUT STD_LOGIC;
-    ap_ready : OUT STD_LOGIC;
-    height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    height_empty_n : IN STD_LOGIC;
-    height_read : OUT STD_LOGIC;
-    vconv_xlim_loc_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    vconv_xlim_loc_empty_n : IN STD_LOGIC;
-    vconv_xlim_loc_read : OUT STD_LOGIC;
-    hconv_V_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    hconv_V_empty_n : IN STD_LOGIC;
-    hconv_V_read : OUT STD_LOGIC;
-    vconv_V_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    vconv_V_full_n : IN STD_LOGIC;
-    vconv_V_write : OUT STD_LOGIC;
-    filt1_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt1_empty_n : IN STD_LOGIC;
-    filt1_read : OUT STD_LOGIC;
-    filt2_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt2_empty_n : IN STD_LOGIC;
-    filt2_read : OUT STD_LOGIC;
-    height_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    height_out_full_n : IN STD_LOGIC;
-    height_out_write : OUT STD_LOGIC;
-    vconv_xlim_loc_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    vconv_xlim_loc_out_full_n : IN STD_LOGIC;
-    vconv_xlim_loc_out_write : OUT STD_LOGIC );
-end;
-
-
-architecture behav of Loop_VConvH_proc is 
-    constant ap_const_logic_1 : STD_LOGIC := '1';
-    constant ap_const_logic_0 : STD_LOGIC := '0';
-    constant ap_ST_fsm_state1 : STD_LOGIC_VECTOR (3 downto 0) := "0001";
-    constant ap_ST_fsm_state2 : STD_LOGIC_VECTOR (3 downto 0) := "0010";
-    constant ap_ST_fsm_pp0_stage0 : STD_LOGIC_VECTOR (3 downto 0) := "0100";
-    constant ap_ST_fsm_state9 : STD_LOGIC_VECTOR (3 downto 0) := "1000";
-    constant ap_const_lv32_0 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000000";
-    constant ap_const_boolean_1 : BOOLEAN := true;
-    constant ap_const_lv32_2 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000010";
-    constant ap_const_boolean_0 : BOOLEAN := false;
-    constant ap_const_lv1_0 : STD_LOGIC_VECTOR (0 downto 0) := "0";
-    constant ap_const_lv1_1 : STD_LOGIC_VECTOR (0 downto 0) := "1";
-    constant ap_const_lv32_1 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000001";
-    constant ap_const_lv64_0 : STD_LOGIC_VECTOR (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000000";
-    constant ap_const_lv10_0 : STD_LOGIC_VECTOR (9 downto 0) := "0000000000";
-    constant ap_const_lv64_1 : STD_LOGIC_VECTOR (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000001";
-    constant ap_const_lv10_1 : STD_LOGIC_VECTOR (9 downto 0) := "0000000001";
-    constant ap_const_lv10_9 : STD_LOGIC_VECTOR (9 downto 0) := "0000001001";
-    constant ap_const_lv32_3 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000011";
-
-    signal ap_done_reg : STD_LOGIC := '0';
-    signal ap_CS_fsm : STD_LOGIC_VECTOR (3 downto 0) := "0001";
-    attribute fsm_encoding : string;
-    attribute fsm_encoding of ap_CS_fsm : signal is "none";
-    signal ap_CS_fsm_state1 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state1 : signal is "none";
-    signal linebuf_0_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_0_ce0 : STD_LOGIC;
-    signal linebuf_0_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_0_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_0_ce1 : STD_LOGIC;
-    signal linebuf_0_we1 : STD_LOGIC;
-    signal linebuf_1_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_1_ce0 : STD_LOGIC;
-    signal linebuf_1_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_1_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_1_ce1 : STD_LOGIC;
-    signal linebuf_1_we1 : STD_LOGIC;
-    signal linebuf_2_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_2_ce0 : STD_LOGIC;
-    signal linebuf_2_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_2_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_2_ce1 : STD_LOGIC;
-    signal linebuf_2_we1 : STD_LOGIC;
-    signal linebuf_3_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_3_ce0 : STD_LOGIC;
-    signal linebuf_3_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_3_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_3_ce1 : STD_LOGIC;
-    signal linebuf_3_we1 : STD_LOGIC;
-    signal linebuf_4_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_4_ce0 : STD_LOGIC;
-    signal linebuf_4_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_4_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_4_ce1 : STD_LOGIC;
-    signal linebuf_4_we1 : STD_LOGIC;
-    signal linebuf_5_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_5_ce0 : STD_LOGIC;
-    signal linebuf_5_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_5_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_5_ce1 : STD_LOGIC;
-    signal linebuf_5_we1 : STD_LOGIC;
-    signal linebuf_6_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_6_ce0 : STD_LOGIC;
-    signal linebuf_6_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_6_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_6_ce1 : STD_LOGIC;
-    signal linebuf_6_we1 : STD_LOGIC;
-    signal linebuf_7_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_7_ce0 : STD_LOGIC;
-    signal linebuf_7_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_7_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_7_ce1 : STD_LOGIC;
-    signal linebuf_7_we1 : STD_LOGIC;
-    signal linebuf_8_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_8_ce0 : STD_LOGIC;
-    signal linebuf_8_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_8_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_8_ce1 : STD_LOGIC;
-    signal linebuf_8_we1 : STD_LOGIC;
-    signal linebuf_9_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_9_ce0 : STD_LOGIC;
-    signal linebuf_9_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_9_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_9_ce1 : STD_LOGIC;
-    signal linebuf_9_we1 : STD_LOGIC;
-    signal height_blk_n : STD_LOGIC;
-    signal vconv_xlim_loc_blk_n : STD_LOGIC;
-    signal hconv_V_blk_n : STD_LOGIC;
-    signal ap_CS_fsm_pp0_stage0 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_pp0_stage0 : signal is "none";
-    signal ap_enable_reg_pp0_iter1 : STD_LOGIC := '0';
-    signal ap_block_pp0_stage0 : BOOLEAN;
-    signal exitcond_flatten_reg_532 : STD_LOGIC_VECTOR (0 downto 0);
-    signal vconv_V_blk_n : STD_LOGIC;
-    signal ap_enable_reg_pp0_iter5 : STD_LOGIC := '0';
-    signal tmp_8_i_i_mid2_reg_541 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_8_i_i_mid2_reg_541_pp0_iter4_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal filt1_blk_n : STD_LOGIC;
-    signal filt2_blk_n : STD_LOGIC;
-    signal height_out_blk_n : STD_LOGIC;
-    signal vconv_xlim_loc_out_blk_n : STD_LOGIC;
-    signal indvar_flatten_reg_319 : STD_LOGIC_VECTOR (63 downto 0);
-    signal col1_0_i_i_i_reg_330 : STD_LOGIC_VECTOR (9 downto 0);
-    signal row2_0_i_i_i_reg_341 : STD_LOGIC_VECTOR (9 downto 0);
-    signal height_read_reg_506 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_state1 : BOOLEAN;
-    signal vconv_xlim_loc_read_reg_511 : STD_LOGIC_VECTOR (31 downto 0);
-    signal filt1_read_reg_517 : STD_LOGIC_VECTOR (31 downto 0);
-    signal filt2_read_reg_522 : STD_LOGIC_VECTOR (31 downto 0);
-    signal bound_fu_358_p2 : STD_LOGIC_VECTOR (63 downto 0);
-    signal bound_reg_527 : STD_LOGIC_VECTOR (63 downto 0);
-    signal ap_CS_fsm_state2 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state2 : signal is "none";
-    signal exitcond_flatten_fu_373_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal ap_block_state3_pp0_stage0_iter0 : BOOLEAN;
-    signal ap_block_state4_pp0_stage0_iter1 : BOOLEAN;
-    signal ap_block_state5_pp0_stage0_iter2 : BOOLEAN;
-    signal ap_block_state6_pp0_stage0_iter3 : BOOLEAN;
-    signal ap_block_state7_pp0_stage0_iter4 : BOOLEAN;
-    signal ap_block_state8_pp0_stage0_iter5 : BOOLEAN;
-    signal ap_block_pp0_stage0_11001 : BOOLEAN;
-    signal exitcond_flatten_reg_532_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal exitcond_flatten_reg_532_pp0_iter2_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal exitcond_flatten_reg_532_pp0_iter3_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal indvar_flatten_next_fu_378_p2 : STD_LOGIC_VECTOR (63 downto 0);
-    signal ap_enable_reg_pp0_iter0 : STD_LOGIC := '0';
-    signal tmp_8_i_i_mid2_fu_410_p3 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_8_i_i_mid2_reg_541_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_8_i_i_mid2_reg_541_pp0_iter2_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_8_i_i_mid2_reg_541_pp0_iter3_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal col1_0_i_i_i_mid2_fu_418_p3 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_0_addr_reg_550 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_1_addr_reg_556 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_2_addr_reg_562 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_3_addr_reg_568 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_4_addr_reg_574 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_5_addr_reg_580 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_6_addr_reg_586 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_7_addr_reg_592 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_8_addr_reg_598 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_9_addr_reg_604 : STD_LOGIC_VECTOR (9 downto 0);
-    signal row_fu_440_p2 : STD_LOGIC_VECTOR (9 downto 0);
-    signal tmp_1_reg_615 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_5_load_reg_620 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_5_load_reg_620_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_5_load_reg_620_pp0_iter3_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_8_load_reg_625 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_8_load_reg_625_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_9_load_reg_630 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_fu_446_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_reg_635 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_reg_635_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_reg_635_pp0_iter3_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_reg_635_pp0_iter4_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_fu_458_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_reg_640 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_reg_640_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_reg_640_pp0_iter3_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_reg_640_pp0_iter4_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp7_fu_464_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp7_reg_645 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp7_reg_645_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp7_reg_645_pp0_iter3_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_30_9_i_i_fu_470_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_30_9_i_i_reg_650 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_30_i_i_fu_474_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_30_i_i_reg_655 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp8_fu_482_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp8_reg_660 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp5_fu_491_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp5_reg_665 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_pp0_stage0_subdone : BOOLEAN;
-    signal ap_condition_pp0_exit_iter0_state3 : STD_LOGIC;
-    signal ap_enable_reg_pp0_iter2 : STD_LOGIC := '0';
-    signal ap_enable_reg_pp0_iter3 : STD_LOGIC := '0';
-    signal ap_enable_reg_pp0_iter4 : STD_LOGIC := '0';
-    signal tmp_16_i_i_fu_426_p1 : STD_LOGIC_VECTOR (63 downto 0);
-    signal ap_block_pp0_stage0_01001 : BOOLEAN;
-    signal bound_fu_358_p0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal bound_fu_358_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal row2_0_i_cast_i_i_fu_364_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_11_i_i_fu_368_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal col_fu_392_p2 : STD_LOGIC_VECTOR (9 downto 0);
-    signal tmp_8_i_i_fu_404_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_8_i_i_mid1_fu_398_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal row2_0_i_i_i_mid2_fu_384_p3 : STD_LOGIC_VECTOR (9 downto 0);
-    signal tmp4_fu_452_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp9_fu_478_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp6_fu_487_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp1_fu_496_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_CS_fsm_state9 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state9 : signal is "none";
-    signal ap_NS_fsm : STD_LOGIC_VECTOR (3 downto 0);
-    signal ap_block_pp0 : BOOLEAN;
-    signal ap_enable_operation_44 : BOOLEAN;
-    signal ap_enable_state3_pp0_iter0_stage0 : BOOLEAN;
-    signal ap_enable_operation_66 : BOOLEAN;
-    signal ap_enable_state4_pp0_iter1_stage0 : BOOLEAN;
-    signal ap_enable_operation_68 : BOOLEAN;
-    signal ap_enable_operation_46 : BOOLEAN;
-    signal ap_enable_operation_67 : BOOLEAN;
-    signal ap_enable_operation_70 : BOOLEAN;
-    signal ap_enable_operation_48 : BOOLEAN;
-    signal ap_enable_operation_69 : BOOLEAN;
-    signal ap_enable_operation_72 : BOOLEAN;
-    signal ap_enable_operation_50 : BOOLEAN;
-    signal ap_enable_operation_71 : BOOLEAN;
-    signal ap_enable_operation_74 : BOOLEAN;
-    signal ap_enable_operation_52 : BOOLEAN;
-    signal ap_enable_operation_73 : BOOLEAN;
-    signal ap_enable_operation_76 : BOOLEAN;
-    signal ap_enable_operation_54 : BOOLEAN;
-    signal ap_enable_operation_75 : BOOLEAN;
-    signal ap_enable_operation_78 : BOOLEAN;
-    signal ap_enable_operation_56 : BOOLEAN;
-    signal ap_enable_operation_77 : BOOLEAN;
-    signal ap_enable_operation_80 : BOOLEAN;
-    signal ap_enable_operation_58 : BOOLEAN;
-    signal ap_enable_operation_79 : BOOLEAN;
-    signal ap_enable_operation_82 : BOOLEAN;
-    signal ap_enable_operation_60 : BOOLEAN;
-    signal ap_enable_operation_81 : BOOLEAN;
-    signal ap_enable_operation_84 : BOOLEAN;
-    signal ap_enable_operation_62 : BOOLEAN;
-    signal ap_enable_operation_83 : BOOLEAN;
-    signal ap_enable_operation_89 : BOOLEAN;
-    signal ap_idle_pp0 : STD_LOGIC;
-    signal ap_enable_pp0 : STD_LOGIC;
-    signal bound_fu_358_p00 : STD_LOGIC_VECTOR (63 downto 0);
-    signal bound_fu_358_p10 : STD_LOGIC_VECTOR (63 downto 0);
-
-    component Loop_VConvH_proc_linebuf_0 IS
-    generic (
-        DataWidth : INTEGER;
-        AddressRange : INTEGER;
-        AddressWidth : INTEGER );
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        address0 : IN STD_LOGIC_VECTOR (9 downto 0);
-        ce0 : IN STD_LOGIC;
-        q0 : OUT STD_LOGIC_VECTOR (31 downto 0);
-        address1 : IN STD_LOGIC_VECTOR (9 downto 0);
-        ce1 : IN STD_LOGIC;
-        we1 : IN STD_LOGIC;
-        d1 : IN STD_LOGIC_VECTOR (31 downto 0) );
-    end component;
-
-
-
-begin
-    linebuf_0_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_0_address0,
-        ce0 => linebuf_0_ce0,
-        q0 => linebuf_0_q0,
-        address1 => linebuf_0_address1,
-        ce1 => linebuf_0_ce1,
-        we1 => linebuf_0_we1,
-        d1 => linebuf_1_q0);
-
-    linebuf_1_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_1_address0,
-        ce0 => linebuf_1_ce0,
-        q0 => linebuf_1_q0,
-        address1 => linebuf_1_address1,
-        ce1 => linebuf_1_ce1,
-        we1 => linebuf_1_we1,
-        d1 => linebuf_2_q0);
-
-    linebuf_2_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_2_address0,
-        ce0 => linebuf_2_ce0,
-        q0 => linebuf_2_q0,
-        address1 => linebuf_2_address1,
-        ce1 => linebuf_2_ce1,
-        we1 => linebuf_2_we1,
-        d1 => linebuf_3_q0);
-
-    linebuf_3_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_3_address0,
-        ce0 => linebuf_3_ce0,
-        q0 => linebuf_3_q0,
-        address1 => linebuf_3_address1,
-        ce1 => linebuf_3_ce1,
-        we1 => linebuf_3_we1,
-        d1 => linebuf_4_q0);
-
-    linebuf_4_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_4_address0,
-        ce0 => linebuf_4_ce0,
-        q0 => linebuf_4_q0,
-        address1 => linebuf_4_address1,
-        ce1 => linebuf_4_ce1,
-        we1 => linebuf_4_we1,
-        d1 => linebuf_5_q0);
-
-    linebuf_5_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_5_address0,
-        ce0 => linebuf_5_ce0,
-        q0 => linebuf_5_q0,
-        address1 => linebuf_5_address1,
-        ce1 => linebuf_5_ce1,
-        we1 => linebuf_5_we1,
-        d1 => linebuf_6_q0);
-
-    linebuf_6_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_6_address0,
-        ce0 => linebuf_6_ce0,
-        q0 => linebuf_6_q0,
-        address1 => linebuf_6_address1,
-        ce1 => linebuf_6_ce1,
-        we1 => linebuf_6_we1,
-        d1 => linebuf_7_q0);
-
-    linebuf_7_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_7_address0,
-        ce0 => linebuf_7_ce0,
-        q0 => linebuf_7_q0,
-        address1 => linebuf_7_address1,
-        ce1 => linebuf_7_ce1,
-        we1 => linebuf_7_we1,
-        d1 => linebuf_8_q0);
-
-    linebuf_8_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_8_address0,
-        ce0 => linebuf_8_ce0,
-        q0 => linebuf_8_q0,
-        address1 => linebuf_8_address1,
-        ce1 => linebuf_8_ce1,
-        we1 => linebuf_8_we1,
-        d1 => linebuf_9_q0);
-
-    linebuf_9_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_9_address0,
-        ce0 => linebuf_9_ce0,
-        q0 => linebuf_9_q0,
-        address1 => linebuf_9_address1,
-        ce1 => linebuf_9_ce1,
-        we1 => linebuf_9_we1,
-        d1 => hconv_V_dout);
-
-
-
-
-
-    ap_CS_fsm_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_CS_fsm <= ap_ST_fsm_state1;
-            else
-                ap_CS_fsm <= ap_NS_fsm;
-            end if;
-        end if;
-    end process;
-
-
-    ap_done_reg_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_done_reg <= ap_const_logic_0;
-            else
-                if ((ap_continue = ap_const_logic_1)) then 
-                    ap_done_reg <= ap_const_logic_0;
-                elsif ((ap_const_logic_1 = ap_CS_fsm_state9)) then 
-                    ap_done_reg <= ap_const_logic_1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter0_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter0 <= ap_const_logic_0;
-            else
-                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 
-                    ap_enable_reg_pp0_iter0 <= ap_const_logic_0;
-                elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                    ap_enable_reg_pp0_iter0 <= ap_const_logic_1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter1_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter1 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then
-                    if ((ap_const_logic_1 = ap_condition_pp0_exit_iter0_state3)) then 
-                        ap_enable_reg_pp0_iter1 <= (ap_const_logic_1 xor ap_condition_pp0_exit_iter0_state3);
-                    elsif ((ap_const_boolean_1 = ap_const_boolean_1)) then 
-                        ap_enable_reg_pp0_iter1 <= ap_enable_reg_pp0_iter0;
-                    end if;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter2_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter2 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter2 <= ap_enable_reg_pp0_iter1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter3_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter3 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter3 <= ap_enable_reg_pp0_iter2;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter4_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter4 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter4 <= ap_enable_reg_pp0_iter3;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter5_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter5 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter5 <= ap_enable_reg_pp0_iter4;
-                elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                    ap_enable_reg_pp0_iter5 <= ap_const_logic_0;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    col1_0_i_i_i_reg_330_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            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 
-                col1_0_i_i_i_reg_330 <= col1_0_i_i_i_mid2_fu_418_p3;
-            elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                col1_0_i_i_i_reg_330 <= ap_const_lv10_0;
-            end if; 
-        end if;
-    end process;
-
-    indvar_flatten_reg_319_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            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 
-                indvar_flatten_reg_319 <= indvar_flatten_next_fu_378_p2;
-            elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                indvar_flatten_reg_319 <= ap_const_lv64_0;
-            end if; 
-        end if;
-    end process;
-
-    row2_0_i_i_i_reg_341_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            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 
-                row2_0_i_i_i_reg_341 <= row_fu_440_p2;
-            elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                row2_0_i_i_i_reg_341 <= ap_const_lv10_0;
-            end if; 
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((ap_const_logic_1 = ap_CS_fsm_state2)) then
-                bound_reg_527 <= bound_fu_358_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
-                exitcond_flatten_reg_532 <= exitcond_flatten_fu_373_p2;
-                exitcond_flatten_reg_532_pp0_iter1_reg <= exitcond_flatten_reg_532;
-                tmp_8_i_i_mid2_reg_541_pp0_iter1_reg <= tmp_8_i_i_mid2_reg_541;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((ap_const_boolean_0 = ap_block_pp0_stage0_11001)) then
-                exitcond_flatten_reg_532_pp0_iter2_reg <= exitcond_flatten_reg_532_pp0_iter1_reg;
-                exitcond_flatten_reg_532_pp0_iter3_reg <= exitcond_flatten_reg_532_pp0_iter2_reg;
-                linebuf_5_load_reg_620_pp0_iter2_reg <= linebuf_5_load_reg_620;
-                linebuf_5_load_reg_620_pp0_iter3_reg <= linebuf_5_load_reg_620_pp0_iter2_reg;
-                linebuf_8_load_reg_625_pp0_iter2_reg <= linebuf_8_load_reg_625;
-                tmp2_reg_635_pp0_iter2_reg <= tmp2_reg_635;
-                tmp2_reg_635_pp0_iter3_reg <= tmp2_reg_635_pp0_iter2_reg;
-                tmp2_reg_635_pp0_iter4_reg <= tmp2_reg_635_pp0_iter3_reg;
-                tmp3_reg_640_pp0_iter2_reg <= tmp3_reg_640;
-                tmp3_reg_640_pp0_iter3_reg <= tmp3_reg_640_pp0_iter2_reg;
-                tmp3_reg_640_pp0_iter4_reg <= tmp3_reg_640_pp0_iter3_reg;
-                tmp7_reg_645_pp0_iter2_reg <= tmp7_reg_645;
-                tmp7_reg_645_pp0_iter3_reg <= tmp7_reg_645_pp0_iter2_reg;
-                tmp_8_i_i_mid2_reg_541_pp0_iter2_reg <= tmp_8_i_i_mid2_reg_541_pp0_iter1_reg;
-                tmp_8_i_i_mid2_reg_541_pp0_iter3_reg <= tmp_8_i_i_mid2_reg_541_pp0_iter2_reg;
-                tmp_8_i_i_mid2_reg_541_pp0_iter4_reg <= tmp_8_i_i_mid2_reg_541_pp0_iter3_reg;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            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
-                filt1_read_reg_517 <= filt1_dout;
-                filt2_read_reg_522 <= filt2_dout;
-                height_read_reg_506 <= height_dout;
-                vconv_xlim_loc_read_reg_511 <= vconv_xlim_loc_dout;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            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
-                linebuf_0_addr_reg_550 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_1_addr_reg_556 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_2_addr_reg_562 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_3_addr_reg_568 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_4_addr_reg_574 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_5_addr_reg_580 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_6_addr_reg_586 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_7_addr_reg_592 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_8_addr_reg_598 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_9_addr_reg_604 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                tmp_8_i_i_mid2_reg_541 <= tmp_8_i_i_mid2_fu_410_p3;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            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
-                linebuf_5_load_reg_620 <= linebuf_5_q0;
-                linebuf_8_load_reg_625 <= linebuf_8_q0;
-                linebuf_9_load_reg_630 <= linebuf_9_q0;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            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
-                tmp2_reg_635 <= tmp2_fu_446_p2;
-                tmp3_reg_640 <= tmp3_fu_458_p2;
-                tmp7_reg_645 <= tmp7_fu_464_p2;
-                tmp_1_reg_615 <= hconv_V_dout;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (exitcond_flatten_reg_532_pp0_iter3_reg = ap_const_lv1_0))) then
-                tmp5_reg_665 <= tmp5_fu_491_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (exitcond_flatten_reg_532_pp0_iter2_reg = ap_const_lv1_0))) then
-                tmp8_reg_660 <= tmp8_fu_482_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (exitcond_flatten_reg_532_pp0_iter1_reg = ap_const_lv1_0))) then
-                tmp_30_9_i_i_reg_650 <= tmp_30_9_i_i_fu_470_p2;
-                tmp_30_i_i_reg_655 <= tmp_30_i_i_fu_474_p2;
-            end if;
-        end if;
-    end process;
-
-    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)
-    begin
-        case ap_CS_fsm is
-            when ap_ST_fsm_state1 => 
-                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
-                    ap_NS_fsm <= ap_ST_fsm_state2;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_state1;
-                end if;
-            when ap_ST_fsm_state2 => 
-                ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-            when ap_ST_fsm_pp0_stage0 => 
-                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
-                    ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-                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
-                    ap_NS_fsm <= ap_ST_fsm_state9;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-                end if;
-            when ap_ST_fsm_state9 => 
-                ap_NS_fsm <= ap_ST_fsm_state1;
-            when others =>  
-                ap_NS_fsm <= "XXXX";
-        end case;
-    end process;
-    ap_CS_fsm_pp0_stage0 <= ap_CS_fsm(2);
-    ap_CS_fsm_state1 <= ap_CS_fsm(0);
-    ap_CS_fsm_state2 <= ap_CS_fsm(1);
-    ap_CS_fsm_state9 <= ap_CS_fsm(3);
-
-    ap_block_pp0_assign_proc : process(ap_CS_fsm, ap_block_pp0_stage0_subdone)
-    begin
-                ap_block_pp0 <= ((ap_ST_fsm_pp0_stage0 = ap_CS_fsm) and (ap_const_boolean_1 = ap_block_pp0_stage0_subdone));
-    end process;
-
-        ap_block_pp0_stage0 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    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)
-    begin
-                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)));
-    end process;
-
-
-    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)
-    begin
-                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)));
-    end process;
-
-
-    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)
-    begin
-                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)));
-    end process;
-
-
-    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)
-    begin
-                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));
-    end process;
-
-        ap_block_state3_pp0_stage0_iter0 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_block_state4_pp0_stage0_iter1_assign_proc : process(hconv_V_empty_n, exitcond_flatten_reg_532)
-    begin
-                ap_block_state4_pp0_stage0_iter1 <= ((hconv_V_empty_n = ap_const_logic_0) and (exitcond_flatten_reg_532 = ap_const_lv1_0));
-    end process;
-
-        ap_block_state5_pp0_stage0_iter2 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-        ap_block_state6_pp0_stage0_iter3 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-        ap_block_state7_pp0_stage0_iter4 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_block_state8_pp0_stage0_iter5_assign_proc : process(vconv_V_full_n, tmp_8_i_i_mid2_reg_541_pp0_iter4_reg)
-    begin
-                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));
-    end process;
-
-
-    ap_condition_pp0_exit_iter0_state3_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-        if ((exitcond_flatten_fu_373_p2 = ap_const_lv1_1)) then 
-            ap_condition_pp0_exit_iter0_state3 <= ap_const_logic_1;
-        else 
-            ap_condition_pp0_exit_iter0_state3 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    ap_done_assign_proc : process(ap_done_reg, ap_CS_fsm_state9)
-    begin
-        if ((ap_const_logic_1 = ap_CS_fsm_state9)) then 
-            ap_done <= ap_const_logic_1;
-        else 
-            ap_done <= ap_done_reg;
-        end if; 
-    end process;
-
-
-    ap_enable_operation_44_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_44 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_46_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_46 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_48_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_48 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_50_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_50 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_52_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_52 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_54_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_54 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_56_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_56 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_58_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_58 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_60_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_60 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_62_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_62 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_66_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_66 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_67_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_67 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_68_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_68 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_69_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_69 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_70_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_70 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_71_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_71 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_72_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_72 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_73_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_73 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_74_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_74 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_75_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_75 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_76_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_76 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_77_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_77 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_78_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_78 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_79_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_79 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_80_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_80 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_81_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_81 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_82_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_82 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_83_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_83 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_84_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_84 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_89_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_89 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-    ap_enable_pp0 <= (ap_idle_pp0 xor ap_const_logic_1);
-
-    ap_enable_state3_pp0_iter0_stage0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter0)
-    begin
-                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));
-    end process;
-
-
-    ap_enable_state4_pp0_iter1_stage0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1)
-    begin
-                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));
-    end process;
-
-
-    ap_idle_assign_proc : process(ap_start, ap_CS_fsm_state1)
-    begin
-        if (((ap_start = ap_const_logic_0) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            ap_idle <= ap_const_logic_1;
-        else 
-            ap_idle <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            ap_idle_pp0 <= ap_const_logic_1;
-        else 
-            ap_idle_pp0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    ap_ready_assign_proc : process(ap_CS_fsm_state9)
-    begin
-        if ((ap_const_logic_1 = ap_CS_fsm_state9)) then 
-            ap_ready <= ap_const_logic_1;
-        else 
-            ap_ready <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    bound_fu_358_p0 <= bound_fu_358_p00(32 - 1 downto 0);
-    bound_fu_358_p00 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(vconv_xlim_loc_read_reg_511),64));
-    bound_fu_358_p1 <= bound_fu_358_p10(32 - 1 downto 0);
-    bound_fu_358_p10 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(height_read_reg_506),64));
-    bound_fu_358_p2 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(bound_fu_358_p0) * unsigned(bound_fu_358_p1), 64));
-    col1_0_i_i_i_mid2_fu_418_p3 <= 
-        col1_0_i_i_i_reg_330 when (tmp_11_i_i_fu_368_p2(0) = '1') else 
-        col_fu_392_p2;
-    col_fu_392_p2 <= std_logic_vector(unsigned(col1_0_i_i_i_reg_330) + unsigned(ap_const_lv10_1));
-    exitcond_flatten_fu_373_p2 <= "1" when (indvar_flatten_reg_319 = bound_reg_527) else "0";
-
-    filt1_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, filt1_empty_n)
-    begin
-        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 
-            filt1_blk_n <= filt1_empty_n;
-        else 
-            filt1_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            filt1_read <= ap_const_logic_1;
-        else 
-            filt1_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    filt2_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, filt2_empty_n)
-    begin
-        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 
-            filt2_blk_n <= filt2_empty_n;
-        else 
-            filt2_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            filt2_read <= ap_const_logic_1;
-        else 
-            filt2_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            hconv_V_blk_n <= hconv_V_empty_n;
-        else 
-            hconv_V_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            hconv_V_read <= ap_const_logic_1;
-        else 
-            hconv_V_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    height_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n)
-    begin
-        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 
-            height_blk_n <= height_empty_n;
-        else 
-            height_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    height_out_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_out_full_n)
-    begin
-        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 
-            height_out_blk_n <= height_out_full_n;
-        else 
-            height_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    height_out_din <= height_dout;
-
-    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)
-    begin
-        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 
-            height_out_write <= ap_const_logic_1;
-        else 
-            height_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            height_read <= ap_const_logic_1;
-        else 
-            height_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    indvar_flatten_next_fu_378_p2 <= std_logic_vector(unsigned(indvar_flatten_reg_319) + unsigned(ap_const_lv64_1));
-    linebuf_0_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_0_address1 <= linebuf_0_addr_reg_550;
-
-    linebuf_0_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_0_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_0_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_0_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_0_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_0_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_0_we1 <= ap_const_logic_1;
-        else 
-            linebuf_0_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_1_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_1_address1 <= linebuf_1_addr_reg_556;
-
-    linebuf_1_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_1_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_1_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_1_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_1_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_1_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_1_we1 <= ap_const_logic_1;
-        else 
-            linebuf_1_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_2_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_2_address1 <= linebuf_2_addr_reg_562;
-
-    linebuf_2_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_2_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_2_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_2_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_2_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_2_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_2_we1 <= ap_const_logic_1;
-        else 
-            linebuf_2_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_3_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_3_address1 <= linebuf_3_addr_reg_568;
-
-    linebuf_3_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_3_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_3_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_3_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_3_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_3_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_3_we1 <= ap_const_logic_1;
-        else 
-            linebuf_3_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_4_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_4_address1 <= linebuf_4_addr_reg_574;
-
-    linebuf_4_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_4_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_4_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_4_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_4_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_4_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_4_we1 <= ap_const_logic_1;
-        else 
-            linebuf_4_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_5_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_5_address1 <= linebuf_5_addr_reg_580;
-
-    linebuf_5_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_5_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_5_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_5_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_5_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_5_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_5_we1 <= ap_const_logic_1;
-        else 
-            linebuf_5_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_6_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_6_address1 <= linebuf_6_addr_reg_586;
-
-    linebuf_6_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_6_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_6_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_6_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_6_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_6_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_6_we1 <= ap_const_logic_1;
-        else 
-            linebuf_6_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_7_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_7_address1 <= linebuf_7_addr_reg_592;
-
-    linebuf_7_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_7_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_7_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_7_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_7_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_7_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_7_we1 <= ap_const_logic_1;
-        else 
-            linebuf_7_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_8_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_8_address1 <= linebuf_8_addr_reg_598;
-
-    linebuf_8_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_8_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_8_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_8_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_8_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_8_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_8_we1 <= ap_const_logic_1;
-        else 
-            linebuf_8_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_9_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_9_address1 <= linebuf_9_addr_reg_604;
-
-    linebuf_9_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_9_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_9_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_9_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_9_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_9_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_9_we1 <= ap_const_logic_1;
-        else 
-            linebuf_9_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    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));
-    row2_0_i_i_i_mid2_fu_384_p3 <= 
-        row2_0_i_i_i_reg_341 when (tmp_11_i_i_fu_368_p2(0) = '1') else 
-        ap_const_lv10_0;
-    row_fu_440_p2 <= std_logic_vector(unsigned(row2_0_i_i_i_mid2_fu_384_p3) + unsigned(ap_const_lv10_1));
-    tmp1_fu_496_p2 <= std_logic_vector(unsigned(tmp3_reg_640_pp0_iter4_reg) + unsigned(tmp2_reg_635_pp0_iter4_reg));
-    tmp2_fu_446_p2 <= std_logic_vector(unsigned(linebuf_0_q0) + unsigned(linebuf_1_q0));
-    tmp3_fu_458_p2 <= std_logic_vector(unsigned(tmp4_fu_452_p2) + unsigned(linebuf_2_q0));
-    tmp4_fu_452_p2 <= std_logic_vector(unsigned(linebuf_3_q0) + unsigned(linebuf_4_q0));
-    tmp5_fu_491_p2 <= std_logic_vector(unsigned(tmp8_reg_660) + unsigned(tmp6_fu_487_p2));
-    tmp6_fu_487_p2 <= std_logic_vector(unsigned(tmp7_reg_645_pp0_iter3_reg) + unsigned(linebuf_5_load_reg_620_pp0_iter3_reg));
-    tmp7_fu_464_p2 <= std_logic_vector(unsigned(linebuf_6_q0) + unsigned(linebuf_7_q0));
-    tmp8_fu_482_p2 <= std_logic_vector(unsigned(tmp9_fu_478_p2) + unsigned(linebuf_8_load_reg_625_pp0_iter2_reg));
-    tmp9_fu_478_p2 <= std_logic_vector(unsigned(tmp_30_9_i_i_reg_650) + unsigned(tmp_30_i_i_reg_655));
-    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";
-    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));
-    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));
-    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));
-    tmp_8_i_i_fu_404_p2 <= "1" when (unsigned(col1_0_i_i_i_reg_330) > unsigned(ap_const_lv10_9)) else "0";
-    tmp_8_i_i_mid1_fu_398_p2 <= "1" when (unsigned(col_fu_392_p2) > unsigned(ap_const_lv10_9)) else "0";
-    tmp_8_i_i_mid2_fu_410_p3 <= 
-        tmp_8_i_i_fu_404_p2 when (tmp_11_i_i_fu_368_p2(0) = '1') else 
-        tmp_8_i_i_mid1_fu_398_p2;
-
-    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)
-    begin
-        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 
-            vconv_V_blk_n <= vconv_V_full_n;
-        else 
-            vconv_V_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    vconv_V_din <= std_logic_vector(unsigned(tmp5_reg_665) + unsigned(tmp1_fu_496_p2));
-
-    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)
-    begin
-        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 
-            vconv_V_write <= ap_const_logic_1;
-        else 
-            vconv_V_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    vconv_xlim_loc_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, vconv_xlim_loc_empty_n)
-    begin
-        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 
-            vconv_xlim_loc_blk_n <= vconv_xlim_loc_empty_n;
-        else 
-            vconv_xlim_loc_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    vconv_xlim_loc_out_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, vconv_xlim_loc_out_full_n)
-    begin
-        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 
-            vconv_xlim_loc_out_blk_n <= vconv_xlim_loc_out_full_n;
-        else 
-            vconv_xlim_loc_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    vconv_xlim_loc_out_din <= vconv_xlim_loc_dout;
-
-    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)
-    begin
-        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 
-            vconv_xlim_loc_out_write <= ap_const_logic_1;
-        else 
-            vconv_xlim_loc_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            vconv_xlim_loc_read <= ap_const_logic_1;
-        else 
-            vconv_xlim_loc_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-end behav;

+ 0 - 132
src/ip_repo/neuron_packed/src/Loop_VConvH_proc_linebuf_0.vhd

@@ -1,132 +0,0 @@
--- ==============================================================
--- File generated on Wed Jun 26 16:53:30 CEST 2019
--- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
--- SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
--- IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
--- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
--- ==============================================================
---
-library ieee; 
-use ieee.std_logic_1164.all; 
-use ieee.std_logic_unsigned.all;
-
-entity Loop_VConvH_proc_linebuf_0_ram is 
-    generic(
-            MEM_TYPE    : string := "block"; 
-            DWIDTH     : integer := 32; 
-            AWIDTH     : integer := 10; 
-            MEM_SIZE    : integer := 672
-    ); 
-    port (
-          addr0     : in std_logic_vector(AWIDTH-1 downto 0); 
-          ce0       : in std_logic; 
-          q0        : out std_logic_vector(DWIDTH-1 downto 0);
-          addr1     : in std_logic_vector(AWIDTH-1 downto 0); 
-          ce1       : in std_logic; 
-          d1        : in std_logic_vector(DWIDTH-1 downto 0); 
-          we1       : in std_logic; 
-          clk        : in std_logic 
-    ); 
-end entity; 
-
-
-architecture rtl of Loop_VConvH_proc_linebuf_0_ram is 
-
-signal addr0_tmp : std_logic_vector(AWIDTH-1 downto 0); 
-type mem_array is array (0 to MEM_SIZE-1) of std_logic_vector (DWIDTH-1 downto 0); 
-shared variable ram : mem_array := (others=>(others=>'0'));
-
-attribute syn_ramstyle : string; 
-attribute syn_ramstyle of ram : variable is "block_ram";
-attribute ram_style : string;
-attribute ram_style of ram : variable is MEM_TYPE;
-
-begin 
-
-
-memory_access_guard_0: process (addr0) 
-begin
-      addr0_tmp <= addr0;
---synthesis translate_off
-      if (CONV_INTEGER(addr0) > mem_size-1) then
-           addr0_tmp <= (others => '0');
-      else 
-           addr0_tmp <= addr0;
-      end if;
---synthesis translate_on
-end process;
-
-p_memory_access_0: process (clk)  
-begin 
-    if (clk'event and clk = '1') then
-        if (ce0 = '1') then 
-            q0 <= ram(CONV_INTEGER(addr0_tmp)); 
-        end if;
-    end if;
-end process;
-
-
-p_memory_access_1: process (clk)  
-begin 
-    if (clk'event and clk = '1') then
-        if (ce1 = '1') then 
-            if (we1 = '1') then 
-                ram(CONV_INTEGER(addr1)) := d1; 
-            end if;
-        end if;
-    end if;
-end process;
-
-
-end rtl;
-
-Library IEEE;
-use IEEE.std_logic_1164.all;
-
-entity Loop_VConvH_proc_linebuf_0 is
-    generic (
-        DataWidth : INTEGER := 32;
-        AddressRange : INTEGER := 672;
-        AddressWidth : INTEGER := 10);
-    port (
-        reset : IN STD_LOGIC;
-        clk : IN STD_LOGIC;
-        address0 : IN STD_LOGIC_VECTOR(AddressWidth - 1 DOWNTO 0);
-        ce0 : IN STD_LOGIC;
-        q0 : OUT STD_LOGIC_VECTOR(DataWidth - 1 DOWNTO 0);
-        address1 : IN STD_LOGIC_VECTOR(AddressWidth - 1 DOWNTO 0);
-        ce1 : IN STD_LOGIC;
-        we1 : IN STD_LOGIC;
-        d1 : IN STD_LOGIC_VECTOR(DataWidth - 1 DOWNTO 0));
-end entity;
-
-architecture arch of Loop_VConvH_proc_linebuf_0 is
-    component Loop_VConvH_proc_linebuf_0_ram is
-        port (
-            clk : IN STD_LOGIC;
-            addr0 : IN STD_LOGIC_VECTOR;
-            ce0 : IN STD_LOGIC;
-            q0 : OUT STD_LOGIC_VECTOR;
-            addr1 : IN STD_LOGIC_VECTOR;
-            ce1 : IN STD_LOGIC;
-            we1 : IN STD_LOGIC;
-            d1 : IN STD_LOGIC_VECTOR);
-    end component;
-
-
-
-begin
-    Loop_VConvH_proc_linebuf_0_ram_U :  component Loop_VConvH_proc_linebuf_0_ram
-    port map (
-        clk => clk,
-        addr0 => address0,
-        ce0 => ce0,
-        q0 => q0,
-        addr1 => address1,
-        ce1 => ce1,
-        we1 => we1,
-        d1 => d1);
-
-end architecture;
-
-

+ 0 - 34
src/ip_repo/neuron_packed/src/checksum.vhd

@@ -1,34 +0,0 @@
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use IEEE.std_logic_arith.ALL;
-use IEEE.STD_LOGIC_UNSIGNED.ALL;
-use work.myPackage.ALL;
-
-
-entity checksum is
-    generic(
-        busWidth : integer:=32);
-    Port ( clk : in STD_LOGIC;
-           reset : in STD_LOGIC;
-           enable : in STD_LOGIC;
-           dataIn : in std_logic_vector(busWidth-1 downto 0);
-           output : out std_logic_vector(busWidth-1 downto 0));
-end checksum;
-
-architecture Behavioral of checksum is
-    signal sum : unsigned(busWidth-1 downto 0);
-begin
-    main : process(clk, reset)
-        
-    begin
-        if(reset = '0') then
-            sum <= (others => '0');
-        elsif(rising_edge(clk)) then
-            if(enable = '1') then
-                sum <= sum + unsigned(dataIn);
-            end if;
-        end if;
-    end process;
-
-    output <= std_logic_vector(sum);
-end Behavioral;

+ 0 - 188
src/ip_repo/neuron_packed/src/dummyModule.vhd

@@ -1,188 +0,0 @@
-----------------------------------------------------------------------------------
--- Company: 
--- Engineer: 
--- 
--- Create Date: 12.06.2019 22:30:43
--- Design Name: 
--- Module Name: dummyModule - Behavioral
--- Project Name: 
--- Target Devices: 
--- Tool Versions: 
--- Description: 
--- 
--- Dependencies: 
--- 
--- Revision:
--- Revision 0.01 - File Created
--- Additional Comments:
--- 
-----------------------------------------------------------------------------------
-
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-
-entity dummyModule is
-    generic(
-        busWidth : integer:=32;
-        regDepth : integer:=4);
-    Port ( clk : in STD_LOGIC;
-           rst_n : in STD_LOGIC;
-           start : in STD_LOGIC;
-           ready: out std_logic;
-           idle : out std_logic;
-           done : out std_logic;
-           
-           srcData : in STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           srcValid : in std_logic;
-           srcReady : out std_logic;
-           
-           dstData : out STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           dstValid : out std_logic;
-           dstReady : in std_logic);
-end dummyModule;
-
-architecture Behavioral of dummyModule is
-
-    constant regWidth : integer:= regDepth * busWidth;
-
-    component shiftIn is
-        generic(
-            inWidth : integer := busWidth;
-            outWidth : integer := regWidth);
-        Port ( clk : in STD_LOGIC;
-               ce : in std_logic;
-               sync_reset : in STD_LOGIC;
-               dataIn : in std_logic_vector(inWidth-1 downto 0);
-               dataOut : out std_logic_vector(outWidth-1 downto 0);
-               finished : out STD_LOGIC);
-    end component;
-    component dummyModuleLogic is
-        generic(
-            regWidth : integer:=regWidth);
-        Port (
-            inputs : in std_logic_vector(regWidth-1 downto 0);
-            start : in std_logic;
-            finished : out std_logic;
-            clk : in std_logic;
-            outputs : out std_logic_vector(regWidth-1 downto 0));
-    end component;
-    component shiftOut is
-        generic(
-            inWidth : integer := regWidth;
-            outWidth : integer := busWidth);
-        Port ( clk : in STD_LOGIC;
-               ce : in std_logic;
-               sync_reset : in STD_LOGIC;
-               dataIn : in std_logic_vector(inWidth-1 downto 0);
-               dataOut : out std_logic_vector(outWidth-1 downto 0);
-               valid : out std_logic;
-               finished : out STD_LOGIC);
-    end component;
-    
-    signal dataInStorage : std_logic_vector(regWidth-1 downto 0);
-    signal dataOutStorage : std_logic_vector(regWidth-1 downto 0);
-    signal startShiftIn : std_logic;
-    signal shiftInFinished : std_logic;
-    signal calcFinished : std_logic;
-    signal shiftOutFinished : std_logic;
-    
-    type state_t is (waiting, srcShift, calc, dstShift);
-    signal state : state_t := waiting;
-
-begin
-    shiftIn2: shiftIn port map (
-        clk         => clk,
-        ce          => srcValid,
-        sync_reset  => startShiftIn,
-        dataIn      => srcData,
-        dataOut     => dataInStorage,
-        finished    => shiftInFinished
-    );
-    
-    dummyModuleLogic1: dummyModuleLogic port map (
-        inputs  => dataInStorage,
-        clk     => clk,
-        outputs => dataOutStorage,
-        start   => shiftInFinished,
-        finished=> calcFinished
-    );
-    
-    shiftOut2 : shiftOut port map (
-        clk         => clk,
-        ce      => dstReady,
-        sync_reset  => calcFinished,
-        dataIn      => dataOutStorage,
-        dataOut     => dstData,
-        finished    => shiftOutFinished,
-        valid       => dstValid
-    );
-    
-    fsm : process(clk, rst_n)
-    
-    begin
-        if rst_n = '0' then
-            state <= waiting;
-            ready <= '0';
-        elsif rising_edge(clk) then
-            startShiftIn <= '1';
-            idle <= '0';
-            ready <= '1';
-            case state is
-                when waiting =>
-                    if start='1' and shiftOutFinished = '0'  then
-                        state <= srcShift;
-                    else
-                        startShiftIn <= '0';
-                        idle <= '1';
-                    end if;
-                    
-                    
-                when srcShift =>
-                    
-                    if shiftInFinished = '1' then
-                        state <= calc;
-                    end if;
-                when calc =>
-                    if calcFinished='1' then
-                        state <= dstShift;
-                    end if;
-                when dstShift =>
-                    if shiftOutFinished='1' then
-                        state <= waiting;
-                    end if;
-            end case;
-        end if;
-    end process;
-    process(startShiftIn, shiftInFinished, shiftOutFinished, start) begin
-        srcReady <= startShiftIn and not shiftInFinished;
-        done <= start and shiftOutFinished;
-    end process;
-end Behavioral;
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-
-entity dummyModuleLogic is
-    Generic (
-        regWidth : integer := 16
-    );
-    Port (
-        inputs : in std_logic_vector(regWidth-1 downto 0);
-        start : in std_logic;
-        finished : out std_logic;
-        clk : in std_logic;
-        outputs : out std_logic_vector(regWidth-1 downto 0));
-end dummyModuleLogic;
-
-architecture Behavioral of dummyModuleLogic is
-
-begin
-    process(clk)
-    begin
-        if(rising_edge(clk)) then
-            outputs <= inputs;
-            finished <= start;
-        end if;
-    end process;
-end Behavioral;

+ 0 - 140
src/ip_repo/neuron_packed/src/fifo_w32_d2_A.vhd

@@ -1,140 +0,0 @@
--- ==============================================================
--- File generated on Wed Jun 26 16:53:30 CEST 2019
--- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
--- SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
--- IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
--- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
--- ==============================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.std_logic_unsigned.all;
-
-entity fifo_w32_d2_A_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 32;
-        ADDR_WIDTH : integer := 1;
-        DEPTH : integer := 2);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-end fifo_w32_d2_A_shiftReg;
-
-architecture rtl of fifo_w32_d2_A_shiftReg is
---constant DEPTH_WIDTH: integer := 16;
-type SRL_ARRAY is array (0 to DEPTH-1) of std_logic_vector(DATA_WIDTH-1 downto 0);
-signal SRL_SIG : SRL_ARRAY;
-
-begin
-p_shift: process (clk)
-begin
-    if (clk'event and clk = '1') then
-        if (ce = '1') then
-            SRL_SIG <= data & SRL_SIG(0 to DEPTH-2);
-        end if;
-    end if;
-end process;
-
-q <= SRL_SIG(conv_integer(a));
-
-end rtl;
-
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.std_logic_unsigned.all;
-use ieee.std_logic_arith.all;
-
-entity fifo_w32_d2_A is 
-    generic (
-        MEM_STYLE  : string := "shiftreg"; 
-        DATA_WIDTH : integer := 32;
-        ADDR_WIDTH : integer := 1;
-        DEPTH : integer := 2);
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_empty_n : OUT STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_read : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0));
-end entity;
-
-architecture rtl of fifo_w32_d2_A is
-
-    component fifo_w32_d2_A_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 32;
-        ADDR_WIDTH : integer := 1;
-        DEPTH : integer := 2);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-    end component;
-
-    signal shiftReg_addr : STD_LOGIC_VECTOR(ADDR_WIDTH - 1 downto 0);
-    signal shiftReg_data, shiftReg_q : STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-    signal shiftReg_ce : STD_LOGIC;
-    signal mOutPtr : STD_LOGIC_VECTOR(ADDR_WIDTH downto 0) := (others => '1');
-    signal internal_empty_n : STD_LOGIC := '0';
-    signal internal_full_n  : STD_LOGIC := '1';
-
-begin
-    if_empty_n <= internal_empty_n;
-    if_full_n <= internal_full_n;
-    shiftReg_data <= if_din;
-    if_dout <= shiftReg_q;
-
-    process (clk)
-    begin
-        if clk'event and clk = '1' then
-            if reset = '1' then
-                mOutPtr <= (others => '1');
-                internal_empty_n <= '0';
-                internal_full_n <= '1';
-            else
-                if ((if_read and if_read_ce) = '1' and internal_empty_n = '1') and 
-                   ((if_write and if_write_ce) = '0' or internal_full_n = '0') then
-                    mOutPtr <= mOutPtr - conv_std_logic_vector(1, 2);
-                    if (mOutPtr = conv_std_logic_vector(0, 2)) then 
-                        internal_empty_n <= '0';
-                    end if;
-                    internal_full_n <= '1';
-                elsif ((if_read and if_read_ce) = '0' or internal_empty_n = '0') and 
-                   ((if_write and if_write_ce) = '1' and internal_full_n = '1') then
-                    mOutPtr <= mOutPtr + conv_std_logic_vector(1, 2);
-                    internal_empty_n <= '1';
-                    if (mOutPtr = conv_std_logic_vector(DEPTH, 2) - conv_std_logic_vector(2, 2)) then 
-                        internal_full_n <= '0';
-                    end if;
-                end if;
-            end if;
-        end if;
-    end process;
-
-    shiftReg_addr <= (others => '0') when mOutPtr(ADDR_WIDTH) = '1' else mOutPtr(ADDR_WIDTH-1 downto 0);
-    shiftReg_ce <= (if_write and if_write_ce) and internal_full_n;
-
-    U_fifo_w32_d2_A_shiftReg : fifo_w32_d2_A_shiftReg
-    generic map (
-        DATA_WIDTH => DATA_WIDTH,
-        ADDR_WIDTH => ADDR_WIDTH,
-        DEPTH => DEPTH)
-    port map (
-        clk => clk,
-        data => shiftReg_data,
-        ce => shiftReg_ce,
-        a => shiftReg_addr,
-        q => shiftReg_q);
-
-end rtl;
-

+ 0 - 140
src/ip_repo/neuron_packed/src/fifo_w32_d3_A.vhd

@@ -1,140 +0,0 @@
--- ==============================================================
--- File generated on Wed Jun 26 16:53:30 CEST 2019
--- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
--- SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
--- IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
--- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
--- ==============================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.std_logic_unsigned.all;
-
-entity fifo_w32_d3_A_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 32;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-end fifo_w32_d3_A_shiftReg;
-
-architecture rtl of fifo_w32_d3_A_shiftReg is
---constant DEPTH_WIDTH: integer := 16;
-type SRL_ARRAY is array (0 to DEPTH-1) of std_logic_vector(DATA_WIDTH-1 downto 0);
-signal SRL_SIG : SRL_ARRAY;
-
-begin
-p_shift: process (clk)
-begin
-    if (clk'event and clk = '1') then
-        if (ce = '1') then
-            SRL_SIG <= data & SRL_SIG(0 to DEPTH-2);
-        end if;
-    end if;
-end process;
-
-q <= SRL_SIG(conv_integer(a));
-
-end rtl;
-
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.std_logic_unsigned.all;
-use ieee.std_logic_arith.all;
-
-entity fifo_w32_d3_A is 
-    generic (
-        MEM_STYLE  : string := "shiftreg"; 
-        DATA_WIDTH : integer := 32;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_empty_n : OUT STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_read : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0));
-end entity;
-
-architecture rtl of fifo_w32_d3_A is
-
-    component fifo_w32_d3_A_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 32;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-    end component;
-
-    signal shiftReg_addr : STD_LOGIC_VECTOR(ADDR_WIDTH - 1 downto 0);
-    signal shiftReg_data, shiftReg_q : STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-    signal shiftReg_ce : STD_LOGIC;
-    signal mOutPtr : STD_LOGIC_VECTOR(ADDR_WIDTH downto 0) := (others => '1');
-    signal internal_empty_n : STD_LOGIC := '0';
-    signal internal_full_n  : STD_LOGIC := '1';
-
-begin
-    if_empty_n <= internal_empty_n;
-    if_full_n <= internal_full_n;
-    shiftReg_data <= if_din;
-    if_dout <= shiftReg_q;
-
-    process (clk)
-    begin
-        if clk'event and clk = '1' then
-            if reset = '1' then
-                mOutPtr <= (others => '1');
-                internal_empty_n <= '0';
-                internal_full_n <= '1';
-            else
-                if ((if_read and if_read_ce) = '1' and internal_empty_n = '1') and 
-                   ((if_write and if_write_ce) = '0' or internal_full_n = '0') then
-                    mOutPtr <= mOutPtr - conv_std_logic_vector(1, 3);
-                    if (mOutPtr = conv_std_logic_vector(0, 3)) then 
-                        internal_empty_n <= '0';
-                    end if;
-                    internal_full_n <= '1';
-                elsif ((if_read and if_read_ce) = '0' or internal_empty_n = '0') and 
-                   ((if_write and if_write_ce) = '1' and internal_full_n = '1') then
-                    mOutPtr <= mOutPtr + conv_std_logic_vector(1, 3);
-                    internal_empty_n <= '1';
-                    if (mOutPtr = conv_std_logic_vector(DEPTH, 3) - conv_std_logic_vector(2, 3)) then 
-                        internal_full_n <= '0';
-                    end if;
-                end if;
-            end if;
-        end if;
-    end process;
-
-    shiftReg_addr <= (others => '0') when mOutPtr(ADDR_WIDTH) = '1' else mOutPtr(ADDR_WIDTH-1 downto 0);
-    shiftReg_ce <= (if_write and if_write_ce) and internal_full_n;
-
-    U_fifo_w32_d3_A_shiftReg : fifo_w32_d3_A_shiftReg
-    generic map (
-        DATA_WIDTH => DATA_WIDTH,
-        ADDR_WIDTH => ADDR_WIDTH,
-        DEPTH => DEPTH)
-    port map (
-        clk => clk,
-        data => shiftReg_data,
-        ce => shiftReg_ce,
-        a => shiftReg_addr,
-        q => shiftReg_q);
-
-end rtl;
-

+ 0 - 923
src/ip_repo/neuron_packed/src/filter11x11_strm.vhd

@@ -1,923 +0,0 @@
--- ==============================================================
--- RTL generated by Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC
--- Version: 2018.3
--- Copyright (C) 1986-2018 Xilinx, Inc. All Rights Reserved.
--- 
--- ===========================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-
-entity filter11x11_strm is
-port (
-    width : IN STD_LOGIC_VECTOR (31 downto 0);
-    height : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt1 : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt2 : IN STD_LOGIC_VECTOR (31 downto 0);
-    src_V_TDATA : IN STD_LOGIC_VECTOR (31 downto 0);
-    dst_V_TDATA : OUT STD_LOGIC_VECTOR (31 downto 0);
-    ap_clk : IN STD_LOGIC;
-    ap_rst_n : IN STD_LOGIC;
-    ap_start : IN STD_LOGIC;
-    src_V_TVALID : IN STD_LOGIC;
-    src_V_TREADY : OUT STD_LOGIC;
-    dst_V_TVALID : OUT STD_LOGIC;
-    dst_V_TREADY : IN STD_LOGIC;
-    ap_done : OUT STD_LOGIC;
-    ap_ready : OUT STD_LOGIC;
-    ap_idle : OUT STD_LOGIC );
-end;
-
-
-architecture behav of filter11x11_strm is 
-    attribute CORE_GENERATION_INFO : STRING;
-    attribute CORE_GENERATION_INFO of behav : architecture is
-    "filter11x11_strm,hls_ip_2018_3,{HLS_INPUT_TYPE=cxx,HLS_INPUT_FLOAT=0,HLS_INPUT_FIXED=0,HLS_INPUT_PART=xc7a100tcsg324-1,HLS_INPUT_CLOCK=10.000000,HLS_INPUT_ARCH=dataflow,HLS_SYN_CLOCK=8.470000,HLS_SYN_LAT=-1,HLS_SYN_TPT=-1,HLS_SYN_MEM=22,HLS_SYN_DSP=28,HLS_SYN_FF=3339,HLS_SYN_LUT=3643,HLS_VERSION=2018_3}";
-    constant ap_const_lv32_0 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000000";
-    constant ap_const_logic_1 : STD_LOGIC := '1';
-    constant ap_const_logic_0 : STD_LOGIC := '0';
-    constant ap_const_lv2_0 : STD_LOGIC_VECTOR (1 downto 0) := "00";
-    constant ap_const_lv2_1 : STD_LOGIC_VECTOR (1 downto 0) := "01";
-    constant ap_const_boolean_1 : BOOLEAN := true;
-
-    signal ap_rst_n_inv : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_ap_start : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_start_full_n : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_ap_done : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_ap_continue : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_ap_idle : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_ap_ready : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_start_out : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_start_write : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_width_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal filter11x11_strm_ent_U0_width_out_write : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_width_out1_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal filter11x11_strm_ent_U0_width_out1_write : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_height_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal filter11x11_strm_ent_U0_height_out_write : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_height_out2_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal filter11x11_strm_ent_U0_height_out2_write : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_filt1_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal filter11x11_strm_ent_U0_filt1_out_write : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_filt1_out3_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal filter11x11_strm_ent_U0_filt1_out3_write : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_filt2_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal filter11x11_strm_ent_U0_filt2_out_write : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_filt2_out4_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal filter11x11_strm_ent_U0_filt2_out4_write : STD_LOGIC;
-    signal Block_proc_U0_ap_start : STD_LOGIC;
-    signal Block_proc_U0_ap_done : STD_LOGIC;
-    signal Block_proc_U0_ap_continue : STD_LOGIC;
-    signal Block_proc_U0_ap_idle : STD_LOGIC;
-    signal Block_proc_U0_ap_ready : STD_LOGIC;
-    signal Block_proc_U0_start_out : STD_LOGIC;
-    signal Block_proc_U0_start_write : STD_LOGIC;
-    signal Block_proc_U0_width_read : STD_LOGIC;
-    signal Block_proc_U0_height_read : STD_LOGIC;
-    signal Block_proc_U0_width_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal Block_proc_U0_width_out_write : STD_LOGIC;
-    signal Block_proc_U0_height_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal Block_proc_U0_height_out_write : STD_LOGIC;
-    signal Block_proc_U0_vconv_xlim_out_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal Block_proc_U0_vconv_xlim_out_out_write : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_ap_start : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_ap_done : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_ap_continue : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_ap_idle : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_ap_ready : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_height_read : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_width_read : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_src_V_TREADY : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_filt1_read : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_filt2_read : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_hconv_V_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal Loop_HConvH_proc6_U0_hconv_V_write : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_ap_start : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_ap_done : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_ap_continue : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_ap_idle : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_ap_ready : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_height_read : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_vconv_xlim_loc_read : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_hconv_V_read : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_vconv_V_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal Loop_VConvH_proc_U0_vconv_V_write : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_filt1_read : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_filt2_read : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_height_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal Loop_VConvH_proc_U0_height_out_write : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_vconv_xlim_loc_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal Loop_VConvH_proc_U0_vconv_xlim_loc_out_write : STD_LOGIC;
-    signal Loop_Border_proc_U0_ap_start : STD_LOGIC;
-    signal Loop_Border_proc_U0_ap_done : STD_LOGIC;
-    signal Loop_Border_proc_U0_ap_continue : STD_LOGIC;
-    signal Loop_Border_proc_U0_ap_idle : STD_LOGIC;
-    signal Loop_Border_proc_U0_ap_ready : STD_LOGIC;
-    signal Loop_Border_proc_U0_width_read : STD_LOGIC;
-    signal Loop_Border_proc_U0_height_read : STD_LOGIC;
-    signal Loop_Border_proc_U0_dst_V_TDATA : STD_LOGIC_VECTOR (31 downto 0);
-    signal Loop_Border_proc_U0_dst_V_TVALID : STD_LOGIC;
-    signal Loop_Border_proc_U0_vconv_xlim_loc_read : STD_LOGIC;
-    signal Loop_Border_proc_U0_vconv_V_read : STD_LOGIC;
-    signal ap_sync_continue : STD_LOGIC;
-    signal width_c_full_n : STD_LOGIC;
-    signal width_c_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal width_c_empty_n : STD_LOGIC;
-    signal width_c155_full_n : STD_LOGIC;
-    signal width_c155_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal width_c155_empty_n : STD_LOGIC;
-    signal height_c_full_n : STD_LOGIC;
-    signal height_c_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal height_c_empty_n : STD_LOGIC;
-    signal height_c156_full_n : STD_LOGIC;
-    signal height_c156_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal height_c156_empty_n : STD_LOGIC;
-    signal filt1_c_full_n : STD_LOGIC;
-    signal filt1_c_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal filt1_c_empty_n : STD_LOGIC;
-    signal filt1_c157_full_n : STD_LOGIC;
-    signal filt1_c157_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal filt1_c157_empty_n : STD_LOGIC;
-    signal filt2_c_full_n : STD_LOGIC;
-    signal filt2_c_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal filt2_c_empty_n : STD_LOGIC;
-    signal filt2_c158_full_n : STD_LOGIC;
-    signal filt2_c158_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal filt2_c158_empty_n : STD_LOGIC;
-    signal width_c159_full_n : STD_LOGIC;
-    signal width_c159_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal width_c159_empty_n : STD_LOGIC;
-    signal height_c160_full_n : STD_LOGIC;
-    signal height_c160_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal height_c160_empty_n : STD_LOGIC;
-    signal vconv_xlim_loc_c_full_n : STD_LOGIC;
-    signal vconv_xlim_loc_c_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal vconv_xlim_loc_c_empty_n : STD_LOGIC;
-    signal hconv_V_full_n : STD_LOGIC;
-    signal hconv_V_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal hconv_V_empty_n : STD_LOGIC;
-    signal vconv_V_full_n : STD_LOGIC;
-    signal vconv_V_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal vconv_V_empty_n : STD_LOGIC;
-    signal height_c161_full_n : STD_LOGIC;
-    signal height_c161_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal height_c161_empty_n : STD_LOGIC;
-    signal vconv_xlim_loc_c162_full_n : STD_LOGIC;
-    signal vconv_xlim_loc_c162_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal vconv_xlim_loc_c162_empty_n : STD_LOGIC;
-    signal ap_sync_done : STD_LOGIC;
-    signal ap_sync_ready : STD_LOGIC;
-    signal ap_sync_reg_filter11x11_strm_ent_U0_ap_ready : STD_LOGIC := '0';
-    signal ap_sync_filter11x11_strm_ent_U0_ap_ready : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_ap_ready_count : STD_LOGIC_VECTOR (1 downto 0) := "00";
-    signal ap_sync_reg_Loop_HConvH_proc6_U0_ap_ready : STD_LOGIC := '0';
-    signal ap_sync_Loop_HConvH_proc6_U0_ap_ready : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_ap_ready_count : STD_LOGIC_VECTOR (1 downto 0) := "00";
-    signal start_for_Block_proc_U0_din : STD_LOGIC_VECTOR (0 downto 0);
-    signal start_for_Block_proc_U0_full_n : STD_LOGIC;
-    signal start_for_Block_proc_U0_dout : STD_LOGIC_VECTOR (0 downto 0);
-    signal start_for_Block_proc_U0_empty_n : STD_LOGIC;
-    signal start_for_Loop_VConvH_proc_U0_din : STD_LOGIC_VECTOR (0 downto 0);
-    signal start_for_Loop_VConvH_proc_U0_full_n : STD_LOGIC;
-    signal start_for_Loop_VConvH_proc_U0_dout : STD_LOGIC_VECTOR (0 downto 0);
-    signal start_for_Loop_VConvH_proc_U0_empty_n : STD_LOGIC;
-    signal start_for_Loop_Border_proc_U0_din : STD_LOGIC_VECTOR (0 downto 0);
-    signal start_for_Loop_Border_proc_U0_full_n : STD_LOGIC;
-    signal start_for_Loop_Border_proc_U0_dout : STD_LOGIC_VECTOR (0 downto 0);
-    signal start_for_Loop_Border_proc_U0_empty_n : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_start_full_n : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_start_write : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_start_full_n : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_start_write : STD_LOGIC;
-    signal Loop_Border_proc_U0_start_full_n : STD_LOGIC;
-    signal Loop_Border_proc_U0_start_write : STD_LOGIC;
-
-    component filter11x11_strm_ent IS
-    port (
-        ap_clk : IN STD_LOGIC;
-        ap_rst : IN STD_LOGIC;
-        ap_start : IN STD_LOGIC;
-        start_full_n : IN STD_LOGIC;
-        ap_done : OUT STD_LOGIC;
-        ap_continue : IN STD_LOGIC;
-        ap_idle : OUT STD_LOGIC;
-        ap_ready : OUT STD_LOGIC;
-        start_out : OUT STD_LOGIC;
-        start_write : OUT STD_LOGIC;
-        width : IN STD_LOGIC_VECTOR (31 downto 0);
-        height : IN STD_LOGIC_VECTOR (31 downto 0);
-        filt1 : IN STD_LOGIC_VECTOR (31 downto 0);
-        filt2 : IN STD_LOGIC_VECTOR (31 downto 0);
-        width_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        width_out_full_n : IN STD_LOGIC;
-        width_out_write : OUT STD_LOGIC;
-        width_out1_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        width_out1_full_n : IN STD_LOGIC;
-        width_out1_write : OUT STD_LOGIC;
-        height_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        height_out_full_n : IN STD_LOGIC;
-        height_out_write : OUT STD_LOGIC;
-        height_out2_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        height_out2_full_n : IN STD_LOGIC;
-        height_out2_write : OUT STD_LOGIC;
-        filt1_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        filt1_out_full_n : IN STD_LOGIC;
-        filt1_out_write : OUT STD_LOGIC;
-        filt1_out3_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        filt1_out3_full_n : IN STD_LOGIC;
-        filt1_out3_write : OUT STD_LOGIC;
-        filt2_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        filt2_out_full_n : IN STD_LOGIC;
-        filt2_out_write : OUT STD_LOGIC;
-        filt2_out4_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        filt2_out4_full_n : IN STD_LOGIC;
-        filt2_out4_write : OUT STD_LOGIC );
-    end component;
-
-
-    component Block_proc IS
-    port (
-        ap_clk : IN STD_LOGIC;
-        ap_rst : IN STD_LOGIC;
-        ap_start : IN STD_LOGIC;
-        start_full_n : IN STD_LOGIC;
-        ap_done : OUT STD_LOGIC;
-        ap_continue : IN STD_LOGIC;
-        ap_idle : OUT STD_LOGIC;
-        ap_ready : OUT STD_LOGIC;
-        start_out : OUT STD_LOGIC;
-        start_write : OUT STD_LOGIC;
-        width_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        width_empty_n : IN STD_LOGIC;
-        width_read : OUT STD_LOGIC;
-        height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        height_empty_n : IN STD_LOGIC;
-        height_read : OUT STD_LOGIC;
-        width_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        width_out_full_n : IN STD_LOGIC;
-        width_out_write : OUT STD_LOGIC;
-        height_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        height_out_full_n : IN STD_LOGIC;
-        height_out_write : OUT STD_LOGIC;
-        vconv_xlim_out_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        vconv_xlim_out_out_full_n : IN STD_LOGIC;
-        vconv_xlim_out_out_write : OUT STD_LOGIC );
-    end component;
-
-
-    component Loop_HConvH_proc6 IS
-    port (
-        ap_clk : IN STD_LOGIC;
-        ap_rst : IN STD_LOGIC;
-        ap_start : IN STD_LOGIC;
-        ap_done : OUT STD_LOGIC;
-        ap_continue : IN STD_LOGIC;
-        ap_idle : OUT STD_LOGIC;
-        ap_ready : OUT STD_LOGIC;
-        height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        height_empty_n : IN STD_LOGIC;
-        height_read : OUT STD_LOGIC;
-        width_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        width_empty_n : IN STD_LOGIC;
-        width_read : OUT STD_LOGIC;
-        src_V_TDATA : IN STD_LOGIC_VECTOR (31 downto 0);
-        src_V_TVALID : IN STD_LOGIC;
-        src_V_TREADY : OUT STD_LOGIC;
-        filt1_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        filt1_empty_n : IN STD_LOGIC;
-        filt1_read : OUT STD_LOGIC;
-        filt2_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        filt2_empty_n : IN STD_LOGIC;
-        filt2_read : OUT STD_LOGIC;
-        hconv_V_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        hconv_V_full_n : IN STD_LOGIC;
-        hconv_V_write : OUT STD_LOGIC );
-    end component;
-
-
-    component Loop_VConvH_proc IS
-    port (
-        ap_clk : IN STD_LOGIC;
-        ap_rst : IN STD_LOGIC;
-        ap_start : IN STD_LOGIC;
-        ap_done : OUT STD_LOGIC;
-        ap_continue : IN STD_LOGIC;
-        ap_idle : OUT STD_LOGIC;
-        ap_ready : OUT STD_LOGIC;
-        height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        height_empty_n : IN STD_LOGIC;
-        height_read : OUT STD_LOGIC;
-        vconv_xlim_loc_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        vconv_xlim_loc_empty_n : IN STD_LOGIC;
-        vconv_xlim_loc_read : OUT STD_LOGIC;
-        hconv_V_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        hconv_V_empty_n : IN STD_LOGIC;
-        hconv_V_read : OUT STD_LOGIC;
-        vconv_V_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        vconv_V_full_n : IN STD_LOGIC;
-        vconv_V_write : OUT STD_LOGIC;
-        filt1_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        filt1_empty_n : IN STD_LOGIC;
-        filt1_read : OUT STD_LOGIC;
-        filt2_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        filt2_empty_n : IN STD_LOGIC;
-        filt2_read : OUT STD_LOGIC;
-        height_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        height_out_full_n : IN STD_LOGIC;
-        height_out_write : OUT STD_LOGIC;
-        vconv_xlim_loc_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        vconv_xlim_loc_out_full_n : IN STD_LOGIC;
-        vconv_xlim_loc_out_write : OUT STD_LOGIC );
-    end component;
-
-
-    component Loop_Border_proc IS
-    port (
-        ap_clk : IN STD_LOGIC;
-        ap_rst : IN STD_LOGIC;
-        ap_start : IN STD_LOGIC;
-        ap_done : OUT STD_LOGIC;
-        ap_continue : IN STD_LOGIC;
-        ap_idle : OUT STD_LOGIC;
-        ap_ready : OUT STD_LOGIC;
-        width_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        width_empty_n : IN STD_LOGIC;
-        width_read : OUT STD_LOGIC;
-        height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        height_empty_n : IN STD_LOGIC;
-        height_read : OUT STD_LOGIC;
-        dst_V_TDATA : OUT STD_LOGIC_VECTOR (31 downto 0);
-        dst_V_TVALID : OUT STD_LOGIC;
-        dst_V_TREADY : IN STD_LOGIC;
-        vconv_xlim_loc_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        vconv_xlim_loc_empty_n : IN STD_LOGIC;
-        vconv_xlim_loc_read : OUT STD_LOGIC;
-        vconv_V_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        vconv_V_empty_n : IN STD_LOGIC;
-        vconv_V_read : OUT STD_LOGIC );
-    end component;
-
-
-    component fifo_w32_d2_A IS
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR (31 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR (31 downto 0);
-        if_empty_n : OUT STD_LOGIC;
-        if_read : IN STD_LOGIC );
-    end component;
-
-
-    component fifo_w32_d3_A IS
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR (31 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR (31 downto 0);
-        if_empty_n : OUT STD_LOGIC;
-        if_read : IN STD_LOGIC );
-    end component;
-
-
-    component start_for_Block_proc_U0 IS
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR (0 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR (0 downto 0);
-        if_empty_n : OUT STD_LOGIC;
-        if_read : IN STD_LOGIC );
-    end component;
-
-
-    component start_for_Loop_VConvH_proc_U0 IS
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR (0 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR (0 downto 0);
-        if_empty_n : OUT STD_LOGIC;
-        if_read : IN STD_LOGIC );
-    end component;
-
-
-    component start_for_Loop_Border_proc_U0 IS
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR (0 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR (0 downto 0);
-        if_empty_n : OUT STD_LOGIC;
-        if_read : IN STD_LOGIC );
-    end component;
-
-
-
-begin
-    filter11x11_strm_ent_U0 : component filter11x11_strm_ent
-    port map (
-        ap_clk => ap_clk,
-        ap_rst => ap_rst_n_inv,
-        ap_start => filter11x11_strm_ent_U0_ap_start,
-        start_full_n => filter11x11_strm_ent_U0_start_full_n,
-        ap_done => filter11x11_strm_ent_U0_ap_done,
-        ap_continue => filter11x11_strm_ent_U0_ap_continue,
-        ap_idle => filter11x11_strm_ent_U0_ap_idle,
-        ap_ready => filter11x11_strm_ent_U0_ap_ready,
-        start_out => filter11x11_strm_ent_U0_start_out,
-        start_write => filter11x11_strm_ent_U0_start_write,
-        width => width,
-        height => height,
-        filt1 => filt1,
-        filt2 => filt2,
-        width_out_din => filter11x11_strm_ent_U0_width_out_din,
-        width_out_full_n => width_c_full_n,
-        width_out_write => filter11x11_strm_ent_U0_width_out_write,
-        width_out1_din => filter11x11_strm_ent_U0_width_out1_din,
-        width_out1_full_n => width_c155_full_n,
-        width_out1_write => filter11x11_strm_ent_U0_width_out1_write,
-        height_out_din => filter11x11_strm_ent_U0_height_out_din,
-        height_out_full_n => height_c_full_n,
-        height_out_write => filter11x11_strm_ent_U0_height_out_write,
-        height_out2_din => filter11x11_strm_ent_U0_height_out2_din,
-        height_out2_full_n => height_c156_full_n,
-        height_out2_write => filter11x11_strm_ent_U0_height_out2_write,
-        filt1_out_din => filter11x11_strm_ent_U0_filt1_out_din,
-        filt1_out_full_n => filt1_c_full_n,
-        filt1_out_write => filter11x11_strm_ent_U0_filt1_out_write,
-        filt1_out3_din => filter11x11_strm_ent_U0_filt1_out3_din,
-        filt1_out3_full_n => filt1_c157_full_n,
-        filt1_out3_write => filter11x11_strm_ent_U0_filt1_out3_write,
-        filt2_out_din => filter11x11_strm_ent_U0_filt2_out_din,
-        filt2_out_full_n => filt2_c_full_n,
-        filt2_out_write => filter11x11_strm_ent_U0_filt2_out_write,
-        filt2_out4_din => filter11x11_strm_ent_U0_filt2_out4_din,
-        filt2_out4_full_n => filt2_c158_full_n,
-        filt2_out4_write => filter11x11_strm_ent_U0_filt2_out4_write);
-
-    Block_proc_U0 : component Block_proc
-    port map (
-        ap_clk => ap_clk,
-        ap_rst => ap_rst_n_inv,
-        ap_start => Block_proc_U0_ap_start,
-        start_full_n => start_for_Loop_Border_proc_U0_full_n,
-        ap_done => Block_proc_U0_ap_done,
-        ap_continue => Block_proc_U0_ap_continue,
-        ap_idle => Block_proc_U0_ap_idle,
-        ap_ready => Block_proc_U0_ap_ready,
-        start_out => Block_proc_U0_start_out,
-        start_write => Block_proc_U0_start_write,
-        width_dout => width_c_dout,
-        width_empty_n => width_c_empty_n,
-        width_read => Block_proc_U0_width_read,
-        height_dout => height_c_dout,
-        height_empty_n => height_c_empty_n,
-        height_read => Block_proc_U0_height_read,
-        width_out_din => Block_proc_U0_width_out_din,
-        width_out_full_n => width_c159_full_n,
-        width_out_write => Block_proc_U0_width_out_write,
-        height_out_din => Block_proc_U0_height_out_din,
-        height_out_full_n => height_c160_full_n,
-        height_out_write => Block_proc_U0_height_out_write,
-        vconv_xlim_out_out_din => Block_proc_U0_vconv_xlim_out_out_din,
-        vconv_xlim_out_out_full_n => vconv_xlim_loc_c_full_n,
-        vconv_xlim_out_out_write => Block_proc_U0_vconv_xlim_out_out_write);
-
-    Loop_HConvH_proc6_U0 : component Loop_HConvH_proc6
-    port map (
-        ap_clk => ap_clk,
-        ap_rst => ap_rst_n_inv,
-        ap_start => Loop_HConvH_proc6_U0_ap_start,
-        ap_done => Loop_HConvH_proc6_U0_ap_done,
-        ap_continue => Loop_HConvH_proc6_U0_ap_continue,
-        ap_idle => Loop_HConvH_proc6_U0_ap_idle,
-        ap_ready => Loop_HConvH_proc6_U0_ap_ready,
-        height_dout => height_c156_dout,
-        height_empty_n => height_c156_empty_n,
-        height_read => Loop_HConvH_proc6_U0_height_read,
-        width_dout => width_c155_dout,
-        width_empty_n => width_c155_empty_n,
-        width_read => Loop_HConvH_proc6_U0_width_read,
-        src_V_TDATA => src_V_TDATA,
-        src_V_TVALID => src_V_TVALID,
-        src_V_TREADY => Loop_HConvH_proc6_U0_src_V_TREADY,
-        filt1_dout => filt1_c_dout,
-        filt1_empty_n => filt1_c_empty_n,
-        filt1_read => Loop_HConvH_proc6_U0_filt1_read,
-        filt2_dout => filt2_c_dout,
-        filt2_empty_n => filt2_c_empty_n,
-        filt2_read => Loop_HConvH_proc6_U0_filt2_read,
-        hconv_V_din => Loop_HConvH_proc6_U0_hconv_V_din,
-        hconv_V_full_n => hconv_V_full_n,
-        hconv_V_write => Loop_HConvH_proc6_U0_hconv_V_write);
-
-    Loop_VConvH_proc_U0 : component Loop_VConvH_proc
-    port map (
-        ap_clk => ap_clk,
-        ap_rst => ap_rst_n_inv,
-        ap_start => Loop_VConvH_proc_U0_ap_start,
-        ap_done => Loop_VConvH_proc_U0_ap_done,
-        ap_continue => Loop_VConvH_proc_U0_ap_continue,
-        ap_idle => Loop_VConvH_proc_U0_ap_idle,
-        ap_ready => Loop_VConvH_proc_U0_ap_ready,
-        height_dout => height_c160_dout,
-        height_empty_n => height_c160_empty_n,
-        height_read => Loop_VConvH_proc_U0_height_read,
-        vconv_xlim_loc_dout => vconv_xlim_loc_c_dout,
-        vconv_xlim_loc_empty_n => vconv_xlim_loc_c_empty_n,
-        vconv_xlim_loc_read => Loop_VConvH_proc_U0_vconv_xlim_loc_read,
-        hconv_V_dout => hconv_V_dout,
-        hconv_V_empty_n => hconv_V_empty_n,
-        hconv_V_read => Loop_VConvH_proc_U0_hconv_V_read,
-        vconv_V_din => Loop_VConvH_proc_U0_vconv_V_din,
-        vconv_V_full_n => vconv_V_full_n,
-        vconv_V_write => Loop_VConvH_proc_U0_vconv_V_write,
-        filt1_dout => filt1_c157_dout,
-        filt1_empty_n => filt1_c157_empty_n,
-        filt1_read => Loop_VConvH_proc_U0_filt1_read,
-        filt2_dout => filt2_c158_dout,
-        filt2_empty_n => filt2_c158_empty_n,
-        filt2_read => Loop_VConvH_proc_U0_filt2_read,
-        height_out_din => Loop_VConvH_proc_U0_height_out_din,
-        height_out_full_n => height_c161_full_n,
-        height_out_write => Loop_VConvH_proc_U0_height_out_write,
-        vconv_xlim_loc_out_din => Loop_VConvH_proc_U0_vconv_xlim_loc_out_din,
-        vconv_xlim_loc_out_full_n => vconv_xlim_loc_c162_full_n,
-        vconv_xlim_loc_out_write => Loop_VConvH_proc_U0_vconv_xlim_loc_out_write);
-
-    Loop_Border_proc_U0 : component Loop_Border_proc
-    port map (
-        ap_clk => ap_clk,
-        ap_rst => ap_rst_n_inv,
-        ap_start => Loop_Border_proc_U0_ap_start,
-        ap_done => Loop_Border_proc_U0_ap_done,
-        ap_continue => Loop_Border_proc_U0_ap_continue,
-        ap_idle => Loop_Border_proc_U0_ap_idle,
-        ap_ready => Loop_Border_proc_U0_ap_ready,
-        width_dout => width_c159_dout,
-        width_empty_n => width_c159_empty_n,
-        width_read => Loop_Border_proc_U0_width_read,
-        height_dout => height_c161_dout,
-        height_empty_n => height_c161_empty_n,
-        height_read => Loop_Border_proc_U0_height_read,
-        dst_V_TDATA => Loop_Border_proc_U0_dst_V_TDATA,
-        dst_V_TVALID => Loop_Border_proc_U0_dst_V_TVALID,
-        dst_V_TREADY => dst_V_TREADY,
-        vconv_xlim_loc_dout => vconv_xlim_loc_c162_dout,
-        vconv_xlim_loc_empty_n => vconv_xlim_loc_c162_empty_n,
-        vconv_xlim_loc_read => Loop_Border_proc_U0_vconv_xlim_loc_read,
-        vconv_V_dout => vconv_V_dout,
-        vconv_V_empty_n => vconv_V_empty_n,
-        vconv_V_read => Loop_Border_proc_U0_vconv_V_read);
-
-    width_c_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => filter11x11_strm_ent_U0_width_out_din,
-        if_full_n => width_c_full_n,
-        if_write => filter11x11_strm_ent_U0_width_out_write,
-        if_dout => width_c_dout,
-        if_empty_n => width_c_empty_n,
-        if_read => Block_proc_U0_width_read);
-
-    width_c155_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => filter11x11_strm_ent_U0_width_out1_din,
-        if_full_n => width_c155_full_n,
-        if_write => filter11x11_strm_ent_U0_width_out1_write,
-        if_dout => width_c155_dout,
-        if_empty_n => width_c155_empty_n,
-        if_read => Loop_HConvH_proc6_U0_width_read);
-
-    height_c_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => filter11x11_strm_ent_U0_height_out_din,
-        if_full_n => height_c_full_n,
-        if_write => filter11x11_strm_ent_U0_height_out_write,
-        if_dout => height_c_dout,
-        if_empty_n => height_c_empty_n,
-        if_read => Block_proc_U0_height_read);
-
-    height_c156_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => filter11x11_strm_ent_U0_height_out2_din,
-        if_full_n => height_c156_full_n,
-        if_write => filter11x11_strm_ent_U0_height_out2_write,
-        if_dout => height_c156_dout,
-        if_empty_n => height_c156_empty_n,
-        if_read => Loop_HConvH_proc6_U0_height_read);
-
-    filt1_c_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => filter11x11_strm_ent_U0_filt1_out_din,
-        if_full_n => filt1_c_full_n,
-        if_write => filter11x11_strm_ent_U0_filt1_out_write,
-        if_dout => filt1_c_dout,
-        if_empty_n => filt1_c_empty_n,
-        if_read => Loop_HConvH_proc6_U0_filt1_read);
-
-    filt1_c157_U : component fifo_w32_d3_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => filter11x11_strm_ent_U0_filt1_out3_din,
-        if_full_n => filt1_c157_full_n,
-        if_write => filter11x11_strm_ent_U0_filt1_out3_write,
-        if_dout => filt1_c157_dout,
-        if_empty_n => filt1_c157_empty_n,
-        if_read => Loop_VConvH_proc_U0_filt1_read);
-
-    filt2_c_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => filter11x11_strm_ent_U0_filt2_out_din,
-        if_full_n => filt2_c_full_n,
-        if_write => filter11x11_strm_ent_U0_filt2_out_write,
-        if_dout => filt2_c_dout,
-        if_empty_n => filt2_c_empty_n,
-        if_read => Loop_HConvH_proc6_U0_filt2_read);
-
-    filt2_c158_U : component fifo_w32_d3_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => filter11x11_strm_ent_U0_filt2_out4_din,
-        if_full_n => filt2_c158_full_n,
-        if_write => filter11x11_strm_ent_U0_filt2_out4_write,
-        if_dout => filt2_c158_dout,
-        if_empty_n => filt2_c158_empty_n,
-        if_read => Loop_VConvH_proc_U0_filt2_read);
-
-    width_c159_U : component fifo_w32_d3_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => Block_proc_U0_width_out_din,
-        if_full_n => width_c159_full_n,
-        if_write => Block_proc_U0_width_out_write,
-        if_dout => width_c159_dout,
-        if_empty_n => width_c159_empty_n,
-        if_read => Loop_Border_proc_U0_width_read);
-
-    height_c160_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => Block_proc_U0_height_out_din,
-        if_full_n => height_c160_full_n,
-        if_write => Block_proc_U0_height_out_write,
-        if_dout => height_c160_dout,
-        if_empty_n => height_c160_empty_n,
-        if_read => Loop_VConvH_proc_U0_height_read);
-
-    vconv_xlim_loc_c_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => Block_proc_U0_vconv_xlim_out_out_din,
-        if_full_n => vconv_xlim_loc_c_full_n,
-        if_write => Block_proc_U0_vconv_xlim_out_out_write,
-        if_dout => vconv_xlim_loc_c_dout,
-        if_empty_n => vconv_xlim_loc_c_empty_n,
-        if_read => Loop_VConvH_proc_U0_vconv_xlim_loc_read);
-
-    hconv_V_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => Loop_HConvH_proc6_U0_hconv_V_din,
-        if_full_n => hconv_V_full_n,
-        if_write => Loop_HConvH_proc6_U0_hconv_V_write,
-        if_dout => hconv_V_dout,
-        if_empty_n => hconv_V_empty_n,
-        if_read => Loop_VConvH_proc_U0_hconv_V_read);
-
-    vconv_V_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => Loop_VConvH_proc_U0_vconv_V_din,
-        if_full_n => vconv_V_full_n,
-        if_write => Loop_VConvH_proc_U0_vconv_V_write,
-        if_dout => vconv_V_dout,
-        if_empty_n => vconv_V_empty_n,
-        if_read => Loop_Border_proc_U0_vconv_V_read);
-
-    height_c161_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => Loop_VConvH_proc_U0_height_out_din,
-        if_full_n => height_c161_full_n,
-        if_write => Loop_VConvH_proc_U0_height_out_write,
-        if_dout => height_c161_dout,
-        if_empty_n => height_c161_empty_n,
-        if_read => Loop_Border_proc_U0_height_read);
-
-    vconv_xlim_loc_c162_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => Loop_VConvH_proc_U0_vconv_xlim_loc_out_din,
-        if_full_n => vconv_xlim_loc_c162_full_n,
-        if_write => Loop_VConvH_proc_U0_vconv_xlim_loc_out_write,
-        if_dout => vconv_xlim_loc_c162_dout,
-        if_empty_n => vconv_xlim_loc_c162_empty_n,
-        if_read => Loop_Border_proc_U0_vconv_xlim_loc_read);
-
-    start_for_Block_proc_U0_U : component start_for_Block_proc_U0
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => start_for_Block_proc_U0_din,
-        if_full_n => start_for_Block_proc_U0_full_n,
-        if_write => filter11x11_strm_ent_U0_start_write,
-        if_dout => start_for_Block_proc_U0_dout,
-        if_empty_n => start_for_Block_proc_U0_empty_n,
-        if_read => Block_proc_U0_ap_ready);
-
-    start_for_Loop_VConvH_proc_U0_U : component start_for_Loop_VConvH_proc_U0
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => start_for_Loop_VConvH_proc_U0_din,
-        if_full_n => start_for_Loop_VConvH_proc_U0_full_n,
-        if_write => filter11x11_strm_ent_U0_start_write,
-        if_dout => start_for_Loop_VConvH_proc_U0_dout,
-        if_empty_n => start_for_Loop_VConvH_proc_U0_empty_n,
-        if_read => Loop_VConvH_proc_U0_ap_ready);
-
-    start_for_Loop_Border_proc_U0_U : component start_for_Loop_Border_proc_U0
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => start_for_Loop_Border_proc_U0_din,
-        if_full_n => start_for_Loop_Border_proc_U0_full_n,
-        if_write => Block_proc_U0_start_write,
-        if_dout => start_for_Loop_Border_proc_U0_dout,
-        if_empty_n => start_for_Loop_Border_proc_U0_empty_n,
-        if_read => Loop_Border_proc_U0_ap_ready);
-
-
-
-
-
-    ap_sync_reg_Loop_HConvH_proc6_U0_ap_ready_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst_n_inv = '1') then
-                ap_sync_reg_Loop_HConvH_proc6_U0_ap_ready <= ap_const_logic_0;
-            else
-                if (((ap_sync_ready and ap_start) = ap_const_logic_1)) then 
-                    ap_sync_reg_Loop_HConvH_proc6_U0_ap_ready <= ap_const_logic_0;
-                else 
-                    ap_sync_reg_Loop_HConvH_proc6_U0_ap_ready <= ap_sync_Loop_HConvH_proc6_U0_ap_ready;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_sync_reg_filter11x11_strm_ent_U0_ap_ready_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst_n_inv = '1') then
-                ap_sync_reg_filter11x11_strm_ent_U0_ap_ready <= ap_const_logic_0;
-            else
-                if (((ap_sync_ready and ap_start) = ap_const_logic_1)) then 
-                    ap_sync_reg_filter11x11_strm_ent_U0_ap_ready <= ap_const_logic_0;
-                else 
-                    ap_sync_reg_filter11x11_strm_ent_U0_ap_ready <= ap_sync_filter11x11_strm_ent_U0_ap_ready;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    Loop_HConvH_proc6_U0_ap_ready_count_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_const_logic_0 = Loop_HConvH_proc6_U0_ap_ready) and (ap_sync_ready = ap_const_logic_1))) then 
-                Loop_HConvH_proc6_U0_ap_ready_count <= std_logic_vector(unsigned(Loop_HConvH_proc6_U0_ap_ready_count) - unsigned(ap_const_lv2_1));
-            elsif (((ap_const_logic_1 = Loop_HConvH_proc6_U0_ap_ready) and (ap_sync_ready = ap_const_logic_0))) then 
-                Loop_HConvH_proc6_U0_ap_ready_count <= std_logic_vector(unsigned(Loop_HConvH_proc6_U0_ap_ready_count) + unsigned(ap_const_lv2_1));
-            end if; 
-        end if;
-    end process;
-
-    filter11x11_strm_ent_U0_ap_ready_count_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_sync_ready = ap_const_logic_1) and (filter11x11_strm_ent_U0_ap_ready = ap_const_logic_0))) then 
-                filter11x11_strm_ent_U0_ap_ready_count <= std_logic_vector(unsigned(filter11x11_strm_ent_U0_ap_ready_count) - unsigned(ap_const_lv2_1));
-            elsif (((ap_sync_ready = ap_const_logic_0) and (filter11x11_strm_ent_U0_ap_ready = ap_const_logic_1))) then 
-                filter11x11_strm_ent_U0_ap_ready_count <= std_logic_vector(unsigned(filter11x11_strm_ent_U0_ap_ready_count) + unsigned(ap_const_lv2_1));
-            end if; 
-        end if;
-    end process;
-    Block_proc_U0_ap_continue <= ap_const_logic_1;
-    Block_proc_U0_ap_start <= start_for_Block_proc_U0_empty_n;
-    Loop_Border_proc_U0_ap_continue <= ap_const_logic_1;
-    Loop_Border_proc_U0_ap_start <= start_for_Loop_Border_proc_U0_empty_n;
-    Loop_Border_proc_U0_start_full_n <= ap_const_logic_1;
-    Loop_Border_proc_U0_start_write <= ap_const_logic_0;
-    Loop_HConvH_proc6_U0_ap_continue <= ap_const_logic_1;
-    Loop_HConvH_proc6_U0_ap_start <= ((ap_sync_reg_Loop_HConvH_proc6_U0_ap_ready xor ap_const_logic_1) and ap_start);
-    Loop_HConvH_proc6_U0_start_full_n <= ap_const_logic_1;
-    Loop_HConvH_proc6_U0_start_write <= ap_const_logic_0;
-    Loop_VConvH_proc_U0_ap_continue <= ap_const_logic_1;
-    Loop_VConvH_proc_U0_ap_start <= start_for_Loop_VConvH_proc_U0_empty_n;
-    Loop_VConvH_proc_U0_start_full_n <= ap_const_logic_1;
-    Loop_VConvH_proc_U0_start_write <= ap_const_logic_0;
-    ap_done <= Loop_Border_proc_U0_ap_done;
-    ap_idle <= (filter11x11_strm_ent_U0_ap_idle and Loop_VConvH_proc_U0_ap_idle and Loop_HConvH_proc6_U0_ap_idle and Loop_Border_proc_U0_ap_idle and Block_proc_U0_ap_idle);
-    ap_ready <= ap_sync_ready;
-
-    ap_rst_n_inv_assign_proc : process(ap_rst_n)
-    begin
-                ap_rst_n_inv <= not(ap_rst_n);
-    end process;
-
-    ap_sync_Loop_HConvH_proc6_U0_ap_ready <= (ap_sync_reg_Loop_HConvH_proc6_U0_ap_ready or Loop_HConvH_proc6_U0_ap_ready);
-    ap_sync_continue <= ap_const_logic_1;
-    ap_sync_done <= Loop_Border_proc_U0_ap_done;
-    ap_sync_filter11x11_strm_ent_U0_ap_ready <= (filter11x11_strm_ent_U0_ap_ready or ap_sync_reg_filter11x11_strm_ent_U0_ap_ready);
-    ap_sync_ready <= (ap_sync_filter11x11_strm_ent_U0_ap_ready and ap_sync_Loop_HConvH_proc6_U0_ap_ready);
-    dst_V_TDATA <= Loop_Border_proc_U0_dst_V_TDATA;
-    dst_V_TVALID <= Loop_Border_proc_U0_dst_V_TVALID;
-    filter11x11_strm_ent_U0_ap_continue <= ap_const_logic_1;
-    filter11x11_strm_ent_U0_ap_start <= ((ap_sync_reg_filter11x11_strm_ent_U0_ap_ready xor ap_const_logic_1) and ap_start);
-    filter11x11_strm_ent_U0_start_full_n <= (start_for_Loop_VConvH_proc_U0_full_n and start_for_Block_proc_U0_full_n);
-    src_V_TREADY <= Loop_HConvH_proc6_U0_src_V_TREADY;
-    start_for_Block_proc_U0_din <= (0=>ap_const_logic_1, others=>'-');
-    start_for_Loop_Border_proc_U0_din <= (0=>ap_const_logic_1, others=>'-');
-    start_for_Loop_VConvH_proc_U0_din <= (0=>ap_const_logic_1, others=>'-');
-end behav;

+ 0 - 368
src/ip_repo/neuron_packed/src/filter11x11_strm_ent.vhd

@@ -1,368 +0,0 @@
--- ==============================================================
--- RTL generated by Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC
--- Version: 2018.3
--- Copyright (C) 1986-2018 Xilinx, Inc. All Rights Reserved.
--- 
--- ===========================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-
-entity filter11x11_strm_ent is
-port (
-    ap_clk : IN STD_LOGIC;
-    ap_rst : IN STD_LOGIC;
-    ap_start : IN STD_LOGIC;
-    start_full_n : IN STD_LOGIC;
-    ap_done : OUT STD_LOGIC;
-    ap_continue : IN STD_LOGIC;
-    ap_idle : OUT STD_LOGIC;
-    ap_ready : OUT STD_LOGIC;
-    start_out : OUT STD_LOGIC;
-    start_write : OUT STD_LOGIC;
-    width : IN STD_LOGIC_VECTOR (31 downto 0);
-    height : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt1 : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt2 : IN STD_LOGIC_VECTOR (31 downto 0);
-    width_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    width_out_full_n : IN STD_LOGIC;
-    width_out_write : OUT STD_LOGIC;
-    width_out1_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    width_out1_full_n : IN STD_LOGIC;
-    width_out1_write : OUT STD_LOGIC;
-    height_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    height_out_full_n : IN STD_LOGIC;
-    height_out_write : OUT STD_LOGIC;
-    height_out2_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    height_out2_full_n : IN STD_LOGIC;
-    height_out2_write : OUT STD_LOGIC;
-    filt1_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    filt1_out_full_n : IN STD_LOGIC;
-    filt1_out_write : OUT STD_LOGIC;
-    filt1_out3_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    filt1_out3_full_n : IN STD_LOGIC;
-    filt1_out3_write : OUT STD_LOGIC;
-    filt2_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    filt2_out_full_n : IN STD_LOGIC;
-    filt2_out_write : OUT STD_LOGIC;
-    filt2_out4_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    filt2_out4_full_n : IN STD_LOGIC;
-    filt2_out4_write : OUT STD_LOGIC );
-end;
-
-
-architecture behav of filter11x11_strm_ent is 
-    constant ap_const_logic_1 : STD_LOGIC := '1';
-    constant ap_const_logic_0 : STD_LOGIC := '0';
-    constant ap_ST_fsm_state1 : STD_LOGIC_VECTOR (0 downto 0) := "1";
-    constant ap_const_lv32_0 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000000";
-    constant ap_const_boolean_1 : BOOLEAN := true;
-
-    signal real_start : STD_LOGIC;
-    signal start_once_reg : STD_LOGIC := '0';
-    signal ap_done_reg : STD_LOGIC := '0';
-    signal ap_CS_fsm : STD_LOGIC_VECTOR (0 downto 0) := "1";
-    attribute fsm_encoding : string;
-    attribute fsm_encoding of ap_CS_fsm : signal is "none";
-    signal ap_CS_fsm_state1 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state1 : signal is "none";
-    signal internal_ap_ready : STD_LOGIC;
-    signal width_out_blk_n : STD_LOGIC;
-    signal width_out1_blk_n : STD_LOGIC;
-    signal height_out_blk_n : STD_LOGIC;
-    signal height_out2_blk_n : STD_LOGIC;
-    signal filt1_out_blk_n : STD_LOGIC;
-    signal filt1_out3_blk_n : STD_LOGIC;
-    signal filt2_out_blk_n : STD_LOGIC;
-    signal filt2_out4_blk_n : STD_LOGIC;
-    signal ap_block_state1 : BOOLEAN;
-    signal ap_NS_fsm : STD_LOGIC_VECTOR (0 downto 0);
-
-
-begin
-
-
-
-
-    ap_CS_fsm_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_CS_fsm <= ap_ST_fsm_state1;
-            else
-                ap_CS_fsm <= ap_NS_fsm;
-            end if;
-        end if;
-    end process;
-
-
-    ap_done_reg_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_done_reg <= ap_const_logic_0;
-            else
-                if ((ap_continue = ap_const_logic_1)) then 
-                    ap_done_reg <= ap_const_logic_0;
-                elsif ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-                    ap_done_reg <= ap_const_logic_1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    start_once_reg_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                start_once_reg <= ap_const_logic_0;
-            else
-                if (((internal_ap_ready = ap_const_logic_0) and (real_start = ap_const_logic_1))) then 
-                    start_once_reg <= ap_const_logic_1;
-                elsif ((internal_ap_ready = ap_const_logic_1)) then 
-                    start_once_reg <= ap_const_logic_0;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_NS_fsm_assign_proc : process (real_start, ap_done_reg, ap_CS_fsm, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        case ap_CS_fsm is
-            when ap_ST_fsm_state1 => 
-                ap_NS_fsm <= ap_ST_fsm_state1;
-            when others =>  
-                ap_NS_fsm <= "X";
-        end case;
-    end process;
-    ap_CS_fsm_state1 <= ap_CS_fsm(0);
-
-    ap_block_state1_assign_proc : process(real_start, ap_done_reg, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-                ap_block_state1 <= ((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1));
-    end process;
-
-
-    ap_done_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            ap_done <= ap_const_logic_1;
-        else 
-            ap_done <= ap_done_reg;
-        end if; 
-    end process;
-
-
-    ap_idle_assign_proc : process(real_start, ap_CS_fsm_state1)
-    begin
-        if (((real_start = ap_const_logic_0) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            ap_idle <= ap_const_logic_1;
-        else 
-            ap_idle <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    ap_ready <= internal_ap_ready;
-
-    filt1_out3_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, filt1_out3_full_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt1_out3_blk_n <= filt1_out3_full_n;
-        else 
-            filt1_out3_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    filt1_out3_din <= filt1;
-
-    filt1_out3_write_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt1_out3_write <= ap_const_logic_1;
-        else 
-            filt1_out3_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    filt1_out_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, filt1_out_full_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt1_out_blk_n <= filt1_out_full_n;
-        else 
-            filt1_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    filt1_out_din <= filt1;
-
-    filt1_out_write_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt1_out_write <= ap_const_logic_1;
-        else 
-            filt1_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    filt2_out4_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, filt2_out4_full_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt2_out4_blk_n <= filt2_out4_full_n;
-        else 
-            filt2_out4_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    filt2_out4_din <= filt2;
-
-    filt2_out4_write_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt2_out4_write <= ap_const_logic_1;
-        else 
-            filt2_out4_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    filt2_out_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, filt2_out_full_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt2_out_blk_n <= filt2_out_full_n;
-        else 
-            filt2_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    filt2_out_din <= filt2;
-
-    filt2_out_write_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt2_out_write <= ap_const_logic_1;
-        else 
-            filt2_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    height_out2_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, height_out2_full_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            height_out2_blk_n <= height_out2_full_n;
-        else 
-            height_out2_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    height_out2_din <= height;
-
-    height_out2_write_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            height_out2_write <= ap_const_logic_1;
-        else 
-            height_out2_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    height_out_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, height_out_full_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            height_out_blk_n <= height_out_full_n;
-        else 
-            height_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    height_out_din <= height;
-
-    height_out_write_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            height_out_write <= ap_const_logic_1;
-        else 
-            height_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    internal_ap_ready_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            internal_ap_ready <= ap_const_logic_1;
-        else 
-            internal_ap_ready <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    real_start_assign_proc : process(ap_start, start_full_n, start_once_reg)
-    begin
-        if (((start_full_n = ap_const_logic_0) and (start_once_reg = ap_const_logic_0))) then 
-            real_start <= ap_const_logic_0;
-        else 
-            real_start <= ap_start;
-        end if; 
-    end process;
-
-    start_out <= real_start;
-
-    start_write_assign_proc : process(real_start, start_once_reg)
-    begin
-        if (((start_once_reg = ap_const_logic_0) and (real_start = ap_const_logic_1))) then 
-            start_write <= ap_const_logic_1;
-        else 
-            start_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    width_out1_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out1_full_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            width_out1_blk_n <= width_out1_full_n;
-        else 
-            width_out1_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    width_out1_din <= width;
-
-    width_out1_write_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            width_out1_write <= ap_const_logic_1;
-        else 
-            width_out1_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    width_out_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            width_out_blk_n <= width_out_full_n;
-        else 
-            width_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    width_out_din <= width;
-
-    width_out_write_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            width_out_write <= ap_const_logic_1;
-        else 
-            width_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-end behav;

+ 0 - 40
src/ip_repo/neuron_packed/src/globals.vhd

@@ -1,40 +0,0 @@
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use ieee.math_real.all;
-
-package myPackage is
-    
-    constant nNodes : integer := 10;
-    constant nBits : integer := 32;
-    subtype dataType is std_logic_vector(nBits-1 downto 0);
-    type dataVector is array(nNodes-1 downto 0) of std_logic_vector(nBits-1 downto 0);
-    function to_dataVector(x : in std_logic_vector(nBits*nNodes-1 downto 0)) return dataVector;
-    
-end myPackage;
-
-package body myPackage is
-    function to_dataVector(x : in std_logic_vector(nBits*nNodes-1 downto 0)) return dataVector is
-    variable ret : dataVector;
-    begin
-        for i in integer range 0 to (x'length/nBits) - 1 loop
-            ret(i) := x(i * nBits + nBits - 1 downto i * nBits);
-        end loop;
-        return ret;
-    end function;
-
-end myPackage;
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use work.myPackage.ALL;
-
-entity globals is
---Port ( );
-end globals;
-
-architecture Behavioral of globals is
-
-begin
-
-
-end Behavioral;

+ 0 - 42
src/ip_repo/neuron_packed/src/mac.vhd

@@ -1,42 +0,0 @@
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use IEEE.std_logic_arith.ALL;
-use IEEE.std_logic_textio.ALL;
-use IEEE.STD_LOGIC_UNSIGNED.ALL;
-use work.myPackage.ALL;
-
--- Uncomment the following library declaration if using
--- arithmetic functions with Signed or Unsigned values
---use IEEE.NUMERIC_STD.ALL;
-
--- Uncomment the following library declaration if instantiating
--- any Xilinx leaf cells in this code.
---library UNISIM;
---use UNISIM.VComponents.all;
-
-entity mac is
-    Port ( inputs : in dataVector;
-           weights : in dataVector;
-           bias : in dataType;
-           outp : out dataType;
-           clk: in STD_LOGIC);
-end mac;
-
-architecture Behavioral of mac is
-
-begin
-
-MAIN: process(clk)
-    variable sum : dataType;
-begin
-    if rising_edge(clk) then
-        sum :=  bias;
-        for i in 0 to nNodes-1 loop
-            sum := signed(sum) + conv_integer(signed(inputs(i))) * conv_integer(signed(weights(i)));
-        end loop;
-        
-        outp <= sum;
-    end if;
-end process;
-
-end Behavioral;

+ 0 - 228
src/ip_repo/neuron_packed/src/multiplex.vhd

@@ -1,228 +0,0 @@
-----------------------------------------------------------------------------------
--- Company: 
--- Engineer: 
--- 
--- Create Date: 03.06.2019 18:42:50
--- Design Name: 
--- Module Name: multiplex - Behavioral
--- Project Name: 
--- Target Devices: 
--- Tool Versions: 
--- Description: 
--- 
--- Dependencies: 
--- 
--- Revision:
--- Revision 0.01 - File Created
--- Additional Comments:
--- 
-----------------------------------------------------------------------------------
-
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use IEEE.std_logic_arith.ALL;
-use IEEE.STD_LOGIC_UNSIGNED.ALL;
-use work.myPackage.ALL;
-
-entity multiplex is
-    generic(
-        busWidth : integer:=32);
-    Port ( clk : in STD_LOGIC;
-           start : in STD_LOGIC;
-           ready: out std_logic;
-           rst : in STD_LOGIC;
-           done : out STD_LOGIC;
-           idle : out STD_LOGIC;
-           
-           moduleId : in STD_LOGIC_VECTOR (31 downto 0);
-           
-           srcData : in STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           srcValid : in std_logic;
-           srcReady : out std_logic;
-           
-           dstData : out STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           dstValid : out std_logic;
-           dstReady : in std_logic
-    );
-end multiplex;
-
-architecture Behavioral of multiplex is
-
-component parallelize is
-    generic(
-        busWidth : integer:=busWidth);
-    Port ( clk : in STD_LOGIC;
-           rst : in STD_LOGIC;
-           start : in STD_LOGIC;
-           dataIn : in std_logic_vector(busWidth-1 downto 0);
-           ready: out std_logic;
-           dataOutReset : in std_logic;
-           dataOut : out std_logic_vector(busWidth-1 downto 0);
-           finished : out STD_LOGIC);
-end component;
-
-component dummyModule is
-    generic(
-        busWidth : integer:=busWidth;
-        regDepth : integer);
-    Port ( clk : in STD_LOGIC;
-           rst_n : in STD_LOGIC;
-           start : in STD_LOGIC;
-           ready: out std_logic;
-           idle : out std_logic;
-           done : out std_logic;
-           
-           srcData : in STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           srcValid : in std_logic;
-           srcReady : out std_logic;
-           
-           dstData : out STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           dstValid : out std_logic;
-           dstReady : in std_logic);
-end component;
-
-component filter11x11_strm is
-port (
-    width : IN STD_LOGIC_VECTOR (31 downto 0);
-    height : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt1 : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt2 : IN STD_LOGIC_VECTOR (31 downto 0);
-    src_V_TDATA : IN STD_LOGIC_VECTOR (31 downto 0);
-    dst_V_TDATA : OUT STD_LOGIC_VECTOR (31 downto 0);
-    ap_clk : IN STD_LOGIC;
-    ap_rst_n : IN STD_LOGIC;
-    ap_start : IN STD_LOGIC;
-    src_V_TVALID : IN STD_LOGIC;
-    src_V_TREADY : OUT STD_LOGIC;
-    dst_V_TVALID : OUT STD_LOGIC;
-    dst_V_TREADY : IN STD_LOGIC;
-    ap_done : OUT STD_LOGIC;
-    ap_ready : OUT STD_LOGIC;
-    ap_idle : OUT STD_LOGIC);
-end component;
-
-constant N : integer := 3;
-type muxBitVector is array(0 to N-1) of std_logic;
-type muxDataVector is array(0 to N-1) of std_logic_vector(busWidth-1 downto 0);
-subtype filter11_t is std_logic_vector(busWidth-1 downto 0);
-
-constant moduleIds : muxDataVector :=(
-    0 => x"2cb31e7c",
-    1 => x"f218e0a2",
-    2 => x"9323eb24"
-);
-
-signal imgWidth : std_logic_vector(busWidth-1 downto 0) := std_logic_vector(conv_unsigned(224, 32));
-signal imgHeight : std_logic_vector(busWidth-1 downto 0) := std_logic_vector(conv_unsigned(224, 32));
-
-signal filt1 : filter11_t := x"00000001";
-signal filt2 : filter11_t := x"00000001";
-
-signal muxSrcData : std_logic_vector(busWidth-1 downto 0);
-signal muxSrcValid : std_logic;
-signal muxSrcReady : muxBitVector := (others => '1');
-
-signal muxDstData : muxDataVector;
-signal muxDstValid : muxBitVector := (others => '0');
-signal muxDstReady : std_logic;
-
-signal muxReady : muxBitVector := (others => '1');
-signal muxIdle : muxBitVector := (others => '1');
-signal muxDone : muxBitVector := (others => '1');
-
-signal muxStart : muxBitVector := (others => '0');
-
-
-
-begin
-    dummyBig : dummyModule 
-    generic map (
-        regDepth => 1024
-    ) port map (
-        clk     => clk,
-        rst_n   => rst,
-        
-        srcData => muxSrcData,
-        srcValid=> muxSrcValid,
-        srcReady=> muxSrcReady(0),
-        
-        dstData => muxDstData(0),
-        dstValid => muxDstValid(0),
-        dstReady => muxDstReady,
-        
-        start   => muxStart(0),
-        ready   => muxReady(0),
-        idle    => muxIdle(0),
-        done    => muxDone(0)
-    );
-    
-    dummy : dummyModule 
-    generic map (
-        regDepth => 4
-    ) port map (
-        clk     => clk,
-        rst_n   => rst,
-        
-        srcData => muxSrcData,
-        srcValid=> muxSrcValid,
-        srcReady=> muxSrcReady(1),
-        
-        dstData => muxDstData(1),
-        dstValid => muxDstValid(1),
-        dstReady => muxDstReady,
-        
-        start   => muxStart(1),
-        ready   => muxReady(1),
-        idle    => muxIdle(1),
-        done    => muxDone(1)
-    );
-    f11 : filter11x11_strm port map (
-        ap_clk => clk,
-        ap_rst_n => rst,
-        ap_start => muxStart(2),
-        ap_done => muxDone(2),
-        ap_ready => muxReady(2),
-        ap_idle => muxIdle(2),
-        width => imgWidth,
-        height => imgHeight,
-        
-        src_V_TDATA => muxSrcData,
-        src_V_TVALID => muxSrcValid,
-        src_V_TREADY => muxSrcReady(2),
-        
-        dst_V_TDATA => muxDstData(2),
-        dst_V_TVALID => muxDstValid(2),
-        dst_V_TREADY => muxDstReady,
-        
-        filt1 => filt1,
-        filt2 => filt2
-        
-    );
-
-    process(moduleId, muxSrcReady, muxReady, muxDstData, muxDstValid, muxDone, muxIdle, start)
-        variable i : integer range 0 to N-1;
-    begin
-        i := 0;
-        for k in 0 to N-1 loop
-            if moduleIds(k) = moduleId then
-                i := k;
-            end if;
-        end loop;
-        
-        ready <= muxReady(i);
-        dstData <= muxDstData(i);
-        done <= muxDone(i);
-        idle <= muxIdle(i);
-        dstValid <= muxDstValid(i);
-        srcReady <= muxSrcReady(i);
-        
-        muxStart <= (others => '0');
-        muxStart(i) <= start;
-    end process;
-    
-    muxSrcValid <= srcValid;
-    muxSrcData <= srcData;
-    muxDstReady <= dstReady;
-    
-end Behavioral;

+ 0 - 61
src/ip_repo/neuron_packed/src/neuron.vhd

@@ -1,61 +0,0 @@
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use work.myPackage.ALL;
-
-entity neuron is
-    Port (
-        inputs : in dataVector;
-        weights : in dataVector;
-        bias : in dataType;
-        start : in std_logic;
-        finished : out std_logic;
-        clk : in std_logic;
-        outp : out dataType);
-end neuron;
-
-architecture Behavioral of neuron is 
-
-component mac is
- port ( 
-   inputs : in dataVector;
-   weights : in dataVector;
-   bias : in dataType;
-   outp : out dataType;
-   clk : in std_logic);
-end component;
-
-component relu is
- port ( 
-   inp : in dataType;
-   clk : in std_logic;
-   outp : out dataType);
-end component;
-
-signal var1 : dataType;
-
-signal macFinished: std_logic;
-
-begin
-mac1: mac port map (
-    inputs => inputs,
-    weights => weights,
-    bias => bias,
-    outp => var1,
-    clk => clk
-);
-
-relu1: relu port map (
-    inp => var1,
-    clk => clk,
-    outp => outp
-);
-
-timing : process(clk)
-begin
-    if(rising_edge(clk)) then
-        macFinished <= start;
-        finished <= macFinished;
-    end if;
-end process;
-
-end Behavioral;

+ 0 - 346
src/ip_repo/neuron_packed/src/packaging.vhd

@@ -1,346 +0,0 @@
-----------------------------------------------------------------------------------
--- Company: 
--- Engineer: 
--- 
--- Create Date: 03.06.2019 20:10:59
--- Design Name: 
--- Module Name: packaging - Behavioral
--- Project Name: 
--- Target Devices: 
--- Tool Versions: 
--- Description: 
--- 
--- Dependencies: 
--- 
--- Revision:
--- Revision 0.01 - File Created
--- Additional Comments:
--- 
-----------------------------------------------------------------------------------
-
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use IEEE.std_logic_arith.ALL;
-use IEEE.STD_LOGIC_UNSIGNED.ALL;
-use work.myPackage.ALL;
-
-entity packaging is
-    generic(
-        busWidth : integer:=32);
-    Port ( clk : in STD_LOGIC;
-           rst : in STD_LOGIC;
-           inputStream : in STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           inpRdEn : out std_logic;
-           --inputDataCount : in STD_LOGIC_VECTOR (15 downto 0);
-           inputEmpty : in std_logic;
-           
-           outData : out STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           outWrEn : out std_logic;
-           outputFull : in std_logic;
-           errorCode : out STD_LOGIC_VECTOR(3 DOWNTO 0);
-           stateOut : out STD_LOGIC_VECTOR(3 downto 0));
-end packaging;
-
-architecture Behavioral of packaging is
-
-    constant PREAMBLE : std_logic_vector(31 downto 0) := x"E1E4C312";
-    type state_t is (
-        waitPreamble, 
-        checkPreamble,
-        waitDatasetId,
-        getDatasetId,
-        waitModuleId,
-        checkModuleId, 
-        writeHeader,
-        waitProcessing,
-        waitChecksum,
-        readChecksum,
-        writeChecksum);
-    
-
-    component multiplex is
-        generic(
-            busWidth : integer:=busWidth);
-        Port (
-           clk : in STD_LOGIC;
-           start : in STD_LOGIC;
-           ready: out std_logic;
-           rst : in STD_LOGIC;
-           done : out STD_LOGIC;
-           idle : out STD_LOGIC;
-           
-           moduleId : in STD_LOGIC_VECTOR (31 downto 0);
-           
-           srcData : in STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           srcValid : in std_logic;
-           srcReady : out std_logic;
-           
-           dstData : out STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           dstValid : out std_logic;
-           dstReady : in std_logic);
-    end component;
-    
-    component checksum is
-        Port ( clk : in STD_LOGIC;
-           reset : in STD_LOGIC;
-           enable : in STD_LOGIC;
-           dataIn : in STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           output : out STD_LOGIC_VECTOR (busWidth-1 downto 0));
-    end component;
-    
-    signal state : state_t;
-    signal moduleId : STD_LOGIC_VECTOR (31 downto 0);
-    signal datasetId : STD_LOGIC_VECTOR (31 downto 0);
-    signal inputReadReady : std_logic;
-    signal outputWriteEnable_s : std_logic;
-    signal outputStream_s : STD_LOGIC_VECTOR (busWidth-1 downto 0);
-    signal inputReadEnable : std_logic;
-    signal outputWriteEnable : std_logic;
-    signal outputStream : STD_LOGIC_VECTOR (busWidth-1 downto 0);
-    signal errorCode_s : std_logic_vector(3 downto 0);
-    
-    signal outHeaderCounter : integer range 0 to 3;
-    
-    signal muxSrcData : STD_LOGIC_VECTOR (busWidth-1 downto 0);
-    signal muxSrcValid : std_logic;
-    signal muxSrcReady : std_logic;
-    
-    signal muxDstData : STD_LOGIC_VECTOR (busWidth-1 downto 0);
-    signal muxDstValid : std_logic;
-    signal muxDstReady : std_logic;
-    
-    signal muxStart  : std_logic;
-    signal muxReady  : std_logic;
-    signal muxDone   : std_logic;
-    signal muxIdle   : std_logic;
-    
-    signal muxControlsFIFO : std_logic;
-    
-    signal csReset : std_logic;
-    signal csOutReset : std_logic;
-    signal csSum : STD_LOGIC_VECTOR (busWidth-1 downto 0);
-    
-    signal csOutSum : STD_LOGIC_VECTOR (busWidth-1 downto 0);
-    
-begin
-
-    mux1 : multiplex port map (
-        clk => clk,
-        rst => rst,
-        start => muxStart,
-        ready  => muxReady,
-        done => muxDone,
-        idle => muxIdle,
-        
-        moduleId => moduleId,
-        
-        srcData     => muxSrcData,
-        srcValid    => muxSrcValid,
-        srcReady    => muxSrcReady,
-        
-        dstData     => muxDstData,
-        dstValid    => muxDstValid,
-        dstReady    => muxDstReady
-        
-    );
-    checksum1 : checksum port map (
-        clk => clk,
-        reset => csReset,
-        enable => inputReadEnable,
-        dataIn => inputStream,
-        output => csSum
-    );
-    checksum2 : checksum port map (
-        clk => clk,
-        reset => csOutReset,
-        enable => outputWriteEnable,
-        dataIn => outputStream,
-        output => csOutSum
-    );
-
-    sm : process(rst, clk)
-    
-    begin
-        if(rst = '0') then
-            state <= waitPreamble;
-            inputReadReady <= '0';
-            csReset <= '0';
-            csOutReset <= '0';
-            outHeaderCounter <= 3;
-            muxStart <= '0';
-            muxControlsFIFO <= '0';
-        elsif(rising_edge(clk)) then
-            csReset <= '1';
-            csOutReset <= '1';
-            errorCode_s <= x"0";
-            muxStart <= '0';
-            muxControlsFIFO <= '0';
-
-            outputWriteEnable_s <= '0';
-            outHeaderCounter <= 0;
-            
-            outputStream_s <= (others=>'0');
-        
-            case state is
-                -- wait for header
-                when waitPreamble =>
-                    csReset <= '0';
-                    inputReadReady <= '1';
-                    if(inputEmpty = '1' or outputFull = '1') then
-                        state <= waitPreamble;
-                    else
-                        state <= checkPreamble;
-                    end if;
-                    
-                -- is preamble correct?
-                when checkPreamble =>
-                    if(inputStream = PREAMBLE and inputEmpty = '0') then
-                        state <= getDatasetId;
-                    elsif inputStream = PREAMBLE then
-                        state <= waitDatasetId;
-                    else
-                        state <= waitPreamble;
-                        errorCode_s <= x"1";
-                    end if;
-                when waitDatasetId =>
-                    if inputEmpty = '1' then
-                        errorCode_s <= x"F";
-                        state <= waitDatasetId;
-                    else
-                        state <= getDatasetId;
-                    end if;
-                    
-                when getDatasetId =>
-                    datasetId <= inputStream;
-                    if inputEmpty = '1' then
-                        state <= waitModuleId;
-                    else
-                        state <= checkModuleId;
-                    end if;
-                
-                when waitModuleId =>
-                    if inputEmpty = '1' then
-                        errorCode_s <= x"E";
-                        state <= waitModuleId;
-                    else
-                        state <= checkModuleId;
-                    end if;
-                -- is moduleId known?
-                when checkModuleId =>
-                    inputReadReady <= '0';
-                    if outputFull = '1' then
-                        state <= checkModuleId;
-                        errorCode_s <= x"D";
-                    elsif(inputStream = x"2cb31e7c" or inputStream = x"f218e0a2" or inputStream = x"9323eb24") then
-                        state <= writeHeader;
-                        moduleId <= inputStream;
-                        outputStream_s <= PREAMBLE;
-                        csOutReset <= '0';
-                        outputWriteEnable_s <= '1';
-                        
-                    else
-                        state <= waitPreamble;
-                        errorCode_s <= x"2";
-                    end if;
-                    
-                -- wait for data
-                when writeHeader =>
-                    if outputFull = '1' then
-                        state <= writeHeader;
-                        errorCode_s <= x"C";
-                        outHeaderCounter <= outHeaderCounter;
-                    elsif(outHeaderCounter < 2) then
-                        outputWriteEnable_s <= '1';
-                        case outHeaderCounter is
-                            when 0 =>  outputStream_s <= datasetId;
-                            when others => outputStream_s <= moduleId;
-                        end case;
-                        outHeaderCounter <= outHeaderCounter + 1;
-                        state <= writeHeader;
-                    else
-                        state <= waitProcessing;
-                        muxStart <= '1';
-                        muxControlsFIFO <= '1';
-                    end if;
-
-                when waitProcessing =>
-                    if(muxDone = '0') then
-                        state <= waitProcessing;
-                        muxControlsFIFO <= '1';
-                        errorCode_s <= x"B";
-                        muxStart <= '1';
-                    else
-                        state <= waitChecksum;
-                        inputReadReady <= '1';
-                    end if;
-                
-                when waitChecksum =>
-                    if inputEmpty = '1' then
-                        errorCode_s <= x"A";
-                        state <= waitChecksum;
-                        inputReadReady <= '1';
-                    else
-                        state <= readChecksum;
-                        inputReadReady <= '0';
-                    end if;
-                when readChecksum =>
-                    state <= writeChecksum;
-                    
-                when writeChecksum =>
-                    if outputFull = '0' then
-                        outputWriteEnable_s <= '1';
-                        state <= waitPreamble;
-                    else
-                        state <= writeChecksum;
-                    end if;
-                    
-                    if(unsigned(csSum) = 0) then
-                        outputStream_s <= 0 - unsigned(csOutSum);
-                    else
-                        errorCode_s <= x"3";
-                        outputStream_s <= 1 - unsigned(csOutSum);
-                    end if;
-                
-                when others =>
-                    state <= waitPreamble;
-                    inputReadReady <= '0';
-            end case;
-            
-            if signed(errorCode_s) > 0 and outputFull = '0' then
-                outputWriteEnable_s <= '1';
-                outputStream_s <= x"E330300" & errorCode_s;
-            end if;
-            muxSrcValid <= muxSrcReady and not inputEmpty;
-            
-        end if;
-    end process;
-    
-    muxCtrl : process(muxControlsFIFO, outputWriteEnable_s, inputReadReady, outputStream_s, muxDstValid, muxSrcReady, muxDstData, inputStream, outputFull, inputEmpty)
-    
-    begin
-        if muxControlsFIFO = '0' then
-            outputWriteEnable   <= outputWriteEnable_s;
-            inputReadEnable     <= inputReadReady and not inputEmpty;
-            outputStream        <= outputStream_s;
-            
-            muxSrcData <= (others => 'U');
-            muxDstReady <= '0';
-        else
-            outputWriteEnable   <= muxDstValid and not outputFull;
-            inputReadEnable     <= muxSrcReady and not inputEmpty;
-            outputStream        <= muxDstData;
-            
-            muxSrcData <= inputStream;
-            muxDstReady <= not outputFull;
-        end if;
-        
-    end process;
-    errorCode <= errorCode_s;
-    stateOut <= std_logic_vector(conv_unsigned(state_t'POS(state), 4));
-    
-    outWrEn <= outputWriteEnable;
-    inpRdEn <= inputReadEnable;
-    outData <= outputStream;
-    
-end Behavioral;

+ 0 - 86
src/ip_repo/neuron_packed/src/parallelize.vhd

@@ -1,86 +0,0 @@
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use work.myPackage.ALL;
-
-entity parallelize is
-    generic(
-        busWidth : integer:=8);
-    Port ( clk : in STD_LOGIC;
-           rst : in STD_LOGIC;
-           start : in STD_LOGIC;
-           dataIn : in std_logic_vector(busWidth-1 downto 0);
-           ready: out std_logic;
-           dataOutReset : in std_logic;
-           dataOut : out std_logic_vector(busWidth-1 downto 0);
-           finished : out STD_LOGIC);
-end parallelize;
-
-architecture Behavioral of parallelize is
-
-constant parallelInWidth : integer := (2*nNodes+1) * nBits;
-constant parallelOutWidth : integer := nBits;
-
-component shiftIn is
-    generic(
-        inWidth : integer := busWidth;
-        outWidth : integer := parallelInWidth);
-    Port ( clk : in STD_LOGIC;
-           sync_reset : in STD_LOGIC;
-           dataIn : in std_logic_vector(inWidth-1 downto 0);
-           dataOut : out std_logic_vector(outWidth-1 downto 0);
-           finished : out STD_LOGIC);
-end component;
-component neuron is
-    Port (
-        inputs : in dataVector;
-        weights : in dataVector;
-        bias : in dataType;
-        start : in std_logic;
-        finished : out std_logic;
-        clk : in std_logic;
-        outp : out dataType);
-end component;
-component shiftOut is
-    generic(
-        inWidth : integer := parallelOutWidth;
-        outWidth : integer := busWidth);
-    Port ( clk : in STD_LOGIC;
-           sync_reset : in STD_LOGIC;
-           dataIn : in std_logic_vector(inWidth-1 downto 0);
-           dataOut : out std_logic_vector(outWidth-1 downto 0);
-           finished : out STD_LOGIC);
-end component;
-
-signal dataInStorage : std_logic_vector(parallelInWidth-1 downto 0);
-signal dataOutStorage : std_logic_vector(parallelOutWidth-1 downto 0);
-signal shiftInFinished : std_logic;
-
-begin
-
-shiftIn1: shiftIn port map (
-    clk         => clk,
-    sync_reset  => start,
-    dataIn      => dataIn,
-    dataOut     => dataInStorage,
-    finished    => shiftInFinished
-);
-
-neuron1: neuron port map (
-    inputs  => to_dataVector(dataInStorage(parallelInWidth-1 downto (nNodes+1) * nBits)),
-    weights => to_dataVector(dataInStorage((nNodes+1) * nBits-1 downto nBits)),
-    bias    => dataInStorage(nBits-1 downto 0),
-    clk     => clk,
-    outp    => dataOutStorage,
-    start   => shiftInFinished,
-    finished=> ready
-);
-
-shiftOut1 : shiftOut port map (
-    clk         => clk,
-    sync_reset  => dataOutReset,
-    dataIn      => dataOutStorage,
-    dataOut     => dataOut,
-    finished    => finished
-);
-
-end Behavioral;

+ 0 - 30
src/ip_repo/neuron_packed/src/relu.vhd

@@ -1,30 +0,0 @@
-
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use IEEE.std_logic_signed.all;
-use IEEE.std_logic_arith.all;
-use IEEE.math_real.all;
-use work.myPackage.ALL;
-
-entity relu is
-    Port ( inp : in dataType;
-           outp : out dataType;
-           clk: in STD_LOGIC );
-end relu;
-
-architecture Behavioral of relu is
-
-begin
-    calc : process(clk)
-    begin
-        if(rising_edge(clk)) then
-            if(signed(inp) > 0) then
-                outp <= inp;
-            else
-                outp <= (others => '0');
-            end if;
-            
-        end if;
-    end process;
-end Behavioral;

+ 0 - 66
src/ip_repo/neuron_packed/src/shiftIn.vhd

@@ -1,66 +0,0 @@
-----------------------------------------------------------------------------------
--- Company: 
--- Engineer: 
--- 
--- Create Date: 06/03/2019 01:56:01 PM
--- Design Name: 
--- Module Name: shiftOut - Behavioral
--- Project Name: 
--- Target Devices: 
--- Tool Versions: 
--- Description: 
--- 
--- Dependencies: 
--- 
--- Revision:
--- Revision 0.01 - File Created
--- Additional Comments:
--- 
-----------------------------------------------------------------------------------
-
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-
-entity shiftIn is
-    generic(
-        inWidth : integer := 8;
-        outWidth : integer := 32);
-    Port ( clk : in STD_LOGIC;
-           ce : in std_logic;
-           sync_reset : in STD_LOGIC;
-           dataIn : in std_logic_vector(inWidth-1 downto 0);
-           dataOut : out std_logic_vector(outWidth-1 downto 0);
-           finished : out STD_LOGIC);
-end shiftIn;
-
-architecture Behavioral of shiftIn is
-    signal dataIndex : integer range 0 to (outWidth / inWidth) := 0;
-    signal dataOut_s : std_logic_vector(outWidth-1 downto 0);
-begin
-
-p_s2p : process(clk, sync_reset, dataIndex)
-begin
-    if(sync_reset = '0') then
-        dataIndex <= 0;
-        finished <= '0';
-        dataOut_s <= (others => '0');
-    elsif(rising_edge(clk)) then
-        if(dataIndex < outWidth/inWidth and ce = '1') then
-            --dataOut_s(outWidth - dataIndex * inWidth - 1 downto outWidth - dataIndex * inWidth - inWidth) <= dataIn;
-            dataOut_s <= dataOut_s(outWidth-1 - inWidth downto 0) & dataIn;
-            dataIndex <= dataIndex + 1;
-        else
-            dataIndex <= dataIndex;
-            dataOut_s <= dataOut_s;
-        end if;
-    end if;
-    if(dataIndex < outWidth/inWidth) then
-        finished <= '0';
-    else
-        finished <= '1';
-    end if;
-end process;
-
-dataOut <= dataOut_s;
-end Behavioral;

+ 0 - 72
src/ip_repo/neuron_packed/src/shiftOut.vhd

@@ -1,72 +0,0 @@
-----------------------------------------------------------------------------------
--- Company: 
--- Engineer: 
--- 
--- Create Date: 06/03/2019 01:56:01 PM
--- Design Name: 
--- Module Name: shiftOut - Behavioral
--- Project Name: 
--- Target Devices: 
--- Tool Versions: 
--- Description: 
--- 
--- Dependencies: 
--- 
--- Revision:
--- Revision 0.01 - File Created
--- Additional Comments:
--- 
-----------------------------------------------------------------------------------
-
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-
-entity shiftOut is
-    generic(
-        inWidth : integer := 32*4;
-        outWidth : integer := 32);
-    Port ( clk : in STD_LOGIC;
-           ce : in std_logic;
-           sync_reset : in STD_LOGIC;
-           dataIn : in std_logic_vector(inWidth-1 downto 0);
-           dataOut : out std_logic_vector(outWidth-1 downto 0);
-           valid : out std_logic;
-           finished : out STD_LOGIC);
-end shiftOut;
-
-architecture Behavioral of shiftOut is
-    signal dataIndex : integer range -1 to (inWidth / outWidth)-1 := 0;
-begin
-
-p_s2p : process(clk, sync_reset)
-begin
-    if(sync_reset = '0') then
-        dataIndex <= -1;
-        finished <= '0';
-        valid <= '0';
-    elsif(rising_edge(clk)) then
-        if dataIndex < inWidth/outWidth-1 and ce='0' then
-            finished <= '0';
-            dataIndex <= dataIndex;
-            valid <= '0';
-        elsif(dataIndex < inWidth/outWidth-1) then
-            finished <= '0';
-            dataIndex <= dataIndex + 1;
-            valid <= '1';
-        else
-            finished <= '1';
-            dataIndex <= dataIndex;
-            valid <= '0';
-        end if;
-    end if;
-end process;
-
-process(dataIn, dataIndex) begin
-    if dataIndex >= 0 then
-        dataOut <= dataIn(inWidth - dataIndex * outWidth - 1 downto inWidth - dataIndex * outWidth - outWidth);
-    else
-        dataOut <= (others => 'U');
-    end if;
-end process;
-end Behavioral;

+ 0 - 140
src/ip_repo/neuron_packed/src/start_for_Block_proc_U0.vhd

@@ -1,140 +0,0 @@
--- ==============================================================
--- File generated on Wed Jun 26 16:53:30 CEST 2019
--- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
--- SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
--- IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
--- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
--- ==============================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.std_logic_unsigned.all;
-
-entity start_for_Block_proc_U0_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 1;
-        DEPTH : integer := 2);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-end start_for_Block_proc_U0_shiftReg;
-
-architecture rtl of start_for_Block_proc_U0_shiftReg is
---constant DEPTH_WIDTH: integer := 16;
-type SRL_ARRAY is array (0 to DEPTH-1) of std_logic_vector(DATA_WIDTH-1 downto 0);
-signal SRL_SIG : SRL_ARRAY;
-
-begin
-p_shift: process (clk)
-begin
-    if (clk'event and clk = '1') then
-        if (ce = '1') then
-            SRL_SIG <= data & SRL_SIG(0 to DEPTH-2);
-        end if;
-    end if;
-end process;
-
-q <= SRL_SIG(conv_integer(a));
-
-end rtl;
-
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.std_logic_unsigned.all;
-use ieee.std_logic_arith.all;
-
-entity start_for_Block_proc_U0 is 
-    generic (
-        MEM_STYLE  : string := "shiftreg"; 
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 1;
-        DEPTH : integer := 2);
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_empty_n : OUT STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_read : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0));
-end entity;
-
-architecture rtl of start_for_Block_proc_U0 is
-
-    component start_for_Block_proc_U0_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 1;
-        DEPTH : integer := 2);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-    end component;
-
-    signal shiftReg_addr : STD_LOGIC_VECTOR(ADDR_WIDTH - 1 downto 0);
-    signal shiftReg_data, shiftReg_q : STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-    signal shiftReg_ce : STD_LOGIC;
-    signal mOutPtr : STD_LOGIC_VECTOR(ADDR_WIDTH downto 0) := (others => '1');
-    signal internal_empty_n : STD_LOGIC := '0';
-    signal internal_full_n  : STD_LOGIC := '1';
-
-begin
-    if_empty_n <= internal_empty_n;
-    if_full_n <= internal_full_n;
-    shiftReg_data <= if_din;
-    if_dout <= shiftReg_q;
-
-    process (clk)
-    begin
-        if clk'event and clk = '1' then
-            if reset = '1' then
-                mOutPtr <= (others => '1');
-                internal_empty_n <= '0';
-                internal_full_n <= '1';
-            else
-                if ((if_read and if_read_ce) = '1' and internal_empty_n = '1') and 
-                   ((if_write and if_write_ce) = '0' or internal_full_n = '0') then
-                    mOutPtr <= mOutPtr - conv_std_logic_vector(1, 2);
-                    if (mOutPtr = conv_std_logic_vector(0, 2)) then 
-                        internal_empty_n <= '0';
-                    end if;
-                    internal_full_n <= '1';
-                elsif ((if_read and if_read_ce) = '0' or internal_empty_n = '0') and 
-                   ((if_write and if_write_ce) = '1' and internal_full_n = '1') then
-                    mOutPtr <= mOutPtr + conv_std_logic_vector(1, 2);
-                    internal_empty_n <= '1';
-                    if (mOutPtr = conv_std_logic_vector(DEPTH, 2) - conv_std_logic_vector(2, 2)) then 
-                        internal_full_n <= '0';
-                    end if;
-                end if;
-            end if;
-        end if;
-    end process;
-
-    shiftReg_addr <= (others => '0') when mOutPtr(ADDR_WIDTH) = '1' else mOutPtr(ADDR_WIDTH-1 downto 0);
-    shiftReg_ce <= (if_write and if_write_ce) and internal_full_n;
-
-    U_start_for_Block_proc_U0_shiftReg : start_for_Block_proc_U0_shiftReg
-    generic map (
-        DATA_WIDTH => DATA_WIDTH,
-        ADDR_WIDTH => ADDR_WIDTH,
-        DEPTH => DEPTH)
-    port map (
-        clk => clk,
-        data => shiftReg_data,
-        ce => shiftReg_ce,
-        a => shiftReg_addr,
-        q => shiftReg_q);
-
-end rtl;
-

+ 0 - 140
src/ip_repo/neuron_packed/src/start_for_Loop_Border_proc_U0.vhd

@@ -1,140 +0,0 @@
--- ==============================================================
--- File generated on Wed Jun 26 16:53:30 CEST 2019
--- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
--- SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
--- IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
--- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
--- ==============================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.std_logic_unsigned.all;
-
-entity start_for_Loop_Border_proc_U0_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-end start_for_Loop_Border_proc_U0_shiftReg;
-
-architecture rtl of start_for_Loop_Border_proc_U0_shiftReg is
---constant DEPTH_WIDTH: integer := 16;
-type SRL_ARRAY is array (0 to DEPTH-1) of std_logic_vector(DATA_WIDTH-1 downto 0);
-signal SRL_SIG : SRL_ARRAY;
-
-begin
-p_shift: process (clk)
-begin
-    if (clk'event and clk = '1') then
-        if (ce = '1') then
-            SRL_SIG <= data & SRL_SIG(0 to DEPTH-2);
-        end if;
-    end if;
-end process;
-
-q <= SRL_SIG(conv_integer(a));
-
-end rtl;
-
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.std_logic_unsigned.all;
-use ieee.std_logic_arith.all;
-
-entity start_for_Loop_Border_proc_U0 is 
-    generic (
-        MEM_STYLE  : string := "shiftreg"; 
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_empty_n : OUT STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_read : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0));
-end entity;
-
-architecture rtl of start_for_Loop_Border_proc_U0 is
-
-    component start_for_Loop_Border_proc_U0_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-    end component;
-
-    signal shiftReg_addr : STD_LOGIC_VECTOR(ADDR_WIDTH - 1 downto 0);
-    signal shiftReg_data, shiftReg_q : STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-    signal shiftReg_ce : STD_LOGIC;
-    signal mOutPtr : STD_LOGIC_VECTOR(ADDR_WIDTH downto 0) := (others => '1');
-    signal internal_empty_n : STD_LOGIC := '0';
-    signal internal_full_n  : STD_LOGIC := '1';
-
-begin
-    if_empty_n <= internal_empty_n;
-    if_full_n <= internal_full_n;
-    shiftReg_data <= if_din;
-    if_dout <= shiftReg_q;
-
-    process (clk)
-    begin
-        if clk'event and clk = '1' then
-            if reset = '1' then
-                mOutPtr <= (others => '1');
-                internal_empty_n <= '0';
-                internal_full_n <= '1';
-            else
-                if ((if_read and if_read_ce) = '1' and internal_empty_n = '1') and 
-                   ((if_write and if_write_ce) = '0' or internal_full_n = '0') then
-                    mOutPtr <= mOutPtr - conv_std_logic_vector(1, 3);
-                    if (mOutPtr = conv_std_logic_vector(0, 3)) then 
-                        internal_empty_n <= '0';
-                    end if;
-                    internal_full_n <= '1';
-                elsif ((if_read and if_read_ce) = '0' or internal_empty_n = '0') and 
-                   ((if_write and if_write_ce) = '1' and internal_full_n = '1') then
-                    mOutPtr <= mOutPtr + conv_std_logic_vector(1, 3);
-                    internal_empty_n <= '1';
-                    if (mOutPtr = conv_std_logic_vector(DEPTH, 3) - conv_std_logic_vector(2, 3)) then 
-                        internal_full_n <= '0';
-                    end if;
-                end if;
-            end if;
-        end if;
-    end process;
-
-    shiftReg_addr <= (others => '0') when mOutPtr(ADDR_WIDTH) = '1' else mOutPtr(ADDR_WIDTH-1 downto 0);
-    shiftReg_ce <= (if_write and if_write_ce) and internal_full_n;
-
-    U_start_for_Loop_Border_proc_U0_shiftReg : start_for_Loop_Border_proc_U0_shiftReg
-    generic map (
-        DATA_WIDTH => DATA_WIDTH,
-        ADDR_WIDTH => ADDR_WIDTH,
-        DEPTH => DEPTH)
-    port map (
-        clk => clk,
-        data => shiftReg_data,
-        ce => shiftReg_ce,
-        a => shiftReg_addr,
-        q => shiftReg_q);
-
-end rtl;
-

+ 0 - 140
src/ip_repo/neuron_packed/src/start_for_Loop_VConvH_proc_U0.vhd

@@ -1,140 +0,0 @@
--- ==============================================================
--- File generated on Wed Jun 26 16:53:30 CEST 2019
--- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
--- SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
--- IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
--- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
--- ==============================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.std_logic_unsigned.all;
-
-entity start_for_Loop_VConvH_proc_U0_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-end start_for_Loop_VConvH_proc_U0_shiftReg;
-
-architecture rtl of start_for_Loop_VConvH_proc_U0_shiftReg is
---constant DEPTH_WIDTH: integer := 16;
-type SRL_ARRAY is array (0 to DEPTH-1) of std_logic_vector(DATA_WIDTH-1 downto 0);
-signal SRL_SIG : SRL_ARRAY;
-
-begin
-p_shift: process (clk)
-begin
-    if (clk'event and clk = '1') then
-        if (ce = '1') then
-            SRL_SIG <= data & SRL_SIG(0 to DEPTH-2);
-        end if;
-    end if;
-end process;
-
-q <= SRL_SIG(conv_integer(a));
-
-end rtl;
-
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.std_logic_unsigned.all;
-use ieee.std_logic_arith.all;
-
-entity start_for_Loop_VConvH_proc_U0 is 
-    generic (
-        MEM_STYLE  : string := "shiftreg"; 
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_empty_n : OUT STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_read : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0));
-end entity;
-
-architecture rtl of start_for_Loop_VConvH_proc_U0 is
-
-    component start_for_Loop_VConvH_proc_U0_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-    end component;
-
-    signal shiftReg_addr : STD_LOGIC_VECTOR(ADDR_WIDTH - 1 downto 0);
-    signal shiftReg_data, shiftReg_q : STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-    signal shiftReg_ce : STD_LOGIC;
-    signal mOutPtr : STD_LOGIC_VECTOR(ADDR_WIDTH downto 0) := (others => '1');
-    signal internal_empty_n : STD_LOGIC := '0';
-    signal internal_full_n  : STD_LOGIC := '1';
-
-begin
-    if_empty_n <= internal_empty_n;
-    if_full_n <= internal_full_n;
-    shiftReg_data <= if_din;
-    if_dout <= shiftReg_q;
-
-    process (clk)
-    begin
-        if clk'event and clk = '1' then
-            if reset = '1' then
-                mOutPtr <= (others => '1');
-                internal_empty_n <= '0';
-                internal_full_n <= '1';
-            else
-                if ((if_read and if_read_ce) = '1' and internal_empty_n = '1') and 
-                   ((if_write and if_write_ce) = '0' or internal_full_n = '0') then
-                    mOutPtr <= mOutPtr - conv_std_logic_vector(1, 3);
-                    if (mOutPtr = conv_std_logic_vector(0, 3)) then 
-                        internal_empty_n <= '0';
-                    end if;
-                    internal_full_n <= '1';
-                elsif ((if_read and if_read_ce) = '0' or internal_empty_n = '0') and 
-                   ((if_write and if_write_ce) = '1' and internal_full_n = '1') then
-                    mOutPtr <= mOutPtr + conv_std_logic_vector(1, 3);
-                    internal_empty_n <= '1';
-                    if (mOutPtr = conv_std_logic_vector(DEPTH, 3) - conv_std_logic_vector(2, 3)) then 
-                        internal_full_n <= '0';
-                    end if;
-                end if;
-            end if;
-        end if;
-    end process;
-
-    shiftReg_addr <= (others => '0') when mOutPtr(ADDR_WIDTH) = '1' else mOutPtr(ADDR_WIDTH-1 downto 0);
-    shiftReg_ce <= (if_write and if_write_ce) and internal_full_n;
-
-    U_start_for_Loop_VConvH_proc_U0_shiftReg : start_for_Loop_VConvH_proc_U0_shiftReg
-    generic map (
-        DATA_WIDTH => DATA_WIDTH,
-        ADDR_WIDTH => ADDR_WIDTH,
-        DEPTH => DEPTH)
-    port map (
-        clk => clk,
-        data => shiftReg_data,
-        ce => shiftReg_ce,
-        a => shiftReg_addr,
-        q => shiftReg_q);
-
-end rtl;
-

+ 0 - 25
src/ip_repo/neuron_packed/xgui/packaging_v2_0.tcl

@@ -1,25 +0,0 @@
-# Definitional proc to organize widgets for parameters.
-proc init_gui { IPINST } {
-  ipgui::add_param $IPINST -name "Component_Name"
-  #Adding Page
-  set Page_0 [ipgui::add_page $IPINST -name "Page 0"]
-  ipgui::add_param $IPINST -name "busWidth" -parent ${Page_0}
-
-
-}
-
-proc update_PARAM_VALUE.busWidth { PARAM_VALUE.busWidth } {
-	# Procedure called to update busWidth when any of the dependent parameters in the arguments change
-}
-
-proc validate_PARAM_VALUE.busWidth { PARAM_VALUE.busWidth } {
-	# Procedure called to validate busWidth
-	return true
-}
-
-
-proc update_MODELPARAM_VALUE.busWidth { MODELPARAM_VALUE.busWidth PARAM_VALUE.busWidth } {
-	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
-	set_property value [get_property value ${PARAM_VALUE.busWidth}] ${MODELPARAM_VALUE.busWidth}
-}
-

+ 0 - 650
src/ip_repo/packaging/component.xml

@@ -1,650 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<spirit:component xmlns:xilinx="http://www.xilinx.com" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <spirit:vendor>user.org</spirit:vendor>
-  <spirit:library>user</spirit:library>
-  <spirit:name>packaging</spirit:name>
-  <spirit:version>3.0</spirit:version>
-  <spirit:busInterfaces>
-    <spirit:busInterface>
-      <spirit:name>rst</spirit:name>
-      <spirit:busType spirit:vendor="xilinx.com" spirit:library="signal" spirit:name="reset" spirit:version="1.0"/>
-      <spirit:abstractionType spirit:vendor="xilinx.com" spirit:library="signal" spirit:name="reset_rtl" spirit:version="1.0"/>
-      <spirit:slave/>
-      <spirit:portMaps>
-        <spirit:portMap>
-          <spirit:logicalPort>
-            <spirit:name>RST</spirit:name>
-          </spirit:logicalPort>
-          <spirit:physicalPort>
-            <spirit:name>rst</spirit:name>
-          </spirit:physicalPort>
-        </spirit:portMap>
-      </spirit:portMaps>
-    </spirit:busInterface>
-    <spirit:busInterface>
-      <spirit:name>clk</spirit:name>
-      <spirit:busType spirit:vendor="xilinx.com" spirit:library="signal" spirit:name="clock" spirit:version="1.0"/>
-      <spirit:abstractionType spirit:vendor="xilinx.com" spirit:library="signal" spirit:name="clock_rtl" spirit:version="1.0"/>
-      <spirit:slave/>
-      <spirit:portMaps>
-        <spirit:portMap>
-          <spirit:logicalPort>
-            <spirit:name>CLK</spirit:name>
-          </spirit:logicalPort>
-          <spirit:physicalPort>
-            <spirit:name>clk</spirit:name>
-          </spirit:physicalPort>
-        </spirit:portMap>
-      </spirit:portMaps>
-      <spirit:parameters>
-        <spirit:parameter>
-          <spirit:name>ASSOCIATED_RESET</spirit:name>
-          <spirit:value spirit:id="BUSIFPARAM_VALUE.CLK.ASSOCIATED_RESET">rst</spirit:value>
-        </spirit:parameter>
-      </spirit:parameters>
-    </spirit:busInterface>
-    <spirit:busInterface>
-      <spirit:name>fifo_read</spirit:name>
-      <spirit:busType spirit:vendor="xilinx.com" spirit:library="interface" spirit:name="fifo_read" spirit:version="1.0"/>
-      <spirit:abstractionType spirit:vendor="xilinx.com" spirit:library="interface" spirit:name="fifo_read_rtl" spirit:version="1.0"/>
-      <spirit:master/>
-      <spirit:portMaps>
-        <spirit:portMap>
-          <spirit:logicalPort>
-            <spirit:name>RD_DATA</spirit:name>
-          </spirit:logicalPort>
-          <spirit:physicalPort>
-            <spirit:name>inputStream</spirit:name>
-          </spirit:physicalPort>
-        </spirit:portMap>
-        <spirit:portMap>
-          <spirit:logicalPort>
-            <spirit:name>RD_EN</spirit:name>
-          </spirit:logicalPort>
-          <spirit:physicalPort>
-            <spirit:name>inpRdEn</spirit:name>
-          </spirit:physicalPort>
-        </spirit:portMap>
-        <spirit:portMap>
-          <spirit:logicalPort>
-            <spirit:name>EMPTY</spirit:name>
-          </spirit:logicalPort>
-          <spirit:physicalPort>
-            <spirit:name>inputEmpty</spirit:name>
-          </spirit:physicalPort>
-        </spirit:portMap>
-      </spirit:portMaps>
-    </spirit:busInterface>
-    <spirit:busInterface>
-      <spirit:name>fifo_write</spirit:name>
-      <spirit:busType spirit:vendor="xilinx.com" spirit:library="interface" spirit:name="fifo_write" spirit:version="1.0"/>
-      <spirit:abstractionType spirit:vendor="xilinx.com" spirit:library="interface" spirit:name="fifo_write_rtl" spirit:version="1.0"/>
-      <spirit:master/>
-      <spirit:portMaps>
-        <spirit:portMap>
-          <spirit:logicalPort>
-            <spirit:name>WR_DATA</spirit:name>
-          </spirit:logicalPort>
-          <spirit:physicalPort>
-            <spirit:name>outData</spirit:name>
-          </spirit:physicalPort>
-        </spirit:portMap>
-        <spirit:portMap>
-          <spirit:logicalPort>
-            <spirit:name>WR_EN</spirit:name>
-          </spirit:logicalPort>
-          <spirit:physicalPort>
-            <spirit:name>outWrEn</spirit:name>
-          </spirit:physicalPort>
-        </spirit:portMap>
-        <spirit:portMap>
-          <spirit:logicalPort>
-            <spirit:name>FULL</spirit:name>
-          </spirit:logicalPort>
-          <spirit:physicalPort>
-            <spirit:name>outputFull</spirit:name>
-          </spirit:physicalPort>
-        </spirit:portMap>
-      </spirit:portMaps>
-    </spirit:busInterface>
-  </spirit:busInterfaces>
-  <spirit:model>
-    <spirit:views>
-      <spirit:view>
-        <spirit:name>xilinx_anylanguagesynthesis</spirit:name>
-        <spirit:displayName>Synthesis</spirit:displayName>
-        <spirit:envIdentifier>:vivado.xilinx.com:synthesis</spirit:envIdentifier>
-        <spirit:language>VHDL</spirit:language>
-        <spirit:modelName>packaging</spirit:modelName>
-        <spirit:fileSetRef>
-          <spirit:localName>xilinx_anylanguagesynthesis_view_fileset</spirit:localName>
-        </spirit:fileSetRef>
-        <spirit:parameters>
-          <spirit:parameter>
-            <spirit:name>viewChecksum</spirit:name>
-            <spirit:value>80fccf26</spirit:value>
-          </spirit:parameter>
-        </spirit:parameters>
-      </spirit:view>
-      <spirit:view>
-        <spirit:name>xilinx_anylanguagebehavioralsimulation</spirit:name>
-        <spirit:displayName>Simulation</spirit:displayName>
-        <spirit:envIdentifier>:vivado.xilinx.com:simulation</spirit:envIdentifier>
-        <spirit:language>VHDL</spirit:language>
-        <spirit:modelName>packaging</spirit:modelName>
-        <spirit:fileSetRef>
-          <spirit:localName>xilinx_anylanguagebehavioralsimulation_view_fileset</spirit:localName>
-        </spirit:fileSetRef>
-        <spirit:parameters>
-          <spirit:parameter>
-            <spirit:name>viewChecksum</spirit:name>
-            <spirit:value>80fccf26</spirit:value>
-          </spirit:parameter>
-        </spirit:parameters>
-      </spirit:view>
-      <spirit:view>
-        <spirit:name>xilinx_testbench</spirit:name>
-        <spirit:displayName>Test Bench</spirit:displayName>
-        <spirit:envIdentifier>:vivado.xilinx.com:simulation.testbench</spirit:envIdentifier>
-        <spirit:modelName>tb</spirit:modelName>
-        <spirit:fileSetRef>
-          <spirit:localName>xilinx_testbench_view_fileset</spirit:localName>
-        </spirit:fileSetRef>
-        <spirit:parameters>
-          <spirit:parameter>
-            <spirit:name>viewChecksum</spirit:name>
-            <spirit:value>88e53ccc</spirit:value>
-          </spirit:parameter>
-        </spirit:parameters>
-      </spirit:view>
-      <spirit:view>
-        <spirit:name>xilinx_xpgui</spirit:name>
-        <spirit:displayName>UI Layout</spirit:displayName>
-        <spirit:envIdentifier>:vivado.xilinx.com:xgui.ui</spirit:envIdentifier>
-        <spirit:fileSetRef>
-          <spirit:localName>xilinx_xpgui_view_fileset</spirit:localName>
-        </spirit:fileSetRef>
-        <spirit:parameters>
-          <spirit:parameter>
-            <spirit:name>viewChecksum</spirit:name>
-            <spirit:value>b2335c60</spirit:value>
-          </spirit:parameter>
-        </spirit:parameters>
-      </spirit:view>
-    </spirit:views>
-    <spirit:ports>
-      <spirit:port>
-        <spirit:name>clk</spirit:name>
-        <spirit:wire>
-          <spirit:direction>in</spirit:direction>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>STD_LOGIC</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>rst</spirit:name>
-        <spirit:wire>
-          <spirit:direction>in</spirit:direction>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>STD_LOGIC</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>inputStream</spirit:name>
-        <spirit:wire>
-          <spirit:direction>in</spirit:direction>
-          <spirit:vector>
-            <spirit:left spirit:format="long" spirit:resolve="dependent" spirit:dependency="(spirit:decode(id(&apos;MODELPARAM_VALUE.busWidth&apos;)) - 1)">31</spirit:left>
-            <spirit:right spirit:format="long">0</spirit:right>
-          </spirit:vector>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>STD_LOGIC_VECTOR</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>inpRdEn</spirit:name>
-        <spirit:wire>
-          <spirit:direction>out</spirit:direction>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>std_logic</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>inputEmpty</spirit:name>
-        <spirit:wire>
-          <spirit:direction>in</spirit:direction>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>std_logic</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>outData</spirit:name>
-        <spirit:wire>
-          <spirit:direction>out</spirit:direction>
-          <spirit:vector>
-            <spirit:left spirit:format="long" spirit:resolve="dependent" spirit:dependency="(spirit:decode(id(&apos;MODELPARAM_VALUE.busWidth&apos;)) - 1)">31</spirit:left>
-            <spirit:right spirit:format="long">0</spirit:right>
-          </spirit:vector>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>STD_LOGIC_VECTOR</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>outWrEn</spirit:name>
-        <spirit:wire>
-          <spirit:direction>out</spirit:direction>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>std_logic</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>outputFull</spirit:name>
-        <spirit:wire>
-          <spirit:direction>in</spirit:direction>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>std_logic</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>errorCode</spirit:name>
-        <spirit:wire>
-          <spirit:direction>out</spirit:direction>
-          <spirit:vector>
-            <spirit:left spirit:format="long">3</spirit:left>
-            <spirit:right spirit:format="long">0</spirit:right>
-          </spirit:vector>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>STD_LOGIC_VECTOR</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-      <spirit:port>
-        <spirit:name>stateOut</spirit:name>
-        <spirit:wire>
-          <spirit:direction>out</spirit:direction>
-          <spirit:vector>
-            <spirit:left spirit:format="long">3</spirit:left>
-            <spirit:right spirit:format="long">0</spirit:right>
-          </spirit:vector>
-          <spirit:wireTypeDefs>
-            <spirit:wireTypeDef>
-              <spirit:typeName>STD_LOGIC_VECTOR</spirit:typeName>
-              <spirit:viewNameRef>xilinx_anylanguagesynthesis</spirit:viewNameRef>
-              <spirit:viewNameRef>xilinx_anylanguagebehavioralsimulation</spirit:viewNameRef>
-            </spirit:wireTypeDef>
-          </spirit:wireTypeDefs>
-        </spirit:wire>
-      </spirit:port>
-    </spirit:ports>
-    <spirit:modelParameters>
-      <spirit:modelParameter xsi:type="spirit:nameValueTypeType" spirit:dataType="integer">
-        <spirit:name>busWidth</spirit:name>
-        <spirit:displayName>Buswidth</spirit:displayName>
-        <spirit:value spirit:format="long" spirit:resolve="generated" spirit:id="MODELPARAM_VALUE.busWidth">32</spirit:value>
-      </spirit:modelParameter>
-    </spirit:modelParameters>
-  </spirit:model>
-  <spirit:fileSets>
-    <spirit:fileSet>
-      <spirit:name>xilinx_anylanguagesynthesis_view_fileset</spirit:name>
-      <spirit:file>
-        <spirit:name>src/Block_proc.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_Border_proc.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_Border_proc_borderbuf.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_HConvH_proc6.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_VConvH_proc.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_VConvH_proc_linebuf_0.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/globals.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/checksum.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/conv2d_5x5_224p.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/dummyModule.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/fifo_w32_d2_A.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/fifo_w32_d3_A.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/filter11x11_strm.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/filter11x11_strm_ent.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/kernel_5x5.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/multiplex.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/ram.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/shiftIn.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/start_for_Block_proc_U0.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/start_for_Loop_Border_proc_U0.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/start_for_Loop_VConvH_proc_U0.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/packaging.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>CHECKSUM_c867fa61</spirit:userFileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-    </spirit:fileSet>
-    <spirit:fileSet>
-      <spirit:name>xilinx_anylanguagebehavioralsimulation_view_fileset</spirit:name>
-      <spirit:file>
-        <spirit:name>src/Block_proc.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_Border_proc.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_Border_proc_borderbuf.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_HConvH_proc6.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_VConvH_proc.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/Loop_VConvH_proc_linebuf_0.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/globals.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/checksum.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/conv2d_5x5_224p.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/dummyModule.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/fifo_w32_d2_A.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/fifo_w32_d3_A.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/filter11x11_strm.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/filter11x11_strm_ent.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/kernel_5x5.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/multiplex.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/ram.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/shiftIn.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/start_for_Block_proc_U0.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/start_for_Loop_Border_proc_U0.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/start_for_Loop_VConvH_proc_U0.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/packaging.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-      </spirit:file>
-    </spirit:fileSet>
-    <spirit:fileSet>
-      <spirit:name>xilinx_testbench_view_fileset</spirit:name>
-      <spirit:file>
-        <spirit:name>src/tb.vhd</spirit:name>
-        <spirit:fileType>vhdlSource</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-        <spirit:userFileType>USED_IN_simulation</spirit:userFileType>
-        <spirit:userFileType>USED_IN_synthesis</spirit:userFileType>
-      </spirit:file>
-      <spirit:file>
-        <spirit:name>src/tb_behav.wcfg</spirit:name>
-        <spirit:fileType>unknown</spirit:fileType>
-        <spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
-        <spirit:userFileType>USED_IN_simulation</spirit:userFileType>
-      </spirit:file>
-    </spirit:fileSet>
-    <spirit:fileSet>
-      <spirit:name>xilinx_xpgui_view_fileset</spirit:name>
-      <spirit:file>
-        <spirit:name>xgui/packaging_v3_0.tcl</spirit:name>
-        <spirit:fileType>tclSource</spirit:fileType>
-        <spirit:userFileType>CHECKSUM_b2335c60</spirit:userFileType>
-        <spirit:userFileType>XGUI_VERSION_2</spirit:userFileType>
-      </spirit:file>
-    </spirit:fileSet>
-  </spirit:fileSets>
-  <spirit:description>new conv2d and stall signals</spirit:description>
-  <spirit:parameters>
-    <spirit:parameter>
-      <spirit:name>busWidth</spirit:name>
-      <spirit:displayName>Buswidth</spirit:displayName>
-      <spirit:value spirit:format="long" spirit:resolve="user" spirit:id="PARAM_VALUE.busWidth">32</spirit:value>
-    </spirit:parameter>
-    <spirit:parameter>
-      <spirit:name>Component_Name</spirit:name>
-      <spirit:value spirit:resolve="user" spirit:id="PARAM_VALUE.Component_Name" spirit:order="1">packaging_v1_0</spirit:value>
-    </spirit:parameter>
-  </spirit:parameters>
-  <spirit:vendorExtensions>
-    <xilinx:coreExtensions>
-      <xilinx:supportedFamilies>
-        <xilinx:family xilinx:lifeCycle="Production">kintex7</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">kintex7l</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">artix7</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">artix7l</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">aartix7</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">zynq</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">azynq</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">spartan7</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">aspartan7</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">kintexuplus</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">zynquplus</xilinx:family>
-        <xilinx:family xilinx:lifeCycle="Production">kintexu</xilinx:family>
-      </xilinx:supportedFamilies>
-      <xilinx:taxonomies>
-        <xilinx:taxonomy>/UserIP</xilinx:taxonomy>
-      </xilinx:taxonomies>
-      <xilinx:displayName>packaging_v3_0</xilinx:displayName>
-      <xilinx:definitionSource>package_project</xilinx:definitionSource>
-      <xilinx:coreRevision>1</xilinx:coreRevision>
-      <xilinx:upgrades>
-        <xilinx:canUpgradeFrom>user.org:user:packaging:1.0</xilinx:canUpgradeFrom>
-      </xilinx:upgrades>
-      <xilinx:coreCreationDateTime>2019-11-06T13:49:40Z</xilinx:coreCreationDateTime>
-      <xilinx:tags>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@68377156_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3fa25e38_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@32ab59c8_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@222ffcb7_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4cef5bd3_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@b33b43c_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@4de31678_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3a6b7ec3_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@192f5ada_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@db6d276_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@54727a33_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@3c83999c_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@6c8e4417_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@2b43ef59_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo</xilinx:tag>
-        <xilinx:tag xilinx:name="ui.data.coregen.dd@469f3a04_ARCHIVE_LOCATION">/home/johannes/Desktop/mlfpga/ip_repo</xilinx:tag>
-      </xilinx:tags>
-    </xilinx:coreExtensions>
-    <xilinx:packagingInfo>
-      <xilinx:xilinxVersion>2018.3</xilinx:xilinxVersion>
-      <xilinx:checksum xilinx:scope="busInterfaces" xilinx:value="6c272f9d"/>
-      <xilinx:checksum xilinx:scope="fileGroups" xilinx:value="75e15df1"/>
-      <xilinx:checksum xilinx:scope="ports" xilinx:value="427ec09f"/>
-      <xilinx:checksum xilinx:scope="hdlParameters" xilinx:value="4c9ef9f8"/>
-      <xilinx:checksum xilinx:scope="parameters" xilinx:value="017f4340"/>
-    </xilinx:packagingInfo>
-  </spirit:vendorExtensions>
-</spirit:component>

+ 0 - 321
src/ip_repo/packaging/src/Block_proc.vhd

@@ -1,321 +0,0 @@
--- ==============================================================
--- RTL generated by Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC
--- Version: 2018.3
--- Copyright (C) 1986-2018 Xilinx, Inc. All Rights Reserved.
--- 
--- ===========================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-
-entity Block_proc is
-port (
-    ap_clk : IN STD_LOGIC;
-    ap_rst : IN STD_LOGIC;
-    ap_start : IN STD_LOGIC;
-    start_full_n : IN STD_LOGIC;
-    ap_done : OUT STD_LOGIC;
-    ap_continue : IN STD_LOGIC;
-    ap_idle : OUT STD_LOGIC;
-    ap_ready : OUT STD_LOGIC;
-    start_out : OUT STD_LOGIC;
-    start_write : OUT STD_LOGIC;
-    width_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    width_empty_n : IN STD_LOGIC;
-    width_read : OUT STD_LOGIC;
-    height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    height_empty_n : IN STD_LOGIC;
-    height_read : OUT STD_LOGIC;
-    width_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    width_out_full_n : IN STD_LOGIC;
-    width_out_write : OUT STD_LOGIC;
-    height_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    height_out_full_n : IN STD_LOGIC;
-    height_out_write : OUT STD_LOGIC;
-    vconv_xlim_out_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    vconv_xlim_out_out_full_n : IN STD_LOGIC;
-    vconv_xlim_out_out_write : OUT STD_LOGIC );
-end;
-
-
-architecture behav of Block_proc is 
-    constant ap_const_logic_1 : STD_LOGIC := '1';
-    constant ap_const_logic_0 : STD_LOGIC := '0';
-    constant ap_ST_fsm_state1 : STD_LOGIC_VECTOR (1 downto 0) := "01";
-    constant ap_ST_fsm_state2 : STD_LOGIC_VECTOR (1 downto 0) := "10";
-    constant ap_const_lv32_0 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000000";
-    constant ap_const_lv32_1 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000001";
-    constant ap_const_lv32_FFFFFFF6 : STD_LOGIC_VECTOR (31 downto 0) := "11111111111111111111111111110110";
-    constant ap_const_boolean_1 : BOOLEAN := true;
-
-    signal real_start : STD_LOGIC;
-    signal start_once_reg : STD_LOGIC := '0';
-    signal ap_done_reg : STD_LOGIC := '0';
-    signal ap_CS_fsm : STD_LOGIC_VECTOR (1 downto 0) := "01";
-    attribute fsm_encoding : string;
-    attribute fsm_encoding of ap_CS_fsm : signal is "none";
-    signal ap_CS_fsm_state1 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state1 : signal is "none";
-    signal internal_ap_ready : STD_LOGIC;
-    signal width_blk_n : STD_LOGIC;
-    signal height_blk_n : STD_LOGIC;
-    signal width_out_blk_n : STD_LOGIC;
-    signal ap_CS_fsm_state2 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state2 : signal is "none";
-    signal height_out_blk_n : STD_LOGIC;
-    signal vconv_xlim_out_out_blk_n : STD_LOGIC;
-    signal width_read_reg_69 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_state1 : BOOLEAN;
-    signal height_read_reg_75 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_state2 : BOOLEAN;
-    signal ap_NS_fsm : STD_LOGIC_VECTOR (1 downto 0);
-
-
-begin
-
-
-
-
-    ap_CS_fsm_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_CS_fsm <= ap_ST_fsm_state1;
-            else
-                ap_CS_fsm <= ap_NS_fsm;
-            end if;
-        end if;
-    end process;
-
-
-    ap_done_reg_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_done_reg <= ap_const_logic_0;
-            else
-                if ((ap_continue = ap_const_logic_1)) then 
-                    ap_done_reg <= ap_const_logic_0;
-                elsif ((not(((vconv_xlim_out_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0))) and (ap_const_logic_1 = ap_CS_fsm_state2))) then 
-                    ap_done_reg <= ap_const_logic_1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    start_once_reg_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                start_once_reg <= ap_const_logic_0;
-            else
-                if (((internal_ap_ready = ap_const_logic_0) and (real_start = ap_const_logic_1))) then 
-                    start_once_reg <= ap_const_logic_1;
-                elsif ((internal_ap_ready = ap_const_logic_1)) then 
-                    start_once_reg <= ap_const_logic_0;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((not(((real_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
-                height_read_reg_75 <= height_dout;
-                width_read_reg_69 <= width_dout;
-            end if;
-        end if;
-    end process;
-
-    ap_NS_fsm_assign_proc : process (real_start, ap_done_reg, ap_CS_fsm, ap_CS_fsm_state1, width_empty_n, height_empty_n, width_out_full_n, height_out_full_n, vconv_xlim_out_out_full_n, ap_CS_fsm_state2)
-    begin
-        case ap_CS_fsm is
-            when ap_ST_fsm_state1 => 
-                if ((not(((real_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
-                    ap_NS_fsm <= ap_ST_fsm_state2;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_state1;
-                end if;
-            when ap_ST_fsm_state2 => 
-                if ((not(((vconv_xlim_out_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0))) and (ap_const_logic_1 = ap_CS_fsm_state2))) then
-                    ap_NS_fsm <= ap_ST_fsm_state1;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_state2;
-                end if;
-            when others =>  
-                ap_NS_fsm <= "XX";
-        end case;
-    end process;
-    ap_CS_fsm_state1 <= ap_CS_fsm(0);
-    ap_CS_fsm_state2 <= ap_CS_fsm(1);
-
-    ap_block_state1_assign_proc : process(real_start, ap_done_reg, width_empty_n, height_empty_n)
-    begin
-                ap_block_state1 <= ((real_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1));
-    end process;
-
-
-    ap_block_state2_assign_proc : process(width_out_full_n, height_out_full_n, vconv_xlim_out_out_full_n)
-    begin
-                ap_block_state2 <= ((vconv_xlim_out_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0));
-    end process;
-
-
-    ap_done_assign_proc : process(ap_done_reg, width_out_full_n, height_out_full_n, vconv_xlim_out_out_full_n, ap_CS_fsm_state2)
-    begin
-        if ((not(((vconv_xlim_out_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0))) and (ap_const_logic_1 = ap_CS_fsm_state2))) then 
-            ap_done <= ap_const_logic_1;
-        else 
-            ap_done <= ap_done_reg;
-        end if; 
-    end process;
-
-
-    ap_idle_assign_proc : process(real_start, ap_CS_fsm_state1)
-    begin
-        if (((real_start = ap_const_logic_0) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            ap_idle <= ap_const_logic_1;
-        else 
-            ap_idle <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    ap_ready <= internal_ap_ready;
-
-    height_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            height_blk_n <= height_empty_n;
-        else 
-            height_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    height_out_blk_n_assign_proc : process(height_out_full_n, ap_CS_fsm_state2)
-    begin
-        if ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-            height_out_blk_n <= height_out_full_n;
-        else 
-            height_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    height_out_din <= height_read_reg_75;
-
-    height_out_write_assign_proc : process(width_out_full_n, height_out_full_n, vconv_xlim_out_out_full_n, ap_CS_fsm_state2)
-    begin
-        if ((not(((vconv_xlim_out_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0))) and (ap_const_logic_1 = ap_CS_fsm_state2))) then 
-            height_out_write <= ap_const_logic_1;
-        else 
-            height_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    height_read_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_empty_n, height_empty_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            height_read <= ap_const_logic_1;
-        else 
-            height_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    internal_ap_ready_assign_proc : process(width_out_full_n, height_out_full_n, vconv_xlim_out_out_full_n, ap_CS_fsm_state2)
-    begin
-        if ((not(((vconv_xlim_out_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0))) and (ap_const_logic_1 = ap_CS_fsm_state2))) then 
-            internal_ap_ready <= ap_const_logic_1;
-        else 
-            internal_ap_ready <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    real_start_assign_proc : process(ap_start, start_full_n, start_once_reg)
-    begin
-        if (((start_full_n = ap_const_logic_0) and (start_once_reg = ap_const_logic_0))) then 
-            real_start <= ap_const_logic_0;
-        else 
-            real_start <= ap_start;
-        end if; 
-    end process;
-
-    start_out <= real_start;
-
-    start_write_assign_proc : process(real_start, start_once_reg)
-    begin
-        if (((start_once_reg = ap_const_logic_0) and (real_start = ap_const_logic_1))) then 
-            start_write <= ap_const_logic_1;
-        else 
-            start_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    vconv_xlim_out_out_blk_n_assign_proc : process(vconv_xlim_out_out_full_n, ap_CS_fsm_state2)
-    begin
-        if ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-            vconv_xlim_out_out_blk_n <= vconv_xlim_out_out_full_n;
-        else 
-            vconv_xlim_out_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    vconv_xlim_out_out_din <= std_logic_vector(unsigned(width_read_reg_69) + unsigned(ap_const_lv32_FFFFFFF6));
-
-    vconv_xlim_out_out_write_assign_proc : process(width_out_full_n, height_out_full_n, vconv_xlim_out_out_full_n, ap_CS_fsm_state2)
-    begin
-        if ((not(((vconv_xlim_out_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0))) and (ap_const_logic_1 = ap_CS_fsm_state2))) then 
-            vconv_xlim_out_out_write <= ap_const_logic_1;
-        else 
-            vconv_xlim_out_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    width_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_empty_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            width_blk_n <= width_empty_n;
-        else 
-            width_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    width_out_blk_n_assign_proc : process(width_out_full_n, ap_CS_fsm_state2)
-    begin
-        if ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-            width_out_blk_n <= width_out_full_n;
-        else 
-            width_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    width_out_din <= width_read_reg_69;
-
-    width_out_write_assign_proc : process(width_out_full_n, height_out_full_n, vconv_xlim_out_out_full_n, ap_CS_fsm_state2)
-    begin
-        if ((not(((vconv_xlim_out_out_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0))) and (ap_const_logic_1 = ap_CS_fsm_state2))) then 
-            width_out_write <= ap_const_logic_1;
-        else 
-            width_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    width_read_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_empty_n, height_empty_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            width_read <= ap_const_logic_1;
-        else 
-            width_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-end behav;

+ 0 - 896
src/ip_repo/packaging/src/Loop_Border_proc.vhd

@@ -1,896 +0,0 @@
--- ==============================================================
--- RTL generated by Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC
--- Version: 2018.3
--- Copyright (C) 1986-2018 Xilinx, Inc. All Rights Reserved.
--- 
--- ===========================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-
-entity Loop_Border_proc is
-port (
-    ap_clk : IN STD_LOGIC;
-    ap_rst : IN STD_LOGIC;
-    ap_start : IN STD_LOGIC;
-    ap_done : OUT STD_LOGIC;
-    ap_continue : IN STD_LOGIC;
-    ap_idle : OUT STD_LOGIC;
-    ap_ready : OUT STD_LOGIC;
-    width_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    width_empty_n : IN STD_LOGIC;
-    width_read : OUT STD_LOGIC;
-    height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    height_empty_n : IN STD_LOGIC;
-    height_read : OUT STD_LOGIC;
-    dst_V_TDATA : OUT STD_LOGIC_VECTOR (31 downto 0);
-    dst_V_TVALID : OUT STD_LOGIC;
-    dst_V_TREADY : IN STD_LOGIC;
-    vconv_xlim_loc_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    vconv_xlim_loc_empty_n : IN STD_LOGIC;
-    vconv_xlim_loc_read : OUT STD_LOGIC;
-    vconv_V_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    vconv_V_empty_n : IN STD_LOGIC;
-    vconv_V_read : OUT STD_LOGIC );
-end;
-
-
-architecture behav of Loop_Border_proc is 
-    constant ap_const_logic_1 : STD_LOGIC := '1';
-    constant ap_const_logic_0 : STD_LOGIC := '0';
-    constant ap_ST_fsm_state1 : STD_LOGIC_VECTOR (3 downto 0) := "0001";
-    constant ap_ST_fsm_state2 : STD_LOGIC_VECTOR (3 downto 0) := "0010";
-    constant ap_ST_fsm_pp0_stage0 : STD_LOGIC_VECTOR (3 downto 0) := "0100";
-    constant ap_ST_fsm_state8 : STD_LOGIC_VECTOR (3 downto 0) := "1000";
-    constant ap_const_lv32_0 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000000";
-    constant ap_const_boolean_1 : BOOLEAN := true;
-    constant ap_const_lv1_0 : STD_LOGIC_VECTOR (0 downto 0) := "0";
-    constant ap_const_lv1_1 : STD_LOGIC_VECTOR (0 downto 0) := "1";
-    constant ap_const_lv2_0 : STD_LOGIC_VECTOR (1 downto 0) := "00";
-    constant ap_const_lv2_2 : STD_LOGIC_VECTOR (1 downto 0) := "10";
-    constant ap_const_lv2_3 : STD_LOGIC_VECTOR (1 downto 0) := "11";
-    constant ap_const_lv2_1 : STD_LOGIC_VECTOR (1 downto 0) := "01";
-    constant ap_const_boolean_0 : BOOLEAN := false;
-    constant ap_const_lv32_2 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000010";
-    constant ap_const_lv32_1 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000001";
-    constant ap_const_lv64_0 : STD_LOGIC_VECTOR (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000000";
-    constant ap_const_lv10_0 : STD_LOGIC_VECTOR (9 downto 0) := "0000000000";
-    constant ap_const_lv32_FFFFFFF5 : STD_LOGIC_VECTOR (31 downto 0) := "11111111111111111111111111110101";
-    constant ap_const_lv32_FFFFFFFA : STD_LOGIC_VECTOR (31 downto 0) := "11111111111111111111111111111010";
-    constant ap_const_lv32_FFFFFFFB : STD_LOGIC_VECTOR (31 downto 0) := "11111111111111111111111111111011";
-    constant ap_const_lv10_5 : STD_LOGIC_VECTOR (9 downto 0) := "0000000101";
-    constant ap_const_lv64_1 : STD_LOGIC_VECTOR (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000001";
-    constant ap_const_lv10_1 : STD_LOGIC_VECTOR (9 downto 0) := "0000000001";
-    constant ap_const_lv10_6 : STD_LOGIC_VECTOR (9 downto 0) := "0000000110";
-    constant ap_const_lv10_3FB : STD_LOGIC_VECTOR (9 downto 0) := "1111111011";
-    constant ap_const_lv32_3 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000011";
-
-    signal ap_done_reg : STD_LOGIC := '0';
-    signal ap_CS_fsm : STD_LOGIC_VECTOR (3 downto 0) := "0001";
-    attribute fsm_encoding : string;
-    attribute fsm_encoding of ap_CS_fsm : signal is "none";
-    signal ap_CS_fsm_state1 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state1 : signal is "none";
-    signal dst_V_1_data_out : STD_LOGIC_VECTOR (31 downto 0);
-    signal dst_V_1_vld_in : STD_LOGIC;
-    signal dst_V_1_vld_out : STD_LOGIC;
-    signal dst_V_1_ack_in : STD_LOGIC;
-    signal dst_V_1_ack_out : STD_LOGIC;
-    signal dst_V_1_payload_A : STD_LOGIC_VECTOR (31 downto 0);
-    signal dst_V_1_payload_B : STD_LOGIC_VECTOR (31 downto 0);
-    signal dst_V_1_sel_rd : STD_LOGIC := '0';
-    signal dst_V_1_sel_wr : STD_LOGIC := '0';
-    signal dst_V_1_sel : STD_LOGIC;
-    signal dst_V_1_load_A : STD_LOGIC;
-    signal dst_V_1_load_B : STD_LOGIC;
-    signal dst_V_1_state : STD_LOGIC_VECTOR (1 downto 0) := "00";
-    signal dst_V_1_state_cmp_full : STD_LOGIC;
-    signal width_blk_n : STD_LOGIC;
-    signal height_blk_n : STD_LOGIC;
-    signal dst_V_TDATA_blk_n : STD_LOGIC;
-    signal ap_enable_reg_pp0_iter3 : STD_LOGIC := '0';
-    signal ap_block_pp0_stage0 : BOOLEAN;
-    signal exitcond_flatten_reg_499 : STD_LOGIC_VECTOR (0 downto 0);
-    signal exitcond_flatten_reg_499_pp0_iter2_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal ap_enable_reg_pp0_iter4 : STD_LOGIC := '0';
-    signal exitcond_flatten_reg_499_pp0_iter3_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal vconv_xlim_loc_blk_n : STD_LOGIC;
-    signal vconv_V_blk_n : STD_LOGIC;
-    signal ap_CS_fsm_pp0_stage0 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_pp0_stage0 : signal is "none";
-    signal ap_enable_reg_pp0_iter1 : STD_LOGIC := '0';
-    signal brmerge_mid2_reg_516 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_24_i_i_reg_525 : STD_LOGIC_VECTOR (0 downto 0);
-    signal indvar_flatten_reg_145 : STD_LOGIC_VECTOR (63 downto 0);
-    signal i6_0_i_i_i_reg_156 : STD_LOGIC_VECTOR (9 downto 0);
-    signal j_0_i_i_i_reg_167 : STD_LOGIC_VECTOR (9 downto 0);
-    signal width_read_reg_459 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_state1 : BOOLEAN;
-    signal height_read_reg_467 : STD_LOGIC_VECTOR (31 downto 0);
-    signal vconv_xlim_loc_read_reg_473 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_9_i_i_fu_178_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_9_i_i_reg_478 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_CS_fsm_state2 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state2 : signal is "none";
-    signal tmp_i_i_fu_183_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_i_i_reg_483 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_7_i_i_fu_188_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_7_i_i_reg_488 : STD_LOGIC_VECTOR (31 downto 0);
-    signal bound_fu_199_p2 : STD_LOGIC_VECTOR (63 downto 0);
-    signal bound_reg_494 : STD_LOGIC_VECTOR (63 downto 0);
-    signal exitcond_flatten_fu_247_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal ap_block_state3_pp0_stage0_iter0 : BOOLEAN;
-    signal ap_predicate_op59_read_state4 : BOOLEAN;
-    signal ap_block_state4_pp0_stage0_iter1 : BOOLEAN;
-    signal ap_block_state5_pp0_stage0_iter2 : BOOLEAN;
-    signal ap_block_state6_pp0_stage0_iter3 : BOOLEAN;
-    signal ap_block_state6_io : BOOLEAN;
-    signal ap_block_state7_pp0_stage0_iter4 : BOOLEAN;
-    signal ap_block_state7_io : BOOLEAN;
-    signal ap_block_pp0_stage0_11001 : BOOLEAN;
-    signal exitcond_flatten_reg_499_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal indvar_flatten_next_fu_252_p2 : STD_LOGIC_VECTOR (63 downto 0);
-    signal ap_enable_reg_pp0_iter0 : STD_LOGIC := '0';
-    signal j_0_i_i_i_mid2_fu_268_p3 : STD_LOGIC_VECTOR (9 downto 0);
-    signal j_0_i_i_i_mid2_reg_508 : STD_LOGIC_VECTOR (9 downto 0);
-    signal brmerge_mid2_fu_305_p3 : STD_LOGIC_VECTOR (0 downto 0);
-    signal brmerge_mid2_reg_516_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal i6_0_i_i_i_mid2_fu_317_p3 : STD_LOGIC_VECTOR (9 downto 0);
-    signal tmp_24_i_i_fu_325_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_28_i_i_fu_330_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_28_i_i_reg_529 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_28_i_i_reg_529_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_30_i_i_fu_335_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_30_i_i_reg_534 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_30_i_i_reg_534_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_30_i_i_reg_534_pp0_iter2_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal j_fu_340_p2 : STD_LOGIC_VECTOR (9 downto 0);
-    signal tmp_27_i_i_fu_355_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_27_i_i_reg_544 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_29_i_i_fu_360_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_29_i_i_reg_549 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_29_i_i_reg_549_pp0_iter2_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal borderbuf_q1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal pix_out_7_reg_560 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_enable_reg_pp0_iter2 : STD_LOGIC := '0';
-    signal pix_out_8_fu_431_p3 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_pp0_stage0_subdone : BOOLEAN;
-    signal ap_condition_pp0_exit_iter0_state3 : STD_LOGIC;
-    signal borderbuf_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal borderbuf_ce0 : STD_LOGIC;
-    signal borderbuf_we0 : STD_LOGIC;
-    signal borderbuf_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal borderbuf_ce1 : STD_LOGIC;
-    signal tmp_26_i_i_fu_346_p1 : STD_LOGIC_VECTOR (63 downto 0);
-    signal tmp_32_i_i_fu_370_p1 : STD_LOGIC_VECTOR (63 downto 0);
-    signal r_edge_pix_fu_74 : STD_LOGIC_VECTOR (31 downto 0);
-    signal pix_out_fu_78 : STD_LOGIC_VECTOR (31 downto 0);
-    signal l_edge_pix_fu_391_p3 : STD_LOGIC_VECTOR (31 downto 0);
-    signal pix_out_1_fu_82 : STD_LOGIC_VECTOR (31 downto 0);
-    signal pix_in_2_l_edge_pix_s_fu_384_p3 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_pp0_stage0_01001 : BOOLEAN;
-    signal bound_fu_199_p0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal bound_fu_199_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal i6_0_i_cast_i_i_mid1_fu_205_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal notrhs_fu_221_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal notlhs_fu_215_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_17_i_i_fu_209_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal brmerge_i_i_i_not_fu_226_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal j_0_i_cast_i_i_fu_238_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal i_fu_258_p2 : STD_LOGIC_VECTOR (9 downto 0);
-    signal tmp_22_i_i_fu_242_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal i6_0_i_cast_i_i_fu_264_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal notrhs_mid1_fu_288_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal notlhs_mid1_fu_282_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_17_i_i_mid1_fu_276_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal brmerge_i_i_i_not_mi_fu_293_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal brmerge_fu_232_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal brmerge_mid1_fu_299_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal j_0_i_cast_i_i_mid2_s_fu_313_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_31_i_i_fu_365_p2 : STD_LOGIC_VECTOR (9 downto 0);
-    signal sel_tmp_fu_414_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal sel_tmp1_fu_419_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal pix_out_3_fu_424_p3 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_CS_fsm_state8 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state8 : signal is "none";
-    signal ap_NS_fsm : STD_LOGIC_VECTOR (3 downto 0);
-    signal ap_idle_pp0 : STD_LOGIC;
-    signal ap_enable_pp0 : STD_LOGIC;
-    signal bound_fu_199_p00 : STD_LOGIC_VECTOR (63 downto 0);
-    signal bound_fu_199_p10 : STD_LOGIC_VECTOR (63 downto 0);
-
-    component Loop_Border_proc_borderbuf IS
-    generic (
-        DataWidth : INTEGER;
-        AddressRange : INTEGER;
-        AddressWidth : INTEGER );
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        address0 : IN STD_LOGIC_VECTOR (9 downto 0);
-        ce0 : IN STD_LOGIC;
-        we0 : IN STD_LOGIC;
-        d0 : IN STD_LOGIC_VECTOR (31 downto 0);
-        address1 : IN STD_LOGIC_VECTOR (9 downto 0);
-        ce1 : IN STD_LOGIC;
-        q1 : OUT STD_LOGIC_VECTOR (31 downto 0) );
-    end component;
-
-
-
-begin
-    borderbuf_U : component Loop_Border_proc_borderbuf
-    generic map (
-        DataWidth => 32,
-        AddressRange => 662,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => borderbuf_address0,
-        ce0 => borderbuf_ce0,
-        we0 => borderbuf_we0,
-        d0 => vconv_V_dout,
-        address1 => borderbuf_address1,
-        ce1 => borderbuf_ce1,
-        q1 => borderbuf_q1);
-
-
-
-
-
-    ap_CS_fsm_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_CS_fsm <= ap_ST_fsm_state1;
-            else
-                ap_CS_fsm <= ap_NS_fsm;
-            end if;
-        end if;
-    end process;
-
-
-    ap_done_reg_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_done_reg <= ap_const_logic_0;
-            else
-                if ((ap_continue = ap_const_logic_1)) then 
-                    ap_done_reg <= ap_const_logic_0;
-                elsif (((dst_V_1_ack_in = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_state8))) then 
-                    ap_done_reg <= ap_const_logic_1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter0_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter0 <= ap_const_logic_0;
-            else
-                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 
-                    ap_enable_reg_pp0_iter0 <= ap_const_logic_0;
-                elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                    ap_enable_reg_pp0_iter0 <= ap_const_logic_1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter1_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter1 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then
-                    if ((ap_const_logic_1 = ap_condition_pp0_exit_iter0_state3)) then 
-                        ap_enable_reg_pp0_iter1 <= (ap_const_logic_1 xor ap_condition_pp0_exit_iter0_state3);
-                    elsif ((ap_const_boolean_1 = ap_const_boolean_1)) then 
-                        ap_enable_reg_pp0_iter1 <= ap_enable_reg_pp0_iter0;
-                    end if;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter2_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter2 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter2 <= ap_enable_reg_pp0_iter1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter3_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter3 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter3 <= ap_enable_reg_pp0_iter2;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter4_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter4 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter4 <= ap_enable_reg_pp0_iter3;
-                elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                    ap_enable_reg_pp0_iter4 <= ap_const_logic_0;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    dst_V_1_sel_rd_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                dst_V_1_sel_rd <= ap_const_logic_0;
-            else
-                if (((dst_V_1_ack_out = ap_const_logic_1) and (dst_V_1_vld_out = ap_const_logic_1))) then 
-                                        dst_V_1_sel_rd <= not(dst_V_1_sel_rd);
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    dst_V_1_sel_wr_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                dst_V_1_sel_wr <= ap_const_logic_0;
-            else
-                if (((dst_V_1_ack_in = ap_const_logic_1) and (dst_V_1_vld_in = ap_const_logic_1))) then 
-                                        dst_V_1_sel_wr <= not(dst_V_1_sel_wr);
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    dst_V_1_state_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                dst_V_1_state <= ap_const_lv2_0;
-            else
-                if ((((dst_V_1_state = ap_const_lv2_2) and (dst_V_1_vld_in = ap_const_logic_0)) or ((dst_V_1_state = ap_const_lv2_3) and (dst_V_1_vld_in = ap_const_logic_0) and (dst_V_1_ack_out = ap_const_logic_1)))) then 
-                    dst_V_1_state <= ap_const_lv2_2;
-                elsif ((((dst_V_1_state = ap_const_lv2_1) and (dst_V_1_ack_out = ap_const_logic_0)) or ((dst_V_1_state = ap_const_lv2_3) and (dst_V_1_ack_out = ap_const_logic_0) and (dst_V_1_vld_in = ap_const_logic_1)))) then 
-                    dst_V_1_state <= ap_const_lv2_1;
-                elsif (((not(((dst_V_1_vld_in = ap_const_logic_0) and (dst_V_1_ack_out = ap_const_logic_1))) and not(((dst_V_1_ack_out = ap_const_logic_0) and (dst_V_1_vld_in = ap_const_logic_1))) and (dst_V_1_state = ap_const_lv2_3)) or ((dst_V_1_state = ap_const_lv2_1) and (dst_V_1_ack_out = ap_const_logic_1)) or ((dst_V_1_state = ap_const_lv2_2) and (dst_V_1_vld_in = ap_const_logic_1)))) then 
-                    dst_V_1_state <= ap_const_lv2_3;
-                else 
-                    dst_V_1_state <= ap_const_lv2_2;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    i6_0_i_i_i_reg_156_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_fu_247_p2 = ap_const_lv1_0) and (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 
-                i6_0_i_i_i_reg_156 <= i6_0_i_i_i_mid2_fu_317_p3;
-            elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                i6_0_i_i_i_reg_156 <= ap_const_lv10_0;
-            end if; 
-        end if;
-    end process;
-
-    indvar_flatten_reg_145_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_fu_247_p2 = ap_const_lv1_0) and (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 
-                indvar_flatten_reg_145 <= indvar_flatten_next_fu_252_p2;
-            elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                indvar_flatten_reg_145 <= ap_const_lv64_0;
-            end if; 
-        end if;
-    end process;
-
-    j_0_i_i_i_reg_167_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_fu_247_p2 = ap_const_lv1_0) and (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 
-                j_0_i_i_i_reg_167 <= j_fu_340_p2;
-            elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                j_0_i_i_i_reg_167 <= ap_const_lv10_0;
-            end if; 
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((ap_const_logic_1 = ap_CS_fsm_state2)) then
-                bound_reg_494 <= bound_fu_199_p2;
-                tmp_7_i_i_reg_488 <= tmp_7_i_i_fu_188_p2;
-                tmp_9_i_i_reg_478 <= tmp_9_i_i_fu_178_p2;
-                tmp_i_i_reg_483 <= tmp_i_i_fu_183_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_fu_247_p2 = ap_const_lv1_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
-                brmerge_mid2_reg_516 <= brmerge_mid2_fu_305_p3;
-                j_0_i_i_i_mid2_reg_508 <= j_0_i_i_i_mid2_fu_268_p3;
-                tmp_30_i_i_reg_534 <= tmp_30_i_i_fu_335_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
-                brmerge_mid2_reg_516_pp0_iter1_reg <= brmerge_mid2_reg_516;
-                exitcond_flatten_reg_499 <= exitcond_flatten_fu_247_p2;
-                exitcond_flatten_reg_499_pp0_iter1_reg <= exitcond_flatten_reg_499;
-                tmp_28_i_i_reg_529_pp0_iter1_reg <= tmp_28_i_i_reg_529;
-                tmp_30_i_i_reg_534_pp0_iter1_reg <= tmp_30_i_i_reg_534;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((dst_V_1_load_A = ap_const_logic_1)) then
-                dst_V_1_payload_A <= pix_out_8_fu_431_p3;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((dst_V_1_load_B = ap_const_logic_1)) then
-                dst_V_1_payload_B <= pix_out_8_fu_431_p3;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((ap_const_boolean_0 = ap_block_pp0_stage0_11001)) then
-                exitcond_flatten_reg_499_pp0_iter2_reg <= exitcond_flatten_reg_499_pp0_iter1_reg;
-                exitcond_flatten_reg_499_pp0_iter3_reg <= exitcond_flatten_reg_499_pp0_iter2_reg;
-                tmp_29_i_i_reg_549_pp0_iter2_reg <= tmp_29_i_i_reg_549;
-                tmp_30_i_i_reg_534_pp0_iter2_reg <= tmp_30_i_i_reg_534_pp0_iter1_reg;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((not(((ap_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
-                height_read_reg_467 <= height_dout;
-                vconv_xlim_loc_read_reg_473 <= vconv_xlim_loc_dout;
-                width_read_reg_459 <= width_dout;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((brmerge_mid2_reg_516_pp0_iter1_reg = ap_const_lv1_1) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter2 = ap_const_logic_1))) then
-                pix_out_1_fu_82 <= pix_in_2_l_edge_pix_s_fu_384_p3;
-                pix_out_fu_78 <= l_edge_pix_fu_391_p3;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_reg_499_pp0_iter1_reg = ap_const_lv1_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter2 = ap_const_logic_1))) then
-                pix_out_7_reg_560 <= borderbuf_q1;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((tmp_24_i_i_reg_525 = ap_const_lv1_1) and (brmerge_mid2_reg_516 = ap_const_lv1_1) and (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
-                r_edge_pix_fu_74 <= vconv_V_dout;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((brmerge_mid2_fu_305_p3 = ap_const_lv1_1) and (exitcond_flatten_fu_247_p2 = ap_const_lv1_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
-                tmp_24_i_i_reg_525 <= tmp_24_i_i_fu_325_p2;
-                tmp_28_i_i_reg_529 <= tmp_28_i_i_fu_330_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((brmerge_mid2_reg_516 = ap_const_lv1_1) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
-                tmp_27_i_i_reg_544 <= tmp_27_i_i_fu_355_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_reg_499 = ap_const_lv1_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
-                tmp_29_i_i_reg_549 <= tmp_29_i_i_fu_360_p2;
-            end if;
-        end if;
-    end process;
-
-    ap_NS_fsm_assign_proc : process (ap_start, ap_done_reg, ap_CS_fsm, ap_CS_fsm_state1, width_empty_n, height_empty_n, dst_V_1_ack_in, vconv_xlim_loc_empty_n, ap_enable_reg_pp0_iter3, ap_enable_reg_pp0_iter4, ap_enable_reg_pp0_iter1, exitcond_flatten_fu_247_p2, ap_enable_reg_pp0_iter0, ap_block_pp0_stage0_subdone, ap_CS_fsm_state8)
-    begin
-        case ap_CS_fsm is
-            when ap_ST_fsm_state1 => 
-                if ((not(((ap_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
-                    ap_NS_fsm <= ap_ST_fsm_state2;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_state1;
-                end if;
-            when ap_ST_fsm_state2 => 
-                ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-            when ap_ST_fsm_pp0_stage0 => 
-                if ((not(((exitcond_flatten_fu_247_p2 = ap_const_lv1_1) and (ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_0))) and not(((ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter4 = ap_const_logic_1) and (ap_enable_reg_pp0_iter3 = ap_const_logic_0))))) then
-                    ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-                elsif ((((exitcond_flatten_fu_247_p2 = ap_const_lv1_1) and (ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_0)) or ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter4 = ap_const_logic_1) and (ap_enable_reg_pp0_iter3 = ap_const_logic_0)))) then
-                    ap_NS_fsm <= ap_ST_fsm_state8;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-                end if;
-            when ap_ST_fsm_state8 => 
-                if (((dst_V_1_ack_in = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_state8))) then
-                    ap_NS_fsm <= ap_ST_fsm_state1;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_state8;
-                end if;
-            when others =>  
-                ap_NS_fsm <= "XXXX";
-        end case;
-    end process;
-    ap_CS_fsm_pp0_stage0 <= ap_CS_fsm(2);
-    ap_CS_fsm_state1 <= ap_CS_fsm(0);
-    ap_CS_fsm_state2 <= ap_CS_fsm(1);
-    ap_CS_fsm_state8 <= ap_CS_fsm(3);
-        ap_block_pp0_stage0 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_block_pp0_stage0_01001_assign_proc : process(vconv_V_empty_n, ap_enable_reg_pp0_iter1, ap_predicate_op59_read_state4)
-    begin
-                ap_block_pp0_stage0_01001 <= ((vconv_V_empty_n = ap_const_logic_0) and (ap_predicate_op59_read_state4 = ap_const_boolean_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1));
-    end process;
-
-
-    ap_block_pp0_stage0_11001_assign_proc : process(vconv_V_empty_n, ap_enable_reg_pp0_iter3, ap_enable_reg_pp0_iter4, ap_enable_reg_pp0_iter1, ap_predicate_op59_read_state4, ap_block_state6_io, ap_block_state7_io)
-    begin
-                ap_block_pp0_stage0_11001 <= (((vconv_V_empty_n = ap_const_logic_0) and (ap_predicate_op59_read_state4 = ap_const_boolean_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1)) or ((ap_const_boolean_1 = ap_block_state7_io) and (ap_enable_reg_pp0_iter4 = ap_const_logic_1)) or ((ap_const_boolean_1 = ap_block_state6_io) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1)));
-    end process;
-
-
-    ap_block_pp0_stage0_subdone_assign_proc : process(vconv_V_empty_n, ap_enable_reg_pp0_iter3, ap_enable_reg_pp0_iter4, ap_enable_reg_pp0_iter1, ap_predicate_op59_read_state4, ap_block_state6_io, ap_block_state7_io)
-    begin
-                ap_block_pp0_stage0_subdone <= (((vconv_V_empty_n = ap_const_logic_0) and (ap_predicate_op59_read_state4 = ap_const_boolean_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1)) or ((ap_const_boolean_1 = ap_block_state7_io) and (ap_enable_reg_pp0_iter4 = ap_const_logic_1)) or ((ap_const_boolean_1 = ap_block_state6_io) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1)));
-    end process;
-
-
-    ap_block_state1_assign_proc : process(ap_start, ap_done_reg, width_empty_n, height_empty_n, vconv_xlim_loc_empty_n)
-    begin
-                ap_block_state1 <= ((ap_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1));
-    end process;
-
-        ap_block_state3_pp0_stage0_iter0 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_block_state4_pp0_stage0_iter1_assign_proc : process(vconv_V_empty_n, ap_predicate_op59_read_state4)
-    begin
-                ap_block_state4_pp0_stage0_iter1 <= ((vconv_V_empty_n = ap_const_logic_0) and (ap_predicate_op59_read_state4 = ap_const_boolean_1));
-    end process;
-
-        ap_block_state5_pp0_stage0_iter2 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_block_state6_io_assign_proc : process(dst_V_1_ack_in, exitcond_flatten_reg_499_pp0_iter2_reg)
-    begin
-                ap_block_state6_io <= ((exitcond_flatten_reg_499_pp0_iter2_reg = ap_const_lv1_0) and (dst_V_1_ack_in = ap_const_logic_0));
-    end process;
-
-        ap_block_state6_pp0_stage0_iter3 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_block_state7_io_assign_proc : process(dst_V_1_ack_in, exitcond_flatten_reg_499_pp0_iter3_reg)
-    begin
-                ap_block_state7_io <= ((exitcond_flatten_reg_499_pp0_iter3_reg = ap_const_lv1_0) and (dst_V_1_ack_in = ap_const_logic_0));
-    end process;
-
-        ap_block_state7_pp0_stage0_iter4 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_condition_pp0_exit_iter0_state3_assign_proc : process(exitcond_flatten_fu_247_p2)
-    begin
-        if ((exitcond_flatten_fu_247_p2 = ap_const_lv1_1)) then 
-            ap_condition_pp0_exit_iter0_state3 <= ap_const_logic_1;
-        else 
-            ap_condition_pp0_exit_iter0_state3 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    ap_done_assign_proc : process(ap_done_reg, dst_V_1_ack_in, ap_CS_fsm_state8)
-    begin
-        if (((dst_V_1_ack_in = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_state8))) then 
-            ap_done <= ap_const_logic_1;
-        else 
-            ap_done <= ap_done_reg;
-        end if; 
-    end process;
-
-    ap_enable_pp0 <= (ap_idle_pp0 xor ap_const_logic_1);
-
-    ap_idle_assign_proc : process(ap_start, ap_CS_fsm_state1)
-    begin
-        if (((ap_start = ap_const_logic_0) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            ap_idle <= ap_const_logic_1;
-        else 
-            ap_idle <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    ap_idle_pp0_assign_proc : process(ap_enable_reg_pp0_iter3, ap_enable_reg_pp0_iter4, ap_enable_reg_pp0_iter1, ap_enable_reg_pp0_iter0, ap_enable_reg_pp0_iter2)
-    begin
-        if (((ap_enable_reg_pp0_iter2 = ap_const_logic_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_0) and (ap_enable_reg_pp0_iter1 = ap_const_logic_0) and (ap_enable_reg_pp0_iter4 = ap_const_logic_0) and (ap_enable_reg_pp0_iter3 = ap_const_logic_0))) then 
-            ap_idle_pp0 <= ap_const_logic_1;
-        else 
-            ap_idle_pp0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    ap_predicate_op59_read_state4_assign_proc : process(brmerge_mid2_reg_516, tmp_24_i_i_reg_525)
-    begin
-                ap_predicate_op59_read_state4 <= ((tmp_24_i_i_reg_525 = ap_const_lv1_1) and (brmerge_mid2_reg_516 = ap_const_lv1_1));
-    end process;
-
-
-    ap_ready_assign_proc : process(dst_V_1_ack_in, ap_CS_fsm_state8)
-    begin
-        if (((dst_V_1_ack_in = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_state8))) then 
-            ap_ready <= ap_const_logic_1;
-        else 
-            ap_ready <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    borderbuf_address0 <= tmp_26_i_i_fu_346_p1(10 - 1 downto 0);
-    borderbuf_address1 <= tmp_32_i_i_fu_370_p1(10 - 1 downto 0);
-
-    borderbuf_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            borderbuf_ce0 <= ap_const_logic_1;
-        else 
-            borderbuf_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    borderbuf_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            borderbuf_ce1 <= ap_const_logic_1;
-        else 
-            borderbuf_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    borderbuf_we0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, brmerge_mid2_reg_516, tmp_24_i_i_reg_525, ap_block_pp0_stage0_11001)
-    begin
-        if (((tmp_24_i_i_reg_525 = ap_const_lv1_1) and (brmerge_mid2_reg_516 = ap_const_lv1_1) and (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 
-            borderbuf_we0 <= ap_const_logic_1;
-        else 
-            borderbuf_we0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    bound_fu_199_p0 <= bound_fu_199_p00(32 - 1 downto 0);
-    bound_fu_199_p00 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(width_read_reg_459),64));
-    bound_fu_199_p1 <= bound_fu_199_p10(32 - 1 downto 0);
-    bound_fu_199_p10 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(height_read_reg_467),64));
-    bound_fu_199_p2 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(bound_fu_199_p0) * unsigned(bound_fu_199_p1), 64));
-    brmerge_fu_232_p2 <= (tmp_17_i_i_fu_209_p2 or brmerge_i_i_i_not_fu_226_p2);
-    brmerge_i_i_i_not_fu_226_p2 <= (notrhs_fu_221_p2 and notlhs_fu_215_p2);
-    brmerge_i_i_i_not_mi_fu_293_p2 <= (notrhs_mid1_fu_288_p2 and notlhs_mid1_fu_282_p2);
-    brmerge_mid1_fu_299_p2 <= (tmp_17_i_i_mid1_fu_276_p2 or brmerge_i_i_i_not_mi_fu_293_p2);
-    brmerge_mid2_fu_305_p3 <= 
-        brmerge_fu_232_p2 when (tmp_22_i_i_fu_242_p2(0) = '1') else 
-        brmerge_mid1_fu_299_p2;
-    dst_V_1_ack_in <= dst_V_1_state(1);
-    dst_V_1_ack_out <= dst_V_TREADY;
-
-    dst_V_1_data_out_assign_proc : process(dst_V_1_payload_A, dst_V_1_payload_B, dst_V_1_sel)
-    begin
-        if ((dst_V_1_sel = ap_const_logic_1)) then 
-            dst_V_1_data_out <= dst_V_1_payload_B;
-        else 
-            dst_V_1_data_out <= dst_V_1_payload_A;
-        end if; 
-    end process;
-
-    dst_V_1_load_A <= (not(dst_V_1_sel_wr) and dst_V_1_state_cmp_full);
-    dst_V_1_load_B <= (dst_V_1_state_cmp_full and dst_V_1_sel_wr);
-    dst_V_1_sel <= dst_V_1_sel_rd;
-    dst_V_1_state_cmp_full <= '0' when (dst_V_1_state = ap_const_lv2_1) else '1';
-
-    dst_V_1_vld_in_assign_proc : process(ap_enable_reg_pp0_iter3, exitcond_flatten_reg_499_pp0_iter2_reg, ap_block_pp0_stage0_11001)
-    begin
-        if (((exitcond_flatten_reg_499_pp0_iter2_reg = ap_const_lv1_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1))) then 
-            dst_V_1_vld_in <= ap_const_logic_1;
-        else 
-            dst_V_1_vld_in <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    dst_V_1_vld_out <= dst_V_1_state(0);
-    dst_V_TDATA <= dst_V_1_data_out;
-
-    dst_V_TDATA_blk_n_assign_proc : process(dst_V_1_state, ap_enable_reg_pp0_iter3, ap_block_pp0_stage0, exitcond_flatten_reg_499_pp0_iter2_reg, ap_enable_reg_pp0_iter4, exitcond_flatten_reg_499_pp0_iter3_reg)
-    begin
-        if ((((exitcond_flatten_reg_499_pp0_iter3_reg = ap_const_lv1_0) and (ap_enable_reg_pp0_iter4 = ap_const_logic_1) and (ap_const_boolean_0 = ap_block_pp0_stage0)) or ((exitcond_flatten_reg_499_pp0_iter2_reg = ap_const_lv1_0) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1) and (ap_const_boolean_0 = ap_block_pp0_stage0)))) then 
-            dst_V_TDATA_blk_n <= dst_V_1_state(1);
-        else 
-            dst_V_TDATA_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    dst_V_TVALID <= dst_V_1_state(0);
-    exitcond_flatten_fu_247_p2 <= "1" when (indvar_flatten_reg_145 = bound_reg_494) else "0";
-
-    height_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n)
-    begin
-        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 
-            height_blk_n <= height_empty_n;
-        else 
-            height_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    height_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, width_empty_n, height_empty_n, vconv_xlim_loc_empty_n)
-    begin
-        if ((not(((ap_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            height_read <= ap_const_logic_1;
-        else 
-            height_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    i6_0_i_cast_i_i_fu_264_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(i_fu_258_p2),32));
-    i6_0_i_cast_i_i_mid1_fu_205_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(i6_0_i_i_i_reg_156),32));
-    i6_0_i_i_i_mid2_fu_317_p3 <= 
-        i6_0_i_i_i_reg_156 when (tmp_22_i_i_fu_242_p2(0) = '1') else 
-        i_fu_258_p2;
-    i_fu_258_p2 <= std_logic_vector(unsigned(i6_0_i_i_i_reg_156) + unsigned(ap_const_lv10_1));
-    indvar_flatten_next_fu_252_p2 <= std_logic_vector(unsigned(indvar_flatten_reg_145) + unsigned(ap_const_lv64_1));
-    j_0_i_cast_i_i_fu_238_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(j_0_i_i_i_reg_167),32));
-    j_0_i_cast_i_i_mid2_s_fu_313_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(j_0_i_i_i_mid2_fu_268_p3),32));
-    j_0_i_i_i_mid2_fu_268_p3 <= 
-        j_0_i_i_i_reg_167 when (tmp_22_i_i_fu_242_p2(0) = '1') else 
-        ap_const_lv10_0;
-    j_fu_340_p2 <= std_logic_vector(unsigned(j_0_i_i_i_mid2_fu_268_p3) + unsigned(ap_const_lv10_1));
-    l_edge_pix_fu_391_p3 <= 
-        r_edge_pix_fu_74 when (tmp_28_i_i_reg_529_pp0_iter1_reg(0) = '1') else 
-        pix_out_fu_78;
-    notlhs_fu_215_p2 <= "1" when (unsigned(i6_0_i_i_i_reg_156) > unsigned(ap_const_lv10_5)) else "0";
-    notlhs_mid1_fu_282_p2 <= "1" when (unsigned(i_fu_258_p2) > unsigned(ap_const_lv10_5)) else "0";
-    notrhs_fu_221_p2 <= "1" when (signed(i6_0_i_cast_i_i_mid1_fu_205_p1) < signed(tmp_7_i_i_reg_488)) else "0";
-    notrhs_mid1_fu_288_p2 <= "1" when (signed(i6_0_i_cast_i_i_fu_264_p1) < signed(tmp_7_i_i_reg_488)) else "0";
-    pix_in_2_l_edge_pix_s_fu_384_p3 <= 
-        r_edge_pix_fu_74 when (tmp_27_i_i_reg_544(0) = '1') else 
-        pix_out_1_fu_82;
-    pix_out_3_fu_424_p3 <= 
-        pix_out_7_reg_560 when (sel_tmp1_fu_419_p2(0) = '1') else 
-        pix_out_fu_78;
-    pix_out_8_fu_431_p3 <= 
-        pix_out_1_fu_82 when (tmp_29_i_i_reg_549_pp0_iter2_reg(0) = '1') else 
-        pix_out_3_fu_424_p3;
-    sel_tmp1_fu_419_p2 <= (tmp_30_i_i_reg_534_pp0_iter2_reg and sel_tmp_fu_414_p2);
-    sel_tmp_fu_414_p2 <= (tmp_29_i_i_reg_549_pp0_iter2_reg xor ap_const_lv1_1);
-    tmp_17_i_i_fu_209_p2 <= "1" when (i6_0_i_i_i_reg_156 = ap_const_lv10_0) else "0";
-    tmp_17_i_i_mid1_fu_276_p2 <= "1" when (i_fu_258_p2 = ap_const_lv10_0) else "0";
-    tmp_22_i_i_fu_242_p2 <= "1" when (signed(j_0_i_cast_i_i_fu_238_p1) < signed(width_read_reg_459)) else "0";
-    tmp_24_i_i_fu_325_p2 <= "1" when (signed(j_0_i_cast_i_i_mid2_s_fu_313_p1) < signed(vconv_xlim_loc_read_reg_473)) else "0";
-    tmp_26_i_i_fu_346_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(j_0_i_i_i_mid2_reg_508),64));
-    tmp_27_i_i_fu_355_p2 <= "1" when (j_0_i_i_i_mid2_reg_508 = ap_const_lv10_0) else "0";
-    tmp_28_i_i_fu_330_p2 <= "1" when (j_0_i_cast_i_i_mid2_s_fu_313_p1 = tmp_9_i_i_reg_478) else "0";
-    tmp_29_i_i_fu_360_p2 <= "1" when (unsigned(j_0_i_i_i_mid2_reg_508) < unsigned(ap_const_lv10_6)) else "0";
-    tmp_30_i_i_fu_335_p2 <= "1" when (signed(j_0_i_cast_i_i_mid2_s_fu_313_p1) < signed(tmp_i_i_reg_483)) else "0";
-    tmp_31_i_i_fu_365_p2 <= std_logic_vector(unsigned(j_0_i_i_i_mid2_reg_508) + unsigned(ap_const_lv10_3FB));
-    tmp_32_i_i_fu_370_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(tmp_31_i_i_fu_365_p2),64));
-    tmp_7_i_i_fu_188_p2 <= std_logic_vector(unsigned(height_read_reg_467) + unsigned(ap_const_lv32_FFFFFFFB));
-    tmp_9_i_i_fu_178_p2 <= std_logic_vector(unsigned(width_read_reg_459) + unsigned(ap_const_lv32_FFFFFFF5));
-    tmp_i_i_fu_183_p2 <= std_logic_vector(unsigned(width_read_reg_459) + unsigned(ap_const_lv32_FFFFFFFA));
-
-    vconv_V_blk_n_assign_proc : process(vconv_V_empty_n, ap_block_pp0_stage0, ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, brmerge_mid2_reg_516, tmp_24_i_i_reg_525)
-    begin
-        if (((tmp_24_i_i_reg_525 = ap_const_lv1_1) and (brmerge_mid2_reg_516 = ap_const_lv1_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0))) then 
-            vconv_V_blk_n <= vconv_V_empty_n;
-        else 
-            vconv_V_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    vconv_V_read_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_predicate_op59_read_state4, ap_block_pp0_stage0_11001)
-    begin
-        if (((ap_predicate_op59_read_state4 = ap_const_boolean_1) and (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 
-            vconv_V_read <= ap_const_logic_1;
-        else 
-            vconv_V_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    vconv_xlim_loc_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, vconv_xlim_loc_empty_n)
-    begin
-        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 
-            vconv_xlim_loc_blk_n <= vconv_xlim_loc_empty_n;
-        else 
-            vconv_xlim_loc_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    vconv_xlim_loc_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, width_empty_n, height_empty_n, vconv_xlim_loc_empty_n)
-    begin
-        if ((not(((ap_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            vconv_xlim_loc_read <= ap_const_logic_1;
-        else 
-            vconv_xlim_loc_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    width_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, width_empty_n)
-    begin
-        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 
-            width_blk_n <= width_empty_n;
-        else 
-            width_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    width_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, width_empty_n, height_empty_n, vconv_xlim_loc_empty_n)
-    begin
-        if ((not(((ap_start = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (vconv_xlim_loc_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            width_read <= ap_const_logic_1;
-        else 
-            width_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-end behav;

+ 0 - 132
src/ip_repo/packaging/src/Loop_Border_proc_borderbuf.vhd

@@ -1,132 +0,0 @@
--- ==============================================================
--- File generated on Wed Jun 26 16:53:30 CEST 2019
--- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
--- SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
--- IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
--- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
--- ==============================================================
---
-library ieee; 
-use ieee.std_logic_1164.all; 
-use ieee.std_logic_unsigned.all;
-
-entity Loop_Border_proc_borderbuf_ram is 
-    generic(
-            MEM_TYPE    : string := "block"; 
-            DWIDTH     : integer := 32; 
-            AWIDTH     : integer := 10; 
-            MEM_SIZE    : integer := 662
-    ); 
-    port (
-          addr0     : in std_logic_vector(AWIDTH-1 downto 0); 
-          ce0       : in std_logic; 
-          d0        : in std_logic_vector(DWIDTH-1 downto 0); 
-          we0       : in std_logic; 
-          addr1     : in std_logic_vector(AWIDTH-1 downto 0); 
-          ce1       : in std_logic; 
-          q1        : out std_logic_vector(DWIDTH-1 downto 0);
-          clk        : in std_logic 
-    ); 
-end entity; 
-
-
-architecture rtl of Loop_Border_proc_borderbuf_ram is 
-
-signal addr1_tmp : std_logic_vector(AWIDTH-1 downto 0); 
-type mem_array is array (0 to MEM_SIZE-1) of std_logic_vector (DWIDTH-1 downto 0); 
-shared variable ram : mem_array;
-
-attribute syn_ramstyle : string; 
-attribute syn_ramstyle of ram : variable is "block_ram";
-attribute ram_style : string;
-attribute ram_style of ram : variable is MEM_TYPE;
-
-begin 
-
-
-
-p_memory_access_0: process (clk)  
-begin 
-    if (clk'event and clk = '1') then
-        if (ce0 = '1') then 
-            if (we0 = '1') then 
-                ram(CONV_INTEGER(addr0)) := d0; 
-            end if;
-        end if;
-    end if;
-end process;
-
-memory_access_guard_1: process (addr1) 
-begin
-      addr1_tmp <= addr1;
---synthesis translate_off
-      if (CONV_INTEGER(addr1) > mem_size-1) then
-           addr1_tmp <= (others => '0');
-      else 
-           addr1_tmp <= addr1;
-      end if;
---synthesis translate_on
-end process;
-
-p_memory_access_1: process (clk)  
-begin 
-    if (clk'event and clk = '1') then
-        if (ce1 = '1') then 
-            q1 <= ram(CONV_INTEGER(addr1_tmp)); 
-        end if;
-    end if;
-end process;
-
-
-end rtl;
-
-Library IEEE;
-use IEEE.std_logic_1164.all;
-
-entity Loop_Border_proc_borderbuf is
-    generic (
-        DataWidth : INTEGER := 32;
-        AddressRange : INTEGER := 662;
-        AddressWidth : INTEGER := 10);
-    port (
-        reset : IN STD_LOGIC;
-        clk : IN STD_LOGIC;
-        address0 : IN STD_LOGIC_VECTOR(AddressWidth - 1 DOWNTO 0);
-        ce0 : IN STD_LOGIC;
-        we0 : IN STD_LOGIC;
-        d0 : IN STD_LOGIC_VECTOR(DataWidth - 1 DOWNTO 0);
-        address1 : IN STD_LOGIC_VECTOR(AddressWidth - 1 DOWNTO 0);
-        ce1 : IN STD_LOGIC;
-        q1 : OUT STD_LOGIC_VECTOR(DataWidth - 1 DOWNTO 0));
-end entity;
-
-architecture arch of Loop_Border_proc_borderbuf is
-    component Loop_Border_proc_borderbuf_ram is
-        port (
-            clk : IN STD_LOGIC;
-            addr0 : IN STD_LOGIC_VECTOR;
-            ce0 : IN STD_LOGIC;
-            we0 : IN STD_LOGIC;
-            d0 : IN STD_LOGIC_VECTOR;
-            addr1 : IN STD_LOGIC_VECTOR;
-            ce1 : IN STD_LOGIC;
-            q1 : OUT STD_LOGIC_VECTOR);
-    end component;
-
-
-
-begin
-    Loop_Border_proc_borderbuf_ram_U :  component Loop_Border_proc_borderbuf_ram
-    port map (
-        clk => clk,
-        addr0 => address0,
-        ce0 => ce0,
-        we0 => we0,
-        d0 => d0,
-        addr1 => address1,
-        ce1 => ce1,
-        q1 => q1);
-
-end architecture;
-
-

+ 0 - 746
src/ip_repo/packaging/src/Loop_HConvH_proc6.vhd

@@ -1,746 +0,0 @@
--- ==============================================================
--- RTL generated by Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC
--- Version: 2018.3
--- Copyright (C) 1986-2018 Xilinx, Inc. All Rights Reserved.
--- 
--- ===========================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-
-entity Loop_HConvH_proc6 is
-port (
-    ap_clk : IN STD_LOGIC;
-    ap_rst : IN STD_LOGIC;
-    ap_start : IN STD_LOGIC;
-    ap_done : OUT STD_LOGIC;
-    ap_continue : IN STD_LOGIC;
-    ap_idle : OUT STD_LOGIC;
-    ap_ready : OUT STD_LOGIC;
-    height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    height_empty_n : IN STD_LOGIC;
-    height_read : OUT STD_LOGIC;
-    width_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    width_empty_n : IN STD_LOGIC;
-    width_read : OUT STD_LOGIC;
-    src_V_TDATA : IN STD_LOGIC_VECTOR (31 downto 0);
-    src_V_TVALID : IN STD_LOGIC;
-    src_V_TREADY : OUT STD_LOGIC;
-    filt1_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt1_empty_n : IN STD_LOGIC;
-    filt1_read : OUT STD_LOGIC;
-    filt2_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt2_empty_n : IN STD_LOGIC;
-    filt2_read : OUT STD_LOGIC;
-    hconv_V_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    hconv_V_full_n : IN STD_LOGIC;
-    hconv_V_write : OUT STD_LOGIC );
-end;
-
-
-architecture behav of Loop_HConvH_proc6 is 
-    constant ap_const_logic_1 : STD_LOGIC := '1';
-    constant ap_const_logic_0 : STD_LOGIC := '0';
-    constant ap_ST_fsm_state1 : STD_LOGIC_VECTOR (3 downto 0) := "0001";
-    constant ap_ST_fsm_state2 : STD_LOGIC_VECTOR (3 downto 0) := "0010";
-    constant ap_ST_fsm_pp0_stage0 : STD_LOGIC_VECTOR (3 downto 0) := "0100";
-    constant ap_ST_fsm_state7 : STD_LOGIC_VECTOR (3 downto 0) := "1000";
-    constant ap_const_lv32_0 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000000";
-    constant ap_const_boolean_1 : BOOLEAN := true;
-    constant ap_const_lv1_0 : STD_LOGIC_VECTOR (0 downto 0) := "0";
-    constant ap_const_lv1_1 : STD_LOGIC_VECTOR (0 downto 0) := "1";
-    constant ap_const_lv2_0 : STD_LOGIC_VECTOR (1 downto 0) := "00";
-    constant ap_const_lv2_2 : STD_LOGIC_VECTOR (1 downto 0) := "10";
-    constant ap_const_lv2_3 : STD_LOGIC_VECTOR (1 downto 0) := "11";
-    constant ap_const_lv2_1 : STD_LOGIC_VECTOR (1 downto 0) := "01";
-    constant ap_const_lv32_2 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000010";
-    constant ap_const_boolean_0 : BOOLEAN := false;
-    constant ap_const_lv32_1 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000001";
-    constant ap_const_lv64_0 : STD_LOGIC_VECTOR (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000000";
-    constant ap_const_lv10_0 : STD_LOGIC_VECTOR (9 downto 0) := "0000000000";
-    constant ap_const_lv64_1 : STD_LOGIC_VECTOR (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000001";
-    constant ap_const_lv10_9 : STD_LOGIC_VECTOR (9 downto 0) := "0000001001";
-    constant ap_const_lv10_1 : STD_LOGIC_VECTOR (9 downto 0) := "0000000001";
-    constant ap_const_lv32_3 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000011";
-
-    signal ap_done_reg : STD_LOGIC := '0';
-    signal ap_CS_fsm : STD_LOGIC_VECTOR (3 downto 0) := "0001";
-    attribute fsm_encoding : string;
-    attribute fsm_encoding of ap_CS_fsm : signal is "none";
-    signal ap_CS_fsm_state1 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state1 : signal is "none";
-    signal src_V_0_data_out : STD_LOGIC_VECTOR (31 downto 0);
-    signal src_V_0_vld_in : STD_LOGIC;
-    signal src_V_0_vld_out : STD_LOGIC;
-    signal src_V_0_ack_in : STD_LOGIC;
-    signal src_V_0_ack_out : STD_LOGIC;
-    signal src_V_0_payload_A : STD_LOGIC_VECTOR (31 downto 0);
-    signal src_V_0_payload_B : STD_LOGIC_VECTOR (31 downto 0);
-    signal src_V_0_sel_rd : STD_LOGIC := '0';
-    signal src_V_0_sel_wr : STD_LOGIC := '0';
-    signal src_V_0_sel : STD_LOGIC;
-    signal src_V_0_load_A : STD_LOGIC;
-    signal src_V_0_load_B : STD_LOGIC;
-    signal src_V_0_state : STD_LOGIC_VECTOR (1 downto 0) := "00";
-    signal src_V_0_state_cmp_full : STD_LOGIC;
-    signal height_blk_n : STD_LOGIC;
-    signal width_blk_n : STD_LOGIC;
-    signal src_V_TDATA_blk_n : STD_LOGIC;
-    signal ap_CS_fsm_pp0_stage0 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_pp0_stage0 : signal is "none";
-    signal ap_enable_reg_pp0_iter0 : STD_LOGIC := '0';
-    signal ap_block_pp0_stage0 : BOOLEAN;
-    signal exitcond_flatten_fu_214_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal filt1_blk_n : STD_LOGIC;
-    signal filt2_blk_n : STD_LOGIC;
-    signal hconv_V_blk_n : STD_LOGIC;
-    signal ap_enable_reg_pp0_iter3 : STD_LOGIC := '0';
-    signal tmp_10_i_reg_491 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_10_i_reg_491_pp0_iter2_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal indvar_flatten_reg_141 : STD_LOGIC_VECTOR (63 downto 0);
-    signal row_0_i_i_reg_152 : STD_LOGIC_VECTOR (9 downto 0);
-    signal height_read_reg_421 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_state1 : BOOLEAN;
-    signal width_read_reg_426 : STD_LOGIC_VECTOR (31 downto 0);
-    signal filt1_read_reg_432 : STD_LOGIC_VECTOR (31 downto 0);
-    signal filt2_read_reg_437 : STD_LOGIC_VECTOR (31 downto 0);
-    signal bound_fu_169_p2 : STD_LOGIC_VECTOR (63 downto 0);
-    signal bound_reg_442 : STD_LOGIC_VECTOR (63 downto 0);
-    signal ap_CS_fsm_state2 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state2 : signal is "none";
-    signal hwin_5_load_reg_447 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_state3_pp0_stage0_iter0 : BOOLEAN;
-    signal ap_block_state4_pp0_stage0_iter1 : BOOLEAN;
-    signal ap_block_state5_pp0_stage0_iter2 : BOOLEAN;
-    signal ap_block_state6_pp0_stage0_iter3 : BOOLEAN;
-    signal ap_block_pp0_stage0_11001 : BOOLEAN;
-    signal hwin_5_load_reg_447_pp0_iter1_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_8_load_reg_452 : STD_LOGIC_VECTOR (31 downto 0);
-    signal exitcond_flatten_reg_457 : STD_LOGIC_VECTOR (0 downto 0);
-    signal exitcond_flatten_reg_457_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal indvar_flatten_next_fu_219_p2 : STD_LOGIC_VECTOR (63 downto 0);
-    signal tmp_23_9_i_fu_281_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_23_9_i_reg_466 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_23_i_fu_286_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_23_i_reg_471 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_fu_291_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_reg_476 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_reg_476_pp0_iter1_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_reg_476_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_fu_303_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_reg_481 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_reg_481_pp0_iter1_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_reg_481_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp7_fu_309_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp7_reg_486 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp7_reg_486_pp0_iter1_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_10_i_fu_315_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_10_i_reg_491_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal row_fu_326_p2 : STD_LOGIC_VECTOR (9 downto 0);
-    signal tmp8_fu_336_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp8_reg_500 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp5_fu_345_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp5_reg_505 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_pp0_stage0_subdone : BOOLEAN;
-    signal ap_condition_pp0_exit_iter0_state3 : STD_LOGIC;
-    signal ap_enable_reg_pp0_iter1 : STD_LOGIC := '0';
-    signal ap_enable_reg_pp0_iter2 : STD_LOGIC := '0';
-    signal ap_block_pp0_stage0_01001 : BOOLEAN;
-    signal hwin_1_1_i_fu_64 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_1_fu_68 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_2_fu_72 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_3_fu_76 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_4_fu_80 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_5_fu_84 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_6_fu_88 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_7_fu_92 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_8_fu_96 : STD_LOGIC_VECTOR (31 downto 0);
-    signal hwin_9_fu_100 : STD_LOGIC_VECTOR (31 downto 0);
-    signal bound_fu_169_p0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal bound_fu_169_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal row_0_i_cast_i_fu_205_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_4_i_fu_209_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_23_9_i_fu_281_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_23_i_fu_286_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp4_fu_297_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal row_0_i_i_mid2_fu_273_p3 : STD_LOGIC_VECTOR (9 downto 0);
-    signal tmp9_fu_332_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp6_fu_341_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp1_fu_350_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_CS_fsm_state7 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state7 : signal is "none";
-    signal ap_NS_fsm : STD_LOGIC_VECTOR (3 downto 0);
-    signal ap_idle_pp0 : STD_LOGIC;
-    signal ap_enable_pp0 : STD_LOGIC;
-    signal bound_fu_169_p00 : STD_LOGIC_VECTOR (63 downto 0);
-    signal bound_fu_169_p10 : STD_LOGIC_VECTOR (63 downto 0);
-
-
-begin
-
-
-
-
-    ap_CS_fsm_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_CS_fsm <= ap_ST_fsm_state1;
-            else
-                ap_CS_fsm <= ap_NS_fsm;
-            end if;
-        end if;
-    end process;
-
-
-    ap_done_reg_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_done_reg <= ap_const_logic_0;
-            else
-                if ((ap_continue = ap_const_logic_1)) then 
-                    ap_done_reg <= ap_const_logic_0;
-                elsif ((ap_const_logic_1 = ap_CS_fsm_state7)) then 
-                    ap_done_reg <= ap_const_logic_1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter0_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter0 <= ap_const_logic_0;
-            else
-                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 
-                    ap_enable_reg_pp0_iter0 <= ap_const_logic_0;
-                elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                    ap_enable_reg_pp0_iter0 <= ap_const_logic_1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter1_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter1 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then
-                    if ((ap_const_logic_1 = ap_condition_pp0_exit_iter0_state3)) then 
-                        ap_enable_reg_pp0_iter1 <= (ap_const_logic_1 xor ap_condition_pp0_exit_iter0_state3);
-                    elsif ((ap_const_boolean_1 = ap_const_boolean_1)) then 
-                        ap_enable_reg_pp0_iter1 <= ap_enable_reg_pp0_iter0;
-                    end if;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter2_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter2 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter2 <= ap_enable_reg_pp0_iter1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter3_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter3 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter3 <= ap_enable_reg_pp0_iter2;
-                elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                    ap_enable_reg_pp0_iter3 <= ap_const_logic_0;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    src_V_0_sel_rd_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                src_V_0_sel_rd <= ap_const_logic_0;
-            else
-                if (((src_V_0_ack_out = ap_const_logic_1) and (src_V_0_vld_out = ap_const_logic_1))) then 
-                                        src_V_0_sel_rd <= not(src_V_0_sel_rd);
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    src_V_0_sel_wr_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                src_V_0_sel_wr <= ap_const_logic_0;
-            else
-                if (((src_V_0_ack_in = ap_const_logic_1) and (src_V_0_vld_in = ap_const_logic_1))) then 
-                                        src_V_0_sel_wr <= not(src_V_0_sel_wr);
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    src_V_0_state_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                src_V_0_state <= ap_const_lv2_0;
-            else
-                if ((((src_V_0_state = ap_const_lv2_2) and (src_V_0_vld_in = ap_const_logic_0)) or ((src_V_0_state = ap_const_lv2_3) and (src_V_0_vld_in = ap_const_logic_0) and (src_V_0_ack_out = ap_const_logic_1)))) then 
-                    src_V_0_state <= ap_const_lv2_2;
-                elsif ((((src_V_0_state = ap_const_lv2_1) and (src_V_0_ack_out = ap_const_logic_0)) or ((src_V_0_state = ap_const_lv2_3) and (src_V_0_ack_out = ap_const_logic_0) and (src_V_0_vld_in = ap_const_logic_1)))) then 
-                    src_V_0_state <= ap_const_lv2_1;
-                elsif (((not(((src_V_0_vld_in = ap_const_logic_0) and (src_V_0_ack_out = ap_const_logic_1))) and not(((src_V_0_ack_out = ap_const_logic_0) and (src_V_0_vld_in = ap_const_logic_1))) and (src_V_0_state = ap_const_lv2_3)) or ((src_V_0_state = ap_const_lv2_1) and (src_V_0_ack_out = ap_const_logic_1)) or ((src_V_0_state = ap_const_lv2_2) and (src_V_0_vld_in = ap_const_logic_1)))) then 
-                    src_V_0_state <= ap_const_lv2_3;
-                else 
-                    src_V_0_state <= ap_const_lv2_2;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    indvar_flatten_reg_141_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then 
-                indvar_flatten_reg_141 <= indvar_flatten_next_fu_219_p2;
-            elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                indvar_flatten_reg_141 <= ap_const_lv64_0;
-            end if; 
-        end if;
-    end process;
-
-    row_0_i_i_reg_152_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then 
-                row_0_i_i_reg_152 <= row_fu_326_p2;
-            elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                row_0_i_i_reg_152 <= ap_const_lv10_0;
-            end if; 
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((ap_const_logic_1 = ap_CS_fsm_state2)) then
-                bound_reg_442 <= bound_fu_169_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then
-                exitcond_flatten_reg_457 <= exitcond_flatten_fu_214_p2;
-                exitcond_flatten_reg_457_pp0_iter1_reg <= exitcond_flatten_reg_457;
-                hwin_5_load_reg_447 <= hwin_5_fu_84;
-                hwin_5_load_reg_447_pp0_iter1_reg <= hwin_5_load_reg_447;
-                hwin_8_load_reg_452 <= hwin_8_fu_96;
-                tmp2_reg_476_pp0_iter1_reg <= tmp2_reg_476;
-                tmp3_reg_481_pp0_iter1_reg <= tmp3_reg_481;
-                tmp7_reg_486_pp0_iter1_reg <= tmp7_reg_486;
-                tmp_10_i_reg_491_pp0_iter1_reg <= tmp_10_i_reg_491;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((not(((ap_start = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
-                filt1_read_reg_432 <= filt1_dout;
-                filt2_read_reg_437 <= filt2_dout;
-                height_read_reg_421 <= height_dout;
-                width_read_reg_426 <= width_dout;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then
-                hwin_1_1_i_fu_64 <= hwin_1_fu_68;
-                hwin_1_fu_68 <= hwin_2_fu_72;
-                hwin_2_fu_72 <= hwin_3_fu_76;
-                hwin_3_fu_76 <= hwin_4_fu_80;
-                hwin_4_fu_80 <= hwin_5_fu_84;
-                hwin_5_fu_84 <= hwin_6_fu_88;
-                hwin_6_fu_88 <= hwin_7_fu_92;
-                hwin_7_fu_92 <= hwin_8_fu_96;
-                hwin_8_fu_96 <= hwin_9_fu_100;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then
-                hwin_9_fu_100 <= src_V_0_data_out;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((src_V_0_load_A = ap_const_logic_1)) then
-                src_V_0_payload_A <= src_V_TDATA;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((src_V_0_load_B = ap_const_logic_1)) then
-                src_V_0_payload_B <= src_V_TDATA;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then
-                tmp2_reg_476 <= tmp2_fu_291_p2;
-                tmp3_reg_481 <= tmp3_fu_303_p2;
-                tmp7_reg_486 <= tmp7_fu_309_p2;
-                tmp_10_i_reg_491 <= tmp_10_i_fu_315_p2;
-                tmp_23_9_i_reg_466 <= tmp_23_9_i_fu_281_p2;
-                tmp_23_i_reg_471 <= tmp_23_i_fu_286_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((ap_const_boolean_0 = ap_block_pp0_stage0_11001)) then
-                tmp2_reg_476_pp0_iter2_reg <= tmp2_reg_476_pp0_iter1_reg;
-                tmp3_reg_481_pp0_iter2_reg <= tmp3_reg_481_pp0_iter1_reg;
-                tmp_10_i_reg_491_pp0_iter2_reg <= tmp_10_i_reg_491_pp0_iter1_reg;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_reg_457_pp0_iter1_reg = ap_const_lv1_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then
-                tmp5_reg_505 <= tmp5_fu_345_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((exitcond_flatten_reg_457 = ap_const_lv1_0) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then
-                tmp8_reg_500 <= tmp8_fu_336_p2;
-            end if;
-        end if;
-    end process;
-
-    ap_NS_fsm_assign_proc : process (ap_start, ap_done_reg, ap_CS_fsm, ap_CS_fsm_state1, height_empty_n, width_empty_n, filt1_empty_n, filt2_empty_n, ap_enable_reg_pp0_iter0, exitcond_flatten_fu_214_p2, ap_enable_reg_pp0_iter3, ap_block_pp0_stage0_subdone, ap_enable_reg_pp0_iter1, ap_enable_reg_pp0_iter2)
-    begin
-        case ap_CS_fsm is
-            when ap_ST_fsm_state1 => 
-                if ((not(((ap_start = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then
-                    ap_NS_fsm <= ap_ST_fsm_state2;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_state1;
-                end if;
-            when ap_ST_fsm_state2 => 
-                ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-            when ap_ST_fsm_pp0_stage0 => 
-                if ((not(((exitcond_flatten_fu_214_p2 = ap_const_lv1_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1))) and not(((ap_enable_reg_pp0_iter2 = ap_const_logic_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1))))) then
-                    ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-                elsif ((((ap_enable_reg_pp0_iter2 = ap_const_logic_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1)) or ((exitcond_flatten_fu_214_p2 = ap_const_lv1_1) and (ap_enable_reg_pp0_iter1 = ap_const_logic_0) and (ap_const_boolean_0 = ap_block_pp0_stage0_subdone) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1)))) then
-                    ap_NS_fsm <= ap_ST_fsm_state7;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-                end if;
-            when ap_ST_fsm_state7 => 
-                ap_NS_fsm <= ap_ST_fsm_state1;
-            when others =>  
-                ap_NS_fsm <= "XXXX";
-        end case;
-    end process;
-    ap_CS_fsm_pp0_stage0 <= ap_CS_fsm(2);
-    ap_CS_fsm_state1 <= ap_CS_fsm(0);
-    ap_CS_fsm_state2 <= ap_CS_fsm(1);
-    ap_CS_fsm_state7 <= ap_CS_fsm(3);
-        ap_block_pp0_stage0 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_block_pp0_stage0_01001_assign_proc : process(src_V_0_vld_out, hconv_V_full_n, ap_enable_reg_pp0_iter0, exitcond_flatten_fu_214_p2, ap_enable_reg_pp0_iter3, tmp_10_i_reg_491_pp0_iter2_reg)
-    begin
-                ap_block_pp0_stage0_01001 <= (((tmp_10_i_reg_491_pp0_iter2_reg = ap_const_lv1_1) and (hconv_V_full_n = ap_const_logic_0) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1)) or ((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (src_V_0_vld_out = ap_const_logic_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1)));
-    end process;
-
-
-    ap_block_pp0_stage0_11001_assign_proc : process(src_V_0_vld_out, hconv_V_full_n, ap_enable_reg_pp0_iter0, exitcond_flatten_fu_214_p2, ap_enable_reg_pp0_iter3, tmp_10_i_reg_491_pp0_iter2_reg)
-    begin
-                ap_block_pp0_stage0_11001 <= (((tmp_10_i_reg_491_pp0_iter2_reg = ap_const_lv1_1) and (hconv_V_full_n = ap_const_logic_0) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1)) or ((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (src_V_0_vld_out = ap_const_logic_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1)));
-    end process;
-
-
-    ap_block_pp0_stage0_subdone_assign_proc : process(src_V_0_vld_out, hconv_V_full_n, ap_enable_reg_pp0_iter0, exitcond_flatten_fu_214_p2, ap_enable_reg_pp0_iter3, tmp_10_i_reg_491_pp0_iter2_reg)
-    begin
-                ap_block_pp0_stage0_subdone <= (((tmp_10_i_reg_491_pp0_iter2_reg = ap_const_lv1_1) and (hconv_V_full_n = ap_const_logic_0) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1)) or ((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (src_V_0_vld_out = ap_const_logic_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1)));
-    end process;
-
-
-    ap_block_state1_assign_proc : process(ap_start, ap_done_reg, height_empty_n, width_empty_n, filt1_empty_n, filt2_empty_n)
-    begin
-                ap_block_state1 <= ((ap_start = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1));
-    end process;
-
-
-    ap_block_state3_pp0_stage0_iter0_assign_proc : process(src_V_0_vld_out, exitcond_flatten_fu_214_p2)
-    begin
-                ap_block_state3_pp0_stage0_iter0 <= ((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (src_V_0_vld_out = ap_const_logic_0));
-    end process;
-
-        ap_block_state4_pp0_stage0_iter1 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-        ap_block_state5_pp0_stage0_iter2 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_block_state6_pp0_stage0_iter3_assign_proc : process(hconv_V_full_n, tmp_10_i_reg_491_pp0_iter2_reg)
-    begin
-                ap_block_state6_pp0_stage0_iter3 <= ((tmp_10_i_reg_491_pp0_iter2_reg = ap_const_lv1_1) and (hconv_V_full_n = ap_const_logic_0));
-    end process;
-
-
-    ap_condition_pp0_exit_iter0_state3_assign_proc : process(exitcond_flatten_fu_214_p2)
-    begin
-        if ((exitcond_flatten_fu_214_p2 = ap_const_lv1_1)) then 
-            ap_condition_pp0_exit_iter0_state3 <= ap_const_logic_1;
-        else 
-            ap_condition_pp0_exit_iter0_state3 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    ap_done_assign_proc : process(ap_done_reg, ap_CS_fsm_state7)
-    begin
-        if ((ap_const_logic_1 = ap_CS_fsm_state7)) then 
-            ap_done <= ap_const_logic_1;
-        else 
-            ap_done <= ap_done_reg;
-        end if; 
-    end process;
-
-    ap_enable_pp0 <= (ap_idle_pp0 xor ap_const_logic_1);
-
-    ap_idle_assign_proc : process(ap_start, ap_CS_fsm_state1)
-    begin
-        if (((ap_start = ap_const_logic_0) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            ap_idle <= ap_const_logic_1;
-        else 
-            ap_idle <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    ap_idle_pp0_assign_proc : process(ap_enable_reg_pp0_iter0, ap_enable_reg_pp0_iter3, ap_enable_reg_pp0_iter1, ap_enable_reg_pp0_iter2)
-    begin
-        if (((ap_enable_reg_pp0_iter2 = ap_const_logic_0) and (ap_enable_reg_pp0_iter1 = ap_const_logic_0) and (ap_enable_reg_pp0_iter3 = ap_const_logic_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_0))) then 
-            ap_idle_pp0 <= ap_const_logic_1;
-        else 
-            ap_idle_pp0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    ap_ready_assign_proc : process(ap_CS_fsm_state7)
-    begin
-        if ((ap_const_logic_1 = ap_CS_fsm_state7)) then 
-            ap_ready <= ap_const_logic_1;
-        else 
-            ap_ready <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    bound_fu_169_p0 <= bound_fu_169_p00(32 - 1 downto 0);
-    bound_fu_169_p00 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(width_read_reg_426),64));
-    bound_fu_169_p1 <= bound_fu_169_p10(32 - 1 downto 0);
-    bound_fu_169_p10 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(height_read_reg_421),64));
-    bound_fu_169_p2 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(bound_fu_169_p0) * unsigned(bound_fu_169_p1), 64));
-    exitcond_flatten_fu_214_p2 <= "1" when (indvar_flatten_reg_141 = bound_reg_442) else "0";
-
-    filt1_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, filt1_empty_n)
-    begin
-        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 
-            filt1_blk_n <= filt1_empty_n;
-        else 
-            filt1_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    filt1_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n, width_empty_n, filt1_empty_n, filt2_empty_n)
-    begin
-        if ((not(((ap_start = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt1_read <= ap_const_logic_1;
-        else 
-            filt1_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    filt2_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, filt2_empty_n)
-    begin
-        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 
-            filt2_blk_n <= filt2_empty_n;
-        else 
-            filt2_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    filt2_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n, width_empty_n, filt1_empty_n, filt2_empty_n)
-    begin
-        if ((not(((ap_start = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt2_read <= ap_const_logic_1;
-        else 
-            filt2_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    hconv_V_blk_n_assign_proc : process(hconv_V_full_n, ap_block_pp0_stage0, ap_enable_reg_pp0_iter3, tmp_10_i_reg_491_pp0_iter2_reg)
-    begin
-        if (((tmp_10_i_reg_491_pp0_iter2_reg = ap_const_lv1_1) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1) and (ap_const_boolean_0 = ap_block_pp0_stage0))) then 
-            hconv_V_blk_n <= hconv_V_full_n;
-        else 
-            hconv_V_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    hconv_V_din <= std_logic_vector(unsigned(tmp5_reg_505) + unsigned(tmp1_fu_350_p2));
-
-    hconv_V_write_assign_proc : process(ap_enable_reg_pp0_iter3, tmp_10_i_reg_491_pp0_iter2_reg, ap_block_pp0_stage0_11001)
-    begin
-        if (((tmp_10_i_reg_491_pp0_iter2_reg = ap_const_lv1_1) and (ap_enable_reg_pp0_iter3 = ap_const_logic_1) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then 
-            hconv_V_write <= ap_const_logic_1;
-        else 
-            hconv_V_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    height_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n)
-    begin
-        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 
-            height_blk_n <= height_empty_n;
-        else 
-            height_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    height_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n, width_empty_n, filt1_empty_n, filt2_empty_n)
-    begin
-        if ((not(((ap_start = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            height_read <= ap_const_logic_1;
-        else 
-            height_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    indvar_flatten_next_fu_219_p2 <= std_logic_vector(unsigned(indvar_flatten_reg_141) + unsigned(ap_const_lv64_1));
-    row_0_i_cast_i_fu_205_p1 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(row_0_i_i_reg_152),32));
-    row_0_i_i_mid2_fu_273_p3 <= 
-        row_0_i_i_reg_152 when (tmp_4_i_fu_209_p2(0) = '1') else 
-        ap_const_lv10_0;
-    row_fu_326_p2 <= std_logic_vector(unsigned(row_0_i_i_mid2_fu_273_p3) + unsigned(ap_const_lv10_1));
-    src_V_0_ack_in <= src_V_0_state(1);
-
-    src_V_0_ack_out_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter0, exitcond_flatten_fu_214_p2, ap_block_pp0_stage0_11001)
-    begin
-        if (((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0_11001))) then 
-            src_V_0_ack_out <= ap_const_logic_1;
-        else 
-            src_V_0_ack_out <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    src_V_0_data_out_assign_proc : process(src_V_0_payload_A, src_V_0_payload_B, src_V_0_sel)
-    begin
-        if ((src_V_0_sel = ap_const_logic_1)) then 
-            src_V_0_data_out <= src_V_0_payload_B;
-        else 
-            src_V_0_data_out <= src_V_0_payload_A;
-        end if; 
-    end process;
-
-    src_V_0_load_A <= (src_V_0_state_cmp_full and not(src_V_0_sel_wr));
-    src_V_0_load_B <= (src_V_0_state_cmp_full and src_V_0_sel_wr);
-    src_V_0_sel <= src_V_0_sel_rd;
-    src_V_0_state_cmp_full <= '0' when (src_V_0_state = ap_const_lv2_1) else '1';
-    src_V_0_vld_in <= src_V_TVALID;
-    src_V_0_vld_out <= src_V_0_state(0);
-
-    src_V_TDATA_blk_n_assign_proc : process(src_V_0_state, ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter0, ap_block_pp0_stage0, exitcond_flatten_fu_214_p2)
-    begin
-        if (((exitcond_flatten_fu_214_p2 = ap_const_lv1_0) and (ap_enable_reg_pp0_iter0 = ap_const_logic_1) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0) and (ap_const_boolean_0 = ap_block_pp0_stage0))) then 
-            src_V_TDATA_blk_n <= src_V_0_state(0);
-        else 
-            src_V_TDATA_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    src_V_TREADY <= src_V_0_state(1);
-    tmp1_fu_350_p2 <= std_logic_vector(unsigned(tmp3_reg_481_pp0_iter2_reg) + unsigned(tmp2_reg_476_pp0_iter2_reg));
-    tmp2_fu_291_p2 <= std_logic_vector(unsigned(hwin_1_1_i_fu_64) + unsigned(hwin_1_fu_68));
-    tmp3_fu_303_p2 <= std_logic_vector(unsigned(tmp4_fu_297_p2) + unsigned(hwin_2_fu_72));
-    tmp4_fu_297_p2 <= std_logic_vector(unsigned(hwin_3_fu_76) + unsigned(hwin_4_fu_80));
-    tmp5_fu_345_p2 <= std_logic_vector(unsigned(tmp8_reg_500) + unsigned(tmp6_fu_341_p2));
-    tmp6_fu_341_p2 <= std_logic_vector(unsigned(tmp7_reg_486_pp0_iter1_reg) + unsigned(hwin_5_load_reg_447_pp0_iter1_reg));
-    tmp7_fu_309_p2 <= std_logic_vector(unsigned(hwin_6_fu_88) + unsigned(hwin_7_fu_92));
-    tmp8_fu_336_p2 <= std_logic_vector(unsigned(tmp9_fu_332_p2) + unsigned(hwin_8_load_reg_452));
-    tmp9_fu_332_p2 <= std_logic_vector(unsigned(tmp_23_9_i_reg_466) + unsigned(tmp_23_i_reg_471));
-    tmp_10_i_fu_315_p2 <= "1" when (unsigned(row_0_i_i_mid2_fu_273_p3) > unsigned(ap_const_lv10_9)) else "0";
-    tmp_23_9_i_fu_281_p1 <= hwin_9_fu_100;
-    tmp_23_9_i_fu_281_p2 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(std_logic_vector(signed(filt1_read_reg_432) * signed(tmp_23_9_i_fu_281_p1))), 32));
-    tmp_23_i_fu_286_p1 <= src_V_0_data_out;
-    tmp_23_i_fu_286_p2 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(std_logic_vector(signed(filt2_read_reg_437) * signed(tmp_23_i_fu_286_p1))), 32));
-    tmp_4_i_fu_209_p2 <= "1" when (signed(row_0_i_cast_i_fu_205_p1) < signed(width_read_reg_426)) else "0";
-
-    width_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, width_empty_n)
-    begin
-        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 
-            width_blk_n <= width_empty_n;
-        else 
-            width_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    width_read_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n, width_empty_n, filt1_empty_n, filt2_empty_n)
-    begin
-        if ((not(((ap_start = ap_const_logic_0) or (width_empty_n = ap_const_logic_0) or (height_empty_n = ap_const_logic_0) or (filt2_empty_n = ap_const_logic_0) or (filt1_empty_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            width_read <= ap_const_logic_1;
-        else 
-            width_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-end behav;

+ 0 - 1570
src/ip_repo/packaging/src/Loop_VConvH_proc.vhd

@@ -1,1570 +0,0 @@
--- ==============================================================
--- RTL generated by Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC
--- Version: 2018.3
--- Copyright (C) 1986-2018 Xilinx, Inc. All Rights Reserved.
--- 
--- ===========================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-
-entity Loop_VConvH_proc is
-port (
-    ap_clk : IN STD_LOGIC;
-    ap_rst : IN STD_LOGIC;
-    ap_start : IN STD_LOGIC;
-    ap_done : OUT STD_LOGIC;
-    ap_continue : IN STD_LOGIC;
-    ap_idle : OUT STD_LOGIC;
-    ap_ready : OUT STD_LOGIC;
-    height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    height_empty_n : IN STD_LOGIC;
-    height_read : OUT STD_LOGIC;
-    vconv_xlim_loc_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    vconv_xlim_loc_empty_n : IN STD_LOGIC;
-    vconv_xlim_loc_read : OUT STD_LOGIC;
-    hconv_V_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    hconv_V_empty_n : IN STD_LOGIC;
-    hconv_V_read : OUT STD_LOGIC;
-    vconv_V_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    vconv_V_full_n : IN STD_LOGIC;
-    vconv_V_write : OUT STD_LOGIC;
-    filt1_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt1_empty_n : IN STD_LOGIC;
-    filt1_read : OUT STD_LOGIC;
-    filt2_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt2_empty_n : IN STD_LOGIC;
-    filt2_read : OUT STD_LOGIC;
-    height_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    height_out_full_n : IN STD_LOGIC;
-    height_out_write : OUT STD_LOGIC;
-    vconv_xlim_loc_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    vconv_xlim_loc_out_full_n : IN STD_LOGIC;
-    vconv_xlim_loc_out_write : OUT STD_LOGIC );
-end;
-
-
-architecture behav of Loop_VConvH_proc is 
-    constant ap_const_logic_1 : STD_LOGIC := '1';
-    constant ap_const_logic_0 : STD_LOGIC := '0';
-    constant ap_ST_fsm_state1 : STD_LOGIC_VECTOR (3 downto 0) := "0001";
-    constant ap_ST_fsm_state2 : STD_LOGIC_VECTOR (3 downto 0) := "0010";
-    constant ap_ST_fsm_pp0_stage0 : STD_LOGIC_VECTOR (3 downto 0) := "0100";
-    constant ap_ST_fsm_state9 : STD_LOGIC_VECTOR (3 downto 0) := "1000";
-    constant ap_const_lv32_0 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000000";
-    constant ap_const_boolean_1 : BOOLEAN := true;
-    constant ap_const_lv32_2 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000010";
-    constant ap_const_boolean_0 : BOOLEAN := false;
-    constant ap_const_lv1_0 : STD_LOGIC_VECTOR (0 downto 0) := "0";
-    constant ap_const_lv1_1 : STD_LOGIC_VECTOR (0 downto 0) := "1";
-    constant ap_const_lv32_1 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000001";
-    constant ap_const_lv64_0 : STD_LOGIC_VECTOR (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000000";
-    constant ap_const_lv10_0 : STD_LOGIC_VECTOR (9 downto 0) := "0000000000";
-    constant ap_const_lv64_1 : STD_LOGIC_VECTOR (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000001";
-    constant ap_const_lv10_1 : STD_LOGIC_VECTOR (9 downto 0) := "0000000001";
-    constant ap_const_lv10_9 : STD_LOGIC_VECTOR (9 downto 0) := "0000001001";
-    constant ap_const_lv32_3 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000011";
-
-    signal ap_done_reg : STD_LOGIC := '0';
-    signal ap_CS_fsm : STD_LOGIC_VECTOR (3 downto 0) := "0001";
-    attribute fsm_encoding : string;
-    attribute fsm_encoding of ap_CS_fsm : signal is "none";
-    signal ap_CS_fsm_state1 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state1 : signal is "none";
-    signal linebuf_0_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_0_ce0 : STD_LOGIC;
-    signal linebuf_0_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_0_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_0_ce1 : STD_LOGIC;
-    signal linebuf_0_we1 : STD_LOGIC;
-    signal linebuf_1_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_1_ce0 : STD_LOGIC;
-    signal linebuf_1_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_1_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_1_ce1 : STD_LOGIC;
-    signal linebuf_1_we1 : STD_LOGIC;
-    signal linebuf_2_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_2_ce0 : STD_LOGIC;
-    signal linebuf_2_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_2_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_2_ce1 : STD_LOGIC;
-    signal linebuf_2_we1 : STD_LOGIC;
-    signal linebuf_3_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_3_ce0 : STD_LOGIC;
-    signal linebuf_3_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_3_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_3_ce1 : STD_LOGIC;
-    signal linebuf_3_we1 : STD_LOGIC;
-    signal linebuf_4_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_4_ce0 : STD_LOGIC;
-    signal linebuf_4_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_4_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_4_ce1 : STD_LOGIC;
-    signal linebuf_4_we1 : STD_LOGIC;
-    signal linebuf_5_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_5_ce0 : STD_LOGIC;
-    signal linebuf_5_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_5_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_5_ce1 : STD_LOGIC;
-    signal linebuf_5_we1 : STD_LOGIC;
-    signal linebuf_6_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_6_ce0 : STD_LOGIC;
-    signal linebuf_6_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_6_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_6_ce1 : STD_LOGIC;
-    signal linebuf_6_we1 : STD_LOGIC;
-    signal linebuf_7_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_7_ce0 : STD_LOGIC;
-    signal linebuf_7_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_7_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_7_ce1 : STD_LOGIC;
-    signal linebuf_7_we1 : STD_LOGIC;
-    signal linebuf_8_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_8_ce0 : STD_LOGIC;
-    signal linebuf_8_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_8_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_8_ce1 : STD_LOGIC;
-    signal linebuf_8_we1 : STD_LOGIC;
-    signal linebuf_9_address0 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_9_ce0 : STD_LOGIC;
-    signal linebuf_9_q0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_9_address1 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_9_ce1 : STD_LOGIC;
-    signal linebuf_9_we1 : STD_LOGIC;
-    signal height_blk_n : STD_LOGIC;
-    signal vconv_xlim_loc_blk_n : STD_LOGIC;
-    signal hconv_V_blk_n : STD_LOGIC;
-    signal ap_CS_fsm_pp0_stage0 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_pp0_stage0 : signal is "none";
-    signal ap_enable_reg_pp0_iter1 : STD_LOGIC := '0';
-    signal ap_block_pp0_stage0 : BOOLEAN;
-    signal exitcond_flatten_reg_532 : STD_LOGIC_VECTOR (0 downto 0);
-    signal vconv_V_blk_n : STD_LOGIC;
-    signal ap_enable_reg_pp0_iter5 : STD_LOGIC := '0';
-    signal tmp_8_i_i_mid2_reg_541 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_8_i_i_mid2_reg_541_pp0_iter4_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal filt1_blk_n : STD_LOGIC;
-    signal filt2_blk_n : STD_LOGIC;
-    signal height_out_blk_n : STD_LOGIC;
-    signal vconv_xlim_loc_out_blk_n : STD_LOGIC;
-    signal indvar_flatten_reg_319 : STD_LOGIC_VECTOR (63 downto 0);
-    signal col1_0_i_i_i_reg_330 : STD_LOGIC_VECTOR (9 downto 0);
-    signal row2_0_i_i_i_reg_341 : STD_LOGIC_VECTOR (9 downto 0);
-    signal height_read_reg_506 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_state1 : BOOLEAN;
-    signal vconv_xlim_loc_read_reg_511 : STD_LOGIC_VECTOR (31 downto 0);
-    signal filt1_read_reg_517 : STD_LOGIC_VECTOR (31 downto 0);
-    signal filt2_read_reg_522 : STD_LOGIC_VECTOR (31 downto 0);
-    signal bound_fu_358_p2 : STD_LOGIC_VECTOR (63 downto 0);
-    signal bound_reg_527 : STD_LOGIC_VECTOR (63 downto 0);
-    signal ap_CS_fsm_state2 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state2 : signal is "none";
-    signal exitcond_flatten_fu_373_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal ap_block_state3_pp0_stage0_iter0 : BOOLEAN;
-    signal ap_block_state4_pp0_stage0_iter1 : BOOLEAN;
-    signal ap_block_state5_pp0_stage0_iter2 : BOOLEAN;
-    signal ap_block_state6_pp0_stage0_iter3 : BOOLEAN;
-    signal ap_block_state7_pp0_stage0_iter4 : BOOLEAN;
-    signal ap_block_state8_pp0_stage0_iter5 : BOOLEAN;
-    signal ap_block_pp0_stage0_11001 : BOOLEAN;
-    signal exitcond_flatten_reg_532_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal exitcond_flatten_reg_532_pp0_iter2_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal exitcond_flatten_reg_532_pp0_iter3_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal indvar_flatten_next_fu_378_p2 : STD_LOGIC_VECTOR (63 downto 0);
-    signal ap_enable_reg_pp0_iter0 : STD_LOGIC := '0';
-    signal tmp_8_i_i_mid2_fu_410_p3 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_8_i_i_mid2_reg_541_pp0_iter1_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_8_i_i_mid2_reg_541_pp0_iter2_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_8_i_i_mid2_reg_541_pp0_iter3_reg : STD_LOGIC_VECTOR (0 downto 0);
-    signal col1_0_i_i_i_mid2_fu_418_p3 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_0_addr_reg_550 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_1_addr_reg_556 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_2_addr_reg_562 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_3_addr_reg_568 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_4_addr_reg_574 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_5_addr_reg_580 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_6_addr_reg_586 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_7_addr_reg_592 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_8_addr_reg_598 : STD_LOGIC_VECTOR (9 downto 0);
-    signal linebuf_9_addr_reg_604 : STD_LOGIC_VECTOR (9 downto 0);
-    signal row_fu_440_p2 : STD_LOGIC_VECTOR (9 downto 0);
-    signal tmp_1_reg_615 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_5_load_reg_620 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_5_load_reg_620_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_5_load_reg_620_pp0_iter3_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_8_load_reg_625 : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_8_load_reg_625_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal linebuf_9_load_reg_630 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_fu_446_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_reg_635 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_reg_635_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_reg_635_pp0_iter3_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp2_reg_635_pp0_iter4_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_fu_458_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_reg_640 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_reg_640_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_reg_640_pp0_iter3_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp3_reg_640_pp0_iter4_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp7_fu_464_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp7_reg_645 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp7_reg_645_pp0_iter2_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp7_reg_645_pp0_iter3_reg : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_30_9_i_i_fu_470_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_30_9_i_i_reg_650 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_30_i_i_fu_474_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_30_i_i_reg_655 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp8_fu_482_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp8_reg_660 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp5_fu_491_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp5_reg_665 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_block_pp0_stage0_subdone : BOOLEAN;
-    signal ap_condition_pp0_exit_iter0_state3 : STD_LOGIC;
-    signal ap_enable_reg_pp0_iter2 : STD_LOGIC := '0';
-    signal ap_enable_reg_pp0_iter3 : STD_LOGIC := '0';
-    signal ap_enable_reg_pp0_iter4 : STD_LOGIC := '0';
-    signal tmp_16_i_i_fu_426_p1 : STD_LOGIC_VECTOR (63 downto 0);
-    signal ap_block_pp0_stage0_01001 : BOOLEAN;
-    signal bound_fu_358_p0 : STD_LOGIC_VECTOR (31 downto 0);
-    signal bound_fu_358_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal row2_0_i_cast_i_i_fu_364_p1 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp_11_i_i_fu_368_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal col_fu_392_p2 : STD_LOGIC_VECTOR (9 downto 0);
-    signal tmp_8_i_i_fu_404_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal tmp_8_i_i_mid1_fu_398_p2 : STD_LOGIC_VECTOR (0 downto 0);
-    signal row2_0_i_i_i_mid2_fu_384_p3 : STD_LOGIC_VECTOR (9 downto 0);
-    signal tmp4_fu_452_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp9_fu_478_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp6_fu_487_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal tmp1_fu_496_p2 : STD_LOGIC_VECTOR (31 downto 0);
-    signal ap_CS_fsm_state9 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state9 : signal is "none";
-    signal ap_NS_fsm : STD_LOGIC_VECTOR (3 downto 0);
-    signal ap_block_pp0 : BOOLEAN;
-    signal ap_enable_operation_44 : BOOLEAN;
-    signal ap_enable_state3_pp0_iter0_stage0 : BOOLEAN;
-    signal ap_enable_operation_66 : BOOLEAN;
-    signal ap_enable_state4_pp0_iter1_stage0 : BOOLEAN;
-    signal ap_enable_operation_68 : BOOLEAN;
-    signal ap_enable_operation_46 : BOOLEAN;
-    signal ap_enable_operation_67 : BOOLEAN;
-    signal ap_enable_operation_70 : BOOLEAN;
-    signal ap_enable_operation_48 : BOOLEAN;
-    signal ap_enable_operation_69 : BOOLEAN;
-    signal ap_enable_operation_72 : BOOLEAN;
-    signal ap_enable_operation_50 : BOOLEAN;
-    signal ap_enable_operation_71 : BOOLEAN;
-    signal ap_enable_operation_74 : BOOLEAN;
-    signal ap_enable_operation_52 : BOOLEAN;
-    signal ap_enable_operation_73 : BOOLEAN;
-    signal ap_enable_operation_76 : BOOLEAN;
-    signal ap_enable_operation_54 : BOOLEAN;
-    signal ap_enable_operation_75 : BOOLEAN;
-    signal ap_enable_operation_78 : BOOLEAN;
-    signal ap_enable_operation_56 : BOOLEAN;
-    signal ap_enable_operation_77 : BOOLEAN;
-    signal ap_enable_operation_80 : BOOLEAN;
-    signal ap_enable_operation_58 : BOOLEAN;
-    signal ap_enable_operation_79 : BOOLEAN;
-    signal ap_enable_operation_82 : BOOLEAN;
-    signal ap_enable_operation_60 : BOOLEAN;
-    signal ap_enable_operation_81 : BOOLEAN;
-    signal ap_enable_operation_84 : BOOLEAN;
-    signal ap_enable_operation_62 : BOOLEAN;
-    signal ap_enable_operation_83 : BOOLEAN;
-    signal ap_enable_operation_89 : BOOLEAN;
-    signal ap_idle_pp0 : STD_LOGIC;
-    signal ap_enable_pp0 : STD_LOGIC;
-    signal bound_fu_358_p00 : STD_LOGIC_VECTOR (63 downto 0);
-    signal bound_fu_358_p10 : STD_LOGIC_VECTOR (63 downto 0);
-
-    component Loop_VConvH_proc_linebuf_0 IS
-    generic (
-        DataWidth : INTEGER;
-        AddressRange : INTEGER;
-        AddressWidth : INTEGER );
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        address0 : IN STD_LOGIC_VECTOR (9 downto 0);
-        ce0 : IN STD_LOGIC;
-        q0 : OUT STD_LOGIC_VECTOR (31 downto 0);
-        address1 : IN STD_LOGIC_VECTOR (9 downto 0);
-        ce1 : IN STD_LOGIC;
-        we1 : IN STD_LOGIC;
-        d1 : IN STD_LOGIC_VECTOR (31 downto 0) );
-    end component;
-
-
-
-begin
-    linebuf_0_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_0_address0,
-        ce0 => linebuf_0_ce0,
-        q0 => linebuf_0_q0,
-        address1 => linebuf_0_address1,
-        ce1 => linebuf_0_ce1,
-        we1 => linebuf_0_we1,
-        d1 => linebuf_1_q0);
-
-    linebuf_1_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_1_address0,
-        ce0 => linebuf_1_ce0,
-        q0 => linebuf_1_q0,
-        address1 => linebuf_1_address1,
-        ce1 => linebuf_1_ce1,
-        we1 => linebuf_1_we1,
-        d1 => linebuf_2_q0);
-
-    linebuf_2_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_2_address0,
-        ce0 => linebuf_2_ce0,
-        q0 => linebuf_2_q0,
-        address1 => linebuf_2_address1,
-        ce1 => linebuf_2_ce1,
-        we1 => linebuf_2_we1,
-        d1 => linebuf_3_q0);
-
-    linebuf_3_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_3_address0,
-        ce0 => linebuf_3_ce0,
-        q0 => linebuf_3_q0,
-        address1 => linebuf_3_address1,
-        ce1 => linebuf_3_ce1,
-        we1 => linebuf_3_we1,
-        d1 => linebuf_4_q0);
-
-    linebuf_4_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_4_address0,
-        ce0 => linebuf_4_ce0,
-        q0 => linebuf_4_q0,
-        address1 => linebuf_4_address1,
-        ce1 => linebuf_4_ce1,
-        we1 => linebuf_4_we1,
-        d1 => linebuf_5_q0);
-
-    linebuf_5_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_5_address0,
-        ce0 => linebuf_5_ce0,
-        q0 => linebuf_5_q0,
-        address1 => linebuf_5_address1,
-        ce1 => linebuf_5_ce1,
-        we1 => linebuf_5_we1,
-        d1 => linebuf_6_q0);
-
-    linebuf_6_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_6_address0,
-        ce0 => linebuf_6_ce0,
-        q0 => linebuf_6_q0,
-        address1 => linebuf_6_address1,
-        ce1 => linebuf_6_ce1,
-        we1 => linebuf_6_we1,
-        d1 => linebuf_7_q0);
-
-    linebuf_7_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_7_address0,
-        ce0 => linebuf_7_ce0,
-        q0 => linebuf_7_q0,
-        address1 => linebuf_7_address1,
-        ce1 => linebuf_7_ce1,
-        we1 => linebuf_7_we1,
-        d1 => linebuf_8_q0);
-
-    linebuf_8_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_8_address0,
-        ce0 => linebuf_8_ce0,
-        q0 => linebuf_8_q0,
-        address1 => linebuf_8_address1,
-        ce1 => linebuf_8_ce1,
-        we1 => linebuf_8_we1,
-        d1 => linebuf_9_q0);
-
-    linebuf_9_U : component Loop_VConvH_proc_linebuf_0
-    generic map (
-        DataWidth => 32,
-        AddressRange => 672,
-        AddressWidth => 10)
-    port map (
-        clk => ap_clk,
-        reset => ap_rst,
-        address0 => linebuf_9_address0,
-        ce0 => linebuf_9_ce0,
-        q0 => linebuf_9_q0,
-        address1 => linebuf_9_address1,
-        ce1 => linebuf_9_ce1,
-        we1 => linebuf_9_we1,
-        d1 => hconv_V_dout);
-
-
-
-
-
-    ap_CS_fsm_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_CS_fsm <= ap_ST_fsm_state1;
-            else
-                ap_CS_fsm <= ap_NS_fsm;
-            end if;
-        end if;
-    end process;
-
-
-    ap_done_reg_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_done_reg <= ap_const_logic_0;
-            else
-                if ((ap_continue = ap_const_logic_1)) then 
-                    ap_done_reg <= ap_const_logic_0;
-                elsif ((ap_const_logic_1 = ap_CS_fsm_state9)) then 
-                    ap_done_reg <= ap_const_logic_1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter0_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter0 <= ap_const_logic_0;
-            else
-                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 
-                    ap_enable_reg_pp0_iter0 <= ap_const_logic_0;
-                elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                    ap_enable_reg_pp0_iter0 <= ap_const_logic_1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter1_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter1 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then
-                    if ((ap_const_logic_1 = ap_condition_pp0_exit_iter0_state3)) then 
-                        ap_enable_reg_pp0_iter1 <= (ap_const_logic_1 xor ap_condition_pp0_exit_iter0_state3);
-                    elsif ((ap_const_boolean_1 = ap_const_boolean_1)) then 
-                        ap_enable_reg_pp0_iter1 <= ap_enable_reg_pp0_iter0;
-                    end if;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter2_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter2 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter2 <= ap_enable_reg_pp0_iter1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter3_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter3 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter3 <= ap_enable_reg_pp0_iter2;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter4_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter4 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter4 <= ap_enable_reg_pp0_iter3;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_enable_reg_pp0_iter5_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_enable_reg_pp0_iter5 <= ap_const_logic_0;
-            else
-                if ((ap_const_boolean_0 = ap_block_pp0_stage0_subdone)) then 
-                    ap_enable_reg_pp0_iter5 <= ap_enable_reg_pp0_iter4;
-                elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                    ap_enable_reg_pp0_iter5 <= ap_const_logic_0;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    col1_0_i_i_i_reg_330_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            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 
-                col1_0_i_i_i_reg_330 <= col1_0_i_i_i_mid2_fu_418_p3;
-            elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                col1_0_i_i_i_reg_330 <= ap_const_lv10_0;
-            end if; 
-        end if;
-    end process;
-
-    indvar_flatten_reg_319_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            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 
-                indvar_flatten_reg_319 <= indvar_flatten_next_fu_378_p2;
-            elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                indvar_flatten_reg_319 <= ap_const_lv64_0;
-            end if; 
-        end if;
-    end process;
-
-    row2_0_i_i_i_reg_341_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            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 
-                row2_0_i_i_i_reg_341 <= row_fu_440_p2;
-            elsif ((ap_const_logic_1 = ap_CS_fsm_state2)) then 
-                row2_0_i_i_i_reg_341 <= ap_const_lv10_0;
-            end if; 
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((ap_const_logic_1 = ap_CS_fsm_state2)) then
-                bound_reg_527 <= bound_fu_358_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (ap_const_logic_1 = ap_CS_fsm_pp0_stage0))) then
-                exitcond_flatten_reg_532 <= exitcond_flatten_fu_373_p2;
-                exitcond_flatten_reg_532_pp0_iter1_reg <= exitcond_flatten_reg_532;
-                tmp_8_i_i_mid2_reg_541_pp0_iter1_reg <= tmp_8_i_i_mid2_reg_541;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if ((ap_const_boolean_0 = ap_block_pp0_stage0_11001)) then
-                exitcond_flatten_reg_532_pp0_iter2_reg <= exitcond_flatten_reg_532_pp0_iter1_reg;
-                exitcond_flatten_reg_532_pp0_iter3_reg <= exitcond_flatten_reg_532_pp0_iter2_reg;
-                linebuf_5_load_reg_620_pp0_iter2_reg <= linebuf_5_load_reg_620;
-                linebuf_5_load_reg_620_pp0_iter3_reg <= linebuf_5_load_reg_620_pp0_iter2_reg;
-                linebuf_8_load_reg_625_pp0_iter2_reg <= linebuf_8_load_reg_625;
-                tmp2_reg_635_pp0_iter2_reg <= tmp2_reg_635;
-                tmp2_reg_635_pp0_iter3_reg <= tmp2_reg_635_pp0_iter2_reg;
-                tmp2_reg_635_pp0_iter4_reg <= tmp2_reg_635_pp0_iter3_reg;
-                tmp3_reg_640_pp0_iter2_reg <= tmp3_reg_640;
-                tmp3_reg_640_pp0_iter3_reg <= tmp3_reg_640_pp0_iter2_reg;
-                tmp3_reg_640_pp0_iter4_reg <= tmp3_reg_640_pp0_iter3_reg;
-                tmp7_reg_645_pp0_iter2_reg <= tmp7_reg_645;
-                tmp7_reg_645_pp0_iter3_reg <= tmp7_reg_645_pp0_iter2_reg;
-                tmp_8_i_i_mid2_reg_541_pp0_iter2_reg <= tmp_8_i_i_mid2_reg_541_pp0_iter1_reg;
-                tmp_8_i_i_mid2_reg_541_pp0_iter3_reg <= tmp_8_i_i_mid2_reg_541_pp0_iter2_reg;
-                tmp_8_i_i_mid2_reg_541_pp0_iter4_reg <= tmp_8_i_i_mid2_reg_541_pp0_iter3_reg;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            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
-                filt1_read_reg_517 <= filt1_dout;
-                filt2_read_reg_522 <= filt2_dout;
-                height_read_reg_506 <= height_dout;
-                vconv_xlim_loc_read_reg_511 <= vconv_xlim_loc_dout;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            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
-                linebuf_0_addr_reg_550 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_1_addr_reg_556 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_2_addr_reg_562 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_3_addr_reg_568 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_4_addr_reg_574 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_5_addr_reg_580 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_6_addr_reg_586 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_7_addr_reg_592 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_8_addr_reg_598 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                linebuf_9_addr_reg_604 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-                tmp_8_i_i_mid2_reg_541 <= tmp_8_i_i_mid2_fu_410_p3;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            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
-                linebuf_5_load_reg_620 <= linebuf_5_q0;
-                linebuf_8_load_reg_625 <= linebuf_8_q0;
-                linebuf_9_load_reg_630 <= linebuf_9_q0;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            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
-                tmp2_reg_635 <= tmp2_fu_446_p2;
-                tmp3_reg_640 <= tmp3_fu_458_p2;
-                tmp7_reg_645 <= tmp7_fu_464_p2;
-                tmp_1_reg_615 <= hconv_V_dout;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (exitcond_flatten_reg_532_pp0_iter3_reg = ap_const_lv1_0))) then
-                tmp5_reg_665 <= tmp5_fu_491_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (exitcond_flatten_reg_532_pp0_iter2_reg = ap_const_lv1_0))) then
-                tmp8_reg_660 <= tmp8_fu_482_p2;
-            end if;
-        end if;
-    end process;
-    process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_const_boolean_0 = ap_block_pp0_stage0_11001) and (exitcond_flatten_reg_532_pp0_iter1_reg = ap_const_lv1_0))) then
-                tmp_30_9_i_i_reg_650 <= tmp_30_9_i_i_fu_470_p2;
-                tmp_30_i_i_reg_655 <= tmp_30_i_i_fu_474_p2;
-            end if;
-        end if;
-    end process;
-
-    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)
-    begin
-        case ap_CS_fsm is
-            when ap_ST_fsm_state1 => 
-                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
-                    ap_NS_fsm <= ap_ST_fsm_state2;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_state1;
-                end if;
-            when ap_ST_fsm_state2 => 
-                ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-            when ap_ST_fsm_pp0_stage0 => 
-                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
-                    ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-                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
-                    ap_NS_fsm <= ap_ST_fsm_state9;
-                else
-                    ap_NS_fsm <= ap_ST_fsm_pp0_stage0;
-                end if;
-            when ap_ST_fsm_state9 => 
-                ap_NS_fsm <= ap_ST_fsm_state1;
-            when others =>  
-                ap_NS_fsm <= "XXXX";
-        end case;
-    end process;
-    ap_CS_fsm_pp0_stage0 <= ap_CS_fsm(2);
-    ap_CS_fsm_state1 <= ap_CS_fsm(0);
-    ap_CS_fsm_state2 <= ap_CS_fsm(1);
-    ap_CS_fsm_state9 <= ap_CS_fsm(3);
-
-    ap_block_pp0_assign_proc : process(ap_CS_fsm, ap_block_pp0_stage0_subdone)
-    begin
-                ap_block_pp0 <= ((ap_ST_fsm_pp0_stage0 = ap_CS_fsm) and (ap_const_boolean_1 = ap_block_pp0_stage0_subdone));
-    end process;
-
-        ap_block_pp0_stage0 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    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)
-    begin
-                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)));
-    end process;
-
-
-    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)
-    begin
-                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)));
-    end process;
-
-
-    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)
-    begin
-                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)));
-    end process;
-
-
-    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)
-    begin
-                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));
-    end process;
-
-        ap_block_state3_pp0_stage0_iter0 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_block_state4_pp0_stage0_iter1_assign_proc : process(hconv_V_empty_n, exitcond_flatten_reg_532)
-    begin
-                ap_block_state4_pp0_stage0_iter1 <= ((hconv_V_empty_n = ap_const_logic_0) and (exitcond_flatten_reg_532 = ap_const_lv1_0));
-    end process;
-
-        ap_block_state5_pp0_stage0_iter2 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-        ap_block_state6_pp0_stage0_iter3 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-        ap_block_state7_pp0_stage0_iter4 <= not((ap_const_boolean_1 = ap_const_boolean_1));
-
-    ap_block_state8_pp0_stage0_iter5_assign_proc : process(vconv_V_full_n, tmp_8_i_i_mid2_reg_541_pp0_iter4_reg)
-    begin
-                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));
-    end process;
-
-
-    ap_condition_pp0_exit_iter0_state3_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-        if ((exitcond_flatten_fu_373_p2 = ap_const_lv1_1)) then 
-            ap_condition_pp0_exit_iter0_state3 <= ap_const_logic_1;
-        else 
-            ap_condition_pp0_exit_iter0_state3 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    ap_done_assign_proc : process(ap_done_reg, ap_CS_fsm_state9)
-    begin
-        if ((ap_const_logic_1 = ap_CS_fsm_state9)) then 
-            ap_done <= ap_const_logic_1;
-        else 
-            ap_done <= ap_done_reg;
-        end if; 
-    end process;
-
-
-    ap_enable_operation_44_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_44 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_46_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_46 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_48_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_48 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_50_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_50 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_52_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_52 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_54_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_54 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_56_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_56 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_58_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_58 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_60_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_60 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_62_assign_proc : process(exitcond_flatten_fu_373_p2)
-    begin
-                ap_enable_operation_62 <= (exitcond_flatten_fu_373_p2 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_66_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_66 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_67_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_67 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_68_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_68 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_69_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_69 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_70_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_70 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_71_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_71 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_72_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_72 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_73_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_73 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_74_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_74 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_75_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_75 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_76_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_76 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_77_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_77 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_78_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_78 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_79_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_79 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_80_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_80 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_81_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_81 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_82_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_82 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_83_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_83 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_84_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_84 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-
-    ap_enable_operation_89_assign_proc : process(exitcond_flatten_reg_532)
-    begin
-                ap_enable_operation_89 <= (exitcond_flatten_reg_532 = ap_const_lv1_0);
-    end process;
-
-    ap_enable_pp0 <= (ap_idle_pp0 xor ap_const_logic_1);
-
-    ap_enable_state3_pp0_iter0_stage0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter0)
-    begin
-                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));
-    end process;
-
-
-    ap_enable_state4_pp0_iter1_stage0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1)
-    begin
-                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));
-    end process;
-
-
-    ap_idle_assign_proc : process(ap_start, ap_CS_fsm_state1)
-    begin
-        if (((ap_start = ap_const_logic_0) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            ap_idle <= ap_const_logic_1;
-        else 
-            ap_idle <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            ap_idle_pp0 <= ap_const_logic_1;
-        else 
-            ap_idle_pp0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    ap_ready_assign_proc : process(ap_CS_fsm_state9)
-    begin
-        if ((ap_const_logic_1 = ap_CS_fsm_state9)) then 
-            ap_ready <= ap_const_logic_1;
-        else 
-            ap_ready <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    bound_fu_358_p0 <= bound_fu_358_p00(32 - 1 downto 0);
-    bound_fu_358_p00 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(vconv_xlim_loc_read_reg_511),64));
-    bound_fu_358_p1 <= bound_fu_358_p10(32 - 1 downto 0);
-    bound_fu_358_p10 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(height_read_reg_506),64));
-    bound_fu_358_p2 <= std_logic_vector(IEEE.numeric_std.resize(unsigned(bound_fu_358_p0) * unsigned(bound_fu_358_p1), 64));
-    col1_0_i_i_i_mid2_fu_418_p3 <= 
-        col1_0_i_i_i_reg_330 when (tmp_11_i_i_fu_368_p2(0) = '1') else 
-        col_fu_392_p2;
-    col_fu_392_p2 <= std_logic_vector(unsigned(col1_0_i_i_i_reg_330) + unsigned(ap_const_lv10_1));
-    exitcond_flatten_fu_373_p2 <= "1" when (indvar_flatten_reg_319 = bound_reg_527) else "0";
-
-    filt1_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, filt1_empty_n)
-    begin
-        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 
-            filt1_blk_n <= filt1_empty_n;
-        else 
-            filt1_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            filt1_read <= ap_const_logic_1;
-        else 
-            filt1_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    filt2_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, filt2_empty_n)
-    begin
-        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 
-            filt2_blk_n <= filt2_empty_n;
-        else 
-            filt2_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            filt2_read <= ap_const_logic_1;
-        else 
-            filt2_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            hconv_V_blk_n <= hconv_V_empty_n;
-        else 
-            hconv_V_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            hconv_V_read <= ap_const_logic_1;
-        else 
-            hconv_V_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    height_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_empty_n)
-    begin
-        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 
-            height_blk_n <= height_empty_n;
-        else 
-            height_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    height_out_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, height_out_full_n)
-    begin
-        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 
-            height_out_blk_n <= height_out_full_n;
-        else 
-            height_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    height_out_din <= height_dout;
-
-    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)
-    begin
-        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 
-            height_out_write <= ap_const_logic_1;
-        else 
-            height_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            height_read <= ap_const_logic_1;
-        else 
-            height_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    indvar_flatten_next_fu_378_p2 <= std_logic_vector(unsigned(indvar_flatten_reg_319) + unsigned(ap_const_lv64_1));
-    linebuf_0_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_0_address1 <= linebuf_0_addr_reg_550;
-
-    linebuf_0_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_0_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_0_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_0_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_0_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_0_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_0_we1 <= ap_const_logic_1;
-        else 
-            linebuf_0_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_1_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_1_address1 <= linebuf_1_addr_reg_556;
-
-    linebuf_1_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_1_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_1_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_1_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_1_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_1_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_1_we1 <= ap_const_logic_1;
-        else 
-            linebuf_1_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_2_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_2_address1 <= linebuf_2_addr_reg_562;
-
-    linebuf_2_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_2_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_2_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_2_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_2_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_2_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_2_we1 <= ap_const_logic_1;
-        else 
-            linebuf_2_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_3_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_3_address1 <= linebuf_3_addr_reg_568;
-
-    linebuf_3_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_3_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_3_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_3_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_3_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_3_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_3_we1 <= ap_const_logic_1;
-        else 
-            linebuf_3_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_4_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_4_address1 <= linebuf_4_addr_reg_574;
-
-    linebuf_4_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_4_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_4_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_4_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_4_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_4_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_4_we1 <= ap_const_logic_1;
-        else 
-            linebuf_4_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_5_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_5_address1 <= linebuf_5_addr_reg_580;
-
-    linebuf_5_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_5_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_5_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_5_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_5_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_5_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_5_we1 <= ap_const_logic_1;
-        else 
-            linebuf_5_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_6_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_6_address1 <= linebuf_6_addr_reg_586;
-
-    linebuf_6_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_6_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_6_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_6_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_6_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_6_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_6_we1 <= ap_const_logic_1;
-        else 
-            linebuf_6_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_7_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_7_address1 <= linebuf_7_addr_reg_592;
-
-    linebuf_7_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_7_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_7_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_7_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_7_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_7_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_7_we1 <= ap_const_logic_1;
-        else 
-            linebuf_7_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_8_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_8_address1 <= linebuf_8_addr_reg_598;
-
-    linebuf_8_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_8_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_8_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_8_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_8_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_8_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_8_we1 <= ap_const_logic_1;
-        else 
-            linebuf_8_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    linebuf_9_address0 <= tmp_16_i_i_fu_426_p1(10 - 1 downto 0);
-    linebuf_9_address1 <= linebuf_9_addr_reg_604;
-
-    linebuf_9_ce0_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_block_pp0_stage0_11001, ap_enable_reg_pp0_iter0)
-    begin
-        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 
-            linebuf_9_ce0 <= ap_const_logic_1;
-        else 
-            linebuf_9_ce0 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    linebuf_9_ce1_assign_proc : process(ap_CS_fsm_pp0_stage0, ap_enable_reg_pp0_iter1, ap_block_pp0_stage0_11001)
-    begin
-        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 
-            linebuf_9_ce1 <= ap_const_logic_1;
-        else 
-            linebuf_9_ce1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            linebuf_9_we1 <= ap_const_logic_1;
-        else 
-            linebuf_9_we1 <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    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));
-    row2_0_i_i_i_mid2_fu_384_p3 <= 
-        row2_0_i_i_i_reg_341 when (tmp_11_i_i_fu_368_p2(0) = '1') else 
-        ap_const_lv10_0;
-    row_fu_440_p2 <= std_logic_vector(unsigned(row2_0_i_i_i_mid2_fu_384_p3) + unsigned(ap_const_lv10_1));
-    tmp1_fu_496_p2 <= std_logic_vector(unsigned(tmp3_reg_640_pp0_iter4_reg) + unsigned(tmp2_reg_635_pp0_iter4_reg));
-    tmp2_fu_446_p2 <= std_logic_vector(unsigned(linebuf_0_q0) + unsigned(linebuf_1_q0));
-    tmp3_fu_458_p2 <= std_logic_vector(unsigned(tmp4_fu_452_p2) + unsigned(linebuf_2_q0));
-    tmp4_fu_452_p2 <= std_logic_vector(unsigned(linebuf_3_q0) + unsigned(linebuf_4_q0));
-    tmp5_fu_491_p2 <= std_logic_vector(unsigned(tmp8_reg_660) + unsigned(tmp6_fu_487_p2));
-    tmp6_fu_487_p2 <= std_logic_vector(unsigned(tmp7_reg_645_pp0_iter3_reg) + unsigned(linebuf_5_load_reg_620_pp0_iter3_reg));
-    tmp7_fu_464_p2 <= std_logic_vector(unsigned(linebuf_6_q0) + unsigned(linebuf_7_q0));
-    tmp8_fu_482_p2 <= std_logic_vector(unsigned(tmp9_fu_478_p2) + unsigned(linebuf_8_load_reg_625_pp0_iter2_reg));
-    tmp9_fu_478_p2 <= std_logic_vector(unsigned(tmp_30_9_i_i_reg_650) + unsigned(tmp_30_i_i_reg_655));
-    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";
-    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));
-    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));
-    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));
-    tmp_8_i_i_fu_404_p2 <= "1" when (unsigned(col1_0_i_i_i_reg_330) > unsigned(ap_const_lv10_9)) else "0";
-    tmp_8_i_i_mid1_fu_398_p2 <= "1" when (unsigned(col_fu_392_p2) > unsigned(ap_const_lv10_9)) else "0";
-    tmp_8_i_i_mid2_fu_410_p3 <= 
-        tmp_8_i_i_fu_404_p2 when (tmp_11_i_i_fu_368_p2(0) = '1') else 
-        tmp_8_i_i_mid1_fu_398_p2;
-
-    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)
-    begin
-        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 
-            vconv_V_blk_n <= vconv_V_full_n;
-        else 
-            vconv_V_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    vconv_V_din <= std_logic_vector(unsigned(tmp5_reg_665) + unsigned(tmp1_fu_496_p2));
-
-    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)
-    begin
-        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 
-            vconv_V_write <= ap_const_logic_1;
-        else 
-            vconv_V_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    vconv_xlim_loc_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, vconv_xlim_loc_empty_n)
-    begin
-        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 
-            vconv_xlim_loc_blk_n <= vconv_xlim_loc_empty_n;
-        else 
-            vconv_xlim_loc_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-
-    vconv_xlim_loc_out_blk_n_assign_proc : process(ap_start, ap_done_reg, ap_CS_fsm_state1, vconv_xlim_loc_out_full_n)
-    begin
-        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 
-            vconv_xlim_loc_out_blk_n <= vconv_xlim_loc_out_full_n;
-        else 
-            vconv_xlim_loc_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    vconv_xlim_loc_out_din <= vconv_xlim_loc_dout;
-
-    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)
-    begin
-        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 
-            vconv_xlim_loc_out_write <= ap_const_logic_1;
-        else 
-            vconv_xlim_loc_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    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)
-    begin
-        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 
-            vconv_xlim_loc_read <= ap_const_logic_1;
-        else 
-            vconv_xlim_loc_read <= ap_const_logic_0;
-        end if; 
-    end process;
-
-end behav;

+ 0 - 132
src/ip_repo/packaging/src/Loop_VConvH_proc_linebuf_0.vhd

@@ -1,132 +0,0 @@
--- ==============================================================
--- File generated on Wed Jun 26 16:53:30 CEST 2019
--- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
--- SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
--- IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
--- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
--- ==============================================================
---
-library ieee; 
-use ieee.std_logic_1164.all; 
-use ieee.std_logic_unsigned.all;
-
-entity Loop_VConvH_proc_linebuf_0_ram is 
-    generic(
-            MEM_TYPE    : string := "block"; 
-            DWIDTH     : integer := 32; 
-            AWIDTH     : integer := 10; 
-            MEM_SIZE    : integer := 672
-    ); 
-    port (
-          addr0     : in std_logic_vector(AWIDTH-1 downto 0); 
-          ce0       : in std_logic; 
-          q0        : out std_logic_vector(DWIDTH-1 downto 0);
-          addr1     : in std_logic_vector(AWIDTH-1 downto 0); 
-          ce1       : in std_logic; 
-          d1        : in std_logic_vector(DWIDTH-1 downto 0); 
-          we1       : in std_logic; 
-          clk        : in std_logic 
-    ); 
-end entity; 
-
-
-architecture rtl of Loop_VConvH_proc_linebuf_0_ram is 
-
-signal addr0_tmp : std_logic_vector(AWIDTH-1 downto 0); 
-type mem_array is array (0 to MEM_SIZE-1) of std_logic_vector (DWIDTH-1 downto 0); 
-shared variable ram : mem_array := (others=>(others=>'0'));
-
-attribute syn_ramstyle : string; 
-attribute syn_ramstyle of ram : variable is "block_ram";
-attribute ram_style : string;
-attribute ram_style of ram : variable is MEM_TYPE;
-
-begin 
-
-
-memory_access_guard_0: process (addr0) 
-begin
-      addr0_tmp <= addr0;
---synthesis translate_off
-      if (CONV_INTEGER(addr0) > mem_size-1) then
-           addr0_tmp <= (others => '0');
-      else 
-           addr0_tmp <= addr0;
-      end if;
---synthesis translate_on
-end process;
-
-p_memory_access_0: process (clk)  
-begin 
-    if (clk'event and clk = '1') then
-        if (ce0 = '1') then 
-            q0 <= ram(CONV_INTEGER(addr0_tmp)); 
-        end if;
-    end if;
-end process;
-
-
-p_memory_access_1: process (clk)  
-begin 
-    if (clk'event and clk = '1') then
-        if (ce1 = '1') then 
-            if (we1 = '1') then 
-                ram(CONV_INTEGER(addr1)) := d1; 
-            end if;
-        end if;
-    end if;
-end process;
-
-
-end rtl;
-
-Library IEEE;
-use IEEE.std_logic_1164.all;
-
-entity Loop_VConvH_proc_linebuf_0 is
-    generic (
-        DataWidth : INTEGER := 32;
-        AddressRange : INTEGER := 672;
-        AddressWidth : INTEGER := 10);
-    port (
-        reset : IN STD_LOGIC;
-        clk : IN STD_LOGIC;
-        address0 : IN STD_LOGIC_VECTOR(AddressWidth - 1 DOWNTO 0);
-        ce0 : IN STD_LOGIC;
-        q0 : OUT STD_LOGIC_VECTOR(DataWidth - 1 DOWNTO 0);
-        address1 : IN STD_LOGIC_VECTOR(AddressWidth - 1 DOWNTO 0);
-        ce1 : IN STD_LOGIC;
-        we1 : IN STD_LOGIC;
-        d1 : IN STD_LOGIC_VECTOR(DataWidth - 1 DOWNTO 0));
-end entity;
-
-architecture arch of Loop_VConvH_proc_linebuf_0 is
-    component Loop_VConvH_proc_linebuf_0_ram is
-        port (
-            clk : IN STD_LOGIC;
-            addr0 : IN STD_LOGIC_VECTOR;
-            ce0 : IN STD_LOGIC;
-            q0 : OUT STD_LOGIC_VECTOR;
-            addr1 : IN STD_LOGIC_VECTOR;
-            ce1 : IN STD_LOGIC;
-            we1 : IN STD_LOGIC;
-            d1 : IN STD_LOGIC_VECTOR);
-    end component;
-
-
-
-begin
-    Loop_VConvH_proc_linebuf_0_ram_U :  component Loop_VConvH_proc_linebuf_0_ram
-    port map (
-        clk => clk,
-        addr0 => address0,
-        ce0 => ce0,
-        q0 => q0,
-        addr1 => address1,
-        ce1 => ce1,
-        we1 => we1,
-        d1 => d1);
-
-end architecture;
-
-

+ 0 - 34
src/ip_repo/packaging/src/checksum.vhd

@@ -1,34 +0,0 @@
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use IEEE.std_logic_arith.ALL;
-use IEEE.STD_LOGIC_UNSIGNED.ALL;
-use work.myPackage.ALL;
-
-
-entity checksum is
-    generic(
-        busWidth : integer:=32);
-    Port ( clk : in STD_LOGIC;
-           reset : in STD_LOGIC;
-           enable : in STD_LOGIC;
-           dataIn : in std_logic_vector(busWidth-1 downto 0);
-           output : out std_logic_vector(busWidth-1 downto 0));
-end checksum;
-
-architecture Behavioral of checksum is
-    signal sum : unsigned(busWidth-1 downto 0);
-begin
-    main : process(clk, reset)
-        
-    begin
-        if(reset = '0') then
-            sum <= (others => '0');
-        elsif(rising_edge(clk)) then
-            if(enable = '1') then
-                sum <= sum + unsigned(dataIn);
-            end if;
-        end if;
-    end process;
-
-    output <= std_logic_vector(sum);
-end Behavioral;

+ 0 - 164
src/ip_repo/packaging/src/conv2d_5x5_224p.vhd

@@ -1,164 +0,0 @@
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use work.myPackage.ALL;
-
-
-entity conv2d_5x5_224p is
-    generic(
-        busWidth : integer := 32;
-        kernelSize : integer := 5;
-        imageWidth : integer := 224 + 4);
-    Port ( clk : in STD_LOGIC;
-           rst_n : in std_logic;
-           start : in STD_LOGIC;
-           ready: out std_logic;
-           idle : out std_logic := '0';
-           done : out std_logic := '0';
-           
-           srcData : in STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           srcValid : in std_logic;
-           srcReady : out std_logic;
-           
-           dstData : out STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           dstValid : out std_logic;
-           dstReady : in std_logic);
-end conv2d_5x5_224p;
-
-architecture Behavioral of conv2d_5x5_224p is
-    constant regDepth : integer := ((kernelSize-1) * imageWidth + kernelSize);
-    component shiftIn is
-        generic(
-            busWidth : integer := busWidth;
-            regDepth : integer := regDepth;
-            maxCount : integer := imageWidth*imageWidth);
-        Port ( clk : in STD_LOGIC;
-               ce : in std_logic;
-               sync_reset : in STD_LOGIC;
-               dataIn : in std_logic_vector(busWidth-1 downto 0);
-               dataOut : out register_file(0 to regDepth-1);
-               finished : out STD_LOGIC;
-               dataIndex : out integer range 0 to maxCount);
-    end component;
-    
-    component kernel_NxN is
-    Generic(
-        N: integer := kernelSize
-    );
-    Port (
-        kernelValues: in register_file(0 to N*N-1);
-        inputValues: in register_file(0 to N*N-1);
-        outputValue: out std_logic_vector(31 downto 0)
-    );
-    end component;
-    
-    function buffer_to_kernel(inp : in register_file(0 to regDepth-1)) return register_file is
-        variable ret : register_file(0 to kernelSize*kernelSize-1);
-    begin
-        for x in integer range 0 to kernelSize - 1 loop
-            for y in integer range 0 to kernelSize - 1 loop
-                ret(x + y * kernelSize) := inp(imageWidth*(kernelSize-1-y) + (kernelSize-1-x));
-            end loop;
-        end loop;
-        return ret;
-    end function;
-    
-    signal kernelOutput : std_logic_vector(busWidth-1 downto 0);
-    signal inputBuffer : register_file(0 to regDepth-1);
-    signal kernelValues : register_file(0 to kernelSize*kernelSize-1);
-    signal dataIndex : integer range 0 to imageWidth*imageWidth;
-    
-    signal working : std_logic := '0';
-    signal dstStalled_s : std_logic := '0';
-    signal dstValid_s : std_logic := '0';
-    
-begin
-    kernel_5x5 : kernel_NxN port map (
-        kernelValues => kernelValues,
-        inputValues => buffer_to_kernel(inputBuffer),
-        outputValue => kernelOutput
-    );
-    dstData <= kernelOutput;
-    shiftIn2: shiftIn port map (
-        clk         => clk,
-        ce          => dstValid_s,
-        sync_reset  => working,
-        dataIn      => srcData,
-        dataOut     => inputBuffer,
-        dataIndex    => dataIndex
-    );
-    
-    setKernel : process(rst_n) begin
-        kernelValues <= (others => (others => '0'));
-        
-        -- 0  0  0  0  0
-        -- 0 -1 -1 -1  0
-        -- 0 -1  8 -1  0
-        -- 0 -1 -1 -1  0
-        -- 0  0  0  0  0
-        
-        kernelValues(6) <= x"FFFFFFFF";
-        kernelValues(7) <= x"FFFFFFFF";
-        kernelValues(8) <= x"FFFFFFFF";
-        
-        kernelValues(11) <= x"FFFFFFFF";
-        kernelValues(12) <= x"00000008";
-        kernelValues(13) <= x"FFFFFFFF";
-        
-        kernelValues(16) <= x"FFFFFFFF";
-        kernelValues(17) <= x"FFFFFFFF";
-        kernelValues(18) <= x"FFFFFFFF";
-        
-    end process;
-    
-    dataPathStall : process(rst_n, clk)
-    
-    begin
-        if rst_n = '0' then
-            dstStalled_s <= '0';
-        elsif rising_edge(clk) then
-            if working = '1' and srcValid = '1' and dstReady = '0' then
-                dstStalled_s <= '1';
-            elsif dstStalled_s = '1' and working = '1' and dstReady = '1' then
-                dstStalled_s <= '0';
-            end if;
-        end if;
-    end process;
-    
-    dstValid_s <= working and dstReady and (srcValid or dstStalled_s);
-    dstValid <= dstValid_s;
-    
-    srcRdy : process(dataIndex, working, dstReady, srcValid, start) begin
-        if (dataIndex = imageWidth*imageWidth - 1 and srcValid = '1') or dataIndex = imageWidth*imageWidth then
-            srcReady <= '0';
-        else
-            srcReady <= working and dstReady and not dstStalled_s and start;
-        end if;
-    end process;
-    
-    reset : process(rst_n, clk)
-    begin
-        if rst_n = '0' then
-            working <= '0';
-            done <= '0';
-        elsif rising_edge(clk) then
-            done <= '0';
-            working <= '0';
-           
-            if dataIndex = imageWidth*imageWidth - 1 and dstValid_s = '1' then
-                done <= '1';
-                working <= '1';
-            elsif dataIndex = imageWidth*imageWidth then
-                working <= '0';
-            elsif start = '1' then
-                working <= '1';
-            end if;
-        end if;
-    end process;
-    
-    idle <= rst_n and not working;
-    ready <= rst_n;
-    
-    
-
-end Behavioral;

+ 0 - 117
src/ip_repo/packaging/src/dummyModule.vhd

@@ -1,117 +0,0 @@
-----------------------------------------------------------------------------------
--- Company: 
--- Engineer: 
--- 
--- Create Date: 12.06.2019 22:30:43
--- Design Name: 
--- Module Name: dummyModule - Behavioral
--- Project Name: 
--- Target Devices: 
--- Tool Versions: 
--- Description: 
--- 
--- Dependencies: 
--- 
--- Revision:
--- Revision 0.01 - File Created
--- Additional Comments:
--- 
-----------------------------------------------------------------------------------
-
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use work.myPackage.ALL;
-
-entity dummyModule is
-    generic(
-        busWidth : integer:=32;
-        regDepth : integer:=4);
-    Port ( clk : in STD_LOGIC;
-           rst_n : in STD_LOGIC;
-           start : in STD_LOGIC;
-           ready: out std_logic;
-           idle : out std_logic;
-           done : out std_logic;
-           
-           srcData : in STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           srcValid : in std_logic;
-           srcReady : out std_logic;
-           
-           dstData : out STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           dstValid : out std_logic;
-           dstReady : in std_logic);
-end dummyModule;
-
-architecture Behavioral of dummyModule is
-    signal working : std_logic := '0';
-    signal dstStalled_s : std_logic := '0';
-    signal dstValid_s : std_logic := '0';
-    
-    signal dataIndex : integer range 0 to regDepth;
-begin
-    
-    dstData <= srcData;
-    
-    reset : process(rst_n, clk)
-    begin
-        if rst_n = '0' then
-            working <= '0';
-            done <= '0';
-        elsif rising_edge(clk) then
-            done <= '0';
-            working <= '0';
-           
-            if dataIndex = regDepth - 1 and dstValid_s = '1' then
-                done <= '1';
-                working <= '1';
-            elsif dataIndex = regDepth then
-                working <= '0';
-            elsif start = '1' then
-                working <= '1';
-            end if;
-        end if;
-    end process;
-    
-    idle <= rst_n and not working;
-    ready <= rst_n;
-    
-    dataPathStall : process(rst_n, clk)
-    
-    begin
-        if rst_n = '0' then
-            dstStalled_s <= '0';
-        elsif rising_edge(clk) then
-            if working = '1' and srcValid = '1' and dstReady = '0' then
-                dstStalled_s <= '1';
-            elsif dstStalled_s = '1' and working = '1' and dstReady = '1' then
-                dstStalled_s <= '0';
-            end if;
-        end if;
-    end process;
-    
-    dstValid_s <= working and dstReady and (srcValid or dstStalled_s);
-    dstValid <= dstValid_s;
-    
-    srcRdy : process(dataIndex, working, dstReady, srcValid, start) begin
-        if (dataIndex = regDepth - 1 and srcValid = '1') or dataIndex = regDepth then
-            srcReady <= '0';
-        else
-            srcReady <= working and dstReady and not dstStalled_s and start;
-        end if;
-    end process;
-    
-    dataCounter : process(rst_n, clk) begin
-        if rst_n = '0' then
-            dataIndex <= 0;
-        elsif rising_edge(clk) then
-            if start = '1' and srcValid = '1' then
-                dataIndex <= dataIndex + 1;
-            elsif start = '0' then
-                dataIndex <= 0;
-            else
-                dataIndex <= dataIndex;
-            end if;
-        end if;
-    end process;
-end Behavioral;

+ 0 - 140
src/ip_repo/packaging/src/fifo_w32_d2_A.vhd

@@ -1,140 +0,0 @@
--- ==============================================================
--- File generated on Wed Jun 26 16:53:30 CEST 2019
--- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
--- SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
--- IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
--- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
--- ==============================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.std_logic_unsigned.all;
-
-entity fifo_w32_d2_A_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 32;
-        ADDR_WIDTH : integer := 1;
-        DEPTH : integer := 2);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-end fifo_w32_d2_A_shiftReg;
-
-architecture rtl of fifo_w32_d2_A_shiftReg is
---constant DEPTH_WIDTH: integer := 16;
-type SRL_ARRAY is array (0 to DEPTH-1) of std_logic_vector(DATA_WIDTH-1 downto 0);
-signal SRL_SIG : SRL_ARRAY;
-
-begin
-p_shift: process (clk)
-begin
-    if (clk'event and clk = '1') then
-        if (ce = '1') then
-            SRL_SIG <= data & SRL_SIG(0 to DEPTH-2);
-        end if;
-    end if;
-end process;
-
-q <= SRL_SIG(conv_integer(a));
-
-end rtl;
-
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.std_logic_unsigned.all;
-use ieee.std_logic_arith.all;
-
-entity fifo_w32_d2_A is 
-    generic (
-        MEM_STYLE  : string := "shiftreg"; 
-        DATA_WIDTH : integer := 32;
-        ADDR_WIDTH : integer := 1;
-        DEPTH : integer := 2);
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_empty_n : OUT STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_read : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0));
-end entity;
-
-architecture rtl of fifo_w32_d2_A is
-
-    component fifo_w32_d2_A_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 32;
-        ADDR_WIDTH : integer := 1;
-        DEPTH : integer := 2);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-    end component;
-
-    signal shiftReg_addr : STD_LOGIC_VECTOR(ADDR_WIDTH - 1 downto 0);
-    signal shiftReg_data, shiftReg_q : STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-    signal shiftReg_ce : STD_LOGIC;
-    signal mOutPtr : STD_LOGIC_VECTOR(ADDR_WIDTH downto 0) := (others => '1');
-    signal internal_empty_n : STD_LOGIC := '0';
-    signal internal_full_n  : STD_LOGIC := '1';
-
-begin
-    if_empty_n <= internal_empty_n;
-    if_full_n <= internal_full_n;
-    shiftReg_data <= if_din;
-    if_dout <= shiftReg_q;
-
-    process (clk)
-    begin
-        if clk'event and clk = '1' then
-            if reset = '1' then
-                mOutPtr <= (others => '1');
-                internal_empty_n <= '0';
-                internal_full_n <= '1';
-            else
-                if ((if_read and if_read_ce) = '1' and internal_empty_n = '1') and 
-                   ((if_write and if_write_ce) = '0' or internal_full_n = '0') then
-                    mOutPtr <= mOutPtr - conv_std_logic_vector(1, 2);
-                    if (mOutPtr = conv_std_logic_vector(0, 2)) then 
-                        internal_empty_n <= '0';
-                    end if;
-                    internal_full_n <= '1';
-                elsif ((if_read and if_read_ce) = '0' or internal_empty_n = '0') and 
-                   ((if_write and if_write_ce) = '1' and internal_full_n = '1') then
-                    mOutPtr <= mOutPtr + conv_std_logic_vector(1, 2);
-                    internal_empty_n <= '1';
-                    if (mOutPtr = conv_std_logic_vector(DEPTH, 2) - conv_std_logic_vector(2, 2)) then 
-                        internal_full_n <= '0';
-                    end if;
-                end if;
-            end if;
-        end if;
-    end process;
-
-    shiftReg_addr <= (others => '0') when mOutPtr(ADDR_WIDTH) = '1' else mOutPtr(ADDR_WIDTH-1 downto 0);
-    shiftReg_ce <= (if_write and if_write_ce) and internal_full_n;
-
-    U_fifo_w32_d2_A_shiftReg : fifo_w32_d2_A_shiftReg
-    generic map (
-        DATA_WIDTH => DATA_WIDTH,
-        ADDR_WIDTH => ADDR_WIDTH,
-        DEPTH => DEPTH)
-    port map (
-        clk => clk,
-        data => shiftReg_data,
-        ce => shiftReg_ce,
-        a => shiftReg_addr,
-        q => shiftReg_q);
-
-end rtl;
-

+ 0 - 140
src/ip_repo/packaging/src/fifo_w32_d3_A.vhd

@@ -1,140 +0,0 @@
--- ==============================================================
--- File generated on Wed Jun 26 16:53:30 CEST 2019
--- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
--- SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
--- IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
--- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
--- ==============================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.std_logic_unsigned.all;
-
-entity fifo_w32_d3_A_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 32;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-end fifo_w32_d3_A_shiftReg;
-
-architecture rtl of fifo_w32_d3_A_shiftReg is
---constant DEPTH_WIDTH: integer := 16;
-type SRL_ARRAY is array (0 to DEPTH-1) of std_logic_vector(DATA_WIDTH-1 downto 0);
-signal SRL_SIG : SRL_ARRAY;
-
-begin
-p_shift: process (clk)
-begin
-    if (clk'event and clk = '1') then
-        if (ce = '1') then
-            SRL_SIG <= data & SRL_SIG(0 to DEPTH-2);
-        end if;
-    end if;
-end process;
-
-q <= SRL_SIG(conv_integer(a));
-
-end rtl;
-
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.std_logic_unsigned.all;
-use ieee.std_logic_arith.all;
-
-entity fifo_w32_d3_A is 
-    generic (
-        MEM_STYLE  : string := "shiftreg"; 
-        DATA_WIDTH : integer := 32;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_empty_n : OUT STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_read : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0));
-end entity;
-
-architecture rtl of fifo_w32_d3_A is
-
-    component fifo_w32_d3_A_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 32;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-    end component;
-
-    signal shiftReg_addr : STD_LOGIC_VECTOR(ADDR_WIDTH - 1 downto 0);
-    signal shiftReg_data, shiftReg_q : STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-    signal shiftReg_ce : STD_LOGIC;
-    signal mOutPtr : STD_LOGIC_VECTOR(ADDR_WIDTH downto 0) := (others => '1');
-    signal internal_empty_n : STD_LOGIC := '0';
-    signal internal_full_n  : STD_LOGIC := '1';
-
-begin
-    if_empty_n <= internal_empty_n;
-    if_full_n <= internal_full_n;
-    shiftReg_data <= if_din;
-    if_dout <= shiftReg_q;
-
-    process (clk)
-    begin
-        if clk'event and clk = '1' then
-            if reset = '1' then
-                mOutPtr <= (others => '1');
-                internal_empty_n <= '0';
-                internal_full_n <= '1';
-            else
-                if ((if_read and if_read_ce) = '1' and internal_empty_n = '1') and 
-                   ((if_write and if_write_ce) = '0' or internal_full_n = '0') then
-                    mOutPtr <= mOutPtr - conv_std_logic_vector(1, 3);
-                    if (mOutPtr = conv_std_logic_vector(0, 3)) then 
-                        internal_empty_n <= '0';
-                    end if;
-                    internal_full_n <= '1';
-                elsif ((if_read and if_read_ce) = '0' or internal_empty_n = '0') and 
-                   ((if_write and if_write_ce) = '1' and internal_full_n = '1') then
-                    mOutPtr <= mOutPtr + conv_std_logic_vector(1, 3);
-                    internal_empty_n <= '1';
-                    if (mOutPtr = conv_std_logic_vector(DEPTH, 3) - conv_std_logic_vector(2, 3)) then 
-                        internal_full_n <= '0';
-                    end if;
-                end if;
-            end if;
-        end if;
-    end process;
-
-    shiftReg_addr <= (others => '0') when mOutPtr(ADDR_WIDTH) = '1' else mOutPtr(ADDR_WIDTH-1 downto 0);
-    shiftReg_ce <= (if_write and if_write_ce) and internal_full_n;
-
-    U_fifo_w32_d3_A_shiftReg : fifo_w32_d3_A_shiftReg
-    generic map (
-        DATA_WIDTH => DATA_WIDTH,
-        ADDR_WIDTH => ADDR_WIDTH,
-        DEPTH => DEPTH)
-    port map (
-        clk => clk,
-        data => shiftReg_data,
-        ce => shiftReg_ce,
-        a => shiftReg_addr,
-        q => shiftReg_q);
-
-end rtl;
-

+ 0 - 923
src/ip_repo/packaging/src/filter11x11_strm.vhd

@@ -1,923 +0,0 @@
--- ==============================================================
--- RTL generated by Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC
--- Version: 2018.3
--- Copyright (C) 1986-2018 Xilinx, Inc. All Rights Reserved.
--- 
--- ===========================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-
-entity filter11x11_strm is
-port (
-    width : IN STD_LOGIC_VECTOR (31 downto 0);
-    height : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt1 : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt2 : IN STD_LOGIC_VECTOR (31 downto 0);
-    src_V_TDATA : IN STD_LOGIC_VECTOR (31 downto 0);
-    dst_V_TDATA : OUT STD_LOGIC_VECTOR (31 downto 0);
-    ap_clk : IN STD_LOGIC;
-    ap_rst_n : IN STD_LOGIC;
-    ap_start : IN STD_LOGIC;
-    src_V_TVALID : IN STD_LOGIC;
-    src_V_TREADY : OUT STD_LOGIC;
-    dst_V_TVALID : OUT STD_LOGIC;
-    dst_V_TREADY : IN STD_LOGIC;
-    ap_done : OUT STD_LOGIC;
-    ap_ready : OUT STD_LOGIC;
-    ap_idle : OUT STD_LOGIC );
-end;
-
-
-architecture behav of filter11x11_strm is 
-    attribute CORE_GENERATION_INFO : STRING;
-    attribute CORE_GENERATION_INFO of behav : architecture is
-    "filter11x11_strm,hls_ip_2018_3,{HLS_INPUT_TYPE=cxx,HLS_INPUT_FLOAT=0,HLS_INPUT_FIXED=0,HLS_INPUT_PART=xc7a100tcsg324-1,HLS_INPUT_CLOCK=10.000000,HLS_INPUT_ARCH=dataflow,HLS_SYN_CLOCK=8.470000,HLS_SYN_LAT=-1,HLS_SYN_TPT=-1,HLS_SYN_MEM=22,HLS_SYN_DSP=28,HLS_SYN_FF=3339,HLS_SYN_LUT=3643,HLS_VERSION=2018_3}";
-    constant ap_const_lv32_0 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000000";
-    constant ap_const_logic_1 : STD_LOGIC := '1';
-    constant ap_const_logic_0 : STD_LOGIC := '0';
-    constant ap_const_lv2_0 : STD_LOGIC_VECTOR (1 downto 0) := "00";
-    constant ap_const_lv2_1 : STD_LOGIC_VECTOR (1 downto 0) := "01";
-    constant ap_const_boolean_1 : BOOLEAN := true;
-
-    signal ap_rst_n_inv : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_ap_start : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_start_full_n : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_ap_done : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_ap_continue : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_ap_idle : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_ap_ready : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_start_out : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_start_write : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_width_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal filter11x11_strm_ent_U0_width_out_write : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_width_out1_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal filter11x11_strm_ent_U0_width_out1_write : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_height_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal filter11x11_strm_ent_U0_height_out_write : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_height_out2_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal filter11x11_strm_ent_U0_height_out2_write : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_filt1_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal filter11x11_strm_ent_U0_filt1_out_write : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_filt1_out3_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal filter11x11_strm_ent_U0_filt1_out3_write : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_filt2_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal filter11x11_strm_ent_U0_filt2_out_write : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_filt2_out4_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal filter11x11_strm_ent_U0_filt2_out4_write : STD_LOGIC;
-    signal Block_proc_U0_ap_start : STD_LOGIC;
-    signal Block_proc_U0_ap_done : STD_LOGIC;
-    signal Block_proc_U0_ap_continue : STD_LOGIC;
-    signal Block_proc_U0_ap_idle : STD_LOGIC;
-    signal Block_proc_U0_ap_ready : STD_LOGIC;
-    signal Block_proc_U0_start_out : STD_LOGIC;
-    signal Block_proc_U0_start_write : STD_LOGIC;
-    signal Block_proc_U0_width_read : STD_LOGIC;
-    signal Block_proc_U0_height_read : STD_LOGIC;
-    signal Block_proc_U0_width_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal Block_proc_U0_width_out_write : STD_LOGIC;
-    signal Block_proc_U0_height_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal Block_proc_U0_height_out_write : STD_LOGIC;
-    signal Block_proc_U0_vconv_xlim_out_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal Block_proc_U0_vconv_xlim_out_out_write : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_ap_start : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_ap_done : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_ap_continue : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_ap_idle : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_ap_ready : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_height_read : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_width_read : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_src_V_TREADY : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_filt1_read : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_filt2_read : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_hconv_V_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal Loop_HConvH_proc6_U0_hconv_V_write : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_ap_start : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_ap_done : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_ap_continue : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_ap_idle : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_ap_ready : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_height_read : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_vconv_xlim_loc_read : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_hconv_V_read : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_vconv_V_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal Loop_VConvH_proc_U0_vconv_V_write : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_filt1_read : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_filt2_read : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_height_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal Loop_VConvH_proc_U0_height_out_write : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_vconv_xlim_loc_out_din : STD_LOGIC_VECTOR (31 downto 0);
-    signal Loop_VConvH_proc_U0_vconv_xlim_loc_out_write : STD_LOGIC;
-    signal Loop_Border_proc_U0_ap_start : STD_LOGIC;
-    signal Loop_Border_proc_U0_ap_done : STD_LOGIC;
-    signal Loop_Border_proc_U0_ap_continue : STD_LOGIC;
-    signal Loop_Border_proc_U0_ap_idle : STD_LOGIC;
-    signal Loop_Border_proc_U0_ap_ready : STD_LOGIC;
-    signal Loop_Border_proc_U0_width_read : STD_LOGIC;
-    signal Loop_Border_proc_U0_height_read : STD_LOGIC;
-    signal Loop_Border_proc_U0_dst_V_TDATA : STD_LOGIC_VECTOR (31 downto 0);
-    signal Loop_Border_proc_U0_dst_V_TVALID : STD_LOGIC;
-    signal Loop_Border_proc_U0_vconv_xlim_loc_read : STD_LOGIC;
-    signal Loop_Border_proc_U0_vconv_V_read : STD_LOGIC;
-    signal ap_sync_continue : STD_LOGIC;
-    signal width_c_full_n : STD_LOGIC;
-    signal width_c_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal width_c_empty_n : STD_LOGIC;
-    signal width_c155_full_n : STD_LOGIC;
-    signal width_c155_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal width_c155_empty_n : STD_LOGIC;
-    signal height_c_full_n : STD_LOGIC;
-    signal height_c_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal height_c_empty_n : STD_LOGIC;
-    signal height_c156_full_n : STD_LOGIC;
-    signal height_c156_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal height_c156_empty_n : STD_LOGIC;
-    signal filt1_c_full_n : STD_LOGIC;
-    signal filt1_c_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal filt1_c_empty_n : STD_LOGIC;
-    signal filt1_c157_full_n : STD_LOGIC;
-    signal filt1_c157_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal filt1_c157_empty_n : STD_LOGIC;
-    signal filt2_c_full_n : STD_LOGIC;
-    signal filt2_c_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal filt2_c_empty_n : STD_LOGIC;
-    signal filt2_c158_full_n : STD_LOGIC;
-    signal filt2_c158_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal filt2_c158_empty_n : STD_LOGIC;
-    signal width_c159_full_n : STD_LOGIC;
-    signal width_c159_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal width_c159_empty_n : STD_LOGIC;
-    signal height_c160_full_n : STD_LOGIC;
-    signal height_c160_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal height_c160_empty_n : STD_LOGIC;
-    signal vconv_xlim_loc_c_full_n : STD_LOGIC;
-    signal vconv_xlim_loc_c_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal vconv_xlim_loc_c_empty_n : STD_LOGIC;
-    signal hconv_V_full_n : STD_LOGIC;
-    signal hconv_V_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal hconv_V_empty_n : STD_LOGIC;
-    signal vconv_V_full_n : STD_LOGIC;
-    signal vconv_V_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal vconv_V_empty_n : STD_LOGIC;
-    signal height_c161_full_n : STD_LOGIC;
-    signal height_c161_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal height_c161_empty_n : STD_LOGIC;
-    signal vconv_xlim_loc_c162_full_n : STD_LOGIC;
-    signal vconv_xlim_loc_c162_dout : STD_LOGIC_VECTOR (31 downto 0);
-    signal vconv_xlim_loc_c162_empty_n : STD_LOGIC;
-    signal ap_sync_done : STD_LOGIC;
-    signal ap_sync_ready : STD_LOGIC;
-    signal ap_sync_reg_filter11x11_strm_ent_U0_ap_ready : STD_LOGIC := '0';
-    signal ap_sync_filter11x11_strm_ent_U0_ap_ready : STD_LOGIC;
-    signal filter11x11_strm_ent_U0_ap_ready_count : STD_LOGIC_VECTOR (1 downto 0) := "00";
-    signal ap_sync_reg_Loop_HConvH_proc6_U0_ap_ready : STD_LOGIC := '0';
-    signal ap_sync_Loop_HConvH_proc6_U0_ap_ready : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_ap_ready_count : STD_LOGIC_VECTOR (1 downto 0) := "00";
-    signal start_for_Block_proc_U0_din : STD_LOGIC_VECTOR (0 downto 0);
-    signal start_for_Block_proc_U0_full_n : STD_LOGIC;
-    signal start_for_Block_proc_U0_dout : STD_LOGIC_VECTOR (0 downto 0);
-    signal start_for_Block_proc_U0_empty_n : STD_LOGIC;
-    signal start_for_Loop_VConvH_proc_U0_din : STD_LOGIC_VECTOR (0 downto 0);
-    signal start_for_Loop_VConvH_proc_U0_full_n : STD_LOGIC;
-    signal start_for_Loop_VConvH_proc_U0_dout : STD_LOGIC_VECTOR (0 downto 0);
-    signal start_for_Loop_VConvH_proc_U0_empty_n : STD_LOGIC;
-    signal start_for_Loop_Border_proc_U0_din : STD_LOGIC_VECTOR (0 downto 0);
-    signal start_for_Loop_Border_proc_U0_full_n : STD_LOGIC;
-    signal start_for_Loop_Border_proc_U0_dout : STD_LOGIC_VECTOR (0 downto 0);
-    signal start_for_Loop_Border_proc_U0_empty_n : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_start_full_n : STD_LOGIC;
-    signal Loop_HConvH_proc6_U0_start_write : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_start_full_n : STD_LOGIC;
-    signal Loop_VConvH_proc_U0_start_write : STD_LOGIC;
-    signal Loop_Border_proc_U0_start_full_n : STD_LOGIC;
-    signal Loop_Border_proc_U0_start_write : STD_LOGIC;
-
-    component filter11x11_strm_ent IS
-    port (
-        ap_clk : IN STD_LOGIC;
-        ap_rst : IN STD_LOGIC;
-        ap_start : IN STD_LOGIC;
-        start_full_n : IN STD_LOGIC;
-        ap_done : OUT STD_LOGIC;
-        ap_continue : IN STD_LOGIC;
-        ap_idle : OUT STD_LOGIC;
-        ap_ready : OUT STD_LOGIC;
-        start_out : OUT STD_LOGIC;
-        start_write : OUT STD_LOGIC;
-        width : IN STD_LOGIC_VECTOR (31 downto 0);
-        height : IN STD_LOGIC_VECTOR (31 downto 0);
-        filt1 : IN STD_LOGIC_VECTOR (31 downto 0);
-        filt2 : IN STD_LOGIC_VECTOR (31 downto 0);
-        width_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        width_out_full_n : IN STD_LOGIC;
-        width_out_write : OUT STD_LOGIC;
-        width_out1_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        width_out1_full_n : IN STD_LOGIC;
-        width_out1_write : OUT STD_LOGIC;
-        height_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        height_out_full_n : IN STD_LOGIC;
-        height_out_write : OUT STD_LOGIC;
-        height_out2_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        height_out2_full_n : IN STD_LOGIC;
-        height_out2_write : OUT STD_LOGIC;
-        filt1_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        filt1_out_full_n : IN STD_LOGIC;
-        filt1_out_write : OUT STD_LOGIC;
-        filt1_out3_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        filt1_out3_full_n : IN STD_LOGIC;
-        filt1_out3_write : OUT STD_LOGIC;
-        filt2_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        filt2_out_full_n : IN STD_LOGIC;
-        filt2_out_write : OUT STD_LOGIC;
-        filt2_out4_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        filt2_out4_full_n : IN STD_LOGIC;
-        filt2_out4_write : OUT STD_LOGIC );
-    end component;
-
-
-    component Block_proc IS
-    port (
-        ap_clk : IN STD_LOGIC;
-        ap_rst : IN STD_LOGIC;
-        ap_start : IN STD_LOGIC;
-        start_full_n : IN STD_LOGIC;
-        ap_done : OUT STD_LOGIC;
-        ap_continue : IN STD_LOGIC;
-        ap_idle : OUT STD_LOGIC;
-        ap_ready : OUT STD_LOGIC;
-        start_out : OUT STD_LOGIC;
-        start_write : OUT STD_LOGIC;
-        width_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        width_empty_n : IN STD_LOGIC;
-        width_read : OUT STD_LOGIC;
-        height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        height_empty_n : IN STD_LOGIC;
-        height_read : OUT STD_LOGIC;
-        width_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        width_out_full_n : IN STD_LOGIC;
-        width_out_write : OUT STD_LOGIC;
-        height_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        height_out_full_n : IN STD_LOGIC;
-        height_out_write : OUT STD_LOGIC;
-        vconv_xlim_out_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        vconv_xlim_out_out_full_n : IN STD_LOGIC;
-        vconv_xlim_out_out_write : OUT STD_LOGIC );
-    end component;
-
-
-    component Loop_HConvH_proc6 IS
-    port (
-        ap_clk : IN STD_LOGIC;
-        ap_rst : IN STD_LOGIC;
-        ap_start : IN STD_LOGIC;
-        ap_done : OUT STD_LOGIC;
-        ap_continue : IN STD_LOGIC;
-        ap_idle : OUT STD_LOGIC;
-        ap_ready : OUT STD_LOGIC;
-        height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        height_empty_n : IN STD_LOGIC;
-        height_read : OUT STD_LOGIC;
-        width_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        width_empty_n : IN STD_LOGIC;
-        width_read : OUT STD_LOGIC;
-        src_V_TDATA : IN STD_LOGIC_VECTOR (31 downto 0);
-        src_V_TVALID : IN STD_LOGIC;
-        src_V_TREADY : OUT STD_LOGIC;
-        filt1_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        filt1_empty_n : IN STD_LOGIC;
-        filt1_read : OUT STD_LOGIC;
-        filt2_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        filt2_empty_n : IN STD_LOGIC;
-        filt2_read : OUT STD_LOGIC;
-        hconv_V_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        hconv_V_full_n : IN STD_LOGIC;
-        hconv_V_write : OUT STD_LOGIC );
-    end component;
-
-
-    component Loop_VConvH_proc IS
-    port (
-        ap_clk : IN STD_LOGIC;
-        ap_rst : IN STD_LOGIC;
-        ap_start : IN STD_LOGIC;
-        ap_done : OUT STD_LOGIC;
-        ap_continue : IN STD_LOGIC;
-        ap_idle : OUT STD_LOGIC;
-        ap_ready : OUT STD_LOGIC;
-        height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        height_empty_n : IN STD_LOGIC;
-        height_read : OUT STD_LOGIC;
-        vconv_xlim_loc_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        vconv_xlim_loc_empty_n : IN STD_LOGIC;
-        vconv_xlim_loc_read : OUT STD_LOGIC;
-        hconv_V_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        hconv_V_empty_n : IN STD_LOGIC;
-        hconv_V_read : OUT STD_LOGIC;
-        vconv_V_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        vconv_V_full_n : IN STD_LOGIC;
-        vconv_V_write : OUT STD_LOGIC;
-        filt1_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        filt1_empty_n : IN STD_LOGIC;
-        filt1_read : OUT STD_LOGIC;
-        filt2_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        filt2_empty_n : IN STD_LOGIC;
-        filt2_read : OUT STD_LOGIC;
-        height_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        height_out_full_n : IN STD_LOGIC;
-        height_out_write : OUT STD_LOGIC;
-        vconv_xlim_loc_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-        vconv_xlim_loc_out_full_n : IN STD_LOGIC;
-        vconv_xlim_loc_out_write : OUT STD_LOGIC );
-    end component;
-
-
-    component Loop_Border_proc IS
-    port (
-        ap_clk : IN STD_LOGIC;
-        ap_rst : IN STD_LOGIC;
-        ap_start : IN STD_LOGIC;
-        ap_done : OUT STD_LOGIC;
-        ap_continue : IN STD_LOGIC;
-        ap_idle : OUT STD_LOGIC;
-        ap_ready : OUT STD_LOGIC;
-        width_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        width_empty_n : IN STD_LOGIC;
-        width_read : OUT STD_LOGIC;
-        height_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        height_empty_n : IN STD_LOGIC;
-        height_read : OUT STD_LOGIC;
-        dst_V_TDATA : OUT STD_LOGIC_VECTOR (31 downto 0);
-        dst_V_TVALID : OUT STD_LOGIC;
-        dst_V_TREADY : IN STD_LOGIC;
-        vconv_xlim_loc_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        vconv_xlim_loc_empty_n : IN STD_LOGIC;
-        vconv_xlim_loc_read : OUT STD_LOGIC;
-        vconv_V_dout : IN STD_LOGIC_VECTOR (31 downto 0);
-        vconv_V_empty_n : IN STD_LOGIC;
-        vconv_V_read : OUT STD_LOGIC );
-    end component;
-
-
-    component fifo_w32_d2_A IS
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR (31 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR (31 downto 0);
-        if_empty_n : OUT STD_LOGIC;
-        if_read : IN STD_LOGIC );
-    end component;
-
-
-    component fifo_w32_d3_A IS
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR (31 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR (31 downto 0);
-        if_empty_n : OUT STD_LOGIC;
-        if_read : IN STD_LOGIC );
-    end component;
-
-
-    component start_for_Block_proc_U0 IS
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR (0 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR (0 downto 0);
-        if_empty_n : OUT STD_LOGIC;
-        if_read : IN STD_LOGIC );
-    end component;
-
-
-    component start_for_Loop_VConvH_proc_U0 IS
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR (0 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR (0 downto 0);
-        if_empty_n : OUT STD_LOGIC;
-        if_read : IN STD_LOGIC );
-    end component;
-
-
-    component start_for_Loop_Border_proc_U0 IS
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR (0 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR (0 downto 0);
-        if_empty_n : OUT STD_LOGIC;
-        if_read : IN STD_LOGIC );
-    end component;
-
-
-
-begin
-    filter11x11_strm_ent_U0 : component filter11x11_strm_ent
-    port map (
-        ap_clk => ap_clk,
-        ap_rst => ap_rst_n_inv,
-        ap_start => filter11x11_strm_ent_U0_ap_start,
-        start_full_n => filter11x11_strm_ent_U0_start_full_n,
-        ap_done => filter11x11_strm_ent_U0_ap_done,
-        ap_continue => filter11x11_strm_ent_U0_ap_continue,
-        ap_idle => filter11x11_strm_ent_U0_ap_idle,
-        ap_ready => filter11x11_strm_ent_U0_ap_ready,
-        start_out => filter11x11_strm_ent_U0_start_out,
-        start_write => filter11x11_strm_ent_U0_start_write,
-        width => width,
-        height => height,
-        filt1 => filt1,
-        filt2 => filt2,
-        width_out_din => filter11x11_strm_ent_U0_width_out_din,
-        width_out_full_n => width_c_full_n,
-        width_out_write => filter11x11_strm_ent_U0_width_out_write,
-        width_out1_din => filter11x11_strm_ent_U0_width_out1_din,
-        width_out1_full_n => width_c155_full_n,
-        width_out1_write => filter11x11_strm_ent_U0_width_out1_write,
-        height_out_din => filter11x11_strm_ent_U0_height_out_din,
-        height_out_full_n => height_c_full_n,
-        height_out_write => filter11x11_strm_ent_U0_height_out_write,
-        height_out2_din => filter11x11_strm_ent_U0_height_out2_din,
-        height_out2_full_n => height_c156_full_n,
-        height_out2_write => filter11x11_strm_ent_U0_height_out2_write,
-        filt1_out_din => filter11x11_strm_ent_U0_filt1_out_din,
-        filt1_out_full_n => filt1_c_full_n,
-        filt1_out_write => filter11x11_strm_ent_U0_filt1_out_write,
-        filt1_out3_din => filter11x11_strm_ent_U0_filt1_out3_din,
-        filt1_out3_full_n => filt1_c157_full_n,
-        filt1_out3_write => filter11x11_strm_ent_U0_filt1_out3_write,
-        filt2_out_din => filter11x11_strm_ent_U0_filt2_out_din,
-        filt2_out_full_n => filt2_c_full_n,
-        filt2_out_write => filter11x11_strm_ent_U0_filt2_out_write,
-        filt2_out4_din => filter11x11_strm_ent_U0_filt2_out4_din,
-        filt2_out4_full_n => filt2_c158_full_n,
-        filt2_out4_write => filter11x11_strm_ent_U0_filt2_out4_write);
-
-    Block_proc_U0 : component Block_proc
-    port map (
-        ap_clk => ap_clk,
-        ap_rst => ap_rst_n_inv,
-        ap_start => Block_proc_U0_ap_start,
-        start_full_n => start_for_Loop_Border_proc_U0_full_n,
-        ap_done => Block_proc_U0_ap_done,
-        ap_continue => Block_proc_U0_ap_continue,
-        ap_idle => Block_proc_U0_ap_idle,
-        ap_ready => Block_proc_U0_ap_ready,
-        start_out => Block_proc_U0_start_out,
-        start_write => Block_proc_U0_start_write,
-        width_dout => width_c_dout,
-        width_empty_n => width_c_empty_n,
-        width_read => Block_proc_U0_width_read,
-        height_dout => height_c_dout,
-        height_empty_n => height_c_empty_n,
-        height_read => Block_proc_U0_height_read,
-        width_out_din => Block_proc_U0_width_out_din,
-        width_out_full_n => width_c159_full_n,
-        width_out_write => Block_proc_U0_width_out_write,
-        height_out_din => Block_proc_U0_height_out_din,
-        height_out_full_n => height_c160_full_n,
-        height_out_write => Block_proc_U0_height_out_write,
-        vconv_xlim_out_out_din => Block_proc_U0_vconv_xlim_out_out_din,
-        vconv_xlim_out_out_full_n => vconv_xlim_loc_c_full_n,
-        vconv_xlim_out_out_write => Block_proc_U0_vconv_xlim_out_out_write);
-
-    Loop_HConvH_proc6_U0 : component Loop_HConvH_proc6
-    port map (
-        ap_clk => ap_clk,
-        ap_rst => ap_rst_n_inv,
-        ap_start => Loop_HConvH_proc6_U0_ap_start,
-        ap_done => Loop_HConvH_proc6_U0_ap_done,
-        ap_continue => Loop_HConvH_proc6_U0_ap_continue,
-        ap_idle => Loop_HConvH_proc6_U0_ap_idle,
-        ap_ready => Loop_HConvH_proc6_U0_ap_ready,
-        height_dout => height_c156_dout,
-        height_empty_n => height_c156_empty_n,
-        height_read => Loop_HConvH_proc6_U0_height_read,
-        width_dout => width_c155_dout,
-        width_empty_n => width_c155_empty_n,
-        width_read => Loop_HConvH_proc6_U0_width_read,
-        src_V_TDATA => src_V_TDATA,
-        src_V_TVALID => src_V_TVALID,
-        src_V_TREADY => Loop_HConvH_proc6_U0_src_V_TREADY,
-        filt1_dout => filt1_c_dout,
-        filt1_empty_n => filt1_c_empty_n,
-        filt1_read => Loop_HConvH_proc6_U0_filt1_read,
-        filt2_dout => filt2_c_dout,
-        filt2_empty_n => filt2_c_empty_n,
-        filt2_read => Loop_HConvH_proc6_U0_filt2_read,
-        hconv_V_din => Loop_HConvH_proc6_U0_hconv_V_din,
-        hconv_V_full_n => hconv_V_full_n,
-        hconv_V_write => Loop_HConvH_proc6_U0_hconv_V_write);
-
-    Loop_VConvH_proc_U0 : component Loop_VConvH_proc
-    port map (
-        ap_clk => ap_clk,
-        ap_rst => ap_rst_n_inv,
-        ap_start => Loop_VConvH_proc_U0_ap_start,
-        ap_done => Loop_VConvH_proc_U0_ap_done,
-        ap_continue => Loop_VConvH_proc_U0_ap_continue,
-        ap_idle => Loop_VConvH_proc_U0_ap_idle,
-        ap_ready => Loop_VConvH_proc_U0_ap_ready,
-        height_dout => height_c160_dout,
-        height_empty_n => height_c160_empty_n,
-        height_read => Loop_VConvH_proc_U0_height_read,
-        vconv_xlim_loc_dout => vconv_xlim_loc_c_dout,
-        vconv_xlim_loc_empty_n => vconv_xlim_loc_c_empty_n,
-        vconv_xlim_loc_read => Loop_VConvH_proc_U0_vconv_xlim_loc_read,
-        hconv_V_dout => hconv_V_dout,
-        hconv_V_empty_n => hconv_V_empty_n,
-        hconv_V_read => Loop_VConvH_proc_U0_hconv_V_read,
-        vconv_V_din => Loop_VConvH_proc_U0_vconv_V_din,
-        vconv_V_full_n => vconv_V_full_n,
-        vconv_V_write => Loop_VConvH_proc_U0_vconv_V_write,
-        filt1_dout => filt1_c157_dout,
-        filt1_empty_n => filt1_c157_empty_n,
-        filt1_read => Loop_VConvH_proc_U0_filt1_read,
-        filt2_dout => filt2_c158_dout,
-        filt2_empty_n => filt2_c158_empty_n,
-        filt2_read => Loop_VConvH_proc_U0_filt2_read,
-        height_out_din => Loop_VConvH_proc_U0_height_out_din,
-        height_out_full_n => height_c161_full_n,
-        height_out_write => Loop_VConvH_proc_U0_height_out_write,
-        vconv_xlim_loc_out_din => Loop_VConvH_proc_U0_vconv_xlim_loc_out_din,
-        vconv_xlim_loc_out_full_n => vconv_xlim_loc_c162_full_n,
-        vconv_xlim_loc_out_write => Loop_VConvH_proc_U0_vconv_xlim_loc_out_write);
-
-    Loop_Border_proc_U0 : component Loop_Border_proc
-    port map (
-        ap_clk => ap_clk,
-        ap_rst => ap_rst_n_inv,
-        ap_start => Loop_Border_proc_U0_ap_start,
-        ap_done => Loop_Border_proc_U0_ap_done,
-        ap_continue => Loop_Border_proc_U0_ap_continue,
-        ap_idle => Loop_Border_proc_U0_ap_idle,
-        ap_ready => Loop_Border_proc_U0_ap_ready,
-        width_dout => width_c159_dout,
-        width_empty_n => width_c159_empty_n,
-        width_read => Loop_Border_proc_U0_width_read,
-        height_dout => height_c161_dout,
-        height_empty_n => height_c161_empty_n,
-        height_read => Loop_Border_proc_U0_height_read,
-        dst_V_TDATA => Loop_Border_proc_U0_dst_V_TDATA,
-        dst_V_TVALID => Loop_Border_proc_U0_dst_V_TVALID,
-        dst_V_TREADY => dst_V_TREADY,
-        vconv_xlim_loc_dout => vconv_xlim_loc_c162_dout,
-        vconv_xlim_loc_empty_n => vconv_xlim_loc_c162_empty_n,
-        vconv_xlim_loc_read => Loop_Border_proc_U0_vconv_xlim_loc_read,
-        vconv_V_dout => vconv_V_dout,
-        vconv_V_empty_n => vconv_V_empty_n,
-        vconv_V_read => Loop_Border_proc_U0_vconv_V_read);
-
-    width_c_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => filter11x11_strm_ent_U0_width_out_din,
-        if_full_n => width_c_full_n,
-        if_write => filter11x11_strm_ent_U0_width_out_write,
-        if_dout => width_c_dout,
-        if_empty_n => width_c_empty_n,
-        if_read => Block_proc_U0_width_read);
-
-    width_c155_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => filter11x11_strm_ent_U0_width_out1_din,
-        if_full_n => width_c155_full_n,
-        if_write => filter11x11_strm_ent_U0_width_out1_write,
-        if_dout => width_c155_dout,
-        if_empty_n => width_c155_empty_n,
-        if_read => Loop_HConvH_proc6_U0_width_read);
-
-    height_c_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => filter11x11_strm_ent_U0_height_out_din,
-        if_full_n => height_c_full_n,
-        if_write => filter11x11_strm_ent_U0_height_out_write,
-        if_dout => height_c_dout,
-        if_empty_n => height_c_empty_n,
-        if_read => Block_proc_U0_height_read);
-
-    height_c156_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => filter11x11_strm_ent_U0_height_out2_din,
-        if_full_n => height_c156_full_n,
-        if_write => filter11x11_strm_ent_U0_height_out2_write,
-        if_dout => height_c156_dout,
-        if_empty_n => height_c156_empty_n,
-        if_read => Loop_HConvH_proc6_U0_height_read);
-
-    filt1_c_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => filter11x11_strm_ent_U0_filt1_out_din,
-        if_full_n => filt1_c_full_n,
-        if_write => filter11x11_strm_ent_U0_filt1_out_write,
-        if_dout => filt1_c_dout,
-        if_empty_n => filt1_c_empty_n,
-        if_read => Loop_HConvH_proc6_U0_filt1_read);
-
-    filt1_c157_U : component fifo_w32_d3_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => filter11x11_strm_ent_U0_filt1_out3_din,
-        if_full_n => filt1_c157_full_n,
-        if_write => filter11x11_strm_ent_U0_filt1_out3_write,
-        if_dout => filt1_c157_dout,
-        if_empty_n => filt1_c157_empty_n,
-        if_read => Loop_VConvH_proc_U0_filt1_read);
-
-    filt2_c_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => filter11x11_strm_ent_U0_filt2_out_din,
-        if_full_n => filt2_c_full_n,
-        if_write => filter11x11_strm_ent_U0_filt2_out_write,
-        if_dout => filt2_c_dout,
-        if_empty_n => filt2_c_empty_n,
-        if_read => Loop_HConvH_proc6_U0_filt2_read);
-
-    filt2_c158_U : component fifo_w32_d3_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => filter11x11_strm_ent_U0_filt2_out4_din,
-        if_full_n => filt2_c158_full_n,
-        if_write => filter11x11_strm_ent_U0_filt2_out4_write,
-        if_dout => filt2_c158_dout,
-        if_empty_n => filt2_c158_empty_n,
-        if_read => Loop_VConvH_proc_U0_filt2_read);
-
-    width_c159_U : component fifo_w32_d3_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => Block_proc_U0_width_out_din,
-        if_full_n => width_c159_full_n,
-        if_write => Block_proc_U0_width_out_write,
-        if_dout => width_c159_dout,
-        if_empty_n => width_c159_empty_n,
-        if_read => Loop_Border_proc_U0_width_read);
-
-    height_c160_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => Block_proc_U0_height_out_din,
-        if_full_n => height_c160_full_n,
-        if_write => Block_proc_U0_height_out_write,
-        if_dout => height_c160_dout,
-        if_empty_n => height_c160_empty_n,
-        if_read => Loop_VConvH_proc_U0_height_read);
-
-    vconv_xlim_loc_c_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => Block_proc_U0_vconv_xlim_out_out_din,
-        if_full_n => vconv_xlim_loc_c_full_n,
-        if_write => Block_proc_U0_vconv_xlim_out_out_write,
-        if_dout => vconv_xlim_loc_c_dout,
-        if_empty_n => vconv_xlim_loc_c_empty_n,
-        if_read => Loop_VConvH_proc_U0_vconv_xlim_loc_read);
-
-    hconv_V_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => Loop_HConvH_proc6_U0_hconv_V_din,
-        if_full_n => hconv_V_full_n,
-        if_write => Loop_HConvH_proc6_U0_hconv_V_write,
-        if_dout => hconv_V_dout,
-        if_empty_n => hconv_V_empty_n,
-        if_read => Loop_VConvH_proc_U0_hconv_V_read);
-
-    vconv_V_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => Loop_VConvH_proc_U0_vconv_V_din,
-        if_full_n => vconv_V_full_n,
-        if_write => Loop_VConvH_proc_U0_vconv_V_write,
-        if_dout => vconv_V_dout,
-        if_empty_n => vconv_V_empty_n,
-        if_read => Loop_Border_proc_U0_vconv_V_read);
-
-    height_c161_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => Loop_VConvH_proc_U0_height_out_din,
-        if_full_n => height_c161_full_n,
-        if_write => Loop_VConvH_proc_U0_height_out_write,
-        if_dout => height_c161_dout,
-        if_empty_n => height_c161_empty_n,
-        if_read => Loop_Border_proc_U0_height_read);
-
-    vconv_xlim_loc_c162_U : component fifo_w32_d2_A
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => Loop_VConvH_proc_U0_vconv_xlim_loc_out_din,
-        if_full_n => vconv_xlim_loc_c162_full_n,
-        if_write => Loop_VConvH_proc_U0_vconv_xlim_loc_out_write,
-        if_dout => vconv_xlim_loc_c162_dout,
-        if_empty_n => vconv_xlim_loc_c162_empty_n,
-        if_read => Loop_Border_proc_U0_vconv_xlim_loc_read);
-
-    start_for_Block_proc_U0_U : component start_for_Block_proc_U0
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => start_for_Block_proc_U0_din,
-        if_full_n => start_for_Block_proc_U0_full_n,
-        if_write => filter11x11_strm_ent_U0_start_write,
-        if_dout => start_for_Block_proc_U0_dout,
-        if_empty_n => start_for_Block_proc_U0_empty_n,
-        if_read => Block_proc_U0_ap_ready);
-
-    start_for_Loop_VConvH_proc_U0_U : component start_for_Loop_VConvH_proc_U0
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => start_for_Loop_VConvH_proc_U0_din,
-        if_full_n => start_for_Loop_VConvH_proc_U0_full_n,
-        if_write => filter11x11_strm_ent_U0_start_write,
-        if_dout => start_for_Loop_VConvH_proc_U0_dout,
-        if_empty_n => start_for_Loop_VConvH_proc_U0_empty_n,
-        if_read => Loop_VConvH_proc_U0_ap_ready);
-
-    start_for_Loop_Border_proc_U0_U : component start_for_Loop_Border_proc_U0
-    port map (
-        clk => ap_clk,
-        reset => ap_rst_n_inv,
-        if_read_ce => ap_const_logic_1,
-        if_write_ce => ap_const_logic_1,
-        if_din => start_for_Loop_Border_proc_U0_din,
-        if_full_n => start_for_Loop_Border_proc_U0_full_n,
-        if_write => Block_proc_U0_start_write,
-        if_dout => start_for_Loop_Border_proc_U0_dout,
-        if_empty_n => start_for_Loop_Border_proc_U0_empty_n,
-        if_read => Loop_Border_proc_U0_ap_ready);
-
-
-
-
-
-    ap_sync_reg_Loop_HConvH_proc6_U0_ap_ready_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst_n_inv = '1') then
-                ap_sync_reg_Loop_HConvH_proc6_U0_ap_ready <= ap_const_logic_0;
-            else
-                if (((ap_sync_ready and ap_start) = ap_const_logic_1)) then 
-                    ap_sync_reg_Loop_HConvH_proc6_U0_ap_ready <= ap_const_logic_0;
-                else 
-                    ap_sync_reg_Loop_HConvH_proc6_U0_ap_ready <= ap_sync_Loop_HConvH_proc6_U0_ap_ready;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_sync_reg_filter11x11_strm_ent_U0_ap_ready_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst_n_inv = '1') then
-                ap_sync_reg_filter11x11_strm_ent_U0_ap_ready <= ap_const_logic_0;
-            else
-                if (((ap_sync_ready and ap_start) = ap_const_logic_1)) then 
-                    ap_sync_reg_filter11x11_strm_ent_U0_ap_ready <= ap_const_logic_0;
-                else 
-                    ap_sync_reg_filter11x11_strm_ent_U0_ap_ready <= ap_sync_filter11x11_strm_ent_U0_ap_ready;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    Loop_HConvH_proc6_U0_ap_ready_count_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_const_logic_0 = Loop_HConvH_proc6_U0_ap_ready) and (ap_sync_ready = ap_const_logic_1))) then 
-                Loop_HConvH_proc6_U0_ap_ready_count <= std_logic_vector(unsigned(Loop_HConvH_proc6_U0_ap_ready_count) - unsigned(ap_const_lv2_1));
-            elsif (((ap_const_logic_1 = Loop_HConvH_proc6_U0_ap_ready) and (ap_sync_ready = ap_const_logic_0))) then 
-                Loop_HConvH_proc6_U0_ap_ready_count <= std_logic_vector(unsigned(Loop_HConvH_proc6_U0_ap_ready_count) + unsigned(ap_const_lv2_1));
-            end if; 
-        end if;
-    end process;
-
-    filter11x11_strm_ent_U0_ap_ready_count_assign_proc : process (ap_clk)
-    begin
-        if (ap_clk'event and ap_clk = '1') then
-            if (((ap_sync_ready = ap_const_logic_1) and (filter11x11_strm_ent_U0_ap_ready = ap_const_logic_0))) then 
-                filter11x11_strm_ent_U0_ap_ready_count <= std_logic_vector(unsigned(filter11x11_strm_ent_U0_ap_ready_count) - unsigned(ap_const_lv2_1));
-            elsif (((ap_sync_ready = ap_const_logic_0) and (filter11x11_strm_ent_U0_ap_ready = ap_const_logic_1))) then 
-                filter11x11_strm_ent_U0_ap_ready_count <= std_logic_vector(unsigned(filter11x11_strm_ent_U0_ap_ready_count) + unsigned(ap_const_lv2_1));
-            end if; 
-        end if;
-    end process;
-    Block_proc_U0_ap_continue <= ap_const_logic_1;
-    Block_proc_U0_ap_start <= start_for_Block_proc_U0_empty_n;
-    Loop_Border_proc_U0_ap_continue <= ap_const_logic_1;
-    Loop_Border_proc_U0_ap_start <= start_for_Loop_Border_proc_U0_empty_n;
-    Loop_Border_proc_U0_start_full_n <= ap_const_logic_1;
-    Loop_Border_proc_U0_start_write <= ap_const_logic_0;
-    Loop_HConvH_proc6_U0_ap_continue <= ap_const_logic_1;
-    Loop_HConvH_proc6_U0_ap_start <= ((ap_sync_reg_Loop_HConvH_proc6_U0_ap_ready xor ap_const_logic_1) and ap_start);
-    Loop_HConvH_proc6_U0_start_full_n <= ap_const_logic_1;
-    Loop_HConvH_proc6_U0_start_write <= ap_const_logic_0;
-    Loop_VConvH_proc_U0_ap_continue <= ap_const_logic_1;
-    Loop_VConvH_proc_U0_ap_start <= start_for_Loop_VConvH_proc_U0_empty_n;
-    Loop_VConvH_proc_U0_start_full_n <= ap_const_logic_1;
-    Loop_VConvH_proc_U0_start_write <= ap_const_logic_0;
-    ap_done <= Loop_Border_proc_U0_ap_done;
-    ap_idle <= (filter11x11_strm_ent_U0_ap_idle and Loop_VConvH_proc_U0_ap_idle and Loop_HConvH_proc6_U0_ap_idle and Loop_Border_proc_U0_ap_idle and Block_proc_U0_ap_idle);
-    ap_ready <= ap_sync_ready;
-
-    ap_rst_n_inv_assign_proc : process(ap_rst_n)
-    begin
-                ap_rst_n_inv <= not(ap_rst_n);
-    end process;
-
-    ap_sync_Loop_HConvH_proc6_U0_ap_ready <= (ap_sync_reg_Loop_HConvH_proc6_U0_ap_ready or Loop_HConvH_proc6_U0_ap_ready);
-    ap_sync_continue <= ap_const_logic_1;
-    ap_sync_done <= Loop_Border_proc_U0_ap_done;
-    ap_sync_filter11x11_strm_ent_U0_ap_ready <= (filter11x11_strm_ent_U0_ap_ready or ap_sync_reg_filter11x11_strm_ent_U0_ap_ready);
-    ap_sync_ready <= (ap_sync_filter11x11_strm_ent_U0_ap_ready and ap_sync_Loop_HConvH_proc6_U0_ap_ready);
-    dst_V_TDATA <= Loop_Border_proc_U0_dst_V_TDATA;
-    dst_V_TVALID <= Loop_Border_proc_U0_dst_V_TVALID;
-    filter11x11_strm_ent_U0_ap_continue <= ap_const_logic_1;
-    filter11x11_strm_ent_U0_ap_start <= ((ap_sync_reg_filter11x11_strm_ent_U0_ap_ready xor ap_const_logic_1) and ap_start);
-    filter11x11_strm_ent_U0_start_full_n <= (start_for_Loop_VConvH_proc_U0_full_n and start_for_Block_proc_U0_full_n);
-    src_V_TREADY <= Loop_HConvH_proc6_U0_src_V_TREADY;
-    start_for_Block_proc_U0_din <= (0=>ap_const_logic_1, others=>'-');
-    start_for_Loop_Border_proc_U0_din <= (0=>ap_const_logic_1, others=>'-');
-    start_for_Loop_VConvH_proc_U0_din <= (0=>ap_const_logic_1, others=>'-');
-end behav;

+ 0 - 368
src/ip_repo/packaging/src/filter11x11_strm_ent.vhd

@@ -1,368 +0,0 @@
--- ==============================================================
--- RTL generated by Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC
--- Version: 2018.3
--- Copyright (C) 1986-2018 Xilinx, Inc. All Rights Reserved.
--- 
--- ===========================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-
-entity filter11x11_strm_ent is
-port (
-    ap_clk : IN STD_LOGIC;
-    ap_rst : IN STD_LOGIC;
-    ap_start : IN STD_LOGIC;
-    start_full_n : IN STD_LOGIC;
-    ap_done : OUT STD_LOGIC;
-    ap_continue : IN STD_LOGIC;
-    ap_idle : OUT STD_LOGIC;
-    ap_ready : OUT STD_LOGIC;
-    start_out : OUT STD_LOGIC;
-    start_write : OUT STD_LOGIC;
-    width : IN STD_LOGIC_VECTOR (31 downto 0);
-    height : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt1 : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt2 : IN STD_LOGIC_VECTOR (31 downto 0);
-    width_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    width_out_full_n : IN STD_LOGIC;
-    width_out_write : OUT STD_LOGIC;
-    width_out1_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    width_out1_full_n : IN STD_LOGIC;
-    width_out1_write : OUT STD_LOGIC;
-    height_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    height_out_full_n : IN STD_LOGIC;
-    height_out_write : OUT STD_LOGIC;
-    height_out2_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    height_out2_full_n : IN STD_LOGIC;
-    height_out2_write : OUT STD_LOGIC;
-    filt1_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    filt1_out_full_n : IN STD_LOGIC;
-    filt1_out_write : OUT STD_LOGIC;
-    filt1_out3_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    filt1_out3_full_n : IN STD_LOGIC;
-    filt1_out3_write : OUT STD_LOGIC;
-    filt2_out_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    filt2_out_full_n : IN STD_LOGIC;
-    filt2_out_write : OUT STD_LOGIC;
-    filt2_out4_din : OUT STD_LOGIC_VECTOR (31 downto 0);
-    filt2_out4_full_n : IN STD_LOGIC;
-    filt2_out4_write : OUT STD_LOGIC );
-end;
-
-
-architecture behav of filter11x11_strm_ent is 
-    constant ap_const_logic_1 : STD_LOGIC := '1';
-    constant ap_const_logic_0 : STD_LOGIC := '0';
-    constant ap_ST_fsm_state1 : STD_LOGIC_VECTOR (0 downto 0) := "1";
-    constant ap_const_lv32_0 : STD_LOGIC_VECTOR (31 downto 0) := "00000000000000000000000000000000";
-    constant ap_const_boolean_1 : BOOLEAN := true;
-
-    signal real_start : STD_LOGIC;
-    signal start_once_reg : STD_LOGIC := '0';
-    signal ap_done_reg : STD_LOGIC := '0';
-    signal ap_CS_fsm : STD_LOGIC_VECTOR (0 downto 0) := "1";
-    attribute fsm_encoding : string;
-    attribute fsm_encoding of ap_CS_fsm : signal is "none";
-    signal ap_CS_fsm_state1 : STD_LOGIC;
-    attribute fsm_encoding of ap_CS_fsm_state1 : signal is "none";
-    signal internal_ap_ready : STD_LOGIC;
-    signal width_out_blk_n : STD_LOGIC;
-    signal width_out1_blk_n : STD_LOGIC;
-    signal height_out_blk_n : STD_LOGIC;
-    signal height_out2_blk_n : STD_LOGIC;
-    signal filt1_out_blk_n : STD_LOGIC;
-    signal filt1_out3_blk_n : STD_LOGIC;
-    signal filt2_out_blk_n : STD_LOGIC;
-    signal filt2_out4_blk_n : STD_LOGIC;
-    signal ap_block_state1 : BOOLEAN;
-    signal ap_NS_fsm : STD_LOGIC_VECTOR (0 downto 0);
-
-
-begin
-
-
-
-
-    ap_CS_fsm_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_CS_fsm <= ap_ST_fsm_state1;
-            else
-                ap_CS_fsm <= ap_NS_fsm;
-            end if;
-        end if;
-    end process;
-
-
-    ap_done_reg_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                ap_done_reg <= ap_const_logic_0;
-            else
-                if ((ap_continue = ap_const_logic_1)) then 
-                    ap_done_reg <= ap_const_logic_0;
-                elsif ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-                    ap_done_reg <= ap_const_logic_1;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    start_once_reg_assign_proc : process(ap_clk)
-    begin
-        if (ap_clk'event and ap_clk =  '1') then
-            if (ap_rst = '1') then
-                start_once_reg <= ap_const_logic_0;
-            else
-                if (((internal_ap_ready = ap_const_logic_0) and (real_start = ap_const_logic_1))) then 
-                    start_once_reg <= ap_const_logic_1;
-                elsif ((internal_ap_ready = ap_const_logic_1)) then 
-                    start_once_reg <= ap_const_logic_0;
-                end if; 
-            end if;
-        end if;
-    end process;
-
-
-    ap_NS_fsm_assign_proc : process (real_start, ap_done_reg, ap_CS_fsm, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        case ap_CS_fsm is
-            when ap_ST_fsm_state1 => 
-                ap_NS_fsm <= ap_ST_fsm_state1;
-            when others =>  
-                ap_NS_fsm <= "X";
-        end case;
-    end process;
-    ap_CS_fsm_state1 <= ap_CS_fsm(0);
-
-    ap_block_state1_assign_proc : process(real_start, ap_done_reg, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-                ap_block_state1 <= ((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1));
-    end process;
-
-
-    ap_done_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            ap_done <= ap_const_logic_1;
-        else 
-            ap_done <= ap_done_reg;
-        end if; 
-    end process;
-
-
-    ap_idle_assign_proc : process(real_start, ap_CS_fsm_state1)
-    begin
-        if (((real_start = ap_const_logic_0) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            ap_idle <= ap_const_logic_1;
-        else 
-            ap_idle <= ap_const_logic_0;
-        end if; 
-    end process;
-
-    ap_ready <= internal_ap_ready;
-
-    filt1_out3_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, filt1_out3_full_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt1_out3_blk_n <= filt1_out3_full_n;
-        else 
-            filt1_out3_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    filt1_out3_din <= filt1;
-
-    filt1_out3_write_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt1_out3_write <= ap_const_logic_1;
-        else 
-            filt1_out3_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    filt1_out_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, filt1_out_full_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt1_out_blk_n <= filt1_out_full_n;
-        else 
-            filt1_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    filt1_out_din <= filt1;
-
-    filt1_out_write_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt1_out_write <= ap_const_logic_1;
-        else 
-            filt1_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    filt2_out4_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, filt2_out4_full_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt2_out4_blk_n <= filt2_out4_full_n;
-        else 
-            filt2_out4_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    filt2_out4_din <= filt2;
-
-    filt2_out4_write_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt2_out4_write <= ap_const_logic_1;
-        else 
-            filt2_out4_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    filt2_out_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, filt2_out_full_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt2_out_blk_n <= filt2_out_full_n;
-        else 
-            filt2_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    filt2_out_din <= filt2;
-
-    filt2_out_write_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            filt2_out_write <= ap_const_logic_1;
-        else 
-            filt2_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    height_out2_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, height_out2_full_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            height_out2_blk_n <= height_out2_full_n;
-        else 
-            height_out2_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    height_out2_din <= height;
-
-    height_out2_write_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            height_out2_write <= ap_const_logic_1;
-        else 
-            height_out2_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    height_out_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, height_out_full_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            height_out_blk_n <= height_out_full_n;
-        else 
-            height_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    height_out_din <= height;
-
-    height_out_write_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            height_out_write <= ap_const_logic_1;
-        else 
-            height_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    internal_ap_ready_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            internal_ap_ready <= ap_const_logic_1;
-        else 
-            internal_ap_ready <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    real_start_assign_proc : process(ap_start, start_full_n, start_once_reg)
-    begin
-        if (((start_full_n = ap_const_logic_0) and (start_once_reg = ap_const_logic_0))) then 
-            real_start <= ap_const_logic_0;
-        else 
-            real_start <= ap_start;
-        end if; 
-    end process;
-
-    start_out <= real_start;
-
-    start_write_assign_proc : process(real_start, start_once_reg)
-    begin
-        if (((start_once_reg = ap_const_logic_0) and (real_start = ap_const_logic_1))) then 
-            start_write <= ap_const_logic_1;
-        else 
-            start_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    width_out1_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out1_full_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            width_out1_blk_n <= width_out1_full_n;
-        else 
-            width_out1_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    width_out1_din <= width;
-
-    width_out1_write_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            width_out1_write <= ap_const_logic_1;
-        else 
-            width_out1_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-
-    width_out_blk_n_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n)
-    begin
-        if ((not(((real_start = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            width_out_blk_n <= width_out_full_n;
-        else 
-            width_out_blk_n <= ap_const_logic_1;
-        end if; 
-    end process;
-
-    width_out_din <= width;
-
-    width_out_write_assign_proc : process(real_start, ap_done_reg, ap_CS_fsm_state1, width_out_full_n, width_out1_full_n, height_out_full_n, height_out2_full_n, filt1_out_full_n, filt1_out3_full_n, filt2_out_full_n, filt2_out4_full_n)
-    begin
-        if ((not(((filt2_out4_full_n = ap_const_logic_0) or (real_start = ap_const_logic_0) or (filt2_out_full_n = ap_const_logic_0) or (filt1_out3_full_n = ap_const_logic_0) or (filt1_out_full_n = ap_const_logic_0) or (height_out2_full_n = ap_const_logic_0) or (height_out_full_n = ap_const_logic_0) or (width_out1_full_n = ap_const_logic_0) or (width_out_full_n = ap_const_logic_0) or (ap_done_reg = ap_const_logic_1))) and (ap_const_logic_1 = ap_CS_fsm_state1))) then 
-            width_out_write <= ap_const_logic_1;
-        else 
-            width_out_write <= ap_const_logic_0;
-        end if; 
-    end process;
-
-end behav;

+ 0 - 36
src/ip_repo/packaging/src/globals.vhd

@@ -1,36 +0,0 @@
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use ieee.math_real.all;
-
-package myPackage is
-    
-    type register_file is array(integer range <>) of std_logic_vector(31 downto 0);
-    
-    constant moduleCount : integer := 4;
-    constant moduleIds : register_file(0 to moduleCount-1) :=(
-        0 => x"2cb31e7c", --dummyBig
-        1 => x"f218e0a2", --dummy
-        2 => x"9323eb24", --f11
-        3 => x"4cd2e19c"  --conv2d_5x5
-    );
-    
-end myPackage;
-
-package body myPackage is
-
-end myPackage;
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use work.myPackage.ALL;
-
-entity globals is
---Port ( );
-end globals;
-
-architecture Behavioral of globals is
-
-begin
-
-
-end Behavioral;

+ 0 - 31
src/ip_repo/packaging/src/kernel_5x5.vhd

@@ -1,31 +0,0 @@
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use ieee.numeric_std.all;
-use work.myPackage.ALL;
-
-entity kernel_NxN is
-    Generic(
-        N: integer := 5
-    );
-    Port (
-        kernelValues: in register_file(0 to N*N-1);
-        inputValues: in register_file(0 to N*N-1);
-        outputValue: out std_logic_vector(31 downto 0)
-    );
-end kernel_NxN;
-
-architecture Behavioral of kernel_NxN is
-
-begin
-    calc : process(kernelValues, inputValues)
-        variable sum : integer := 0;
-    begin
-        sum := 0;
-        for i in integer range 0 to N*N-1 loop
-            sum := sum + to_integer(signed(kernelValues(i)(17 downto 0))) * to_integer(signed(inputValues(i)(24 downto 0)));
-        end loop;
-        outputValue <= std_logic_vector(to_signed(sum, outputValue'length));
-    end process;
-
-end Behavioral;

+ 0 - 296
src/ip_repo/packaging/src/multiplex.vhd

@@ -1,296 +0,0 @@
-----------------------------------------------------------------------------------
--- Company: 
--- Engineer: 
--- 
--- Create Date: 03.06.2019 18:42:50
--- Design Name: 
--- Module Name: multiplex - Behavioral
--- Project Name: 
--- Target Devices: 
--- Tool Versions: 
--- Description: 
--- 
--- Dependencies: 
--- 
--- Revision:
--- Revision 0.01 - File Created
--- Additional Comments:
--- 
-----------------------------------------------------------------------------------
-
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use IEEE.std_logic_arith.ALL;
-use IEEE.STD_LOGIC_UNSIGNED.ALL;
-use work.myPackage.ALL;
-
-entity multiplex is
-    generic(
-        busWidth : integer:=32
-        );
-    Port ( clk : in STD_LOGIC;
-           start : in STD_LOGIC;
-           ready: out std_logic;
-           rst : in STD_LOGIC;
-           done : out STD_LOGIC;
-           idle : out STD_LOGIC;
-           
-           moduleId : in STD_LOGIC_VECTOR (31 downto 0);
-           
-           srcData : in STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           srcValid : in std_logic;
-           srcReady : out std_logic;
-           
-           dstData : out STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           dstValid : out std_logic;
-           dstReady : in std_logic
-    );
-end multiplex;
-
-architecture Behavioral of multiplex is
-
-component dummyModule is
-    generic(
-        busWidth : integer:=32;
-        regDepth : integer:=4);
-    Port ( clk : in STD_LOGIC;
-           rst_n : in STD_LOGIC;
-           start : in STD_LOGIC;
-           ready: out std_logic;
-           idle : out std_logic;
-           done : out std_logic;
-           
-           srcData : in STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           srcValid : in std_logic;
-           srcReady : out std_logic;
-           
-           dstData : out STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           dstValid : out std_logic;
-           dstReady : in std_logic);
-end component;
-
-component filter11x11_strm is
-port (
-    width : IN STD_LOGIC_VECTOR (31 downto 0);
-    height : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt1 : IN STD_LOGIC_VECTOR (31 downto 0);
-    filt2 : IN STD_LOGIC_VECTOR (31 downto 0);
-    src_V_TDATA : IN STD_LOGIC_VECTOR (31 downto 0);
-    dst_V_TDATA : OUT STD_LOGIC_VECTOR (31 downto 0);
-    ap_clk : IN STD_LOGIC;
-    ap_rst_n : IN STD_LOGIC;
-    ap_start : IN STD_LOGIC;
-    src_V_TVALID : IN STD_LOGIC;
-    src_V_TREADY : OUT STD_LOGIC;
-    dst_V_TVALID : OUT STD_LOGIC;
-    dst_V_TREADY : IN STD_LOGIC;
-    ap_done : OUT STD_LOGIC;
-    ap_ready : OUT STD_LOGIC;
-    ap_idle : OUT STD_LOGIC);
-end component;
-
-component conv2d_5x5_224p is
-    generic(
-        busWidth : integer := 32;
-        kernelSize : integer := 5;
-        imageWidth : integer := 224 + 4);
-    Port ( clk : in STD_LOGIC;
-           rst_n : in std_logic;
-           start : in STD_LOGIC;
-           ready: out std_logic;
-           idle : out std_logic := '0';
-           done : out std_logic := '0';
-           
-           srcData : in STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           srcValid : in std_logic;
-           srcReady : out std_logic;
-           
-           dstData : out STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           dstValid : out std_logic;
-           dstReady : in std_logic);
-end component;
-
-component ram is
-    generic(
-        busWidth : integer:=busWidth;
-        addrWidth: integer);
-    port(
-        clk : in std_logic;
-        wrEn : in std_logic;
-        wrAddr : in std_logic_vector(addrWidth-1 downto 0);
-        rdAddr : in std_logic_vector(addrWidth-1 downto 0);
-        wrData : in std_logic_vector(busWidth-1 downto 0);
-        rdData : out std_logic_vector(busWidth-1 downto 0)
-    );
-end component;
-
-constant ramAddrWidth : integer := 4;
-type muxBitVector is array(0 to moduleCount-1) of std_logic;
-type muxDataVector is array(0 to moduleCount-1) of std_logic_vector(busWidth-1 downto 0);
-
-type configRam_t is array(integer range <>) of std_logic_vector(busWidth-1 downto 0);
-
-signal imgWidth : std_logic_vector(busWidth-1 downto 0) := std_logic_vector(conv_unsigned(224, 32));
-signal imgHeight : std_logic_vector(busWidth-1 downto 0) := std_logic_vector(conv_unsigned(224, 32));
-
-signal h_coeff : configRam_t(0 to 4);
-signal v_coeff : configRam_t(0 to 4);
-
-signal h_coeff_rdAddr : std_logic_vector(2 downto 0);
-signal h_coeff_rdEn : std_logic;
-signal v_coeff_rdAddr : std_logic_vector(2 downto 0);
-signal v_coeff_rdEn : std_logic;
-
-signal ram_wrEn   : std_logic;
-signal ram_wrAddr : std_logic_vector(ramAddrWidth-1 downto 0);
-signal ram_wrData : std_logic_vector(busWidth-1 downto 0);
-signal ram_rdAddr : std_logic_vector(ramAddrWidth-1 downto 0);
-signal ram_rdData : std_logic_vector(busWidth-1 downto 0);
-
-signal muxSrcData : std_logic_vector(busWidth-1 downto 0);
-signal muxSrcValid : std_logic;
-signal muxSrcReady : muxBitVector := (others => '1');
-
-signal muxDstData : muxDataVector;
-signal muxDstValid : muxBitVector := (others => '0');
-signal muxDstReady : std_logic;
-
-signal muxReady : muxBitVector := (others => '1');
-signal muxIdle : muxBitVector := (others => '1');
-signal muxDone : muxBitVector := (others => '1');
-
-signal muxStart : muxBitVector := (others => '0');
-
-
-
-begin
-    dummyBig : dummyModule 
-    generic map (
-        regDepth => 1024
-    ) port map (
-        clk     => clk,
-        rst_n   => rst,
-        
-        srcData => muxSrcData,
-        srcValid=> muxSrcValid,
-        srcReady=> muxSrcReady(0),
-        
-        dstData => muxDstData(0),
-        dstValid => muxDstValid(0),
-        dstReady => muxDstReady,
-        
-        start   => muxStart(0),
-        ready   => muxReady(0),
-        idle    => muxIdle(0),
-        done    => muxDone(0)
-    );
-    
-    dummy : dummyModule 
-    generic map (
-        regDepth => 4
-    ) port map (
-        clk     => clk,
-        rst_n   => rst,
-        
-        srcData => muxSrcData,
-        srcValid=> muxSrcValid,
-        srcReady=> muxSrcReady(1),
-        
-        dstData => muxDstData(1),
-        dstValid => muxDstValid(1),
-        dstReady => muxDstReady,
-        
-        start   => muxStart(1),
-        ready   => muxReady(1),
-        idle    => muxIdle(1),
-        done    => muxDone(1)
-    );
-    f11 : filter11x11_strm port map (
-        ap_clk => clk,
-        ap_rst_n => rst,
-        ap_start => muxStart(2),
-        ap_done => muxDone(2),
-        ap_ready => muxReady(2),
-        ap_idle => muxIdle(2),
-        width => imgWidth,
-        height => imgHeight,
-        
-        src_V_TDATA => muxSrcData,
-        src_V_TVALID => muxSrcValid,
-        src_V_TREADY => muxSrcReady(2),
-        
-        dst_V_TDATA => muxDstData(2),
-        dst_V_TVALID => muxDstValid(2),
-        dst_V_TREADY => muxDstReady,
-        
-        filt1 => x"00000001",
-        filt2 => x"00000001"
-        
-    );
-    
-    conv2d_5x5 : conv2d_5x5_224p port map (
-        clk => clk,
-        rst_n => rst,
-
-        srcData => muxSrcData,
-        srcValid=> muxSrcValid,
-        srcReady=> muxSrcReady(3),
-        
-        dstData => muxDstData(3),
-        dstValid => muxDstValid(3),
-        dstReady => muxDstReady,
-        
-        start   => muxStart(3),
-        ready   => muxReady(3),
-        idle    => muxIdle(3),
-        done    => muxDone(3)
-    );
-    
-    config_ram : ram generic map(
-        addrWidth => ramAddrWidth
-    ) port map(
-        clk => clk,
-        wrEn => ram_wrEn,
-        wrAddr => ram_wrAddr,
-        rdAddr => ram_rdAddr,
-        wrData => ram_wrData,
-        rdData => ram_rdData
-    );
-    
-    readConfig : process(h_coeff_rdEn)
-        variable rdAddr : std_logic_vector(ramAddrWidth-1 downto 0);
-    begin
-        if h_coeff_rdEn = '1' then
-        
-        elsif v_coeff_rdEn = '1' then
-        
-        end if;
-    end process;
-    
-    switching : process(moduleId, muxSrcReady, muxReady, muxDstData, muxDstValid, muxDone, muxIdle, start)
-        variable i : integer range 0 to moduleCount-1;
-    begin
-        i := 0;
-        for k in 0 to moduleCount-1 loop
-            if moduleIds(k) = moduleId then
-                i := k;
-            end if;
-        end loop;
-        
-        ready <= muxReady(i);
-        dstData <= muxDstData(i);
-        done <= muxDone(i);
-        idle <= muxIdle(i);
-        dstValid <= muxDstValid(i);
-        srcReady <= muxSrcReady(i);
-        
-        muxStart <= (others => '0');
-        muxStart(i) <= start;
-    end process;
-    
-    muxSrcValid <= srcValid;
-    muxSrcData <= srcData;
-    muxDstReady <= dstReady;
-    
-end Behavioral;

+ 0 - 388
src/ip_repo/packaging/src/packaging.vhd

@@ -1,388 +0,0 @@
-----------------------------------------------------------------------------------
--- Company: 
--- Engineer: 
--- 
--- Create Date: 03.06.2019 20:10:59
--- Design Name: 
--- Module Name: packaging - Behavioral
--- Project Name: 
--- Target Devices: 
--- Tool Versions: 
--- Description: 
--- 
--- Dependencies: 
--- 
--- Revision:
--- Revision 0.01 - File Created
--- Additional Comments:
--- 
-----------------------------------------------------------------------------------
-
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use IEEE.std_logic_arith.ALL;
-use IEEE.STD_LOGIC_UNSIGNED.ALL;
-use work.myPackage.ALL;
-
-entity packaging is
-    generic(
-        busWidth : integer:=32);
-    Port ( clk : in STD_LOGIC;
-           rst : in STD_LOGIC;
-           
-           inputStream : in STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           inpRdEn : out std_logic;
-           inputEmpty : in std_logic;
-           
-           outData : out STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           outWrEn : out std_logic;
-           outputFull : in std_logic;
-           
-           errorCode : out STD_LOGIC_VECTOR(3 DOWNTO 0);
-           stateOut : out STD_LOGIC_VECTOR(3 downto 0));
-end packaging;
-
-architecture Behavioral of packaging is
-
-    constant PREAMBLE : std_logic_vector(31 downto 0) := x"E1E4C312";
-    type state_t is (
-        waitPreamble, 
-        checkPreamble,
-        waitDatasetId,
-        getDatasetId,
-        waitModuleId,
-        checkModuleId, 
-        writeHeader,
-        waitProcessing,
-        waitChecksum,
-        readChecksum,
-        writeChecksum);
-    
-
-    component multiplex is
-        generic(
-            busWidth : integer:=busWidth);
-        Port (
-           clk : in STD_LOGIC;
-           start : in STD_LOGIC;
-           ready: out std_logic;
-           rst : in STD_LOGIC;
-           done : out STD_LOGIC;
-           idle : out STD_LOGIC;
-           
-           moduleId : in STD_LOGIC_VECTOR (31 downto 0);
-           
-           srcData : in STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           srcValid : in std_logic;
-           srcReady : out std_logic;
-           
-           dstData : out STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           dstValid : out std_logic;
-           dstReady : in std_logic);
-    end component;
-    
-    component checksum is
-        Port ( clk : in STD_LOGIC;
-           reset : in STD_LOGIC;
-           enable : in STD_LOGIC;
-           dataIn : in STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           output : out STD_LOGIC_VECTOR (busWidth-1 downto 0));
-    end component;
-    
-    signal state : state_t;
-    signal moduleId : STD_LOGIC_VECTOR (31 downto 0);
-    signal datasetId : STD_LOGIC_VECTOR (31 downto 0);
-    signal inputReadReady : std_logic;
-    signal inputReadEnable : std_logic;
-    
-    signal outputWriteReady : std_logic;
-    signal outputStream_s : STD_LOGIC_VECTOR (busWidth-1 downto 0);
-    
-    signal outputWriteEnable : std_logic;
-    signal outputStream : STD_LOGIC_VECTOR (busWidth-1 downto 0);
-    signal errorCode_s : std_logic_vector(3 downto 0);
-    
-    signal outHeaderCounter : integer range 0 to 3;
-    
-    signal muxSrcData : STD_LOGIC_VECTOR (busWidth-1 downto 0);
-    signal muxSrcValid : std_logic;
-    signal muxSrcReady : std_logic;
-    
-    signal muxDstData : STD_LOGIC_VECTOR (busWidth-1 downto 0);
-    signal muxDstValid : std_logic;
-    signal muxDstReady : std_logic;
-    
-    signal muxStart  : std_logic;
-    signal muxReady  : std_logic;
-    signal muxDone   : std_logic;
-    signal muxIdle   : std_logic;
-    
-    signal muxControlsFIFO : std_logic;
-    
-    signal csEnable : std_logic;
-    signal csReset : std_logic;
-    signal csOutReset : std_logic;
-    signal csSum : STD_LOGIC_VECTOR (busWidth-1 downto 0);
-    
-    signal csOutSum : STD_LOGIC_VECTOR (busWidth-1 downto 0);
-    
-begin
-
-    mux1 : multiplex port map (
-        clk => clk,
-        rst => rst,
-        start => muxStart,
-        ready  => muxReady,
-        done => muxDone,
-        idle => muxIdle,
-        
-        moduleId => moduleId,
-        
-        srcData     => muxSrcData,
-        srcValid    => muxSrcValid,
-        srcReady    => muxSrcReady,
-        
-        dstData     => muxDstData,
-        dstValid    => muxDstValid,
-        dstReady    => muxDstReady
-        
-    );
-    checksum1 : checksum port map (
-        clk => clk,
-        reset => csReset,
-        enable => csEnable,
-        dataIn => inputStream,
-        output => csSum
-    );
-    checksum2 : checksum port map (
-        clk => clk,
-        reset => csOutReset,
-        enable => outputWriteEnable,
-        dataIn => outputStream,
-        output => csOutSum
-    );
-
-    fsm : process(rst, clk)
-        variable validModuleId : std_logic := '0';
-    begin
-        if(rst = '0') then
-            state <= waitPreamble;
-            inputReadReady <= '0';
-            csReset <= '0';
-            csOutReset <= '0';
-            outHeaderCounter <= 3;
-            muxStart <= '0';
-            muxControlsFIFO <= '0';
-            
-            errorCode_s <= x"0";
-            
-            outputWriteReady <= '0';
-            outputStream_s <= (others=>'U');
-        elsif(rising_edge(clk)) then
-            csReset <= '1';
-            csOutReset <= '1';
-            errorCode_s <= x"0";
-            muxStart <= '0';
-            muxControlsFIFO <= '0';
-            inputReadReady <= '0';
-            
-            outputWriteReady <= '0';
-            outHeaderCounter <= 0;
-            
-            outputStream_s <= (others=>'U');
-        
-            case state is
-                -- wait for header
-                when waitPreamble =>
-                    csReset <= '0';
-                    inputReadReady <= '1';
-                    if inputReadEnable = '0' then
-                        state <= waitPreamble;
-                    else
-                        state <= checkPreamble;
-                    end if;
-                    
-                -- is preamble correct?
-                when checkPreamble =>
-                    inputReadReady <= '1';
-                    if(inputStream = PREAMBLE and inputReadEnable = '1') then
-                        state <= getDatasetId;
-                    elsif inputStream = PREAMBLE then
-                        state <= waitDatasetId;
-                    elsif inputReadEnable = '1' then
-                        state <= checkPreamble;
-                        errorCode_s <= x"1";
-                    else
-                        state <= waitPreamble;
-                        errorCode_s <= x"1";
-                    end if;
-                when waitDatasetId =>
-                    inputReadReady <= '1';
-                    if inputReadEnable = '0' then
-                        errorCode_s <= x"F";
-                        state <= waitDatasetId;
-                    else
-                        state <= getDatasetId;
-                    end if;
-                    
-                when getDatasetId =>
-                    datasetId <= inputStream;
-                    if inputReadEnable = '0' then
-                        state <= waitModuleId;
-                        inputReadReady <= '1';
-                    else
-                        state <= checkModuleId;
-                    end if;
-                
-                when waitModuleId =>
-                    
-                    if inputReadEnable = '0' then
-                        errorCode_s <= x"E";
-                        state <= waitModuleId;
-                        inputReadReady <= '1';
-                    else
-                        state <= checkModuleId;
-                    end if;
-                -- is moduleId known?
-                when checkModuleId =>
-                    
-                    validModuleId := '0';
-                    
-                    for i in integer range 0 to moduleCount-1 loop
-                        if inputStream = moduleIds(i) then
-                            validModuleId := '1';
-                        end if;
-                    end loop;
-                    
-                    if validModuleId = '0' then
-                        state <= waitPreamble;
-                        errorCode_s <= x"2";
-                    else
-                        csOutReset <= '0';
-                        moduleId <= inputStream;
-                        if outputWriteEnable = '1' then
-                            state <= writeHeader;
-                            csOutReset <= '0';
-                        else
-                            outputWriteReady <= '1';
-                            outputStream_s <= PREAMBLE;
-                            errorCode_s <= x"D";
-                        end if;
-                    end if;
-                    
-                -- wait for data
-                when writeHeader =>
-                    case outHeaderCounter is
-                        when 0 =>  outputStream_s <= datasetId;
-                        when others => outputStream_s <= moduleId;
-                    end case;
-                    
-                    if outHeaderCounter > 1 then
-                        state <= waitProcessing;
-                        muxStart <= '1';
-                        muxControlsFIFO <= '1';
-                    elsif outputWriteEnable = '0' then
-                        state <= writeHeader;
-                        errorCode_s <= x"C";
-                        outHeaderCounter <= outHeaderCounter;
-                        outputWriteReady <= '1';
-                    elsif outHeaderCounter < 1 then
-                        outHeaderCounter <= outHeaderCounter + 1;
-                        state <= writeHeader;
-                        outputWriteReady <= '1';
-                        outputStream_s <= moduleId;
-                    else
-                        state <= waitProcessing;
-                        muxStart <= '1';
-                        muxControlsFIFO <= '1';
-                    end if;
-
-                when waitProcessing =>
-                    if(muxDone = '0') then
-                        state <= waitProcessing;
-                        muxControlsFIFO <= '1';
-                        errorCode_s <= x"B";
-                        muxStart <= '1';
-                    else
-                        state <= waitChecksum;
-                        inputReadReady <= '1';
-                    end if;
-                
-                when waitChecksum =>
-                    if inputReadEnable = '0' then
-                        errorCode_s <= x"A";
-                        state <= waitChecksum;
-                        inputReadReady <= '1';
-                    else
-                        state <= readChecksum;
-                    end if;
-                when readChecksum =>
-                    state <= writeChecksum;
-                    
-                when writeChecksum =>
-                    if outputWriteEnable = '1' then
-                        state <= waitPreamble;
-                    else
-                        state <= writeChecksum;
-                        outputWriteReady <= '1';
-                    end if;
-                    
-                    if(unsigned(csSum) = 0) then
-                        outputStream_s <= 0 - unsigned(csOutSum);
-                    else
-                        errorCode_s <= x"3";
-                        outputStream_s <= 1 - unsigned(csOutSum);
-                    end if;
-                
-                when others =>
-                    state <= waitPreamble;
-                    inputReadReady <= '0';
-            end case;
-            
-            if signed(errorCode_s) > 0 then
-                outputWriteReady <= '1';
-                outputStream_s <= x"E330300" & errorCode_s;
-            end if;
-            muxSrcValid <= inputReadEnable;
-            
-        end if;
-    end process;
-    
-    muxCtrl : process(muxControlsFIFO, outputWriteReady, inputReadReady, outputStream_s, muxDstValid, muxSrcReady, muxDstData, inputStream, outputFull, inputEmpty)
-    
-    begin
-        if muxControlsFIFO = '0' then
-            outputWriteEnable   <= outputWriteReady and not outputFull;
-            inputReadEnable     <= inputReadReady and not inputEmpty;
-            outputStream        <= outputStream_s;
-            
-            muxSrcData <= (others => 'U');
-            muxDstReady <= '0';
-        else
-            outputWriteEnable   <= muxDstValid and not outputFull;
-            inputReadEnable     <= muxSrcReady and not inputEmpty;
-            outputStream        <= muxDstData;
-            
-            muxSrcData <= inputStream;
-            muxDstReady <= not outputFull;
-        end if;
-        
-    end process;
-    
-    sumInput : process(rst, clk) begin
-        if rst = '0' then
-            csEnable <= '0';
-        elsif rising_edge(clk) then
-            csEnable <= inputReadEnable;
-        end if;
-    end process;
-    
-    errorCode <= errorCode_s;
-    stateOut <= std_logic_vector(conv_unsigned(state_t'POS(state), 4));
-    
-    outWrEn <= outputWriteEnable;
-    inpRdEn <= inputReadEnable;
-    outData <= outputStream;
-    
-end Behavioral;

+ 0 - 37
src/ip_repo/packaging/src/ram.vhd

@@ -1,37 +0,0 @@
-
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use IEEE.NUMERIC_STD.ALL;
-
-
-entity ram is
-    generic(
-        busWidth : integer:=32;
-        addrWidth: integer := 8);
-    port(
-        clk : in std_logic;
-        wrEn : in std_logic;
-        wrAddr : in std_logic_vector(addrWidth-1 downto 0);
-        rdAddr : in std_logic_vector(addrWidth-1 downto 0);
-        wrData : in std_logic_vector(busWidth-1 downto 0);
-        rdData : out std_logic_vector(busWidth-1 downto 0)
-    );
-end ram;
-
-architecture Behavioral of ram is
-    type ram_t is array(0 to 2**addrWidth) of std_logic_vector(busWidth-1 downto 0);
-    signal memory : ram_t;
-begin
-    process(clk)
-    
-    begin
-        if rising_edge(clk) then
-            if wrEn = '1' then
-                memory(to_integer(unsigned(wrAddr))) <= wrData;
-            end if;
-            rdData <= memory(to_integer(unsigned(rdAddr)));
-        end if;
-    end process;
-
-end Behavioral;

+ 0 - 75
src/ip_repo/packaging/src/shiftIn.vhd

@@ -1,75 +0,0 @@
-----------------------------------------------------------------------------------
--- Company: 
--- Engineer: 
--- 
--- Create Date: 06/03/2019 01:56:01 PM
--- Design Name: 
--- Module Name: shiftOut - Behavioral
--- Project Name: 
--- Target Devices: 
--- Tool Versions: 
--- Description: 
--- 
--- Dependencies: 
--- 
--- Revision:
--- Revision 0.01 - File Created
--- Additional Comments:
--- 
-----------------------------------------------------------------------------------
-
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use work.myPackage.ALL;
-
-entity shiftIn is
-    generic(
-        busWidth : integer := 32;
-        regDepth : integer := 4;
-        maxCount : integer := 4);
-    Port ( clk : in STD_LOGIC;
-               ce : in std_logic;
-               sync_reset : in STD_LOGIC;
-               dataIn : in std_logic_vector(busWidth-1 downto 0);
-               dataOut : out register_file(0 to regDepth-1);
-               finished : out STD_LOGIC;
-               dataIndex : out integer range 0 to maxCount);
-end shiftIn;
-
-architecture Behavioral of shiftIn is
-    signal dataIndex_s : integer range 0 to maxCount := 0;
-    signal dataOut_s : register_file(0 to regDepth-1);
-begin
-
-p_s2p : process(clk, sync_reset, dataIndex_s)
-begin
-    if(sync_reset = '0') then
-        dataIndex_s <= 0;
-        finished <= '0';
-        dataOut_s <= (others => (others => '0'));
-    elsif(rising_edge(clk)) then
-        if(ce = '1') then
-            dataOut_s(0) <= dataIn;
-            for i in integer range 1 to regDepth - 1 loop
-                dataOut_s(i) <= dataOut_s(i-1);
-            end loop;
-            
-            dataIndex_s <= dataIndex_s + 1;
-        else
-            dataIndex_s <= dataIndex_s;
-            dataOut_s <= dataOut_s;
-        end if;
-    end if;
-    if dataIndex_s < regDepth-1 then
-        finished <= '0';
-    elsif dataIndex_s < regDepth and ce = '0' then
-        finished <= '0';
-    else
-        finished <= '1';
-    end if;
-end process;
-
-dataOut <= dataOut_s;
-dataIndex <= dataIndex_s;
-end Behavioral;

+ 0 - 140
src/ip_repo/packaging/src/start_for_Block_proc_U0.vhd

@@ -1,140 +0,0 @@
--- ==============================================================
--- File generated on Wed Jun 26 16:53:30 CEST 2019
--- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
--- SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
--- IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
--- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
--- ==============================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.std_logic_unsigned.all;
-
-entity start_for_Block_proc_U0_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 1;
-        DEPTH : integer := 2);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-end start_for_Block_proc_U0_shiftReg;
-
-architecture rtl of start_for_Block_proc_U0_shiftReg is
---constant DEPTH_WIDTH: integer := 16;
-type SRL_ARRAY is array (0 to DEPTH-1) of std_logic_vector(DATA_WIDTH-1 downto 0);
-signal SRL_SIG : SRL_ARRAY;
-
-begin
-p_shift: process (clk)
-begin
-    if (clk'event and clk = '1') then
-        if (ce = '1') then
-            SRL_SIG <= data & SRL_SIG(0 to DEPTH-2);
-        end if;
-    end if;
-end process;
-
-q <= SRL_SIG(conv_integer(a));
-
-end rtl;
-
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.std_logic_unsigned.all;
-use ieee.std_logic_arith.all;
-
-entity start_for_Block_proc_U0 is 
-    generic (
-        MEM_STYLE  : string := "shiftreg"; 
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 1;
-        DEPTH : integer := 2);
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_empty_n : OUT STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_read : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0));
-end entity;
-
-architecture rtl of start_for_Block_proc_U0 is
-
-    component start_for_Block_proc_U0_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 1;
-        DEPTH : integer := 2);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-    end component;
-
-    signal shiftReg_addr : STD_LOGIC_VECTOR(ADDR_WIDTH - 1 downto 0);
-    signal shiftReg_data, shiftReg_q : STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-    signal shiftReg_ce : STD_LOGIC;
-    signal mOutPtr : STD_LOGIC_VECTOR(ADDR_WIDTH downto 0) := (others => '1');
-    signal internal_empty_n : STD_LOGIC := '0';
-    signal internal_full_n  : STD_LOGIC := '1';
-
-begin
-    if_empty_n <= internal_empty_n;
-    if_full_n <= internal_full_n;
-    shiftReg_data <= if_din;
-    if_dout <= shiftReg_q;
-
-    process (clk)
-    begin
-        if clk'event and clk = '1' then
-            if reset = '1' then
-                mOutPtr <= (others => '1');
-                internal_empty_n <= '0';
-                internal_full_n <= '1';
-            else
-                if ((if_read and if_read_ce) = '1' and internal_empty_n = '1') and 
-                   ((if_write and if_write_ce) = '0' or internal_full_n = '0') then
-                    mOutPtr <= mOutPtr - conv_std_logic_vector(1, 2);
-                    if (mOutPtr = conv_std_logic_vector(0, 2)) then 
-                        internal_empty_n <= '0';
-                    end if;
-                    internal_full_n <= '1';
-                elsif ((if_read and if_read_ce) = '0' or internal_empty_n = '0') and 
-                   ((if_write and if_write_ce) = '1' and internal_full_n = '1') then
-                    mOutPtr <= mOutPtr + conv_std_logic_vector(1, 2);
-                    internal_empty_n <= '1';
-                    if (mOutPtr = conv_std_logic_vector(DEPTH, 2) - conv_std_logic_vector(2, 2)) then 
-                        internal_full_n <= '0';
-                    end if;
-                end if;
-            end if;
-        end if;
-    end process;
-
-    shiftReg_addr <= (others => '0') when mOutPtr(ADDR_WIDTH) = '1' else mOutPtr(ADDR_WIDTH-1 downto 0);
-    shiftReg_ce <= (if_write and if_write_ce) and internal_full_n;
-
-    U_start_for_Block_proc_U0_shiftReg : start_for_Block_proc_U0_shiftReg
-    generic map (
-        DATA_WIDTH => DATA_WIDTH,
-        ADDR_WIDTH => ADDR_WIDTH,
-        DEPTH => DEPTH)
-    port map (
-        clk => clk,
-        data => shiftReg_data,
-        ce => shiftReg_ce,
-        a => shiftReg_addr,
-        q => shiftReg_q);
-
-end rtl;
-

+ 0 - 140
src/ip_repo/packaging/src/start_for_Loop_Border_proc_U0.vhd

@@ -1,140 +0,0 @@
--- ==============================================================
--- File generated on Wed Jun 26 16:53:30 CEST 2019
--- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
--- SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
--- IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
--- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
--- ==============================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.std_logic_unsigned.all;
-
-entity start_for_Loop_Border_proc_U0_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-end start_for_Loop_Border_proc_U0_shiftReg;
-
-architecture rtl of start_for_Loop_Border_proc_U0_shiftReg is
---constant DEPTH_WIDTH: integer := 16;
-type SRL_ARRAY is array (0 to DEPTH-1) of std_logic_vector(DATA_WIDTH-1 downto 0);
-signal SRL_SIG : SRL_ARRAY;
-
-begin
-p_shift: process (clk)
-begin
-    if (clk'event and clk = '1') then
-        if (ce = '1') then
-            SRL_SIG <= data & SRL_SIG(0 to DEPTH-2);
-        end if;
-    end if;
-end process;
-
-q <= SRL_SIG(conv_integer(a));
-
-end rtl;
-
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.std_logic_unsigned.all;
-use ieee.std_logic_arith.all;
-
-entity start_for_Loop_Border_proc_U0 is 
-    generic (
-        MEM_STYLE  : string := "shiftreg"; 
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_empty_n : OUT STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_read : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0));
-end entity;
-
-architecture rtl of start_for_Loop_Border_proc_U0 is
-
-    component start_for_Loop_Border_proc_U0_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-    end component;
-
-    signal shiftReg_addr : STD_LOGIC_VECTOR(ADDR_WIDTH - 1 downto 0);
-    signal shiftReg_data, shiftReg_q : STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-    signal shiftReg_ce : STD_LOGIC;
-    signal mOutPtr : STD_LOGIC_VECTOR(ADDR_WIDTH downto 0) := (others => '1');
-    signal internal_empty_n : STD_LOGIC := '0';
-    signal internal_full_n  : STD_LOGIC := '1';
-
-begin
-    if_empty_n <= internal_empty_n;
-    if_full_n <= internal_full_n;
-    shiftReg_data <= if_din;
-    if_dout <= shiftReg_q;
-
-    process (clk)
-    begin
-        if clk'event and clk = '1' then
-            if reset = '1' then
-                mOutPtr <= (others => '1');
-                internal_empty_n <= '0';
-                internal_full_n <= '1';
-            else
-                if ((if_read and if_read_ce) = '1' and internal_empty_n = '1') and 
-                   ((if_write and if_write_ce) = '0' or internal_full_n = '0') then
-                    mOutPtr <= mOutPtr - conv_std_logic_vector(1, 3);
-                    if (mOutPtr = conv_std_logic_vector(0, 3)) then 
-                        internal_empty_n <= '0';
-                    end if;
-                    internal_full_n <= '1';
-                elsif ((if_read and if_read_ce) = '0' or internal_empty_n = '0') and 
-                   ((if_write and if_write_ce) = '1' and internal_full_n = '1') then
-                    mOutPtr <= mOutPtr + conv_std_logic_vector(1, 3);
-                    internal_empty_n <= '1';
-                    if (mOutPtr = conv_std_logic_vector(DEPTH, 3) - conv_std_logic_vector(2, 3)) then 
-                        internal_full_n <= '0';
-                    end if;
-                end if;
-            end if;
-        end if;
-    end process;
-
-    shiftReg_addr <= (others => '0') when mOutPtr(ADDR_WIDTH) = '1' else mOutPtr(ADDR_WIDTH-1 downto 0);
-    shiftReg_ce <= (if_write and if_write_ce) and internal_full_n;
-
-    U_start_for_Loop_Border_proc_U0_shiftReg : start_for_Loop_Border_proc_U0_shiftReg
-    generic map (
-        DATA_WIDTH => DATA_WIDTH,
-        ADDR_WIDTH => ADDR_WIDTH,
-        DEPTH => DEPTH)
-    port map (
-        clk => clk,
-        data => shiftReg_data,
-        ce => shiftReg_ce,
-        a => shiftReg_addr,
-        q => shiftReg_q);
-
-end rtl;
-

+ 0 - 140
src/ip_repo/packaging/src/start_for_Loop_VConvH_proc_U0.vhd

@@ -1,140 +0,0 @@
--- ==============================================================
--- File generated on Wed Jun 26 16:53:30 CEST 2019
--- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
--- SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
--- IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
--- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
--- ==============================================================
-
-library IEEE;
-use IEEE.std_logic_1164.all;
-use IEEE.std_logic_unsigned.all;
-
-entity start_for_Loop_VConvH_proc_U0_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-end start_for_Loop_VConvH_proc_U0_shiftReg;
-
-architecture rtl of start_for_Loop_VConvH_proc_U0_shiftReg is
---constant DEPTH_WIDTH: integer := 16;
-type SRL_ARRAY is array (0 to DEPTH-1) of std_logic_vector(DATA_WIDTH-1 downto 0);
-signal SRL_SIG : SRL_ARRAY;
-
-begin
-p_shift: process (clk)
-begin
-    if (clk'event and clk = '1') then
-        if (ce = '1') then
-            SRL_SIG <= data & SRL_SIG(0 to DEPTH-2);
-        end if;
-    end if;
-end process;
-
-q <= SRL_SIG(conv_integer(a));
-
-end rtl;
-
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.std_logic_unsigned.all;
-use ieee.std_logic_arith.all;
-
-entity start_for_Loop_VConvH_proc_U0 is 
-    generic (
-        MEM_STYLE  : string := "shiftreg"; 
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : IN STD_LOGIC;
-        reset : IN STD_LOGIC;
-        if_empty_n : OUT STD_LOGIC;
-        if_read_ce : IN STD_LOGIC;
-        if_read : IN STD_LOGIC;
-        if_dout : OUT STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-        if_full_n : OUT STD_LOGIC;
-        if_write_ce : IN STD_LOGIC;
-        if_write : IN STD_LOGIC;
-        if_din : IN STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0));
-end entity;
-
-architecture rtl of start_for_Loop_VConvH_proc_U0 is
-
-    component start_for_Loop_VConvH_proc_U0_shiftReg is
-    generic (
-        DATA_WIDTH : integer := 1;
-        ADDR_WIDTH : integer := 2;
-        DEPTH : integer := 3);
-    port (
-        clk : in std_logic;
-        data : in std_logic_vector(DATA_WIDTH-1 downto 0);
-        ce : in std_logic;
-        a : in std_logic_vector(ADDR_WIDTH-1 downto 0);
-        q : out std_logic_vector(DATA_WIDTH-1 downto 0));
-    end component;
-
-    signal shiftReg_addr : STD_LOGIC_VECTOR(ADDR_WIDTH - 1 downto 0);
-    signal shiftReg_data, shiftReg_q : STD_LOGIC_VECTOR(DATA_WIDTH - 1 downto 0);
-    signal shiftReg_ce : STD_LOGIC;
-    signal mOutPtr : STD_LOGIC_VECTOR(ADDR_WIDTH downto 0) := (others => '1');
-    signal internal_empty_n : STD_LOGIC := '0';
-    signal internal_full_n  : STD_LOGIC := '1';
-
-begin
-    if_empty_n <= internal_empty_n;
-    if_full_n <= internal_full_n;
-    shiftReg_data <= if_din;
-    if_dout <= shiftReg_q;
-
-    process (clk)
-    begin
-        if clk'event and clk = '1' then
-            if reset = '1' then
-                mOutPtr <= (others => '1');
-                internal_empty_n <= '0';
-                internal_full_n <= '1';
-            else
-                if ((if_read and if_read_ce) = '1' and internal_empty_n = '1') and 
-                   ((if_write and if_write_ce) = '0' or internal_full_n = '0') then
-                    mOutPtr <= mOutPtr - conv_std_logic_vector(1, 3);
-                    if (mOutPtr = conv_std_logic_vector(0, 3)) then 
-                        internal_empty_n <= '0';
-                    end if;
-                    internal_full_n <= '1';
-                elsif ((if_read and if_read_ce) = '0' or internal_empty_n = '0') and 
-                   ((if_write and if_write_ce) = '1' and internal_full_n = '1') then
-                    mOutPtr <= mOutPtr + conv_std_logic_vector(1, 3);
-                    internal_empty_n <= '1';
-                    if (mOutPtr = conv_std_logic_vector(DEPTH, 3) - conv_std_logic_vector(2, 3)) then 
-                        internal_full_n <= '0';
-                    end if;
-                end if;
-            end if;
-        end if;
-    end process;
-
-    shiftReg_addr <= (others => '0') when mOutPtr(ADDR_WIDTH) = '1' else mOutPtr(ADDR_WIDTH-1 downto 0);
-    shiftReg_ce <= (if_write and if_write_ce) and internal_full_n;
-
-    U_start_for_Loop_VConvH_proc_U0_shiftReg : start_for_Loop_VConvH_proc_U0_shiftReg
-    generic map (
-        DATA_WIDTH => DATA_WIDTH,
-        ADDR_WIDTH => ADDR_WIDTH,
-        DEPTH => DEPTH)
-    port map (
-        clk => clk,
-        data => shiftReg_data,
-        ce => shiftReg_ce,
-        a => shiftReg_addr,
-        q => shiftReg_q);
-
-end rtl;
-

+ 0 - 177
src/ip_repo/packaging/src/tb.vhd

@@ -1,177 +0,0 @@
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use IEEE.std_logic_arith.ALL;
-use IEEE.STD_LOGIC_UNSIGNED.ALL;
-use STD.textio.all;
-use ieee.std_logic_textio.all;
-
-entity tb is
-        
-end tb;
-
-architecture Behavioral of tb is
-
-constant busWidth : integer:=32;
-
-    component packaging is
-    generic(
-        busWidth : integer:=32);
-    Port ( clk : in STD_LOGIC;
-           rst : in STD_LOGIC;
-           
-           inputStream : in STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           inpRdEn : out std_logic;
-           inputEmpty : in std_logic;
-           
-           outData : out STD_LOGIC_VECTOR (busWidth-1 downto 0);
-           outWrEn : out std_logic;
-           outputFull : in std_logic;
-           
-           errorCode : out STD_LOGIC_VECTOR(3 DOWNTO 0);
-           stateOut : out STD_LOGIC_VECTOR(3 downto 0));
-    end component;
-    
-    signal clk : std_logic := '1';
-    signal rst : std_logic := '0';
-    
-    
-    
-
-    file inputFile : text;
-    file outputTimingsFile : text;
-    file outputFile : text;
-    
-    signal s_inData : std_logic_vector(busWidth-1 downto 0);
-    
-    signal srcAvail: std_logic := '1';
-    signal inputEmpty : std_logic := '0';
-    signal rdEn : std_logic;
-    
-    signal s_outData : std_logic_vector(busWidth-1 downto 0);
-    signal outputFull : std_logic := '0';
-    signal wrEn : std_logic;
-    
-
-    signal done: std_logic := '0'; 
-
-    signal index : integer := 0;
-    signal seek : integer := 0;
-    signal eth : integer range 0 to 7 := 0;
-
-begin
-
-    dut : packaging port map (
-        clk => clk,
-        rst => rst,
-        
-        inputStream => s_inData,
-        inputEmpty => inputEmpty,
-        inpRdEn => rdEn,
-        
-        outData => s_outData,
-        outWrEn => wrEn,
-        outputFull => outputFull
-        
-    );
-
-    p_read : process
-        variable v_inLine : line;
-        variable v_inTime : time;
-        variable v_space  : character;
-        variable v_inData : std_logic_vector(busWidth-1 downto 0);
-        
-
-    begin
-        file_open(inputFile, "input.txt", read_mode);
-        
-        while not endfile(inputFile) loop
-            wait until rising_edge(clk);
-            if rdEn = '1' then
-
-                assert srcAvail = '1'
-                report "input underflow"
-                severity warning;
-            
-                readline(inputFile, v_inLine);
-                read(v_inLine, v_inTime);
-                read(v_inLine, v_space);
-                read(v_inLine, v_inData);
-                s_inData <= v_inData;
-                
-                if v_inTime > 10 ns then
-                    srcAvail <= '0';
-                    srcAvail <= '1' after v_inTime;
-                end if;
-            end if;
-        end loop;
-        wait until rising_edge(clk);
-        file_close(inputFile);
-        srcAvail <= '0';
-        done <= '1' after 100 ns;
-        wait;
-    end process;
-    
-    inputEmpty <= not srcAvail or not rst;
-
-    p_write : process
-        variable v_outLine : line;
-        variable v_outTime : time;
-        variable c_space   : character := ' ';
-    begin
-        file_open(outputFile, "output.txt", write_mode);
-        while not done = '1' loop
-            wait until rising_edge(clk);
-            if wrEn = '1' then
-                assert outputFull = '0'
-                report "output overflow"
-                severity warning;
-                write(v_outLine, time'image(now));
-                write(v_outLine, c_space);
-                write(v_outLine, s_outData);
-                writeline(outputFile, v_outLine);
-            end if;
-        end loop;
-        file_close(outputFile);
-        wait;
-    end process;
-    
-    p_throttleOut : process
-        variable v_inLine : line;
-        variable v_inTime : time;
-    begin
-        file_open(outputTimingsFile, "outputTimings.txt", read_mode);
-        while not endfile(outputTimingsFile) and done = '0' loop
-            wait until rising_edge(clk);
-            
-            if wrEn = '1' then
-                readline(outputTimingsFile, v_inLine);
-                read(v_inLine, v_inTime);
-                
-                if v_inTime > 10 ns then
-                    outputFull <= '1';
-                    outputFull <= '0' after v_inTime;
-                end if;
-            end if;
-        end loop;
-        file_close(outputTimingsFile);
-        wait;
-    end process;
-
-    clkGen : process begin
-        wait for 5ns;
-        clk <= not clk;
-    end process;
-   
-    
-    rstGen : process begin
-        rst <= '0';
-        wait for 15 ns;
-        rst <= '1';
-        wait until rising_edge(done);
-        wait until rising_edge(clk);
-        assert false
-        report "simulation ended"
-        severity failure;
-    end process;
-
-end Behavioral;

+ 0 - 128
src/ip_repo/packaging/src/tb_behav.wcfg

@@ -1,128 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<wave_config>
-   <wave_state>
-   </wave_state>
-   <db_ref_list>
-      <db_ref path="tb_behav.wdb" id="1">
-         <top_modules>
-            <top_module name="mypackage" />
-            <top_module name="tb" />
-         </top_modules>
-      </db_ref>
-   </db_ref_list>
-   <zoom_setting>
-      <ZoomStartTime time="325423333333fs"></ZoomStartTime>
-      <ZoomEndTime time="559023333334fs"></ZoomEndTime>
-      <Cursor1Time time="520090000000fs"></Cursor1Time>
-   </zoom_setting>
-   <column_width_setting>
-      <NameColumnWidth column_width="201"></NameColumnWidth>
-      <ValueColumnWidth column_width="72"></ValueColumnWidth>
-   </column_width_setting>
-   <WVObjectSize size="19" />
-   <wvobject fp_name="/tb/dut/clk" type="logic">
-      <obj_property name="ElementShortName">clk</obj_property>
-      <obj_property name="ObjectShortName">clk</obj_property>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/rst" type="logic">
-      <obj_property name="ElementShortName">rst</obj_property>
-      <obj_property name="ObjectShortName">rst</obj_property>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/inputStream" type="array">
-      <obj_property name="ElementShortName">inputStream[31:0]</obj_property>
-      <obj_property name="ObjectShortName">inputStream[31:0]</obj_property>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/inputReadEnable" type="logic">
-      <obj_property name="ElementShortName">inputReadEnable</obj_property>
-      <obj_property name="ObjectShortName">inputReadEnable</obj_property>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/inputReadReady" type="logic">
-      <obj_property name="ElementShortName">inputReadReady</obj_property>
-      <obj_property name="ObjectShortName">inputReadReady</obj_property>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/inputEmpty" type="logic">
-      <obj_property name="ElementShortName">inputEmpty</obj_property>
-      <obj_property name="ObjectShortName">inputEmpty</obj_property>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/outputStream" type="array">
-      <obj_property name="ElementShortName">outputStream[31:0]</obj_property>
-      <obj_property name="ObjectShortName">outputStream[31:0]</obj_property>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/outputWriteEnable" type="logic">
-      <obj_property name="ElementShortName">outputWriteEnable</obj_property>
-      <obj_property name="ObjectShortName">outputWriteEnable</obj_property>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/outputWriteReady" type="logic">
-      <obj_property name="ElementShortName">outputWriteReady</obj_property>
-      <obj_property name="ObjectShortName">outputWriteReady</obj_property>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/outputFull" type="logic">
-      <obj_property name="ElementShortName">outputFull</obj_property>
-      <obj_property name="ObjectShortName">outputFull</obj_property>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/outHeaderCounter" type="other">
-      <obj_property name="ElementShortName">outHeaderCounter</obj_property>
-      <obj_property name="ObjectShortName">outHeaderCounter</obj_property>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/state" type="other">
-      <obj_property name="ElementShortName">state</obj_property>
-      <obj_property name="ObjectShortName">state</obj_property>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/errorCode" type="array">
-      <obj_property name="ElementShortName">errorCode[3:0]</obj_property>
-      <obj_property name="ObjectShortName">errorCode[3:0]</obj_property>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/mux1/done" type="logic">
-      <obj_property name="ElementShortName">done</obj_property>
-      <obj_property name="ObjectShortName">done</obj_property>
-   </wvobject>
-   <wvobject fp_name="group61" type="group">
-      <obj_property name="label">dummy</obj_property>
-      <obj_property name="DisplayName">label</obj_property>
-      <obj_property name="isExpanded"></obj_property>
-      <wvobject fp_name="/tb/dut/mux1/dummy/start" type="logic">
-         <obj_property name="ElementShortName">start</obj_property>
-         <obj_property name="ObjectShortName">start</obj_property>
-      </wvobject>
-      <wvobject fp_name="/tb/dut/mux1/dummy/ready" type="logic">
-         <obj_property name="ElementShortName">ready</obj_property>
-         <obj_property name="ObjectShortName">ready</obj_property>
-      </wvobject>
-      <wvobject fp_name="/tb/dut/mux1/dummy/idle" type="logic">
-         <obj_property name="ElementShortName">idle</obj_property>
-         <obj_property name="ObjectShortName">idle</obj_property>
-      </wvobject>
-      <wvobject fp_name="/tb/dut/mux1/dummy/srcValid" type="logic">
-         <obj_property name="ElementShortName">srcValid</obj_property>
-         <obj_property name="ObjectShortName">srcValid</obj_property>
-      </wvobject>
-      <wvobject fp_name="/tb/dut/mux1/dummy/srcReady" type="logic">
-         <obj_property name="ElementShortName">srcReady</obj_property>
-         <obj_property name="ObjectShortName">srcReady</obj_property>
-      </wvobject>
-      <wvobject fp_name="/tb/dut/mux1/dummy/dstValid" type="logic">
-         <obj_property name="ElementShortName">dstValid</obj_property>
-         <obj_property name="ObjectShortName">dstValid</obj_property>
-      </wvobject>
-      <wvobject fp_name="/tb/dut/mux1/dummy/dstReady" type="logic">
-         <obj_property name="ElementShortName">dstReady</obj_property>
-         <obj_property name="ObjectShortName">dstReady</obj_property>
-      </wvobject>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/csSum" type="array">
-      <obj_property name="ElementShortName">csSum[31:0]</obj_property>
-      <obj_property name="ObjectShortName">csSum[31:0]</obj_property>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/csEnable" type="logic">
-      <obj_property name="ElementShortName">csEnable</obj_property>
-      <obj_property name="ObjectShortName">csEnable</obj_property>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/csOutSum" type="array">
-      <obj_property name="ElementShortName">csOutSum[31:0]</obj_property>
-      <obj_property name="ObjectShortName">csOutSum[31:0]</obj_property>
-   </wvobject>
-   <wvobject fp_name="/tb/dut/csOutReset" type="logic">
-      <obj_property name="ElementShortName">csOutReset</obj_property>
-      <obj_property name="ObjectShortName">csOutReset</obj_property>
-   </wvobject>
-</wave_config>

+ 0 - 25
src/ip_repo/packaging/xgui/packaging_v3_0.tcl

@@ -1,25 +0,0 @@
-# Definitional proc to organize widgets for parameters.
-proc init_gui { IPINST } {
-  ipgui::add_param $IPINST -name "Component_Name"
-  #Adding Page
-  set Page_0 [ipgui::add_page $IPINST -name "Page 0"]
-  ipgui::add_param $IPINST -name "busWidth" -parent ${Page_0}
-
-
-}
-
-proc update_PARAM_VALUE.busWidth { PARAM_VALUE.busWidth } {
-	# Procedure called to update busWidth when any of the dependent parameters in the arguments change
-}
-
-proc validate_PARAM_VALUE.busWidth { PARAM_VALUE.busWidth } {
-	# Procedure called to validate busWidth
-	return true
-}
-
-
-proc update_MODELPARAM_VALUE.busWidth { MODELPARAM_VALUE.busWidth PARAM_VALUE.busWidth } {
-	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
-	set_property value [get_property value ${PARAM_VALUE.busWidth}] ${MODELPARAM_VALUE.busWidth}
-}
-

+ 334 - 190
vhdl-modules.tcl

@@ -124,15 +124,171 @@ update_ip_catalog -rebuild
 
 # Set 'sources_1' fileset object
 set obj [get_filesets sources_1]
+set files [list \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Block_proc.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Loop_Border_proc.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Loop_Border_proc_borderbuf.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Loop_HConvH_proc6.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Loop_VConvH_proc.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Loop_VConvH_proc_linebuf_0.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/globals.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/checksum.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/conv2d.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/conv2d_5x5_224p.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/dummyModule.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/fifo_w32_d2_A.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/fifo_w32_d3_A.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/filter11x11_strm.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/filter11x11_strm_ent.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/kernel_5x5.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/multiplex.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/ram.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/shiftIn.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/start_for_Block_proc_U0.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/start_for_Loop_Border_proc_U0.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/start_for_Loop_VConvH_proc_U0.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/packaging.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/relu.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/shiftOut.vhd"] \
+]
+add_files -norecurse -fileset $obj $files
+
 # Set 'sources_1' fileset file properties for remote files
-# None
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Block_proc.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Loop_Border_proc.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Loop_Border_proc_borderbuf.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Loop_HConvH_proc6.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Loop_VConvH_proc.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Loop_VConvH_proc_linebuf_0.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/globals.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/checksum.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/conv2d.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/conv2d_5x5_224p.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/dummyModule.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/fifo_w32_d2_A.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/fifo_w32_d3_A.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/filter11x11_strm.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/filter11x11_strm_ent.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/kernel_5x5.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/multiplex.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/ram.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/shiftIn.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/start_for_Block_proc_U0.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/start_for_Loop_Border_proc_U0.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/start_for_Loop_VConvH_proc_U0.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/packaging.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/relu.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/shiftOut.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
 
 # Set 'sources_1' fileset file properties for local files
 # None
 
 # Set 'sources_1' fileset properties
 set obj [get_filesets sources_1]
-set_property -name "top" -value "design_1_wrapper" -objects $obj
+set_property -name "top" -value "packaging" -objects $obj
+set_property -name "top_arch" -value "Behavioral" -objects $obj
+set_property -name "top_file" -value "$proj_dir/vhdl-modules.srcs/sources_1/imports/src/packaging.vhd" -objects $obj
+set_property -name "top_lib" -value "xil_defaultlib" -objects $obj
 
 # Create 'constrs_1' fileset (if not found)
 if {[string equal [get_filesets -quiet constrs_1] ""]} {
@@ -163,6 +319,7 @@ if {[string equal [get_filesets -quiet sim_1] ""]} {
 set obj [get_filesets sim_1]
 set files [list \
  [file normalize "${origin_dir}/src/testbench/packaging_tb.vhd"] \
+ [file normalize "${origin_dir}/vivado_project/vhdl-modules.srcs/sources_1/imports/src/tb.vhd"] \
 ]
 add_files -norecurse -fileset $obj $files
 
@@ -172,6 +329,11 @@ set file [file normalize $file]
 set file_obj [get_files -of_objects [get_filesets sim_1] [list "*$file"]]
 set_property -name "file_type" -value "VHDL" -objects $file_obj
 
+set file "$origin_dir/vivado_project/vhdl-modules.srcs/sources_1/imports/src/tb.vhd"
+set file [file normalize $file]
+set file_obj [get_files -of_objects [get_filesets sim_1] [list "*$file"]]
+set_property -name "file_type" -value "VHDL" -objects $file_obj
+
 
 # Set 'sim_1' fileset file properties for local files
 # None
@@ -191,10 +353,84 @@ set obj [get_filesets utils_1]
 
 
 # Adding sources referenced in BDs, if not already added
+if { [get_files Block_proc.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Block_proc.vhd
+}
+if { [get_files Loop_Border_proc.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Loop_Border_proc.vhd
+}
+if { [get_files Loop_Border_proc_borderbuf.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Loop_Border_proc_borderbuf.vhd
+}
+if { [get_files Loop_HConvH_proc6.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Loop_HConvH_proc6.vhd
+}
+if { [get_files Loop_VConvH_proc.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Loop_VConvH_proc.vhd
+}
+if { [get_files Loop_VConvH_proc_linebuf_0.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/Loop_VConvH_proc_linebuf_0.vhd
+}
+if { [get_files globals.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/globals.vhd
+}
+if { [get_files checksum.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/checksum.vhd
+}
+if { [get_files conv2d.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/conv2d.vhd
+}
+if { [get_files conv2d_5x5_224p.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/conv2d_5x5_224p.vhd
+}
+if { [get_files dummyModule.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/dummyModule.vhd
+}
+if { [get_files fifo_w32_d2_A.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/fifo_w32_d2_A.vhd
+}
+if { [get_files fifo_w32_d3_A.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/fifo_w32_d3_A.vhd
+}
+if { [get_files filter11x11_strm.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/filter11x11_strm.vhd
+}
+if { [get_files filter11x11_strm_ent.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/filter11x11_strm_ent.vhd
+}
+if { [get_files kernel_5x5.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/kernel_5x5.vhd
+}
+if { [get_files multiplex.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/multiplex.vhd
+}
+if { [get_files ram.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/ram.vhd
+}
+if { [get_files shiftIn.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/shiftIn.vhd
+}
+if { [get_files start_for_Block_proc_U0.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/start_for_Block_proc_U0.vhd
+}
+if { [get_files start_for_Loop_Border_proc_U0.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/start_for_Loop_Border_proc_U0.vhd
+}
+if { [get_files start_for_Loop_VConvH_proc_U0.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/start_for_Loop_VConvH_proc_U0.vhd
+}
+if { [get_files packaging.vhd] == "" } {
+  import_files -quiet -fileset sources_1 /home/windows/repos/vhdl-modules/vivado_project/vhdl-modules.srcs/sources_1/imports/src/packaging.vhd
+}
 
 
 # Proc to create BD design_1
 proc cr_bd_design_1 { parentCell } {
+# The design that will be created by this Tcl proc contains the following 
+# module references:
+# packaging
+
+
 
   # CHANGE DESIGN NAME HERE
   set design_name design_1
@@ -214,7 +450,6 @@ proc cr_bd_design_1 { parentCell } {
   xilinx.com:user:ethernet_transceiver2:1.0\
   xilinx.com:ip:fifo_generator:13.2\
   xilinx.com:ip:c_addsub:12.0\
-  user.org:user:packaging:3.0\
   xilinx.com:user:segment:1.0\
   xilinx.com:ip:xlconcat:2.1\
   xilinx.com:ip:xlconstant:1.1\
@@ -238,6 +473,31 @@ proc cr_bd_design_1 { parentCell } {
 
   }
 
+  ##################################################################
+  # CHECK Modules
+  ##################################################################
+  set bCheckModules 1
+  if { $bCheckModules == 1 } {
+     set list_check_mods "\ 
+  packaging\
+  "
+
+   set list_mods_missing ""
+   common::send_msg_id "BD_TCL-006" "INFO" "Checking if the following modules exist in the project's sources: $list_check_mods ."
+
+   foreach mod_vlnv $list_check_mods {
+      if { [can_resolve_reference $mod_vlnv] == 0 } {
+         lappend list_mods_missing $mod_vlnv
+      }
+   }
+
+   if { $list_mods_missing ne "" } {
+      catch {common::send_msg_id "BD_TCL-115" "ERROR" "The following module(s) are not found in the project: $list_mods_missing" }
+      common::send_msg_id "BD_TCL-008" "INFO" "Please add source files for the missing module(s) above."
+      set bCheckIPsPassed 0
+   }
+}
+
   if { $bCheckIPsPassed != 1 } {
     common::send_msg_id "BD_TCL-1003" "WARNING" "Will not continue with creation of design due to the error(s) above."
     return 3
@@ -435,9 +695,17 @@ proc cr_bd_design_1 { parentCell } {
    CONFIG.Out_Width {1} \
  ] $negate_0
 
-  # Create instance: packaging_1, and set properties
-  set packaging_1 [ create_bd_cell -type ip -vlnv user.org:user:packaging:3.0 packaging_1 ]
-
+  # Create instance: packaging_0, and set properties
+  set block_name packaging
+  set block_cell_name packaging_0
+  if { [catch {set packaging_0 [create_bd_cell -type module -reference $block_name $block_cell_name] } errmsg] } {
+     catch {common::send_msg_id "BD_TCL-105" "ERROR" "Unable to add referenced block <$block_name>. Please add the files for ${block_name}'s definition into the project."}
+     return 1
+   } elseif { $packaging_0 eq "" } {
+     catch {common::send_msg_id "BD_TCL-106" "ERROR" "Unable to referenced block <$block_name>. Please add the files for ${block_name}'s definition into the project."}
+     return 1
+   }
+  
   # Create instance: segment_0, and set properties
   set segment_0 [ create_bd_cell -type ip -vlnv xilinx.com:user:segment:1.0 segment_0 ]
 
@@ -489,8 +757,6 @@ proc cr_bd_design_1 { parentCell } {
   # Create interface connections
   connect_bd_intf_net -intf_net ethernet_transceiver2_0_fifo_read [get_bd_intf_pins ethernet_transceiver2_0/fifo_read] [get_bd_intf_pins fifo_output/FIFO_READ]
   connect_bd_intf_net -intf_net ethernet_transceiver2_0_fifo_write [get_bd_intf_pins ethernet_transceiver2_0/fifo_write] [get_bd_intf_pins fifo_input/FIFO_WRITE]
-  connect_bd_intf_net -intf_net packaging_1_fifo_read [get_bd_intf_pins fifo_input/FIFO_READ] [get_bd_intf_pins packaging_1/fifo_read]
-  connect_bd_intf_net -intf_net packaging_1_fifo_write [get_bd_intf_pins fifo_output/FIFO_WRITE] [get_bd_intf_pins packaging_1/fifo_write]
 
   # Create port connections
   connect_bd_net -net Net [get_bd_ports eth_rxd_0] [get_bd_pins ethernet_transceiver2_0/eth_rxd]
@@ -502,7 +768,7 @@ proc cr_bd_design_1 { parentCell } {
   connect_bd_net -net Net6 [get_bd_ports eth_rstn_0] [get_bd_pins ethernet_transceiver2_0/eth_rstn]
   connect_bd_net -net c_counter_binary_0_Q [get_bd_pins c_counter_binary_0/Q] [get_bd_pins segment_0/num2]
   connect_bd_net -net c_counter_binary_1_Q [get_bd_pins c_counter_binary_1/Q] [get_bd_pins segment_0/num1]
-  connect_bd_net -net clk_wiz_clk_out1 [get_bd_ports clk_100MHz] [get_bd_pins c_counter_binary_0/CLK] [get_bd_pins c_counter_binary_1/CLK] [get_bd_pins ethernet_transceiver2_0/clk100mhz] [get_bd_pins fifo_input/clk] [get_bd_pins fifo_output/wr_clk] [get_bd_pins negate_0/CLK] [get_bd_pins packaging_1/clk] [get_bd_pins segment_0/clk]
+  connect_bd_net -net clk_wiz_clk_out1 [get_bd_ports clk_100MHz] [get_bd_pins c_counter_binary_0/CLK] [get_bd_pins c_counter_binary_1/CLK] [get_bd_pins ethernet_transceiver2_0/clk100mhz] [get_bd_pins fifo_input/clk] [get_bd_pins fifo_output/wr_clk] [get_bd_pins negate_0/CLK] [get_bd_pins packaging_0/clk] [get_bd_pins segment_0/clk]
   connect_bd_net -net ethernet_transceiver2_0_eth_mdc [get_bd_ports eth_mdc_0] [get_bd_pins ethernet_transceiver2_0/eth_mdc]
   connect_bd_net -net ethernet_transceiver2_0_eth_refclk [get_bd_ports eth_refclk_0] [get_bd_pins ethernet_transceiver2_0/eth_refclk] [get_bd_pins fifo_output/rd_clk]
   connect_bd_net -net ethernet_transceiver2_0_led16_b [get_bd_ports led16_b_0] [get_bd_pins ethernet_transceiver2_0/led16_b]
@@ -511,12 +777,18 @@ proc cr_bd_design_1 { parentCell } {
   connect_bd_net -net ethernet_transceiver2_0_led17_b [get_bd_ports led17_b_0] [get_bd_pins ethernet_transceiver2_0/led17_b]
   connect_bd_net -net ethernet_transceiver2_0_led17_g [get_bd_ports led17_g_0] [get_bd_pins ethernet_transceiver2_0/led17_g]
   connect_bd_net -net ethernet_transceiver2_0_led17_r [get_bd_ports led17_r_0] [get_bd_pins ethernet_transceiver2_0/led17_r]
+  connect_bd_net -net fifo_input_dout [get_bd_pins fifo_input/dout] [get_bd_pins packaging_0/inputStream]
+  connect_bd_net -net fifo_input_empty [get_bd_pins fifo_input/empty] [get_bd_pins packaging_0/inputEmpty]
   connect_bd_net -net fifo_input_overflow [get_bd_pins c_counter_binary_1/CE] [get_bd_pins fifo_input/overflow]
+  connect_bd_net -net fifo_output_full [get_bd_pins fifo_output/full] [get_bd_pins packaging_0/outputFull]
   connect_bd_net -net fifo_output_overflow [get_bd_pins c_counter_binary_0/CE] [get_bd_pins fifo_output/overflow]
   connect_bd_net -net fifo_output_rd_data_count [get_bd_pins fifo_output/rd_data_count] [get_bd_pins xlconcat_5/In0]
-  connect_bd_net -net packaging_1_errorCode [get_bd_pins packaging_1/errorCode] [get_bd_pins xlconcat_4/In0]
-  connect_bd_net -net packaging_1_stateOut [get_bd_pins packaging_1/stateOut] [get_bd_pins xlconcat_4/In1]
-  connect_bd_net -net rst_clk_wiz_100M_peripheral_aresetn [get_bd_ports reset_rtl_0] [get_bd_pins ethernet_transceiver2_0/btn_reset] [get_bd_pins negate_0/A] [get_bd_pins packaging_1/rst]
+  connect_bd_net -net packaging_0_errorCode [get_bd_pins packaging_0/errorCode] [get_bd_pins xlconcat_4/In0]
+  connect_bd_net -net packaging_0_inpRdEn [get_bd_pins fifo_input/rd_en] [get_bd_pins packaging_0/inpRdEn]
+  connect_bd_net -net packaging_0_outData [get_bd_pins fifo_output/din] [get_bd_pins packaging_0/outData]
+  connect_bd_net -net packaging_0_outWrEn [get_bd_pins fifo_output/wr_en] [get_bd_pins packaging_0/outWrEn]
+  connect_bd_net -net packaging_0_stateOut [get_bd_pins packaging_0/stateOut] [get_bd_pins xlconcat_4/In1]
+  connect_bd_net -net rst_clk_wiz_100M_peripheral_aresetn [get_bd_ports reset_rtl_0] [get_bd_pins ethernet_transceiver2_0/btn_reset] [get_bd_pins negate_0/A] [get_bd_pins packaging_0/rst]
   connect_bd_net -net segment_0_anodes [get_bd_ports anodes_0] [get_bd_pins segment_0/anodes]
   connect_bd_net -net segment_0_cathodes [get_bd_ports cathodes_0] [get_bd_pins segment_0/cathodes]
   connect_bd_net -net sw_0_1 [get_bd_ports sw_0] [get_bd_pins ethernet_transceiver2_0/ip]
@@ -532,21 +804,21 @@ proc cr_bd_design_1 { parentCell } {
   # Perform GUI Layout
   regenerate_bd_layout -layout_string {
    "ExpandedHierarchyInLayout":"",
-   "guistr":"# # String gsaved with Nlview 6.8.11  2018-08-07 bk=1.4403 VDI=40 GEI=35 GUI=JA:9.0 non-TLS
+   "guistr":"# # String gsaved with Nlview 6.8.11  2018-08-07 bk=1.4403 VDI=40 GEI=35 GUI=JA:9.0 TLS
 #  -string -flagsOSRD
 preplace port led17_r_0 -pg 1 -y 710 -defaultsOSRD
 preplace port eth_txen_0 -pg 1 -y 90 -defaultsOSRD
-preplace port eth_rxerr_0 -pg 1 -y 120 -defaultsOSRD
 preplace port led17_g_0 -pg 1 -y 680 -defaultsOSRD
+preplace port eth_rxerr_0 -pg 1 -y 120 -defaultsOSRD
 preplace port led16_r_0 -pg 1 -y 620 -defaultsOSRD
 preplace port led17_b_0 -pg 1 -y 650 -defaultsOSRD
 preplace port clk_100MHz -pg 1 -y 260 -defaultsOSRD
 preplace port eth_rstn_0 -pg 1 -y 240 -defaultsOSRD
-preplace port eth_mdc_0 -pg 1 -y 180 -defaultsOSRD
 preplace port led16_b_0 -pg 1 -y 560 -defaultsOSRD
+preplace port eth_mdc_0 -pg 1 -y 180 -defaultsOSRD
 preplace port led16_g_0 -pg 1 -y 590 -defaultsOSRD
-preplace port eth_mdio_0 -pg 1 -y 210 -defaultsOSRD
 preplace port eth_refclk_0 -pg 1 -y 530 -defaultsOSRD
+preplace port eth_mdio_0 -pg 1 -y 210 -defaultsOSRD
 preplace port reset_rtl_0 -pg 1 -y 720 -defaultsOSRD
 preplace port eth_crsdv_0 -pg 1 -y 60 -defaultsOSRD
 preplace portBus anodes_0 -pg 1 -y 330 -defaultsOSRD
@@ -555,65 +827,70 @@ preplace portBus eth_txd_0 -pg 1 -y 30 -defaultsOSRD
 preplace portBus led_0 -pg 1 -y 820 -defaultsOSRD
 preplace portBus sw_0 -pg 1 -y 380 -defaultsOSRD
 preplace portBus eth_rxd_0 -pg 1 -y 0 -defaultsOSRD
-preplace inst fifo_input -pg 1 -lvl 4 -y 190 -defaultsOSRD
+preplace inst fifo_input -pg 1 -lvl 4 -y 220 -defaultsOSRD
 preplace inst xlslice_0 -pg 1 -lvl 5 -y 880 -defaultsOSRD
+preplace inst packaging_0 -pg 1 -lvl 3 -y 620 -defaultsOSRD
 preplace inst xlconstant_0 -pg 1 -lvl 2 -y 320 -defaultsOSRD
-preplace inst packaging_1 -pg 1 -lvl 3 -y 670 -defaultsOSRD
 preplace inst xlconstant_1 -pg 1 -lvl 1 -y 660 -defaultsOSRD
-preplace inst fifo_output -pg 1 -lvl 4 -y 480 -defaultsOSRD
-preplace inst ethernet_transceiver2_0 -pg 1 -lvl 3 -y 320 -defaultsOSRD
+preplace inst fifo_output -pg 1 -lvl 4 -y 570 -defaultsOSRD
+preplace inst ethernet_transceiver2_0 -pg 1 -lvl 3 -y 280 -defaultsOSRD
 preplace inst c_counter_binary_0 -pg 1 -lvl 5 -y 470 -defaultsOSRD
 preplace inst c_counter_binary_1 -pg 1 -lvl 5 -y 330 -defaultsOSRD
-preplace inst negate_0 -pg 1 -lvl 3 -y 810 -defaultsOSRD
-preplace inst segment_0 -pg 1 -lvl 6 -y 350 -defaultsOSRD
 preplace inst xlconcat_4 -pg 1 -lvl 6 -y 820 -defaultsOSRD
+preplace inst segment_0 -pg 1 -lvl 6 -y 350 -defaultsOSRD
+preplace inst negate_0 -pg 1 -lvl 3 -y 790 -defaultsOSRD
 preplace inst xlconcat_5 -pg 1 -lvl 2 -y 650 -defaultsOSRD
-preplace netloc ethernet_transceiver2_0_fifo_read 1 3 1 900
+preplace netloc ethernet_transceiver2_0_fifo_read 1 3 1 1000
+preplace netloc packaging_0_errorCode 1 3 3 950J 800 NJ 800 N
 preplace netloc xlconstant_1_dout 1 1 1 NJ
-preplace netloc ethernet_transceiver2_0_led16_b 1 3 4 NJ 350 1440J 230 NJ 230 1940J
-preplace netloc Net4 1 3 4 860J 70 1440J 120 NJ 120 NJ
-preplace netloc xlslice_1_Dout 1 3 2 940 380 1450
-preplace netloc Net5 1 3 4 880J 100 NJ 100 NJ 100 1960J
-preplace netloc packaging_1_errorCode 1 3 3 820 800 NJ 800 NJ
+preplace netloc ethernet_transceiver2_0_led16_b 1 3 4 980J 20 NJ 20 NJ 20 2220J
+preplace netloc Net4 1 3 4 1060J 340 1560J 120 NJ 120 NJ
+preplace netloc xlslice_1_Dout 1 3 2 1070 400 1640
+preplace netloc Net5 1 3 4 1050J 350 1580J 210 NJ 210 NJ
+preplace netloc packaging_0_outData 1 3 1 980
 preplace netloc c_counter_binary_1_Q 1 5 1 N
-preplace netloc Net6 1 3 4 NJ 330 1360J 220 NJ 220 1970J
-preplace netloc packaging_1_fifo_write 1 3 1 960
-preplace netloc ethernet_transceiver2_0_led16_r 1 3 4 870J 310 1400J 240 NJ 240 1910J
-preplace netloc sw_0_1 1 0 3 NJ 380 NJ 380 410J
-preplace netloc xlconcat_5_dout 1 2 3 400 570 830J 790 1410J
-preplace netloc ethernet_transceiver2_0_eth_refclk 1 3 4 840 580 NJ 580 1660J 530 NJ
-preplace netloc ethernet_transceiver2_0_led16_g 1 3 4 890J 320 1420J 250 NJ 250 1900J
-preplace netloc ethernet_transceiver2_0_fifo_write 1 3 1 890
-preplace netloc c_counter_binary_0_Q 1 5 1 1650
-preplace netloc ethernet_transceiver2_0_led17_b 1 3 4 930J 360 1390J 180 NJ 180 1950J
-preplace netloc xlconstant_0_dout 1 2 1 NJ
-preplace netloc segment_0_anodes 1 6 1 1970J
-preplace netloc packaging_1_fifo_read 1 3 1 910
-preplace netloc fifo_output_overflow 1 4 1 N
-preplace netloc ethernet_transceiver2_0_eth_mdc 1 3 4 840J 60 NJ 60 NJ 60 1970J
+preplace netloc Net6 1 3 4 1040J 360 1600J 240 NJ 240 NJ
+preplace netloc fifo_input_dout 1 2 2 530 30 950J
+preplace netloc ethernet_transceiver2_0_led16_r 1 3 4 1020J 370 1630J 250 NJ 250 2160J
+preplace netloc xlconcat_5_dout 1 2 3 510 880 NJ 880 NJ
+preplace netloc sw_0_1 1 0 3 -70J 250 NJ 250 490J
+preplace netloc ethernet_transceiver2_0_eth_refclk 1 3 4 990 700 NJ 700 1890J 530 NJ
+preplace netloc ethernet_transceiver2_0_led16_g 1 3 4 1010J 40 NJ 40 NJ 40 2210J
+preplace netloc ethernet_transceiver2_0_fifo_write 1 3 1 1060
+preplace netloc packaging_0_inpRdEn 1 3 1 950
+preplace netloc xlconstant_0_dout 1 2 1 480J
+preplace netloc segment_0_anodes 1 6 1 2200J
+preplace netloc ethernet_transceiver2_0_led17_b 1 3 4 960J 380 1590J 220 NJ 220 2170J
+preplace netloc c_counter_binary_0_Q 1 5 1 1880
 preplace netloc segment_0_cathodes 1 6 1 NJ
-preplace netloc fifo_output_rd_data_count 1 1 4 180 580 NJ 580 810J 590 1400
-preplace netloc ethernet_transceiver2_0_led17_r 1 3 4 950J 370 1430J 210 NJ 210 1920J
-preplace netloc Net1 1 3 4 820J 30 NJ 30 NJ 30 NJ
-preplace netloc Net 1 3 4 810J 0 NJ 0 NJ 0 NJ
-preplace netloc fifo_input_overflow 1 4 1 1370
+preplace netloc fifo_output_overflow 1 4 1 1650
+preplace netloc ethernet_transceiver2_0_eth_mdc 1 3 4 1050J 100 NJ 100 NJ 100 2190J
+preplace netloc packaging_0_stateOut 1 3 3 930J 820 NJ 820 N
+preplace netloc fifo_input_empty 1 2 2 520 10 1070J
+preplace netloc fifo_output_rd_data_count 1 1 4 190 720 NJ 720 NJ 720 1610
+preplace netloc fifo_output_full 1 2 2 530 860 1080
+preplace netloc packaging_0_outWrEn 1 3 1 930
+preplace netloc ethernet_transceiver2_0_led17_r 1 3 4 1030J 50 NJ 50 NJ 50 2180J
+preplace netloc Net1 1 3 4 960J 30 NJ 30 NJ 30 NJ
+preplace netloc Net 1 3 4 970J 60 NJ 60 NJ 60 2190J
 preplace netloc xlconcat_4_dout 1 6 1 NJ
-preplace netloc Net2 1 3 4 830J 50 NJ 50 NJ 50 1980J
-preplace netloc packaging_1_stateOut 1 3 3 810 820 NJ 820 NJ
-preplace netloc xlslice_0_Dout 1 5 1 1650J
-preplace netloc ethernet_transceiver2_0_led17_g 1 3 4 920J 340 1380J 190 NJ 190 1930J
-preplace netloc Net3 1 3 4 870J 90 NJ 90 NJ 90 NJ
-preplace netloc rst_clk_wiz_100M_peripheral_aresetn 1 0 3 NJ 720 NJ 720 420
-preplace netloc clk_wiz_clk_out1 1 0 6 NJ 260 NJ 260 390 70 850 80 1410 200 1660
-levelinfo -pg 1 0 100 290 630 1170 1550 1780 2000 -top -20 -bot 940
+preplace netloc fifo_input_overflow 1 4 1 1570
+preplace netloc Net2 1 3 4 990J 70 NJ 70 NJ 70 2200J
+preplace netloc xlslice_0_Dout 1 5 1 1880J
+preplace netloc rst_clk_wiz_100M_peripheral_aresetn 1 0 3 NJ 720 180J 730 500
+preplace netloc ethernet_transceiver2_0_led17_g 1 3 4 NJ 390 1620J 230 NJ 230 2150J
+preplace netloc clk_wiz_clk_out1 1 0 6 NJ 260 NJ 260 470 20 940 80 1610 200 1890
+preplace netloc Net3 1 3 4 1020J 90 NJ 90 NJ 90 NJ
+levelinfo -pg 1 -90 100 360 730 1360 1770 2020 2240 -top -100 -bot 1140
 "
 }
 
   # Restore current instance
   current_bd_instance $oldCurInst
 
-  validate_bd_design
   save_bd_design
+common::send_msg_id "BD_TCL-1000" "WARNING" "This Tcl script was generated from a block design that has not been validated. It is possible that design <$design_name> may result in errors during validation."
+
   close_bd_design $design_name 
 }
 # End of cr_bd_design_1()
@@ -625,139 +902,6 @@ set_property SYNTH_CHECKPOINT_MODE "Hierarchical" [get_files design_1.bd ]
 # Create wrapper file for design_1.bd
 make_wrapper -files [get_files design_1.bd] -import -top
 
-
-
-# Proc to create BD dut_packaging
-proc cr_bd_dut_packaging { parentCell } {
-
-  # CHANGE DESIGN NAME HERE
-  set design_name dut_packaging
-
-  common::send_msg_id "BD_TCL-003" "INFO" "Currently there is no design <$design_name> in project, so creating one..."
-
-  create_bd_design $design_name
-
-  set bCheckIPsPassed 1
-  ##################################################################
-  # CHECK IPs
-  ##################################################################
-  set bCheckIPs 1
-  if { $bCheckIPs == 1 } {
-     set list_check_ips "\ 
-  user.org:user:packaging:3.0\
-  "
-
-   set list_ips_missing ""
-   common::send_msg_id "BD_TCL-006" "INFO" "Checking if the following IPs exist in the project's IP catalog: $list_check_ips ."
-
-   foreach ip_vlnv $list_check_ips {
-      set ip_obj [get_ipdefs -all $ip_vlnv]
-      if { $ip_obj eq "" } {
-         lappend list_ips_missing $ip_vlnv
-      }
-   }
-
-   if { $list_ips_missing ne "" } {
-      catch {common::send_msg_id "BD_TCL-115" "ERROR" "The following IPs are not found in the IP Catalog:\n  $list_ips_missing\n\nResolution: Please add the repository containing the IP(s) to the project." }
-      set bCheckIPsPassed 0
-   }
-
-  }
-
-  if { $bCheckIPsPassed != 1 } {
-    common::send_msg_id "BD_TCL-1003" "WARNING" "Will not continue with creation of design due to the error(s) above."
-    return 3
-  }
-
-  variable script_folder
-
-  if { $parentCell eq "" } {
-     set parentCell [get_bd_cells /]
-  }
-
-  # Get object for parentCell
-  set parentObj [get_bd_cells $parentCell]
-  if { $parentObj == "" } {
-     catch {common::send_msg_id "BD_TCL-100" "ERROR" "Unable to find parent cell <$parentCell>!"}
-     return
-  }
-
-  # Make sure parentObj is hier blk
-  set parentType [get_property TYPE $parentObj]
-  if { $parentType ne "hier" } {
-     catch {common::send_msg_id "BD_TCL-101" "ERROR" "Parent <$parentObj> has TYPE = <$parentType>. Expected to be <hier>."}
-     return
-  }
-
-  # Save current instance; Restore later
-  set oldCurInst [current_bd_instance .]
-
-  # Set parent object as current
-  current_bd_instance $parentObj
-
-
-  # Create interface ports
-  set fifo_read_0 [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:fifo_read_rtl:1.0 fifo_read_0 ]
-  set fifo_write_0 [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:fifo_write_rtl:1.0 fifo_write_0 ]
-
-  # Create ports
-  set clk_0 [ create_bd_port -dir I -type clk clk_0 ]
-  set errorCode_0 [ create_bd_port -dir O -from 3 -to 0 errorCode_0 ]
-  set rst_0 [ create_bd_port -dir I -type rst rst_0 ]
-  set stateOut_0 [ create_bd_port -dir O -from 3 -to 0 stateOut_0 ]
-
-  # Create instance: packaging_0, and set properties
-  set packaging_0 [ create_bd_cell -type ip -vlnv user.org:user:packaging:3.0 packaging_0 ]
-
-  # Create interface connections
-  connect_bd_intf_net -intf_net packaging_0_fifo_read [get_bd_intf_ports fifo_read_0] [get_bd_intf_pins packaging_0/fifo_read]
-  connect_bd_intf_net -intf_net packaging_0_fifo_write [get_bd_intf_ports fifo_write_0] [get_bd_intf_pins packaging_0/fifo_write]
-
-  # Create port connections
-  connect_bd_net -net clk_0_1 [get_bd_ports clk_0] [get_bd_pins packaging_0/clk]
-  connect_bd_net -net packaging_0_errorCode [get_bd_ports errorCode_0] [get_bd_pins packaging_0/errorCode]
-  connect_bd_net -net packaging_0_stateOut [get_bd_ports stateOut_0] [get_bd_pins packaging_0/stateOut]
-  connect_bd_net -net rst_0_1 [get_bd_ports rst_0] [get_bd_pins packaging_0/rst]
-
-  # Create address segments
-
-  # Perform GUI Layout
-  regenerate_bd_layout -layout_string {
-   "ExpandedHierarchyInLayout":"",
-   "guistr":"# # String gsaved with Nlview 6.8.11  2018-08-07 bk=1.4403 VDI=40 GEI=35 GUI=JA:9.0 non-TLS
-#  -string -flagsOSRD
-preplace port rst_0 -pg 1 -y -280 -defaultsOSRD
-preplace port fifo_read_0 -pg 1 -y -320 -defaultsOSRD
-preplace port clk_0 -pg 1 -y -310 -defaultsOSRD
-preplace port fifo_write_0 -pg 1 -y -290 -defaultsOSRD
-preplace portBus stateOut_0 -pg 1 -y -230 -defaultsOSRD
-preplace portBus errorCode_0 -pg 1 -y -260 -defaultsOSRD
-preplace inst packaging_0 -pg 1 -lvl 1 -y -290 -defaultsOSRD
-preplace netloc packaging_0_errorCode 1 1 1 210J
-preplace netloc packaging_0_fifo_write 1 1 1 210J
-preplace netloc clk_0_1 1 0 1 0J
-preplace netloc rst_0_1 1 0 1 NJ
-preplace netloc packaging_0_fifo_read 1 1 1 NJ
-preplace netloc packaging_0_stateOut 1 1 1 200J
-levelinfo -pg 1 -20 100 230 -top -380 -bot 180
-"
-}
-
-  # Restore current instance
-  current_bd_instance $oldCurInst
-
-  validate_bd_design
-  save_bd_design
-  close_bd_design $design_name 
-}
-# End of cr_bd_dut_packaging()
-cr_bd_dut_packaging ""
-set_property REGISTERED_WITH_MANAGER "1" [get_files dut_packaging.bd ] 
-
-
-# Create wrapper file for dut_packaging.bd
-make_wrapper -files [get_files dut_packaging.bd] -import -top
-
 # Create 'synth_1' run (if not found)
 if {[string equal [get_runs -quiet synth_1] ""]} {
     create_run -name synth_1 -part xc7a100tcsg324-1 -flow {Vivado Synthesis 2018} -strategy "Vivado Synthesis Defaults" -report_strategy {No Reports} -constrset constrs_1