]> rtime.felk.cvut.cz Git - fpga/zynq/canbench-sw.git/blobdiff - system/src/top/top.bd
system: can_crossbar fixed and added to device tree, updated vivado script
[fpga/zynq/canbench-sw.git] / system / src / top / top.bd
index 3887d58852355acfd8c83aa683b5bfe1343bb84c..2628992463632da74fb7afbbced8f5018ceabaee 100644 (file)
           <spirit:configurableElementValue spirit:referenceId="bd:xciName">top_rst_processing_system7_0_100M_0</spirit:configurableElementValue>
         </spirit:configurableElementValues>
       </spirit:componentInstance>
-      <spirit:componentInstance>
-        <spirit:instanceName>axi_test_0</spirit:instanceName>
-        <spirit:componentRef spirit:library="user" spirit:name="axi_test" spirit:vendor="user.org" spirit:version="1.0"/>
-        <spirit:configurableElementValues>
-          <spirit:configurableElementValue spirit:referenceId="bd:xciName">top_axi_test_0_0</spirit:configurableElementValue>
-        </spirit:configurableElementValues>
-      </spirit:componentInstance>
       <spirit:componentInstance>
         <spirit:instanceName>xlconcat_0</spirit:instanceName>
         <spirit:componentRef spirit:library="ip" spirit:name="xlconcat" spirit:vendor="xilinx.com" spirit:version="2.1"/>
         </spirit:configurableElementValues>
       </spirit:componentInstance>
       <spirit:componentInstance>
-        <spirit:instanceName>can_merge_0</spirit:instanceName>
-        <spirit:componentRef spirit:library="user" spirit:name="can_merge" spirit:vendor="user.org" spirit:version="1.0"/>
+        <spirit:instanceName>can_crossbar_0</spirit:instanceName>
+        <spirit:componentRef spirit:library="user" spirit:name="can_crossbar" spirit:vendor="user.org" spirit:version="1.0"/>
         <spirit:configurableElementValues>
-          <spirit:configurableElementValue spirit:referenceId="bd:xciName">top_can_merge_0_0</spirit:configurableElementValue>
+          <spirit:configurableElementValue spirit:referenceId="bd:xciName">top_can_crossbar_0_0</spirit:configurableElementValue>
         </spirit:configurableElementValues>
       </spirit:componentInstance>
     </spirit:componentInstances>
         <spirit:activeInterface spirit:busRef="M00_AXI" spirit:componentRef="processing_system7_0_axi_periph"/>
         <spirit:activeInterface spirit:busRef="S00_AXI" spirit:componentRef="sja1000_0"/>
       </spirit:interconnection>
-      <spirit:interconnection>
-        <spirit:name>processing_system7_0_axi_periph_M01_AXI</spirit:name>
-        <spirit:activeInterface spirit:busRef="M01_AXI" spirit:componentRef="processing_system7_0_axi_periph"/>
-        <spirit:activeInterface spirit:busRef="S00_AXI" spirit:componentRef="axi_test_0"/>
-      </spirit:interconnection>
       <spirit:interconnection>
         <spirit:name>processing_system7_0_axi_periph_M03_AXI</spirit:name>
         <spirit:activeInterface spirit:busRef="M03_AXI" spirit:componentRef="processing_system7_0_axi_periph"/>
         <spirit:activeInterface spirit:busRef="S00_AXI" spirit:componentRef="sja1000_1"/>
       </spirit:interconnection>
+      <spirit:interconnection>
+        <spirit:name>processing_system7_0_axi_periph_M02_AXI</spirit:name>
+        <spirit:activeInterface spirit:busRef="M02_AXI" spirit:componentRef="processing_system7_0_axi_periph"/>
+        <spirit:activeInterface spirit:busRef="S00_AXI" spirit:componentRef="can_crossbar_0"/>
+      </spirit:interconnection>
     </spirit:interconnections>
     <spirit:adHocConnections>
       <spirit:adHocConnection>
         <spirit:internalPortReference spirit:componentRef="processing_system7_0" spirit:portRef="FCLK_CLK0"/>
         <spirit:internalPortReference spirit:componentRef="processing_system7_0" spirit:portRef="M_AXI_GP0_ACLK"/>
         <spirit:internalPortReference spirit:componentRef="rst_processing_system7_0_100M" spirit:portRef="slowest_sync_clk"/>
-        <spirit:internalPortReference spirit:componentRef="axi_test_0" spirit:portRef="s00_axi_aclk"/>
         <spirit:internalPortReference spirit:componentRef="sja1000_0" spirit:portRef="can_clk"/>
         <spirit:internalPortReference spirit:componentRef="sja1000_0" spirit:portRef="s00_axi_aclk"/>
         <spirit:internalPortReference spirit:componentRef="sja1000_1" spirit:portRef="can_clk"/>
         <spirit:internalPortReference spirit:componentRef="processing_system7_0_axi_periph" spirit:portRef="M01_ACLK"/>
         <spirit:internalPortReference spirit:componentRef="processing_system7_0_axi_periph" spirit:portRef="M02_ACLK"/>
         <spirit:internalPortReference spirit:componentRef="processing_system7_0_axi_periph" spirit:portRef="M03_ACLK"/>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="s00_axi_aclk"/>
       </spirit:adHocConnection>
       <spirit:adHocConnection>
         <spirit:name>processing_system7_0_FCLK_RESET0_N</spirit:name>
       <spirit:adHocConnection>
         <spirit:name>rst_processing_system7_0_100M_peripheral_aresetn</spirit:name>
         <spirit:internalPortReference spirit:componentRef="rst_processing_system7_0_100M" spirit:portRef="peripheral_aresetn"/>
-        <spirit:internalPortReference spirit:componentRef="axi_test_0" spirit:portRef="s00_axi_aresetn"/>
         <spirit:internalPortReference spirit:componentRef="sja1000_0" spirit:portRef="s00_axi_aresetn"/>
         <spirit:internalPortReference spirit:componentRef="sja1000_1" spirit:portRef="s00_axi_aresetn"/>
         <spirit:internalPortReference spirit:componentRef="processing_system7_0_axi_periph" spirit:portRef="S00_ARESETN"/>
         <spirit:internalPortReference spirit:componentRef="processing_system7_0_axi_periph" spirit:portRef="M01_ARESETN"/>
         <spirit:internalPortReference spirit:componentRef="processing_system7_0_axi_periph" spirit:portRef="M02_ARESETN"/>
         <spirit:internalPortReference spirit:componentRef="processing_system7_0_axi_periph" spirit:portRef="M03_ARESETN"/>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="s00_axi_aresetn"/>
       </spirit:adHocConnection>
       <spirit:adHocConnection>
         <spirit:name>rst_processing_system7_0_100M_interconnect_aresetn</spirit:name>
       <spirit:adHocConnection>
         <spirit:name>processing_system7_0_CAN0_PHY_TX</spirit:name>
         <spirit:internalPortReference spirit:componentRef="processing_system7_0" spirit:portRef="CAN0_PHY_TX"/>
-        <spirit:internalPortReference spirit:componentRef="can_merge_0" spirit:portRef="can_tx1"/>
-      </spirit:adHocConnection>
-      <spirit:adHocConnection>
-        <spirit:name>can_merge_0_can_rx</spirit:name>
-        <spirit:internalPortReference spirit:componentRef="can_merge_0" spirit:portRef="can_rx"/>
-        <spirit:internalPortReference spirit:componentRef="processing_system7_0" spirit:portRef="CAN0_PHY_RX"/>
-        <spirit:internalPortReference spirit:componentRef="processing_system7_0" spirit:portRef="CAN1_PHY_RX"/>
-        <spirit:internalPortReference spirit:componentRef="sja1000_1" spirit:portRef="can_rx"/>
-        <spirit:internalPortReference spirit:componentRef="sja1000_0" spirit:portRef="can_rx"/>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="ifc1_tx"/>
       </spirit:adHocConnection>
       <spirit:adHocConnection>
         <spirit:name>processing_system7_0_CAN1_PHY_TX</spirit:name>
         <spirit:internalPortReference spirit:componentRef="processing_system7_0" spirit:portRef="CAN1_PHY_TX"/>
-        <spirit:internalPortReference spirit:componentRef="can_merge_0" spirit:portRef="can_tx2"/>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="ifc2_tx"/>
       </spirit:adHocConnection>
       <spirit:adHocConnection>
         <spirit:name>sja1000_0_can_tx</spirit:name>
         <spirit:internalPortReference spirit:componentRef="sja1000_0" spirit:portRef="can_tx"/>
-        <spirit:internalPortReference spirit:componentRef="can_merge_0" spirit:portRef="can_tx3"/>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="ifc3_tx"/>
       </spirit:adHocConnection>
       <spirit:adHocConnection>
         <spirit:name>sja1000_1_can_tx</spirit:name>
         <spirit:internalPortReference spirit:componentRef="sja1000_1" spirit:portRef="can_tx"/>
-        <spirit:internalPortReference spirit:componentRef="can_merge_0" spirit:portRef="can_tx4"/>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="ifc4_tx"/>
+      </spirit:adHocConnection>
+      <spirit:adHocConnection>
+        <spirit:name>can_crossbar_0_ifc4_rx</spirit:name>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="ifc4_rx"/>
+        <spirit:internalPortReference spirit:componentRef="sja1000_1" spirit:portRef="can_rx"/>
+      </spirit:adHocConnection>
+      <spirit:adHocConnection>
+        <spirit:name>can_crossbar_0_ifc3_rx</spirit:name>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="ifc3_rx"/>
+        <spirit:internalPortReference spirit:componentRef="sja1000_0" spirit:portRef="can_rx"/>
+      </spirit:adHocConnection>
+      <spirit:adHocConnection>
+        <spirit:name>can_crossbar_0_ifc2_rx</spirit:name>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="ifc2_rx"/>
+        <spirit:internalPortReference spirit:componentRef="processing_system7_0" spirit:portRef="CAN1_PHY_RX"/>
+      </spirit:adHocConnection>
+      <spirit:adHocConnection>
+        <spirit:name>can_crossbar_0_ifc1_rx</spirit:name>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="ifc1_rx"/>
+        <spirit:internalPortReference spirit:componentRef="processing_system7_0" spirit:portRef="CAN0_PHY_RX"/>
+      </spirit:adHocConnection>
+      <spirit:adHocConnection>
+        <spirit:name>can_crossbar_0_can4_tx</spirit:name>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="can4_tx"/>
+        <spirit:externalPortReference spirit:portRef="CAN4_TXD"/>
+      </spirit:adHocConnection>
+      <spirit:adHocConnection>
+        <spirit:name>can_crossbar_0_can3_tx</spirit:name>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="can3_tx"/>
+        <spirit:externalPortReference spirit:portRef="CAN3_TXD"/>
+      </spirit:adHocConnection>
+      <spirit:adHocConnection>
+        <spirit:name>can_crossbar_0_can2_tx</spirit:name>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="can2_tx"/>
+        <spirit:externalPortReference spirit:portRef="CAN2_TXD"/>
+      </spirit:adHocConnection>
+      <spirit:adHocConnection>
+        <spirit:name>can_crossbar_0_can1_tx</spirit:name>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="can1_tx"/>
+        <spirit:externalPortReference spirit:portRef="CAN1_TXD"/>
+      </spirit:adHocConnection>
+      <spirit:adHocConnection>
+        <spirit:name>can_crossbar_0_can_stby</spirit:name>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="can_stby"/>
+        <spirit:externalPortReference spirit:portRef="CAN_STBY"/>
+      </spirit:adHocConnection>
+      <spirit:adHocConnection>
+        <spirit:name>CAN1_RXD_1</spirit:name>
+        <spirit:externalPortReference spirit:portRef="CAN1_RXD"/>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="can1_rx"/>
+      </spirit:adHocConnection>
+      <spirit:adHocConnection>
+        <spirit:name>CAN2_RXD_1</spirit:name>
+        <spirit:externalPortReference spirit:portRef="CAN2_RXD"/>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="can2_rx"/>
+      </spirit:adHocConnection>
+      <spirit:adHocConnection>
+        <spirit:name>CAN3_RXD_1</spirit:name>
+        <spirit:externalPortReference spirit:portRef="CAN3_RXD"/>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="can3_rx"/>
+      </spirit:adHocConnection>
+      <spirit:adHocConnection>
+        <spirit:name>CAN4_RXD_1</spirit:name>
+        <spirit:externalPortReference spirit:portRef="CAN4_RXD"/>
+        <spirit:internalPortReference spirit:componentRef="can_crossbar_0" spirit:portRef="can4_rx"/>
       </spirit:adHocConnection>
     </spirit:adHocConnections>
     <spirit:hierConnections>
         <spirit:range>4G</spirit:range>
         <spirit:width>32</spirit:width>
         <spirit:segments>
-          <spirit:segment>
-            <spirit:name>SEG_axi_test_0_S00_AXI_reg</spirit:name>
-            <spirit:displayName>/axi_test_0/S00_AXI/S00_AXI_reg</spirit:displayName>
-            <spirit:addressOffset>0x43C10000</spirit:addressOffset>
-            <spirit:range>4K</spirit:range>
-          </spirit:segment>
           <spirit:segment>
             <spirit:name>SEG_sja1000_0_S00_AXI_reg</spirit:name>
             <spirit:displayName>/sja1000_0/S00_AXI/S00_AXI_reg</spirit:displayName>
             <spirit:addressOffset>0x43C30000</spirit:addressOffset>
             <spirit:range>4K</spirit:range>
           </spirit:segment>
+          <spirit:segment>
+            <spirit:name>SEG_can_crossbar_0_S00_AXI_reg</spirit:name>
+            <spirit:displayName>/can_crossbar_0/S00_AXI/S00_AXI_reg</spirit:displayName>
+            <spirit:addressOffset>0x43C20000</spirit:addressOffset>
+            <spirit:range>4K</spirit:range>
+          </spirit:segment>
         </spirit:segments>
       </spirit:addressSpace>
     </spirit:addressSpaces>