diff --git a/system/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix.xml b/system/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix.xml index fb2712d2cabcc05959b092c88c1f91bab9809612..7520bf717d9ca9b91101233d0e9c9fb0b51eab1c 100644 --- a/system/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix.xml +++ b/system/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix.xml @@ -44,9 +44,9 @@ <spirit:abstractionType spirit:library="AMBA3" spirit:name="AHBLiteTarget_rtl" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:slave> <spirit:memoryMapRef spirit:memoryMapRef="AHBLiteTarget_Slave__SOCDEBUG_MM"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__BOOTROM" spirit:opaque="true"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__IMEM" spirit:opaque="true"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__DMEM" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__IMEM_0" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__DMEM_0" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__SYSIO" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__EXPRAM_L" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__EXPRAM_H" spirit:opaque="true"/> @@ -198,9 +198,9 @@ <spirit:abstractionType spirit:library="AMBA3" spirit:name="AHBLiteTarget_rtl" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:slave> <spirit:memoryMapRef spirit:memoryMapRef="AHBLiteTarget_Slave__DMAC_0_MM"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__BOOTROM" spirit:opaque="true"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__IMEM" spirit:opaque="true"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__DMEM" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__IMEM_0" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__DMEM_0" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__SYSIO" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__EXPRAM_L" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__EXPRAM_H" spirit:opaque="true"/> @@ -351,9 +351,9 @@ <spirit:abstractionType spirit:library="AMBA3" spirit:name="AHBLiteTarget_rtl" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:slave> <spirit:memoryMapRef spirit:memoryMapRef="AHBLiteTarget_Slave__DMAC_1_MM"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__BOOTROM" spirit:opaque="true"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__IMEM" spirit:opaque="true"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__DMEM" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__IMEM_0" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__DMEM_0" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__SYSIO" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__EXPRAM_L" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__EXPRAM_H" spirit:opaque="true"/> @@ -504,9 +504,9 @@ <spirit:abstractionType spirit:library="AMBA3" spirit:name="AHBLiteTarget_rtl" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:slave> <spirit:memoryMapRef spirit:memoryMapRef="AHBLiteTarget_Slave__CPU_0_MM"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__BOOTROM" spirit:opaque="true"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__IMEM" spirit:opaque="true"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__DMEM" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__IMEM_0" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__DMEM_0" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__SYSIO" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__EXPRAM_L" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__EXPRAM_H" spirit:opaque="true"/> @@ -654,12 +654,12 @@ <!--Master interfaces --> <spirit:busInterface> - <spirit:name>AHBLiteTarget_Master__BOOTROM</spirit:name> - <spirit:description>Master port _BOOTROM</spirit:description> + <spirit:name>AHBLiteTarget_Master__BOOTROM_0</spirit:name> + <spirit:description>Master port _BOOTROM_0</spirit:description> <spirit:busType spirit:library="AMBA3" spirit:name="AHBLiteTarget" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:abstractionType spirit:library="AMBA3" spirit:name="AHBLiteTarget_rtl" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:master> - <spirit:addressSpaceRef spirit:addressSpaceRef="AHBLiteTarget_Master__BOOTROM_AS"/> + <spirit:addressSpaceRef spirit:addressSpaceRef="AHBLiteTarget_Master__BOOTROM_0_AS"/> </spirit:master> <spirit:portMaps> @@ -686,7 +686,7 @@ <spirit:name>HSELx</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HSEL_BOOTROM</spirit:name> + <spirit:name>HSEL_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -694,7 +694,7 @@ <spirit:name>HADDR</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HADDR_BOOTROM</spirit:name> + <spirit:name>HADDR_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -702,7 +702,7 @@ <spirit:name>HTRANS</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HTRANS_BOOTROM</spirit:name> + <spirit:name>HTRANS_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -710,7 +710,7 @@ <spirit:name>HWRITE</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HWRITE_BOOTROM</spirit:name> + <spirit:name>HWRITE_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -718,7 +718,7 @@ <spirit:name>HSIZE</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HSIZE_BOOTROM</spirit:name> + <spirit:name>HSIZE_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -726,7 +726,7 @@ <spirit:name>HBURST</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HBURST_BOOTROM</spirit:name> + <spirit:name>HBURST_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -734,18 +734,18 @@ <spirit:name>HPROT</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HPROT_BOOTROM</spirit:name> + <spirit:name>HPROT_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> - <!-- HMASTER_BOOTROM unmapped --> + <!-- HMASTER_BOOTROM_0 unmapped --> <spirit:portMap> <spirit:logicalPort> <spirit:name>HWDATA</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HWDATA_BOOTROM</spirit:name> + <spirit:name>HWDATA_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -753,7 +753,7 @@ <spirit:name>HMASTLOCK</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HMASTLOCK_BOOTROM</spirit:name> + <spirit:name>HMASTLOCK_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -761,7 +761,7 @@ <spirit:name>HREADY</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HREADYMUX_BOOTROM</spirit:name> + <spirit:name>HREADYMUX_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> @@ -771,7 +771,7 @@ <spirit:name>HRDATA</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HRDATA_BOOTROM</spirit:name> + <spirit:name>HRDATA_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -779,7 +779,7 @@ <spirit:name>HREADYOUT</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HREADYOUT_BOOTROM</spirit:name> + <spirit:name>HREADYOUT_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -787,7 +787,7 @@ <spirit:name>HRESP</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HRESP_BOOTROM</spirit:name> + <spirit:name>HRESP_BOOTROM_0</spirit:name> <spirit:vector> <spirit:left>0</spirit:left> <spirit:right>0</spirit:right> @@ -798,12 +798,12 @@ </spirit:busInterface> <spirit:busInterface> - <spirit:name>AHBLiteTarget_Master__IMEM</spirit:name> - <spirit:description>Master port _IMEM</spirit:description> + <spirit:name>AHBLiteTarget_Master__IMEM_0</spirit:name> + <spirit:description>Master port _IMEM_0</spirit:description> <spirit:busType spirit:library="AMBA3" spirit:name="AHBLiteTarget" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:abstractionType spirit:library="AMBA3" spirit:name="AHBLiteTarget_rtl" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:master> - <spirit:addressSpaceRef spirit:addressSpaceRef="AHBLiteTarget_Master__IMEM_AS"/> + <spirit:addressSpaceRef spirit:addressSpaceRef="AHBLiteTarget_Master__IMEM_0_AS"/> </spirit:master> <spirit:portMaps> @@ -830,7 +830,7 @@ <spirit:name>HSELx</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HSEL_IMEM</spirit:name> + <spirit:name>HSEL_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -838,7 +838,7 @@ <spirit:name>HADDR</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HADDR_IMEM</spirit:name> + <spirit:name>HADDR_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -846,7 +846,7 @@ <spirit:name>HTRANS</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HTRANS_IMEM</spirit:name> + <spirit:name>HTRANS_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -854,7 +854,7 @@ <spirit:name>HWRITE</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HWRITE_IMEM</spirit:name> + <spirit:name>HWRITE_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -862,7 +862,7 @@ <spirit:name>HSIZE</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HSIZE_IMEM</spirit:name> + <spirit:name>HSIZE_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -870,7 +870,7 @@ <spirit:name>HBURST</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HBURST_IMEM</spirit:name> + <spirit:name>HBURST_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -878,18 +878,18 @@ <spirit:name>HPROT</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HPROT_IMEM</spirit:name> + <spirit:name>HPROT_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> - <!-- HMASTER_IMEM unmapped --> + <!-- HMASTER_IMEM_0 unmapped --> <spirit:portMap> <spirit:logicalPort> <spirit:name>HWDATA</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HWDATA_IMEM</spirit:name> + <spirit:name>HWDATA_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -897,7 +897,7 @@ <spirit:name>HMASTLOCK</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HMASTLOCK_IMEM</spirit:name> + <spirit:name>HMASTLOCK_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -905,7 +905,7 @@ <spirit:name>HREADY</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HREADYMUX_IMEM</spirit:name> + <spirit:name>HREADYMUX_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> @@ -915,7 +915,7 @@ <spirit:name>HRDATA</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HRDATA_IMEM</spirit:name> + <spirit:name>HRDATA_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -923,7 +923,7 @@ <spirit:name>HREADYOUT</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HREADYOUT_IMEM</spirit:name> + <spirit:name>HREADYOUT_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -931,7 +931,7 @@ <spirit:name>HRESP</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HRESP_IMEM</spirit:name> + <spirit:name>HRESP_IMEM_0</spirit:name> <spirit:vector> <spirit:left>0</spirit:left> <spirit:right>0</spirit:right> @@ -942,12 +942,12 @@ </spirit:busInterface> <spirit:busInterface> - <spirit:name>AHBLiteTarget_Master__DMEM</spirit:name> - <spirit:description>Master port _DMEM</spirit:description> + <spirit:name>AHBLiteTarget_Master__DMEM_0</spirit:name> + <spirit:description>Master port _DMEM_0</spirit:description> <spirit:busType spirit:library="AMBA3" spirit:name="AHBLiteTarget" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:abstractionType spirit:library="AMBA3" spirit:name="AHBLiteTarget_rtl" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:master> - <spirit:addressSpaceRef spirit:addressSpaceRef="AHBLiteTarget_Master__DMEM_AS"/> + <spirit:addressSpaceRef spirit:addressSpaceRef="AHBLiteTarget_Master__DMEM_0_AS"/> </spirit:master> <spirit:portMaps> @@ -974,7 +974,7 @@ <spirit:name>HSELx</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HSEL_DMEM</spirit:name> + <spirit:name>HSEL_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -982,7 +982,7 @@ <spirit:name>HADDR</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HADDR_DMEM</spirit:name> + <spirit:name>HADDR_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -990,7 +990,7 @@ <spirit:name>HTRANS</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HTRANS_DMEM</spirit:name> + <spirit:name>HTRANS_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -998,7 +998,7 @@ <spirit:name>HWRITE</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HWRITE_DMEM</spirit:name> + <spirit:name>HWRITE_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -1006,7 +1006,7 @@ <spirit:name>HSIZE</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HSIZE_DMEM</spirit:name> + <spirit:name>HSIZE_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -1014,7 +1014,7 @@ <spirit:name>HBURST</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HBURST_DMEM</spirit:name> + <spirit:name>HBURST_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -1022,18 +1022,18 @@ <spirit:name>HPROT</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HPROT_DMEM</spirit:name> + <spirit:name>HPROT_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> - <!-- HMASTER_DMEM unmapped --> + <!-- HMASTER_DMEM_0 unmapped --> <spirit:portMap> <spirit:logicalPort> <spirit:name>HWDATA</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HWDATA_DMEM</spirit:name> + <spirit:name>HWDATA_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -1041,7 +1041,7 @@ <spirit:name>HMASTLOCK</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HMASTLOCK_DMEM</spirit:name> + <spirit:name>HMASTLOCK_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -1049,7 +1049,7 @@ <spirit:name>HREADY</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HREADYMUX_DMEM</spirit:name> + <spirit:name>HREADYMUX_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> @@ -1059,7 +1059,7 @@ <spirit:name>HRDATA</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HRDATA_DMEM</spirit:name> + <spirit:name>HRDATA_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -1067,7 +1067,7 @@ <spirit:name>HREADYOUT</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HREADYOUT_DMEM</spirit:name> + <spirit:name>HREADYOUT_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -1075,7 +1075,7 @@ <spirit:name>HRESP</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HRESP_DMEM</spirit:name> + <spirit:name>HRESP_DMEM_0</spirit:name> <spirit:vector> <spirit:left>0</spirit:left> <spirit:right>0</spirit:right> @@ -2171,18 +2171,18 @@ <spirit:addressSpaces> <spirit:addressSpace> - <spirit:name>AHBLiteTarget_Master__BOOTROM_AS</spirit:name> - <spirit:description>_BOOTROM address space</spirit:description> + <spirit:name>AHBLiteTarget_Master__BOOTROM_0_AS</spirit:name> + <spirit:description>_BOOTROM_0 address space</spirit:description> <spirit:range>4G</spirit:range> <spirit:width>32</spirit:width> <spirit:segments> <spirit:segment> - <spirit:name>_BOOTROM_0x00000000_0x0fffffff</spirit:name> + <spirit:name>_BOOTROM_0_0x00000000_0x0fffffff</spirit:name> <spirit:addressOffset>0x00000000</spirit:addressOffset> <spirit:range>0x010000000</spirit:range> </spirit:segment> <spirit:segment> - <spirit:name>_BOOTROM_0x10000000_0x1fffffff</spirit:name> + <spirit:name>_BOOTROM_0_0x10000000_0x1fffffff</spirit:name> <spirit:addressOffset>0x10000000</spirit:addressOffset> <spirit:range>0x010000000</spirit:range> </spirit:segment> @@ -2191,18 +2191,18 @@ </spirit:addressSpace> <spirit:addressSpace> - <spirit:name>AHBLiteTarget_Master__IMEM_AS</spirit:name> - <spirit:description>_IMEM address space</spirit:description> + <spirit:name>AHBLiteTarget_Master__IMEM_0_AS</spirit:name> + <spirit:description>_IMEM_0 address space</spirit:description> <spirit:range>4G</spirit:range> <spirit:width>32</spirit:width> <spirit:segments> <spirit:segment> - <spirit:name>_IMEM_0x00000000_0x0fffffff</spirit:name> + <spirit:name>_IMEM_0_0x00000000_0x0fffffff</spirit:name> <spirit:addressOffset>0x00000000</spirit:addressOffset> <spirit:range>0x010000000</spirit:range> </spirit:segment> <spirit:segment> - <spirit:name>_IMEM_0x20000000_0x2fffffff</spirit:name> + <spirit:name>_IMEM_0_0x20000000_0x2fffffff</spirit:name> <spirit:addressOffset>0x20000000</spirit:addressOffset> <spirit:range>0x010000000</spirit:range> </spirit:segment> @@ -2211,13 +2211,13 @@ </spirit:addressSpace> <spirit:addressSpace> - <spirit:name>AHBLiteTarget_Master__DMEM_AS</spirit:name> - <spirit:description>_DMEM address space</spirit:description> + <spirit:name>AHBLiteTarget_Master__DMEM_0_AS</spirit:name> + <spirit:description>_DMEM_0 address space</spirit:description> <spirit:range>4G</spirit:range> <spirit:width>32</spirit:width> <spirit:segments> <spirit:segment> - <spirit:name>_DMEM_0x30000000_0x3fffffff</spirit:name> + <spirit:name>_DMEM_0_0x30000000_0x3fffffff</spirit:name> <spirit:addressOffset>0x30000000</spirit:addressOffset> <spirit:range>0x010000000</spirit:range> </spirit:segment> @@ -2338,24 +2338,24 @@ <spirit:name>AHBLiteTarget_Slave__SOCDEBUG_MM</spirit:name> <spirit:description>_SOCDEBUG memory map</spirit:description> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM" - spirit:segmentRef="_BOOTROM_0x10000000_0x1fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" + spirit:segmentRef="_BOOTROM_0_0x10000000_0x1fffffff"> <!-- Address_region 0x10000000-0x1fffffff --> - <spirit:name>AHBLiteTarget_Master__BOOTROM_0x10000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__BOOTROM_0_0x10000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x10000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM" - spirit:segmentRef="_IMEM_0x20000000_0x2fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM_0" + spirit:segmentRef="_IMEM_0_0x20000000_0x2fffffff"> <!-- Address_region 0x20000000-0x2fffffff --> - <spirit:name>AHBLiteTarget_Master__IMEM_0x20000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__IMEM_0_0x20000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x20000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__DMEM" - spirit:segmentRef="_DMEM_0x30000000_0x3fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__DMEM_0" + spirit:segmentRef="_DMEM_0_0x30000000_0x3fffffff"> <!-- Address_region 0x30000000-0x3fffffff --> - <spirit:name>AHBLiteTarget_Master__DMEM_0x30000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__DMEM_0_0x30000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x30000000</spirit:baseAddress> </spirit:subspaceMap> @@ -2411,10 +2411,10 @@ <spirit:memoryRemap spirit:state="remap_0"> <spirit:name>AHBLiteTarget_Slave__SOCDEBUG_remap_0_remap_MM</spirit:name> <spirit:description>_SOCDEBUG remap_0 remap</spirit:description> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM" - spirit:segmentRef="_IMEM_0x00000000_0x0fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM_0" + spirit:segmentRef="_IMEM_0_0x00000000_0x0fffffff"> <!-- Remapped region, active when REMAP bitcombination is 0 address_region 0x00000000-0x0fffffff --> - <spirit:name>AHBLiteTarget_Master__IMEM_0x00000000_0_state_remap_0_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__IMEM_0_0x00000000_0_state_remap_0_SM</spirit:name> <spirit:baseAddress>0x00000000</spirit:baseAddress> </spirit:subspaceMap> </spirit:memoryRemap> @@ -2422,10 +2422,10 @@ <spirit:memoryRemap spirit:state="remap_n0"> <spirit:name>AHBLiteTarget_Slave__SOCDEBUG_remap_n0_remap_MM</spirit:name> <spirit:description>_SOCDEBUG remap_n0 remap</spirit:description> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM" - spirit:segmentRef="_BOOTROM_0x00000000_0x0fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" + spirit:segmentRef="_BOOTROM_0_0x00000000_0x0fffffff"> <!-- Removable region, active only when REMAP bitcombination is n0 address_region 0x00000000-0x0fffffff --> - <spirit:name>AHBLiteTarget_Master__BOOTROM_0x00000000_0_state_remap_n0_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__BOOTROM_0_0x00000000_0_state_remap_n0_SM</spirit:name> <spirit:baseAddress>0x00000000</spirit:baseAddress> </spirit:subspaceMap> </spirit:memoryRemap> @@ -2436,31 +2436,31 @@ <spirit:name>AHBLiteTarget_Slave__DMAC_0_MM</spirit:name> <spirit:description>_DMAC_0 memory map</spirit:description> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM" - spirit:segmentRef="_IMEM_0x00000000_0x0fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM_0" + spirit:segmentRef="_IMEM_0_0x00000000_0x0fffffff"> <!-- Address_region 0x00000000-0x0fffffff --> - <spirit:name>AHBLiteTarget_Master__IMEM_0x00000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__IMEM_0_0x00000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x00000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM" - spirit:segmentRef="_BOOTROM_0x10000000_0x1fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" + spirit:segmentRef="_BOOTROM_0_0x10000000_0x1fffffff"> <!-- Address_region 0x10000000-0x1fffffff --> - <spirit:name>AHBLiteTarget_Master__BOOTROM_0x10000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__BOOTROM_0_0x10000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x10000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM" - spirit:segmentRef="_IMEM_0x20000000_0x2fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM_0" + spirit:segmentRef="_IMEM_0_0x20000000_0x2fffffff"> <!-- Address_region 0x20000000-0x2fffffff --> - <spirit:name>AHBLiteTarget_Master__IMEM_0x20000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__IMEM_0_0x20000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x20000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__DMEM" - spirit:segmentRef="_DMEM_0x30000000_0x3fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__DMEM_0" + spirit:segmentRef="_DMEM_0_0x30000000_0x3fffffff"> <!-- Address_region 0x30000000-0x3fffffff --> - <spirit:name>AHBLiteTarget_Master__DMEM_0x30000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__DMEM_0_0x30000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x30000000</spirit:baseAddress> </spirit:subspaceMap> @@ -2512,31 +2512,31 @@ <spirit:name>AHBLiteTarget_Slave__DMAC_1_MM</spirit:name> <spirit:description>_DMAC_1 memory map</spirit:description> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM" - spirit:segmentRef="_IMEM_0x00000000_0x0fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM_0" + spirit:segmentRef="_IMEM_0_0x00000000_0x0fffffff"> <!-- Address_region 0x00000000-0x0fffffff --> - <spirit:name>AHBLiteTarget_Master__IMEM_0x00000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__IMEM_0_0x00000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x00000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM" - spirit:segmentRef="_BOOTROM_0x10000000_0x1fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" + spirit:segmentRef="_BOOTROM_0_0x10000000_0x1fffffff"> <!-- Address_region 0x10000000-0x1fffffff --> - <spirit:name>AHBLiteTarget_Master__BOOTROM_0x10000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__BOOTROM_0_0x10000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x10000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM" - spirit:segmentRef="_IMEM_0x20000000_0x2fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM_0" + spirit:segmentRef="_IMEM_0_0x20000000_0x2fffffff"> <!-- Address_region 0x20000000-0x2fffffff --> - <spirit:name>AHBLiteTarget_Master__IMEM_0x20000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__IMEM_0_0x20000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x20000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__DMEM" - spirit:segmentRef="_DMEM_0x30000000_0x3fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__DMEM_0" + spirit:segmentRef="_DMEM_0_0x30000000_0x3fffffff"> <!-- Address_region 0x30000000-0x3fffffff --> - <spirit:name>AHBLiteTarget_Master__DMEM_0x30000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__DMEM_0_0x30000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x30000000</spirit:baseAddress> </spirit:subspaceMap> @@ -2588,24 +2588,24 @@ <spirit:name>AHBLiteTarget_Slave__CPU_0_MM</spirit:name> <spirit:description>_CPU_0 memory map</spirit:description> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM" - spirit:segmentRef="_BOOTROM_0x10000000_0x1fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" + spirit:segmentRef="_BOOTROM_0_0x10000000_0x1fffffff"> <!-- Address_region 0x10000000-0x1fffffff --> - <spirit:name>AHBLiteTarget_Master__BOOTROM_0x10000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__BOOTROM_0_0x10000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x10000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM" - spirit:segmentRef="_IMEM_0x20000000_0x2fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM_0" + spirit:segmentRef="_IMEM_0_0x20000000_0x2fffffff"> <!-- Address_region 0x20000000-0x2fffffff --> - <spirit:name>AHBLiteTarget_Master__IMEM_0x20000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__IMEM_0_0x20000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x20000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__DMEM" - spirit:segmentRef="_DMEM_0x30000000_0x3fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__DMEM_0" + spirit:segmentRef="_DMEM_0_0x30000000_0x3fffffff"> <!-- Address_region 0x30000000-0x3fffffff --> - <spirit:name>AHBLiteTarget_Master__DMEM_0x30000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__DMEM_0_0x30000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x30000000</spirit:baseAddress> </spirit:subspaceMap> @@ -2661,10 +2661,10 @@ <spirit:memoryRemap spirit:state="remap_0"> <spirit:name>AHBLiteTarget_Slave__CPU_0_remap_0_remap_MM</spirit:name> <spirit:description>_CPU_0 remap_0 remap</spirit:description> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM" - spirit:segmentRef="_IMEM_0x00000000_0x0fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM_0" + spirit:segmentRef="_IMEM_0_0x00000000_0x0fffffff"> <!-- Remapped region, active when REMAP bitcombination is 0 address_region 0x00000000-0x0fffffff --> - <spirit:name>AHBLiteTarget_Master__IMEM_0x00000000_0_state_remap_0_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__IMEM_0_0x00000000_0_state_remap_0_SM</spirit:name> <spirit:baseAddress>0x00000000</spirit:baseAddress> </spirit:subspaceMap> </spirit:memoryRemap> @@ -2672,10 +2672,10 @@ <spirit:memoryRemap spirit:state="remap_n0"> <spirit:name>AHBLiteTarget_Slave__CPU_0_remap_n0_remap_MM</spirit:name> <spirit:description>_CPU_0 remap_n0 remap</spirit:description> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM" - spirit:segmentRef="_BOOTROM_0x00000000_0x0fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" + spirit:segmentRef="_BOOTROM_0_0x00000000_0x0fffffff"> <!-- Removable region, active only when REMAP bitcombination is n0 address_region 0x00000000-0x0fffffff --> - <spirit:name>AHBLiteTarget_Master__BOOTROM_0x00000000_0_state_remap_n0_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__BOOTROM_0_0x00000000_0_state_remap_n0_SM</spirit:name> <spirit:baseAddress>0x00000000</spirit:baseAddress> </spirit:subspaceMap> </spirit:memoryRemap> @@ -3142,7 +3142,7 @@ <!-- Input signals of Master interfaces --> <spirit:port> - <spirit:name>HRDATA_BOOTROM</spirit:name> + <spirit:name>HRDATA_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> <spirit:vector> @@ -3152,13 +3152,13 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HREADYOUT_BOOTROM</spirit:name> + <spirit:name>HREADYOUT_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HRESP_BOOTROM</spirit:name> + <spirit:name>HRESP_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> <spirit:vector> @@ -3168,7 +3168,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HRDATA_IMEM</spirit:name> + <spirit:name>HRDATA_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> <spirit:vector> @@ -3178,13 +3178,13 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HREADYOUT_IMEM</spirit:name> + <spirit:name>HREADYOUT_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HRESP_IMEM</spirit:name> + <spirit:name>HRESP_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> <spirit:vector> @@ -3194,7 +3194,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HRDATA_DMEM</spirit:name> + <spirit:name>HRDATA_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> <spirit:vector> @@ -3204,13 +3204,13 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HREADYOUT_DMEM</spirit:name> + <spirit:name>HREADYOUT_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HRESP_DMEM</spirit:name> + <spirit:name>HRESP_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> <spirit:vector> @@ -3420,13 +3420,13 @@ <!-- Output signals of Master interfaces --> <spirit:port> - <spirit:name>HSEL_BOOTROM</spirit:name> + <spirit:name>HSEL_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HADDR_BOOTROM</spirit:name> + <spirit:name>HADDR_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3436,7 +3436,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HTRANS_BOOTROM</spirit:name> + <spirit:name>HTRANS_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3446,13 +3446,13 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HWRITE_BOOTROM</spirit:name> + <spirit:name>HWRITE_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HSIZE_BOOTROM</spirit:name> + <spirit:name>HSIZE_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3462,7 +3462,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HBURST_BOOTROM</spirit:name> + <spirit:name>HBURST_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3472,7 +3472,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HPROT_BOOTROM</spirit:name> + <spirit:name>HPROT_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3482,7 +3482,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HMASTER_BOOTROM</spirit:name> + <spirit:name>HMASTER_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3492,7 +3492,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HWDATA_BOOTROM</spirit:name> + <spirit:name>HWDATA_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3502,25 +3502,25 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HMASTLOCK_BOOTROM</spirit:name> + <spirit:name>HMASTLOCK_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HREADYMUX_BOOTROM</spirit:name> + <spirit:name>HREADYMUX_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HSEL_IMEM</spirit:name> + <spirit:name>HSEL_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HADDR_IMEM</spirit:name> + <spirit:name>HADDR_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3530,7 +3530,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HTRANS_IMEM</spirit:name> + <spirit:name>HTRANS_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3540,13 +3540,13 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HWRITE_IMEM</spirit:name> + <spirit:name>HWRITE_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HSIZE_IMEM</spirit:name> + <spirit:name>HSIZE_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3556,7 +3556,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HBURST_IMEM</spirit:name> + <spirit:name>HBURST_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3566,7 +3566,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HPROT_IMEM</spirit:name> + <spirit:name>HPROT_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3576,7 +3576,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HMASTER_IMEM</spirit:name> + <spirit:name>HMASTER_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3586,7 +3586,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HWDATA_IMEM</spirit:name> + <spirit:name>HWDATA_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3596,25 +3596,25 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HMASTLOCK_IMEM</spirit:name> + <spirit:name>HMASTLOCK_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HREADYMUX_IMEM</spirit:name> + <spirit:name>HREADYMUX_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HSEL_DMEM</spirit:name> + <spirit:name>HSEL_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HADDR_DMEM</spirit:name> + <spirit:name>HADDR_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3624,7 +3624,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HTRANS_DMEM</spirit:name> + <spirit:name>HTRANS_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3634,13 +3634,13 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HWRITE_DMEM</spirit:name> + <spirit:name>HWRITE_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HSIZE_DMEM</spirit:name> + <spirit:name>HSIZE_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3650,7 +3650,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HBURST_DMEM</spirit:name> + <spirit:name>HBURST_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3660,7 +3660,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HPROT_DMEM</spirit:name> + <spirit:name>HPROT_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3670,7 +3670,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HMASTER_DMEM</spirit:name> + <spirit:name>HMASTER_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3680,7 +3680,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HWDATA_DMEM</spirit:name> + <spirit:name>HWDATA_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3690,13 +3690,13 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HMASTLOCK_DMEM</spirit:name> + <spirit:name>HMASTLOCK_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HREADYMUX_DMEM</spirit:name> + <spirit:name>HREADYMUX_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> @@ -4513,15 +4513,15 @@ <spirit:fileType>verilogSource-2001</spirit:fileType> </spirit:file> <spirit:file> - <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_arbiter_BOOTROM.v</spirit:name> + <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_arbiter_BOOTROM_0.v</spirit:name> <spirit:fileType>verilogSource-2001</spirit:fileType> </spirit:file> <spirit:file> - <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_arbiter_IMEM.v</spirit:name> + <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_arbiter_IMEM_0.v</spirit:name> <spirit:fileType>verilogSource-2001</spirit:fileType> </spirit:file> <spirit:file> - <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_arbiter_DMEM.v</spirit:name> + <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_arbiter_DMEM_0.v</spirit:name> <spirit:fileType>verilogSource-2001</spirit:fileType> </spirit:file> <spirit:file> @@ -4553,15 +4553,15 @@ <spirit:fileType>verilogSource-2001</spirit:fileType> </spirit:file> <spirit:file> - <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_target_output_BOOTROM.v</spirit:name> + <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_target_output_BOOTROM_0.v</spirit:name> <spirit:fileType>verilogSource-2001</spirit:fileType> </spirit:file> <spirit:file> - <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_target_output_IMEM.v</spirit:name> + <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_target_output_IMEM_0.v</spirit:name> <spirit:fileType>verilogSource-2001</spirit:fileType> </spirit:file> <spirit:file> - <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_target_output_DMEM.v</spirit:name> + <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_target_output_DMEM_0.v</spirit:name> <spirit:fileType>verilogSource-2001</spirit:fileType> </spirit:file> <spirit:file> diff --git a/system/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix_lite.xml b/system/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix_lite.xml index e2f7c6b2210615c3ec5eb2d2d4e853cb95735e58..70ebb8b4673d320ae9421bb1702f0a6a63d737a5 100644 --- a/system/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix_lite.xml +++ b/system/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix_lite.xml @@ -44,9 +44,9 @@ <spirit:abstractionType spirit:library="AMBA3" spirit:name="AHBLiteInitiator_rtl" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:slave> <spirit:memoryMapRef spirit:memoryMapRef="AHBLiteInitiator_Slave__SOCDEBUG_MM"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__BOOTROM" spirit:opaque="true"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__IMEM" spirit:opaque="true"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__DMEM" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__IMEM_0" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__DMEM_0" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__SYSIO" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__EXPRAM_L" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__EXPRAM_H" spirit:opaque="true"/> @@ -175,9 +175,9 @@ <spirit:abstractionType spirit:library="AMBA3" spirit:name="AHBLiteInitiator_rtl" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:slave> <spirit:memoryMapRef spirit:memoryMapRef="AHBLiteInitiator_Slave__DMAC_0_MM"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__BOOTROM" spirit:opaque="true"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__IMEM" spirit:opaque="true"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__DMEM" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__IMEM_0" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__DMEM_0" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__SYSIO" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__EXPRAM_L" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__EXPRAM_H" spirit:opaque="true"/> @@ -305,9 +305,9 @@ <spirit:abstractionType spirit:library="AMBA3" spirit:name="AHBLiteInitiator_rtl" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:slave> <spirit:memoryMapRef spirit:memoryMapRef="AHBLiteInitiator_Slave__DMAC_1_MM"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__BOOTROM" spirit:opaque="true"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__IMEM" spirit:opaque="true"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__DMEM" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__IMEM_0" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__DMEM_0" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__SYSIO" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__EXPRAM_L" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__EXPRAM_H" spirit:opaque="true"/> @@ -435,9 +435,9 @@ <spirit:abstractionType spirit:library="AMBA3" spirit:name="AHBLiteInitiator_rtl" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:slave> <spirit:memoryMapRef spirit:memoryMapRef="AHBLiteInitiator_Slave__CPU_0_MM"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__BOOTROM" spirit:opaque="true"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__IMEM" spirit:opaque="true"/> - <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__DMEM" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__IMEM_0" spirit:opaque="true"/> + <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__DMEM_0" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__SYSIO" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__EXPRAM_L" spirit:opaque="true"/> <spirit:bridge spirit:masterRef="AHBLiteTarget_Master__EXPRAM_H" spirit:opaque="true"/> @@ -562,12 +562,12 @@ <!--Master interfaces --> <spirit:busInterface> - <spirit:name>AHBLiteTarget_Master__BOOTROM</spirit:name> - <spirit:description>Master port _BOOTROM</spirit:description> + <spirit:name>AHBLiteTarget_Master__BOOTROM_0</spirit:name> + <spirit:description>Master port _BOOTROM_0</spirit:description> <spirit:busType spirit:library="AMBA3" spirit:name="AHBLiteTarget" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:abstractionType spirit:library="AMBA3" spirit:name="AHBLiteTarget_rtl" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:master> - <spirit:addressSpaceRef spirit:addressSpaceRef="AHBLiteTarget_Master__BOOTROM_AS"/> + <spirit:addressSpaceRef spirit:addressSpaceRef="AHBLiteTarget_Master__BOOTROM_0_AS"/> </spirit:master> <spirit:portMaps> @@ -594,7 +594,7 @@ <spirit:name>HSELx</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HSEL_BOOTROM</spirit:name> + <spirit:name>HSEL_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -602,7 +602,7 @@ <spirit:name>HADDR</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HADDR_BOOTROM</spirit:name> + <spirit:name>HADDR_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -610,7 +610,7 @@ <spirit:name>HTRANS</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HTRANS_BOOTROM</spirit:name> + <spirit:name>HTRANS_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -618,7 +618,7 @@ <spirit:name>HWRITE</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HWRITE_BOOTROM</spirit:name> + <spirit:name>HWRITE_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -626,7 +626,7 @@ <spirit:name>HSIZE</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HSIZE_BOOTROM</spirit:name> + <spirit:name>HSIZE_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -634,7 +634,7 @@ <spirit:name>HBURST</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HBURST_BOOTROM</spirit:name> + <spirit:name>HBURST_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -642,7 +642,7 @@ <spirit:name>HPROT</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HPROT_BOOTROM</spirit:name> + <spirit:name>HPROT_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -650,7 +650,7 @@ <spirit:name>HWDATA</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HWDATA_BOOTROM</spirit:name> + <spirit:name>HWDATA_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -658,7 +658,7 @@ <spirit:name>HMASTLOCK</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HMASTLOCK_BOOTROM</spirit:name> + <spirit:name>HMASTLOCK_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -666,7 +666,7 @@ <spirit:name>HREADY</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HREADYMUX_BOOTROM</spirit:name> + <spirit:name>HREADYMUX_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> @@ -676,7 +676,7 @@ <spirit:name>HRDATA</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HRDATA_BOOTROM</spirit:name> + <spirit:name>HRDATA_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -684,7 +684,7 @@ <spirit:name>HREADYOUT</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HREADYOUT_BOOTROM</spirit:name> + <spirit:name>HREADYOUT_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -692,19 +692,19 @@ <spirit:name>HRESP</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HRESP_BOOTROM</spirit:name> + <spirit:name>HRESP_BOOTROM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> </spirit:portMaps> </spirit:busInterface> <spirit:busInterface> - <spirit:name>AHBLiteTarget_Master__IMEM</spirit:name> - <spirit:description>Master port _IMEM</spirit:description> + <spirit:name>AHBLiteTarget_Master__IMEM_0</spirit:name> + <spirit:description>Master port _IMEM_0</spirit:description> <spirit:busType spirit:library="AMBA3" spirit:name="AHBLiteTarget" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:abstractionType spirit:library="AMBA3" spirit:name="AHBLiteTarget_rtl" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:master> - <spirit:addressSpaceRef spirit:addressSpaceRef="AHBLiteTarget_Master__IMEM_AS"/> + <spirit:addressSpaceRef spirit:addressSpaceRef="AHBLiteTarget_Master__IMEM_0_AS"/> </spirit:master> <spirit:portMaps> @@ -731,7 +731,7 @@ <spirit:name>HSELx</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HSEL_IMEM</spirit:name> + <spirit:name>HSEL_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -739,7 +739,7 @@ <spirit:name>HADDR</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HADDR_IMEM</spirit:name> + <spirit:name>HADDR_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -747,7 +747,7 @@ <spirit:name>HTRANS</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HTRANS_IMEM</spirit:name> + <spirit:name>HTRANS_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -755,7 +755,7 @@ <spirit:name>HWRITE</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HWRITE_IMEM</spirit:name> + <spirit:name>HWRITE_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -763,7 +763,7 @@ <spirit:name>HSIZE</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HSIZE_IMEM</spirit:name> + <spirit:name>HSIZE_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -771,7 +771,7 @@ <spirit:name>HBURST</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HBURST_IMEM</spirit:name> + <spirit:name>HBURST_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -779,7 +779,7 @@ <spirit:name>HPROT</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HPROT_IMEM</spirit:name> + <spirit:name>HPROT_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -787,7 +787,7 @@ <spirit:name>HWDATA</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HWDATA_IMEM</spirit:name> + <spirit:name>HWDATA_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -795,7 +795,7 @@ <spirit:name>HMASTLOCK</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HMASTLOCK_IMEM</spirit:name> + <spirit:name>HMASTLOCK_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -803,7 +803,7 @@ <spirit:name>HREADY</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HREADYMUX_IMEM</spirit:name> + <spirit:name>HREADYMUX_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> @@ -813,7 +813,7 @@ <spirit:name>HRDATA</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HRDATA_IMEM</spirit:name> + <spirit:name>HRDATA_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -821,7 +821,7 @@ <spirit:name>HREADYOUT</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HREADYOUT_IMEM</spirit:name> + <spirit:name>HREADYOUT_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -829,19 +829,19 @@ <spirit:name>HRESP</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HRESP_IMEM</spirit:name> + <spirit:name>HRESP_IMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> </spirit:portMaps> </spirit:busInterface> <spirit:busInterface> - <spirit:name>AHBLiteTarget_Master__DMEM</spirit:name> - <spirit:description>Master port _DMEM</spirit:description> + <spirit:name>AHBLiteTarget_Master__DMEM_0</spirit:name> + <spirit:description>Master port _DMEM_0</spirit:description> <spirit:busType spirit:library="AMBA3" spirit:name="AHBLiteTarget" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:abstractionType spirit:library="AMBA3" spirit:name="AHBLiteTarget_rtl" spirit:vendor="amba.com" spirit:version="r2p0_0"/> <spirit:master> - <spirit:addressSpaceRef spirit:addressSpaceRef="AHBLiteTarget_Master__DMEM_AS"/> + <spirit:addressSpaceRef spirit:addressSpaceRef="AHBLiteTarget_Master__DMEM_0_AS"/> </spirit:master> <spirit:portMaps> @@ -868,7 +868,7 @@ <spirit:name>HSELx</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HSEL_DMEM</spirit:name> + <spirit:name>HSEL_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -876,7 +876,7 @@ <spirit:name>HADDR</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HADDR_DMEM</spirit:name> + <spirit:name>HADDR_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -884,7 +884,7 @@ <spirit:name>HTRANS</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HTRANS_DMEM</spirit:name> + <spirit:name>HTRANS_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -892,7 +892,7 @@ <spirit:name>HWRITE</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HWRITE_DMEM</spirit:name> + <spirit:name>HWRITE_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -900,7 +900,7 @@ <spirit:name>HSIZE</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HSIZE_DMEM</spirit:name> + <spirit:name>HSIZE_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -908,7 +908,7 @@ <spirit:name>HBURST</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HBURST_DMEM</spirit:name> + <spirit:name>HBURST_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -916,7 +916,7 @@ <spirit:name>HPROT</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HPROT_DMEM</spirit:name> + <spirit:name>HPROT_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -924,7 +924,7 @@ <spirit:name>HWDATA</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HWDATA_DMEM</spirit:name> + <spirit:name>HWDATA_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -932,7 +932,7 @@ <spirit:name>HMASTLOCK</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HMASTLOCK_DMEM</spirit:name> + <spirit:name>HMASTLOCK_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -940,7 +940,7 @@ <spirit:name>HREADY</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HREADYMUX_DMEM</spirit:name> + <spirit:name>HREADYMUX_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> @@ -950,7 +950,7 @@ <spirit:name>HRDATA</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HRDATA_DMEM</spirit:name> + <spirit:name>HRDATA_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -958,7 +958,7 @@ <spirit:name>HREADYOUT</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HREADYOUT_DMEM</spirit:name> + <spirit:name>HREADYOUT_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> <spirit:portMap> @@ -966,7 +966,7 @@ <spirit:name>HRESP</spirit:name> </spirit:logicalPort> <spirit:physicalPort> - <spirit:name>HRESP_DMEM</spirit:name> + <spirit:name>HRESP_DMEM_0</spirit:name> </spirit:physicalPort> </spirit:portMap> </spirit:portMaps> @@ -2009,18 +2009,18 @@ <spirit:addressSpaces> <spirit:addressSpace> - <spirit:name>AHBLiteTarget_Master__BOOTROM_AS</spirit:name> - <spirit:description>_BOOTROM address space</spirit:description> + <spirit:name>AHBLiteTarget_Master__BOOTROM_0_AS</spirit:name> + <spirit:description>_BOOTROM_0 address space</spirit:description> <spirit:range>4G</spirit:range> <spirit:width>32</spirit:width> <spirit:segments> <spirit:segment> - <spirit:name>_BOOTROM_0x00000000_0x0fffffff</spirit:name> + <spirit:name>_BOOTROM_0_0x00000000_0x0fffffff</spirit:name> <spirit:addressOffset>0x00000000</spirit:addressOffset> <spirit:range>0x010000000</spirit:range> </spirit:segment> <spirit:segment> - <spirit:name>_BOOTROM_0x10000000_0x1fffffff</spirit:name> + <spirit:name>_BOOTROM_0_0x10000000_0x1fffffff</spirit:name> <spirit:addressOffset>0x10000000</spirit:addressOffset> <spirit:range>0x010000000</spirit:range> </spirit:segment> @@ -2029,18 +2029,18 @@ </spirit:addressSpace> <spirit:addressSpace> - <spirit:name>AHBLiteTarget_Master__IMEM_AS</spirit:name> - <spirit:description>_IMEM address space</spirit:description> + <spirit:name>AHBLiteTarget_Master__IMEM_0_AS</spirit:name> + <spirit:description>_IMEM_0 address space</spirit:description> <spirit:range>4G</spirit:range> <spirit:width>32</spirit:width> <spirit:segments> <spirit:segment> - <spirit:name>_IMEM_0x00000000_0x0fffffff</spirit:name> + <spirit:name>_IMEM_0_0x00000000_0x0fffffff</spirit:name> <spirit:addressOffset>0x00000000</spirit:addressOffset> <spirit:range>0x010000000</spirit:range> </spirit:segment> <spirit:segment> - <spirit:name>_IMEM_0x20000000_0x2fffffff</spirit:name> + <spirit:name>_IMEM_0_0x20000000_0x2fffffff</spirit:name> <spirit:addressOffset>0x20000000</spirit:addressOffset> <spirit:range>0x010000000</spirit:range> </spirit:segment> @@ -2049,13 +2049,13 @@ </spirit:addressSpace> <spirit:addressSpace> - <spirit:name>AHBLiteTarget_Master__DMEM_AS</spirit:name> - <spirit:description>_DMEM address space</spirit:description> + <spirit:name>AHBLiteTarget_Master__DMEM_0_AS</spirit:name> + <spirit:description>_DMEM_0 address space</spirit:description> <spirit:range>4G</spirit:range> <spirit:width>32</spirit:width> <spirit:segments> <spirit:segment> - <spirit:name>_DMEM_0x30000000_0x3fffffff</spirit:name> + <spirit:name>_DMEM_0_0x30000000_0x3fffffff</spirit:name> <spirit:addressOffset>0x30000000</spirit:addressOffset> <spirit:range>0x010000000</spirit:range> </spirit:segment> @@ -2176,24 +2176,24 @@ <spirit:name>AHBLiteInitiator_Slave__SOCDEBUG_MM</spirit:name> <spirit:description>_SOCDEBUG memory map</spirit:description> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM" - spirit:segmentRef="_BOOTROM_0x10000000_0x1fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" + spirit:segmentRef="_BOOTROM_0_0x10000000_0x1fffffff"> <!-- Address_region 0x10000000-0x1fffffff --> - <spirit:name>AHBLiteTarget_Master__BOOTROM_0x10000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__BOOTROM_0_0x10000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x10000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM" - spirit:segmentRef="_IMEM_0x20000000_0x2fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM_0" + spirit:segmentRef="_IMEM_0_0x20000000_0x2fffffff"> <!-- Address_region 0x20000000-0x2fffffff --> - <spirit:name>AHBLiteTarget_Master__IMEM_0x20000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__IMEM_0_0x20000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x20000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__DMEM" - spirit:segmentRef="_DMEM_0x30000000_0x3fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__DMEM_0" + spirit:segmentRef="_DMEM_0_0x30000000_0x3fffffff"> <!-- Address_region 0x30000000-0x3fffffff --> - <spirit:name>AHBLiteTarget_Master__DMEM_0x30000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__DMEM_0_0x30000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x30000000</spirit:baseAddress> </spirit:subspaceMap> @@ -2249,10 +2249,10 @@ <spirit:memoryRemap spirit:state="remap_0"> <spirit:name>AHBLiteInitiator_Slave__SOCDEBUG_remap_0_remap_MM</spirit:name> <spirit:description>_SOCDEBUG remap_0 remap</spirit:description> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM" - spirit:segmentRef="_IMEM_0x00000000_0x0fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM_0" + spirit:segmentRef="_IMEM_0_0x00000000_0x0fffffff"> <!-- Remapped region, active when REMAP bitcombination is 0 address_region 0x00000000-0x0fffffff --> - <spirit:name>AHBLiteTarget_Master__IMEM_0x00000000_0_state_remap_0_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__IMEM_0_0x00000000_0_state_remap_0_SM</spirit:name> <spirit:baseAddress>0x00000000</spirit:baseAddress> </spirit:subspaceMap> </spirit:memoryRemap> @@ -2260,10 +2260,10 @@ <spirit:memoryRemap spirit:state="remap_n0"> <spirit:name>AHBLiteInitiator_Slave__SOCDEBUG_remap_n0_remap_MM</spirit:name> <spirit:description>_SOCDEBUG remap_n0 remap</spirit:description> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM" - spirit:segmentRef="_BOOTROM_0x00000000_0x0fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" + spirit:segmentRef="_BOOTROM_0_0x00000000_0x0fffffff"> <!-- Removable region, active only when REMAP bitcombination is n0 address_region 0x00000000-0x0fffffff --> - <spirit:name>AHBLiteTarget_Master__BOOTROM_0x00000000_0_state_remap_n0_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__BOOTROM_0_0x00000000_0_state_remap_n0_SM</spirit:name> <spirit:baseAddress>0x00000000</spirit:baseAddress> </spirit:subspaceMap> </spirit:memoryRemap> @@ -2274,31 +2274,31 @@ <spirit:name>AHBLiteInitiator_Slave__DMAC_0_MM</spirit:name> <spirit:description>_DMAC_0 memory map</spirit:description> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM" - spirit:segmentRef="_IMEM_0x00000000_0x0fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM_0" + spirit:segmentRef="_IMEM_0_0x00000000_0x0fffffff"> <!-- Address_region 0x00000000-0x0fffffff --> - <spirit:name>AHBLiteTarget_Master__IMEM_0x00000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__IMEM_0_0x00000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x00000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM" - spirit:segmentRef="_BOOTROM_0x10000000_0x1fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" + spirit:segmentRef="_BOOTROM_0_0x10000000_0x1fffffff"> <!-- Address_region 0x10000000-0x1fffffff --> - <spirit:name>AHBLiteTarget_Master__BOOTROM_0x10000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__BOOTROM_0_0x10000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x10000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM" - spirit:segmentRef="_IMEM_0x20000000_0x2fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM_0" + spirit:segmentRef="_IMEM_0_0x20000000_0x2fffffff"> <!-- Address_region 0x20000000-0x2fffffff --> - <spirit:name>AHBLiteTarget_Master__IMEM_0x20000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__IMEM_0_0x20000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x20000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__DMEM" - spirit:segmentRef="_DMEM_0x30000000_0x3fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__DMEM_0" + spirit:segmentRef="_DMEM_0_0x30000000_0x3fffffff"> <!-- Address_region 0x30000000-0x3fffffff --> - <spirit:name>AHBLiteTarget_Master__DMEM_0x30000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__DMEM_0_0x30000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x30000000</spirit:baseAddress> </spirit:subspaceMap> @@ -2350,31 +2350,31 @@ <spirit:name>AHBLiteInitiator_Slave__DMAC_1_MM</spirit:name> <spirit:description>_DMAC_1 memory map</spirit:description> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM" - spirit:segmentRef="_IMEM_0x00000000_0x0fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM_0" + spirit:segmentRef="_IMEM_0_0x00000000_0x0fffffff"> <!-- Address_region 0x00000000-0x0fffffff --> - <spirit:name>AHBLiteTarget_Master__IMEM_0x00000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__IMEM_0_0x00000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x00000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM" - spirit:segmentRef="_BOOTROM_0x10000000_0x1fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" + spirit:segmentRef="_BOOTROM_0_0x10000000_0x1fffffff"> <!-- Address_region 0x10000000-0x1fffffff --> - <spirit:name>AHBLiteTarget_Master__BOOTROM_0x10000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__BOOTROM_0_0x10000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x10000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM" - spirit:segmentRef="_IMEM_0x20000000_0x2fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM_0" + spirit:segmentRef="_IMEM_0_0x20000000_0x2fffffff"> <!-- Address_region 0x20000000-0x2fffffff --> - <spirit:name>AHBLiteTarget_Master__IMEM_0x20000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__IMEM_0_0x20000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x20000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__DMEM" - spirit:segmentRef="_DMEM_0x30000000_0x3fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__DMEM_0" + spirit:segmentRef="_DMEM_0_0x30000000_0x3fffffff"> <!-- Address_region 0x30000000-0x3fffffff --> - <spirit:name>AHBLiteTarget_Master__DMEM_0x30000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__DMEM_0_0x30000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x30000000</spirit:baseAddress> </spirit:subspaceMap> @@ -2426,24 +2426,24 @@ <spirit:name>AHBLiteInitiator_Slave__CPU_0_MM</spirit:name> <spirit:description>_CPU_0 memory map</spirit:description> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM" - spirit:segmentRef="_BOOTROM_0x10000000_0x1fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" + spirit:segmentRef="_BOOTROM_0_0x10000000_0x1fffffff"> <!-- Address_region 0x10000000-0x1fffffff --> - <spirit:name>AHBLiteTarget_Master__BOOTROM_0x10000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__BOOTROM_0_0x10000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x10000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM" - spirit:segmentRef="_IMEM_0x20000000_0x2fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM_0" + spirit:segmentRef="_IMEM_0_0x20000000_0x2fffffff"> <!-- Address_region 0x20000000-0x2fffffff --> - <spirit:name>AHBLiteTarget_Master__IMEM_0x20000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__IMEM_0_0x20000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x20000000</spirit:baseAddress> </spirit:subspaceMap> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__DMEM" - spirit:segmentRef="_DMEM_0x30000000_0x3fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__DMEM_0" + spirit:segmentRef="_DMEM_0_0x30000000_0x3fffffff"> <!-- Address_region 0x30000000-0x3fffffff --> - <spirit:name>AHBLiteTarget_Master__DMEM_0x30000000_0_state_always_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__DMEM_0_0x30000000_0_state_always_SM</spirit:name> <spirit:baseAddress>0x30000000</spirit:baseAddress> </spirit:subspaceMap> @@ -2499,10 +2499,10 @@ <spirit:memoryRemap spirit:state="remap_0"> <spirit:name>AHBLiteInitiator_Slave__CPU_0_remap_0_remap_MM</spirit:name> <spirit:description>_CPU_0 remap_0 remap</spirit:description> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM" - spirit:segmentRef="_IMEM_0x00000000_0x0fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__IMEM_0" + spirit:segmentRef="_IMEM_0_0x00000000_0x0fffffff"> <!-- Remapped region, active when REMAP bitcombination is 0 address_region 0x00000000-0x0fffffff --> - <spirit:name>AHBLiteTarget_Master__IMEM_0x00000000_0_state_remap_0_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__IMEM_0_0x00000000_0_state_remap_0_SM</spirit:name> <spirit:baseAddress>0x00000000</spirit:baseAddress> </spirit:subspaceMap> </spirit:memoryRemap> @@ -2510,10 +2510,10 @@ <spirit:memoryRemap spirit:state="remap_n0"> <spirit:name>AHBLiteInitiator_Slave__CPU_0_remap_n0_remap_MM</spirit:name> <spirit:description>_CPU_0 remap_n0 remap</spirit:description> - <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM" - spirit:segmentRef="_BOOTROM_0x00000000_0x0fffffff"> + <spirit:subspaceMap spirit:masterRef="AHBLiteTarget_Master__BOOTROM_0" + spirit:segmentRef="_BOOTROM_0_0x00000000_0x0fffffff"> <!-- Removable region, active only when REMAP bitcombination is n0 address_region 0x00000000-0x0fffffff --> - <spirit:name>AHBLiteTarget_Master__BOOTROM_0x00000000_0_state_remap_n0_SM</spirit:name> + <spirit:name>AHBLiteTarget_Master__BOOTROM_0_0x00000000_0_state_remap_n0_SM</spirit:name> <spirit:baseAddress>0x00000000</spirit:baseAddress> </spirit:subspaceMap> </spirit:memoryRemap> @@ -2876,7 +2876,7 @@ <!-- Input signals of Master interfaces --> <spirit:port> - <spirit:name>HRDATA_BOOTROM</spirit:name> + <spirit:name>HRDATA_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> <spirit:vector> @@ -2886,19 +2886,19 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HREADYOUT_BOOTROM</spirit:name> + <spirit:name>HREADYOUT_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HRESP_BOOTROM</spirit:name> + <spirit:name>HRESP_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HRDATA_IMEM</spirit:name> + <spirit:name>HRDATA_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> <spirit:vector> @@ -2908,19 +2908,19 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HREADYOUT_IMEM</spirit:name> + <spirit:name>HREADYOUT_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HRESP_IMEM</spirit:name> + <spirit:name>HRESP_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HRDATA_DMEM</spirit:name> + <spirit:name>HRDATA_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> <spirit:vector> @@ -2930,13 +2930,13 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HREADYOUT_DMEM</spirit:name> + <spirit:name>HREADYOUT_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HRESP_DMEM</spirit:name> + <spirit:name>HRESP_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>in</spirit:direction> </spirit:wire> @@ -3114,13 +3114,13 @@ <!-- Output signals of Master interfaces --> <spirit:port> - <spirit:name>HSEL_BOOTROM</spirit:name> + <spirit:name>HSEL_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HADDR_BOOTROM</spirit:name> + <spirit:name>HADDR_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3130,7 +3130,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HTRANS_BOOTROM</spirit:name> + <spirit:name>HTRANS_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3140,13 +3140,13 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HWRITE_BOOTROM</spirit:name> + <spirit:name>HWRITE_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HSIZE_BOOTROM</spirit:name> + <spirit:name>HSIZE_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3156,7 +3156,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HBURST_BOOTROM</spirit:name> + <spirit:name>HBURST_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3166,7 +3166,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HPROT_BOOTROM</spirit:name> + <spirit:name>HPROT_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3176,7 +3176,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HWDATA_BOOTROM</spirit:name> + <spirit:name>HWDATA_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3186,25 +3186,25 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HMASTLOCK_BOOTROM</spirit:name> + <spirit:name>HMASTLOCK_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HREADYMUX_BOOTROM</spirit:name> + <spirit:name>HREADYMUX_BOOTROM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HSEL_IMEM</spirit:name> + <spirit:name>HSEL_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HADDR_IMEM</spirit:name> + <spirit:name>HADDR_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3214,7 +3214,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HTRANS_IMEM</spirit:name> + <spirit:name>HTRANS_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3224,13 +3224,13 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HWRITE_IMEM</spirit:name> + <spirit:name>HWRITE_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HSIZE_IMEM</spirit:name> + <spirit:name>HSIZE_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3240,7 +3240,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HBURST_IMEM</spirit:name> + <spirit:name>HBURST_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3250,7 +3250,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HPROT_IMEM</spirit:name> + <spirit:name>HPROT_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3260,7 +3260,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HWDATA_IMEM</spirit:name> + <spirit:name>HWDATA_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3270,25 +3270,25 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HMASTLOCK_IMEM</spirit:name> + <spirit:name>HMASTLOCK_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HREADYMUX_IMEM</spirit:name> + <spirit:name>HREADYMUX_IMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HSEL_DMEM</spirit:name> + <spirit:name>HSEL_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HADDR_DMEM</spirit:name> + <spirit:name>HADDR_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3298,7 +3298,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HTRANS_DMEM</spirit:name> + <spirit:name>HTRANS_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3308,13 +3308,13 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HWRITE_DMEM</spirit:name> + <spirit:name>HWRITE_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HSIZE_DMEM</spirit:name> + <spirit:name>HSIZE_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3324,7 +3324,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HBURST_DMEM</spirit:name> + <spirit:name>HBURST_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3334,7 +3334,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HPROT_DMEM</spirit:name> + <spirit:name>HPROT_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3344,7 +3344,7 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HWDATA_DMEM</spirit:name> + <spirit:name>HWDATA_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> <spirit:vector> @@ -3354,13 +3354,13 @@ </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HMASTLOCK_DMEM</spirit:name> + <spirit:name>HMASTLOCK_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> </spirit:port> <spirit:port> - <spirit:name>HREADYMUX_DMEM</spirit:name> + <spirit:name>HREADYMUX_DMEM_0</spirit:name> <spirit:wire> <spirit:direction>out</spirit:direction> </spirit:wire> @@ -4095,15 +4095,15 @@ <spirit:fileType>verilogSource-2001</spirit:fileType> </spirit:file> <spirit:file> - <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_arbiter_BOOTROM.v</spirit:name> + <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_arbiter_BOOTROM_0.v</spirit:name> <spirit:fileType>verilogSource-2001</spirit:fileType> </spirit:file> <spirit:file> - <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_arbiter_IMEM.v</spirit:name> + <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_arbiter_IMEM_0.v</spirit:name> <spirit:fileType>verilogSource-2001</spirit:fileType> </spirit:file> <spirit:file> - <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_arbiter_DMEM.v</spirit:name> + <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_arbiter_DMEM_0.v</spirit:name> <spirit:fileType>verilogSource-2001</spirit:fileType> </spirit:file> <spirit:file> @@ -4135,15 +4135,15 @@ <spirit:fileType>verilogSource-2001</spirit:fileType> </spirit:file> <spirit:file> - <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_target_output_BOOTROM.v</spirit:name> + <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_target_output_BOOTROM_0.v</spirit:name> <spirit:fileType>verilogSource-2001</spirit:fileType> </spirit:file> <spirit:file> - <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_target_output_IMEM.v</spirit:name> + <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_target_output_IMEM_0.v</spirit:name> <spirit:fileType>verilogSource-2001</spirit:fileType> </spirit:file> <spirit:file> - <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_target_output_DMEM.v</spirit:name> + <spirit:name>../../verilog/nanosoc_busmatrix/nanosoc_target_output_DMEM_0.v</spirit:name> <spirit:fileType>verilogSource-2001</spirit:fileType> </spirit:file> <spirit:file> diff --git a/system/nanosoc_busmatrix/logs/nanosoc.log b/system/nanosoc_busmatrix/logs/nanosoc.log index 68f64e8cce3a5c2d8a55fc58e239ee5e542a3a66..1f19b5e72b08704298662c4245c2ef89b8f873b3 100644 --- a/system/nanosoc_busmatrix/logs/nanosoc.log +++ b/system/nanosoc_busmatrix/logs/nanosoc.log @@ -14,7 +14,7 @@ = = BuildBusMatrix.pl = -= Run Date : 04/06/2023 13:16:41 += Run Date : 12/06/2023 11:01:02 ============================================================== Script accepted the following parameters: @@ -26,10 +26,10 @@ Script accepted the following parameters: - Architecture type : 'ahb2' - Arbitration scheme : 'burst' - Address map : user defined - - Connectivity mapping : _SOCDEBUG -> _BOOTROM, _IMEM, _DMEM, _SYSIO, _EXP_0, _EXP_1, _EXP_2, _EXPRAM_L, _EXPRAM_H, _SYSTABLE, - _DMAC_0 -> _BOOTROM, _IMEM, _DMEM, _SYSIO, _EXP_0, _EXP_1, _EXP_2, _EXPRAM_L, _EXPRAM_H, - _DMAC_1 -> _BOOTROM, _IMEM, _DMEM, _SYSIO, _EXP_0, _EXP_1, _EXP_2, _EXPRAM_L, _EXPRAM_H, - _CPU_0 -> _BOOTROM, _IMEM, _DMEM, _SYSIO, _EXP_0, _EXP_1, _EXP_2, _EXPRAM_L, _EXPRAM_H, _SYSTABLE + - Connectivity mapping : _SOCDEBUG -> _BOOTROM_0, _IMEM_0, _DMEM_0, _SYSIO, _EXP_0, _EXP_1, _EXP_2, _EXPRAM_L, _EXPRAM_H, _SYSTABLE, + _DMAC_0 -> _BOOTROM_0, _IMEM_0, _DMEM_0, _SYSIO, _EXP_0, _EXP_1, _EXP_2, _EXPRAM_L, _EXPRAM_H, + _DMAC_1 -> _BOOTROM_0, _IMEM_0, _DMEM_0, _SYSIO, _EXP_0, _EXP_1, _EXP_2, _EXPRAM_L, _EXPRAM_H, + _CPU_0 -> _BOOTROM_0, _IMEM_0, _DMEM_0, _SYSIO, _EXP_0, _EXP_1, _EXP_2, _EXPRAM_L, _EXPRAM_H, _SYSTABLE - Connectivity type : sparse - Routing data width : 32 - Routing address width : 32 @@ -56,8 +56,8 @@ Deleting the '/home/dam1n19/accelerator-project/nanosoc_tech/system/nanosoc_busm Deleting the '/home/dam1n19/accelerator-project/nanosoc_tech/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix_lite.v' file... Deleting the '/home/dam1n19/accelerator-project/nanosoc_tech/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_inititator_input.v' file... Deleting the '/home/dam1n19/accelerator-project/nanosoc_tech/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_CPU_0.v' file... -Deleting the '/home/dam1n19/accelerator-project/nanosoc_tech/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_DMA_0.v' file... -Deleting the '/home/dam1n19/accelerator-project/nanosoc_tech/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_DMA_1.v' file... +Deleting the '/home/dam1n19/accelerator-project/nanosoc_tech/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_DMAC_0.v' file... +Deleting the '/home/dam1n19/accelerator-project/nanosoc_tech/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_DMAC_1.v' file... Deleting the '/home/dam1n19/accelerator-project/nanosoc_tech/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_SOCDEBUG.v' file... Deleting the '/home/dam1n19/accelerator-project/nanosoc_tech/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_BOOTROM.v' file... Deleting the '/home/dam1n19/accelerator-project/nanosoc_tech/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_DMEM.v' file... @@ -75,36 +75,36 @@ Deleting the '/home/dam1n19/accelerator-project/nanosoc_tech/system/nanosoc_busm Creating the bus matrix variant... - - Rendering 'nanosoc_busmatrix_lite.xml' - - Rendering 'nanosoc_busmatrix_default_slave.v' - - Rendering 'nanosoc_arbiter_IMEM.v' + - Rendering 'nanosoc_target_output_BOOTROM_0.v' + - Rendering 'nanosoc_target_output_SYSIO.v' + - Rendering 'nanosoc_target_output_EXPRAM_L.v' + - Rendering 'nanosoc_busmatrix_lite.v' - Rendering 'nanosoc_matrix_decode_DMAC_0.v' - - Rendering 'nanosoc_target_output_BOOTROM.v' - - Rendering 'nanosoc_arbiter_BOOTROM.v' - - Rendering 'nanosoc_target_output_SYSTABLE.v' - Rendering 'nanosoc_target_output_EXP_2.v' - - Rendering 'nanosoc_inititator_input.v' - - Rendering 'nanosoc_matrix_decode_DMAC_1.v' - - Rendering 'nanosoc_target_output_IMEM.v' - - Rendering 'nanosoc_target_output_EXPRAM_L.v' - - Rendering 'nanosoc_arbiter_SYSTABLE.v' + - Rendering 'nanosoc_arbiter_SYSIO.v' + - Rendering 'nanosoc_arbiter_EXPRAM_L.v' + - Rendering 'nanosoc_arbiter_BOOTROM_0.v' + - Rendering 'nanosoc_arbiter_EXP_1.v' + - Rendering 'nanosoc_arbiter_DMEM_0.v' - Rendering 'nanosoc_target_output_EXP_1.v' - - Rendering 'nanosoc_target_output_DMEM.v' - - Rendering 'nanosoc_target_output_EXP_0.v' - Rendering 'nanosoc_matrix_decode_CPU_0.v' - - Rendering 'nanosoc_matrix_decode_SOCDEBUG.v' - - Rendering 'nanosoc_arbiter_SYSIO.v' - - Rendering 'nanosoc_arbiter_EXP_2.v' + - Rendering 'nanosoc_inititator_input.v' - Rendering 'nanosoc_arbiter_EXP_0.v' - - Rendering 'nanosoc_arbiter_EXPRAM_L.v' - - Rendering 'nanosoc_busmatrix.xml' + - Rendering 'nanosoc_busmatrix_lite.xml' + - Rendering 'nanosoc_busmatrix_default_slave.v' + - Rendering 'nanosoc_matrix_decode_SOCDEBUG.v' + - Rendering 'nanosoc_target_output_EXP_0.v' - Rendering 'nanosoc_target_output_EXPRAM_H.v' - - Rendering 'nanosoc_arbiter_EXP_1.v' - - Rendering 'nanosoc_busmatrix_lite.v' - - Rendering 'nanosoc_busmatrix.v' + - Rendering 'nanosoc_target_output_SYSTABLE.v' + - Rendering 'nanosoc_target_output_DMEM_0.v' + - Rendering 'nanosoc_arbiter_EXP_2.v' + - Rendering 'nanosoc_matrix_decode_DMAC_1.v' + - Rendering 'nanosoc_arbiter_SYSTABLE.v' - Rendering 'nanosoc_arbiter_EXPRAM_H.v' - - Rendering 'nanosoc_arbiter_DMEM.v' - - Rendering 'nanosoc_target_output_SYSIO.v' + - Rendering 'nanosoc_target_output_IMEM_0.v' + - Rendering 'nanosoc_busmatrix.v' + - Rendering 'nanosoc_arbiter_IMEM_0.v' + - Rendering 'nanosoc_busmatrix.xml' Done! diff --git a/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_BOOTROM.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_BOOTROM_0.v similarity index 99% rename from system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_BOOTROM.v rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_BOOTROM_0.v index 6746db1d35847e62779caa7e92d7edd13268437f..850c0bccd60e389146d4d5d9ada76dd3ba8092f2 100644 --- a/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_BOOTROM.v +++ b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_BOOTROM_0.v @@ -32,7 +32,7 @@ -module nanosoc_arbiter_BOOTROM ( +module nanosoc_arbiter_BOOTROM_0 ( // Common AHB signals HCLK , diff --git a/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_DMEM.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_DMEM_0.v similarity index 99% rename from system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_DMEM.v rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_DMEM_0.v index 9d473c706c70e35b87e6ee88f2b0635cd42fbced..e2559ef58dfb6eb30868b759eb77d350e435cbda 100644 --- a/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_DMEM.v +++ b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_DMEM_0.v @@ -32,7 +32,7 @@ -module nanosoc_arbiter_DMEM ( +module nanosoc_arbiter_DMEM_0 ( // Common AHB signals HCLK , diff --git a/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_IMEM.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_IMEM_0.v similarity index 99% rename from system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_IMEM.v rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_IMEM_0.v index b69a7d194b452fa1d73f8a791f70acca9768a2c4..7e3ec3846216af3a7076d6660ab27fc38e92184a 100644 --- a/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_IMEM.v +++ b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_IMEM_0.v @@ -32,7 +32,7 @@ -module nanosoc_arbiter_IMEM ( +module nanosoc_arbiter_IMEM_0 ( // Common AHB signals HCLK , diff --git a/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix.v index baa99937bbaf742b3cc3a30787d8837be0753e51..7ab092a3d2fccce715e873de882c152bf52a8c3d 100644 --- a/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix.v +++ b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix.v @@ -35,10 +35,10 @@ // - Routing data width of 32 bits, // - Arbiter type 'burst', // - Connectivity mapping: -// _SOCDEBUG -> _BOOTROM, _IMEM, _DMEM, _SYSIO, _EXP_0, _EXP_1, _EXP_2, _EXPRAM_L, _EXPRAM_H, _SYSTABLE, -// _DMAC_0 -> _BOOTROM, _IMEM, _DMEM, _SYSIO, _EXP_0, _EXP_1, _EXP_2, _EXPRAM_L, _EXPRAM_H, -// _DMAC_1 -> _BOOTROM, _IMEM, _DMEM, _SYSIO, _EXP_0, _EXP_1, _EXP_2, _EXPRAM_L, _EXPRAM_H, -// _CPU_0 -> _BOOTROM, _IMEM, _DMEM, _SYSIO, _EXP_0, _EXP_1, _EXP_2, _EXPRAM_L, _EXPRAM_H, _SYSTABLE, +// _SOCDEBUG -> _BOOTROM_0, _IMEM_0, _DMEM_0, _SYSIO, _EXP_0, _EXP_1, _EXP_2, _EXPRAM_L, _EXPRAM_H, _SYSTABLE, +// _DMAC_0 -> _BOOTROM_0, _IMEM_0, _DMEM_0, _SYSIO, _EXP_0, _EXP_1, _EXP_2, _EXPRAM_L, _EXPRAM_H, +// _DMAC_1 -> _BOOTROM_0, _IMEM_0, _DMEM_0, _SYSIO, _EXP_0, _EXP_1, _EXP_2, _EXPRAM_L, _EXPRAM_H, +// _CPU_0 -> _BOOTROM_0, _IMEM_0, _DMEM_0, _SYSIO, _EXP_0, _EXP_1, _EXP_2, _EXPRAM_L, _EXPRAM_H, _SYSTABLE, // - Connectivity type 'sparse'. // //------------------------------------------------------------------------------ @@ -107,19 +107,19 @@ module nanosoc_busmatrix ( HREADY_CPU_0, // Output port MI0 (inputs from slave 0) - HRDATA_BOOTROM, - HREADYOUT_BOOTROM, - HRESP_BOOTROM, + HRDATA_BOOTROM_0, + HREADYOUT_BOOTROM_0, + HRESP_BOOTROM_0, // Output port MI1 (inputs from slave 1) - HRDATA_IMEM, - HREADYOUT_IMEM, - HRESP_IMEM, + HRDATA_IMEM_0, + HREADYOUT_IMEM_0, + HRESP_IMEM_0, // Output port MI2 (inputs from slave 2) - HRDATA_DMEM, - HREADYOUT_DMEM, - HRESP_DMEM, + HRDATA_DMEM_0, + HREADYOUT_DMEM_0, + HRESP_DMEM_0, // Output port MI3 (inputs from slave 3) HRDATA_SYSIO, @@ -162,43 +162,43 @@ module nanosoc_busmatrix ( // Output port MI0 (outputs to slave 0) - HSEL_BOOTROM, - HADDR_BOOTROM, - HTRANS_BOOTROM, - HWRITE_BOOTROM, - HSIZE_BOOTROM, - HBURST_BOOTROM, - HPROT_BOOTROM, - HMASTER_BOOTROM, - HWDATA_BOOTROM, - HMASTLOCK_BOOTROM, - HREADYMUX_BOOTROM, + HSEL_BOOTROM_0, + HADDR_BOOTROM_0, + HTRANS_BOOTROM_0, + HWRITE_BOOTROM_0, + HSIZE_BOOTROM_0, + HBURST_BOOTROM_0, + HPROT_BOOTROM_0, + HMASTER_BOOTROM_0, + HWDATA_BOOTROM_0, + HMASTLOCK_BOOTROM_0, + HREADYMUX_BOOTROM_0, // Output port MI1 (outputs to slave 1) - HSEL_IMEM, - HADDR_IMEM, - HTRANS_IMEM, - HWRITE_IMEM, - HSIZE_IMEM, - HBURST_IMEM, - HPROT_IMEM, - HMASTER_IMEM, - HWDATA_IMEM, - HMASTLOCK_IMEM, - HREADYMUX_IMEM, + HSEL_IMEM_0, + HADDR_IMEM_0, + HTRANS_IMEM_0, + HWRITE_IMEM_0, + HSIZE_IMEM_0, + HBURST_IMEM_0, + HPROT_IMEM_0, + HMASTER_IMEM_0, + HWDATA_IMEM_0, + HMASTLOCK_IMEM_0, + HREADYMUX_IMEM_0, // Output port MI2 (outputs to slave 2) - HSEL_DMEM, - HADDR_DMEM, - HTRANS_DMEM, - HWRITE_DMEM, - HSIZE_DMEM, - HBURST_DMEM, - HPROT_DMEM, - HMASTER_DMEM, - HWDATA_DMEM, - HMASTLOCK_DMEM, - HREADYMUX_DMEM, + HSEL_DMEM_0, + HADDR_DMEM_0, + HTRANS_DMEM_0, + HWRITE_DMEM_0, + HSIZE_DMEM_0, + HBURST_DMEM_0, + HPROT_DMEM_0, + HMASTER_DMEM_0, + HWDATA_DMEM_0, + HMASTLOCK_DMEM_0, + HREADYMUX_DMEM_0, // Output port MI3 (outputs to slave 3) HSEL_SYSIO, @@ -381,19 +381,19 @@ module nanosoc_busmatrix ( input HREADY_CPU_0; // Transfer done // Output port MI0 (inputs from slave 0) - input [31:0] HRDATA_BOOTROM; // Read data bus - input HREADYOUT_BOOTROM; // HREADY feedback - input [1:0] HRESP_BOOTROM; // Transfer response + input [31:0] HRDATA_BOOTROM_0; // Read data bus + input HREADYOUT_BOOTROM_0; // HREADY feedback + input [1:0] HRESP_BOOTROM_0; // Transfer response // Output port MI1 (inputs from slave 1) - input [31:0] HRDATA_IMEM; // Read data bus - input HREADYOUT_IMEM; // HREADY feedback - input [1:0] HRESP_IMEM; // Transfer response + input [31:0] HRDATA_IMEM_0; // Read data bus + input HREADYOUT_IMEM_0; // HREADY feedback + input [1:0] HRESP_IMEM_0; // Transfer response // Output port MI2 (inputs from slave 2) - input [31:0] HRDATA_DMEM; // Read data bus - input HREADYOUT_DMEM; // HREADY feedback - input [1:0] HRESP_DMEM; // Transfer response + input [31:0] HRDATA_DMEM_0; // Read data bus + input HREADYOUT_DMEM_0; // HREADY feedback + input [1:0] HRESP_DMEM_0; // Transfer response // Output port MI3 (inputs from slave 3) input [31:0] HRDATA_SYSIO; // Read data bus @@ -436,43 +436,43 @@ module nanosoc_busmatrix ( // Output port MI0 (outputs to slave 0) - output HSEL_BOOTROM; // Slave Select - output [31:0] HADDR_BOOTROM; // Address bus - output [1:0] HTRANS_BOOTROM; // Transfer type - output HWRITE_BOOTROM; // Transfer direction - output [2:0] HSIZE_BOOTROM; // Transfer size - output [2:0] HBURST_BOOTROM; // Burst type - output [3:0] HPROT_BOOTROM; // Protection control - output [3:0] HMASTER_BOOTROM; // Master select - output [31:0] HWDATA_BOOTROM; // Write data - output HMASTLOCK_BOOTROM; // Locked Sequence - output HREADYMUX_BOOTROM; // Transfer done + output HSEL_BOOTROM_0; // Slave Select + output [31:0] HADDR_BOOTROM_0; // Address bus + output [1:0] HTRANS_BOOTROM_0; // Transfer type + output HWRITE_BOOTROM_0; // Transfer direction + output [2:0] HSIZE_BOOTROM_0; // Transfer size + output [2:0] HBURST_BOOTROM_0; // Burst type + output [3:0] HPROT_BOOTROM_0; // Protection control + output [3:0] HMASTER_BOOTROM_0; // Master select + output [31:0] HWDATA_BOOTROM_0; // Write data + output HMASTLOCK_BOOTROM_0; // Locked Sequence + output HREADYMUX_BOOTROM_0; // Transfer done // Output port MI1 (outputs to slave 1) - output HSEL_IMEM; // Slave Select - output [31:0] HADDR_IMEM; // Address bus - output [1:0] HTRANS_IMEM; // Transfer type - output HWRITE_IMEM; // Transfer direction - output [2:0] HSIZE_IMEM; // Transfer size - output [2:0] HBURST_IMEM; // Burst type - output [3:0] HPROT_IMEM; // Protection control - output [3:0] HMASTER_IMEM; // Master select - output [31:0] HWDATA_IMEM; // Write data - output HMASTLOCK_IMEM; // Locked Sequence - output HREADYMUX_IMEM; // Transfer done + output HSEL_IMEM_0; // Slave Select + output [31:0] HADDR_IMEM_0; // Address bus + output [1:0] HTRANS_IMEM_0; // Transfer type + output HWRITE_IMEM_0; // Transfer direction + output [2:0] HSIZE_IMEM_0; // Transfer size + output [2:0] HBURST_IMEM_0; // Burst type + output [3:0] HPROT_IMEM_0; // Protection control + output [3:0] HMASTER_IMEM_0; // Master select + output [31:0] HWDATA_IMEM_0; // Write data + output HMASTLOCK_IMEM_0; // Locked Sequence + output HREADYMUX_IMEM_0; // Transfer done // Output port MI2 (outputs to slave 2) - output HSEL_DMEM; // Slave Select - output [31:0] HADDR_DMEM; // Address bus - output [1:0] HTRANS_DMEM; // Transfer type - output HWRITE_DMEM; // Transfer direction - output [2:0] HSIZE_DMEM; // Transfer size - output [2:0] HBURST_DMEM; // Burst type - output [3:0] HPROT_DMEM; // Protection control - output [3:0] HMASTER_DMEM; // Master select - output [31:0] HWDATA_DMEM; // Write data - output HMASTLOCK_DMEM; // Locked Sequence - output HREADYMUX_DMEM; // Transfer done + output HSEL_DMEM_0; // Slave Select + output [31:0] HADDR_DMEM_0; // Address bus + output [1:0] HTRANS_DMEM_0; // Transfer type + output HWRITE_DMEM_0; // Transfer direction + output [2:0] HSIZE_DMEM_0; // Transfer size + output [2:0] HBURST_DMEM_0; // Burst type + output [3:0] HPROT_DMEM_0; // Protection control + output [3:0] HMASTER_DMEM_0; // Master select + output [31:0] HWDATA_DMEM_0; // Write data + output HMASTLOCK_DMEM_0; // Locked Sequence + output HREADYMUX_DMEM_0; // Transfer done // Output port MI3 (outputs to slave 3) output HSEL_SYSIO; // Slave Select @@ -669,55 +669,55 @@ module nanosoc_busmatrix ( wire [1:0] HRESP_CPU_0; // Transfer response // Output Port MI0 - wire HSEL_BOOTROM; // Slave Select - wire [31:0] HADDR_BOOTROM; // Address bus - wire [1:0] HTRANS_BOOTROM; // Transfer type - wire HWRITE_BOOTROM; // Transfer direction - wire [2:0] HSIZE_BOOTROM; // Transfer size - wire [2:0] HBURST_BOOTROM; // Burst type - wire [3:0] HPROT_BOOTROM; // Protection control - wire [3:0] HMASTER_BOOTROM; // Master select - wire [31:0] HWDATA_BOOTROM; // Write data - wire HMASTLOCK_BOOTROM; // Locked Sequence - wire HREADYMUX_BOOTROM; // Transfer done - - wire [31:0] HRDATA_BOOTROM; // Read data bus - wire HREADYOUT_BOOTROM; // HREADY feedback - wire [1:0] HRESP_BOOTROM; // Transfer response + wire HSEL_BOOTROM_0; // Slave Select + wire [31:0] HADDR_BOOTROM_0; // Address bus + wire [1:0] HTRANS_BOOTROM_0; // Transfer type + wire HWRITE_BOOTROM_0; // Transfer direction + wire [2:0] HSIZE_BOOTROM_0; // Transfer size + wire [2:0] HBURST_BOOTROM_0; // Burst type + wire [3:0] HPROT_BOOTROM_0; // Protection control + wire [3:0] HMASTER_BOOTROM_0; // Master select + wire [31:0] HWDATA_BOOTROM_0; // Write data + wire HMASTLOCK_BOOTROM_0; // Locked Sequence + wire HREADYMUX_BOOTROM_0; // Transfer done + + wire [31:0] HRDATA_BOOTROM_0; // Read data bus + wire HREADYOUT_BOOTROM_0; // HREADY feedback + wire [1:0] HRESP_BOOTROM_0; // Transfer response // Output Port MI1 - wire HSEL_IMEM; // Slave Select - wire [31:0] HADDR_IMEM; // Address bus - wire [1:0] HTRANS_IMEM; // Transfer type - wire HWRITE_IMEM; // Transfer direction - wire [2:0] HSIZE_IMEM; // Transfer size - wire [2:0] HBURST_IMEM; // Burst type - wire [3:0] HPROT_IMEM; // Protection control - wire [3:0] HMASTER_IMEM; // Master select - wire [31:0] HWDATA_IMEM; // Write data - wire HMASTLOCK_IMEM; // Locked Sequence - wire HREADYMUX_IMEM; // Transfer done - - wire [31:0] HRDATA_IMEM; // Read data bus - wire HREADYOUT_IMEM; // HREADY feedback - wire [1:0] HRESP_IMEM; // Transfer response + wire HSEL_IMEM_0; // Slave Select + wire [31:0] HADDR_IMEM_0; // Address bus + wire [1:0] HTRANS_IMEM_0; // Transfer type + wire HWRITE_IMEM_0; // Transfer direction + wire [2:0] HSIZE_IMEM_0; // Transfer size + wire [2:0] HBURST_IMEM_0; // Burst type + wire [3:0] HPROT_IMEM_0; // Protection control + wire [3:0] HMASTER_IMEM_0; // Master select + wire [31:0] HWDATA_IMEM_0; // Write data + wire HMASTLOCK_IMEM_0; // Locked Sequence + wire HREADYMUX_IMEM_0; // Transfer done + + wire [31:0] HRDATA_IMEM_0; // Read data bus + wire HREADYOUT_IMEM_0; // HREADY feedback + wire [1:0] HRESP_IMEM_0; // Transfer response // Output Port MI2 - wire HSEL_DMEM; // Slave Select - wire [31:0] HADDR_DMEM; // Address bus - wire [1:0] HTRANS_DMEM; // Transfer type - wire HWRITE_DMEM; // Transfer direction - wire [2:0] HSIZE_DMEM; // Transfer size - wire [2:0] HBURST_DMEM; // Burst type - wire [3:0] HPROT_DMEM; // Protection control - wire [3:0] HMASTER_DMEM; // Master select - wire [31:0] HWDATA_DMEM; // Write data - wire HMASTLOCK_DMEM; // Locked Sequence - wire HREADYMUX_DMEM; // Transfer done - - wire [31:0] HRDATA_DMEM; // Read data bus - wire HREADYOUT_DMEM; // HREADY feedback - wire [1:0] HRESP_DMEM; // Transfer response + wire HSEL_DMEM_0; // Slave Select + wire [31:0] HADDR_DMEM_0; // Address bus + wire [1:0] HTRANS_DMEM_0; // Transfer type + wire HWRITE_DMEM_0; // Transfer direction + wire [2:0] HSIZE_DMEM_0; // Transfer size + wire [2:0] HBURST_DMEM_0; // Burst type + wire [3:0] HPROT_DMEM_0; // Protection control + wire [3:0] HMASTER_DMEM_0; // Master select + wire [31:0] HWDATA_DMEM_0; // Write data + wire HMASTLOCK_DMEM_0; // Locked Sequence + wire HREADYMUX_DMEM_0; // Transfer done + + wire [31:0] HRDATA_DMEM_0; // Read data bus + wire HREADYOUT_DMEM_0; // HREADY feedback + wire [1:0] HRESP_DMEM_0; // Transfer response // Output Port MI3 wire HSEL_SYSIO; // Slave Select @@ -1055,9 +1055,9 @@ module nanosoc_busmatrix ( wire i_sel3to9; // Routing selection signal wire i_active3to9; // Active signal - wire i_hready_mux__bootrom; // Internal HREADYMUXM for MI0 - wire i_hready_mux__imem; // Internal HREADYMUXM for MI1 - wire i_hready_mux__dmem; // Internal HREADYMUXM for MI2 + wire i_hready_mux__bootrom_0; // Internal HREADYMUXM for MI0 + wire i_hready_mux__imem_0; // Internal HREADYMUXM for MI1 + wire i_hready_mux__dmem_0; // Internal HREADYMUXM for MI2 wire i_hready_mux__sysio; // Internal HREADYMUXM for MI3 wire i_hready_mux__expram_l; // Internal HREADYMUXM for MI4 wire i_hready_mux__expram_h; // Internal HREADYMUXM for MI5 @@ -1261,21 +1261,21 @@ module nanosoc_busmatrix ( // Control/Response for Output Stage MI0 .active_dec0 (i_active0to0), - .readyout_dec0 (i_hready_mux__bootrom), - .resp_dec0 (HRESP_BOOTROM), - .rdata_dec0 (HRDATA_BOOTROM), + .readyout_dec0 (i_hready_mux__bootrom_0), + .resp_dec0 (HRESP_BOOTROM_0), + .rdata_dec0 (HRDATA_BOOTROM_0), // Control/Response for Output Stage MI1 .active_dec1 (i_active0to1), - .readyout_dec1 (i_hready_mux__imem), - .resp_dec1 (HRESP_IMEM), - .rdata_dec1 (HRDATA_IMEM), + .readyout_dec1 (i_hready_mux__imem_0), + .resp_dec1 (HRESP_IMEM_0), + .rdata_dec1 (HRDATA_IMEM_0), // Control/Response for Output Stage MI2 .active_dec2 (i_active0to2), - .readyout_dec2 (i_hready_mux__dmem), - .resp_dec2 (HRESP_DMEM), - .rdata_dec2 (HRDATA_DMEM), + .readyout_dec2 (i_hready_mux__dmem_0), + .resp_dec2 (HRESP_DMEM_0), + .rdata_dec2 (HRDATA_DMEM_0), // Control/Response for Output Stage MI3 .active_dec3 (i_active0to3), @@ -1353,21 +1353,21 @@ module nanosoc_busmatrix ( // Control/Response for Output Stage MI0 .active_dec0 (i_active1to0), - .readyout_dec0 (i_hready_mux__bootrom), - .resp_dec0 (HRESP_BOOTROM), - .rdata_dec0 (HRDATA_BOOTROM), + .readyout_dec0 (i_hready_mux__bootrom_0), + .resp_dec0 (HRESP_BOOTROM_0), + .rdata_dec0 (HRDATA_BOOTROM_0), // Control/Response for Output Stage MI1 .active_dec1 (i_active1to1), - .readyout_dec1 (i_hready_mux__imem), - .resp_dec1 (HRESP_IMEM), - .rdata_dec1 (HRDATA_IMEM), + .readyout_dec1 (i_hready_mux__imem_0), + .resp_dec1 (HRESP_IMEM_0), + .rdata_dec1 (HRDATA_IMEM_0), // Control/Response for Output Stage MI2 .active_dec2 (i_active1to2), - .readyout_dec2 (i_hready_mux__dmem), - .resp_dec2 (HRESP_DMEM), - .rdata_dec2 (HRDATA_DMEM), + .readyout_dec2 (i_hready_mux__dmem_0), + .resp_dec2 (HRESP_DMEM_0), + .rdata_dec2 (HRDATA_DMEM_0), // Control/Response for Output Stage MI3 .active_dec3 (i_active1to3), @@ -1438,21 +1438,21 @@ module nanosoc_busmatrix ( // Control/Response for Output Stage MI0 .active_dec0 (i_active2to0), - .readyout_dec0 (i_hready_mux__bootrom), - .resp_dec0 (HRESP_BOOTROM), - .rdata_dec0 (HRDATA_BOOTROM), + .readyout_dec0 (i_hready_mux__bootrom_0), + .resp_dec0 (HRESP_BOOTROM_0), + .rdata_dec0 (HRDATA_BOOTROM_0), // Control/Response for Output Stage MI1 .active_dec1 (i_active2to1), - .readyout_dec1 (i_hready_mux__imem), - .resp_dec1 (HRESP_IMEM), - .rdata_dec1 (HRDATA_IMEM), + .readyout_dec1 (i_hready_mux__imem_0), + .resp_dec1 (HRESP_IMEM_0), + .rdata_dec1 (HRDATA_IMEM_0), // Control/Response for Output Stage MI2 .active_dec2 (i_active2to2), - .readyout_dec2 (i_hready_mux__dmem), - .resp_dec2 (HRESP_DMEM), - .rdata_dec2 (HRDATA_DMEM), + .readyout_dec2 (i_hready_mux__dmem_0), + .resp_dec2 (HRESP_DMEM_0), + .rdata_dec2 (HRDATA_DMEM_0), // Control/Response for Output Stage MI3 .active_dec3 (i_active2to3), @@ -1526,21 +1526,21 @@ module nanosoc_busmatrix ( // Control/Response for Output Stage MI0 .active_dec0 (i_active3to0), - .readyout_dec0 (i_hready_mux__bootrom), - .resp_dec0 (HRESP_BOOTROM), - .rdata_dec0 (HRDATA_BOOTROM), + .readyout_dec0 (i_hready_mux__bootrom_0), + .resp_dec0 (HRESP_BOOTROM_0), + .rdata_dec0 (HRDATA_BOOTROM_0), // Control/Response for Output Stage MI1 .active_dec1 (i_active3to1), - .readyout_dec1 (i_hready_mux__imem), - .resp_dec1 (HRESP_IMEM), - .rdata_dec1 (HRDATA_IMEM), + .readyout_dec1 (i_hready_mux__imem_0), + .resp_dec1 (HRESP_IMEM_0), + .rdata_dec1 (HRDATA_IMEM_0), // Control/Response for Output Stage MI2 .active_dec2 (i_active3to2), - .readyout_dec2 (i_hready_mux__dmem), - .resp_dec2 (HRESP_DMEM), - .rdata_dec2 (HRDATA_DMEM), + .readyout_dec2 (i_hready_mux__dmem_0), + .resp_dec2 (HRESP_DMEM_0), + .rdata_dec2 (HRDATA_DMEM_0), // Control/Response for Output Stage MI3 .active_dec3 (i_active3to3), @@ -1604,7 +1604,7 @@ module nanosoc_busmatrix ( // Output stage for MI0 - nanosoc_target_output_BOOTROM u_nanosoc_target_output_bootrom_0 ( + nanosoc_target_output_BOOTROM_0 u_nanosoc_target_output_bootrom_0_0 ( // Common AHB signals .HCLK (HCLK), @@ -1663,7 +1663,7 @@ module nanosoc_busmatrix ( .held_tran_op3 (i_held_tran3), // Slave read data and response - .HREADYOUTM (HREADYOUT_BOOTROM), + .HREADYOUTM (HREADYOUT_BOOTROM_0), .active_op0 (i_active0to0), .active_op1 (i_active1to0), @@ -1671,26 +1671,26 @@ module nanosoc_busmatrix ( .active_op3 (i_active3to0), // Slave Address/Control Signals - .HSELM (HSEL_BOOTROM), - .HADDRM (HADDR_BOOTROM), - .HTRANSM (HTRANS_BOOTROM), - .HWRITEM (HWRITE_BOOTROM), - .HSIZEM (HSIZE_BOOTROM), - .HBURSTM (HBURST_BOOTROM), - .HPROTM (HPROT_BOOTROM), - .HMASTERM (HMASTER_BOOTROM), - .HMASTLOCKM (HMASTLOCK_BOOTROM), - .HREADYMUXM (i_hready_mux__bootrom), - .HWDATAM (HWDATA_BOOTROM) + .HSELM (HSEL_BOOTROM_0), + .HADDRM (HADDR_BOOTROM_0), + .HTRANSM (HTRANS_BOOTROM_0), + .HWRITEM (HWRITE_BOOTROM_0), + .HSIZEM (HSIZE_BOOTROM_0), + .HBURSTM (HBURST_BOOTROM_0), + .HPROTM (HPROT_BOOTROM_0), + .HMASTERM (HMASTER_BOOTROM_0), + .HMASTLOCKM (HMASTLOCK_BOOTROM_0), + .HREADYMUXM (i_hready_mux__bootrom_0), + .HWDATAM (HWDATA_BOOTROM_0) ); // Drive output with internal version - assign HREADYMUX_BOOTROM = i_hready_mux__bootrom; + assign HREADYMUX_BOOTROM_0 = i_hready_mux__bootrom_0; // Output stage for MI1 - nanosoc_target_output_IMEM u_nanosoc_target_output_imem_1 ( + nanosoc_target_output_IMEM_0 u_nanosoc_target_output_imem_0_1 ( // Common AHB signals .HCLK (HCLK), @@ -1749,7 +1749,7 @@ module nanosoc_busmatrix ( .held_tran_op3 (i_held_tran3), // Slave read data and response - .HREADYOUTM (HREADYOUT_IMEM), + .HREADYOUTM (HREADYOUT_IMEM_0), .active_op0 (i_active0to1), .active_op1 (i_active1to1), @@ -1757,26 +1757,26 @@ module nanosoc_busmatrix ( .active_op3 (i_active3to1), // Slave Address/Control Signals - .HSELM (HSEL_IMEM), - .HADDRM (HADDR_IMEM), - .HTRANSM (HTRANS_IMEM), - .HWRITEM (HWRITE_IMEM), - .HSIZEM (HSIZE_IMEM), - .HBURSTM (HBURST_IMEM), - .HPROTM (HPROT_IMEM), - .HMASTERM (HMASTER_IMEM), - .HMASTLOCKM (HMASTLOCK_IMEM), - .HREADYMUXM (i_hready_mux__imem), - .HWDATAM (HWDATA_IMEM) + .HSELM (HSEL_IMEM_0), + .HADDRM (HADDR_IMEM_0), + .HTRANSM (HTRANS_IMEM_0), + .HWRITEM (HWRITE_IMEM_0), + .HSIZEM (HSIZE_IMEM_0), + .HBURSTM (HBURST_IMEM_0), + .HPROTM (HPROT_IMEM_0), + .HMASTERM (HMASTER_IMEM_0), + .HMASTLOCKM (HMASTLOCK_IMEM_0), + .HREADYMUXM (i_hready_mux__imem_0), + .HWDATAM (HWDATA_IMEM_0) ); // Drive output with internal version - assign HREADYMUX_IMEM = i_hready_mux__imem; + assign HREADYMUX_IMEM_0 = i_hready_mux__imem_0; // Output stage for MI2 - nanosoc_target_output_DMEM u_nanosoc_target_output_dmem_2 ( + nanosoc_target_output_DMEM_0 u_nanosoc_target_output_dmem_0_2 ( // Common AHB signals .HCLK (HCLK), @@ -1835,7 +1835,7 @@ module nanosoc_busmatrix ( .held_tran_op3 (i_held_tran3), // Slave read data and response - .HREADYOUTM (HREADYOUT_DMEM), + .HREADYOUTM (HREADYOUT_DMEM_0), .active_op0 (i_active0to2), .active_op1 (i_active1to2), @@ -1843,22 +1843,22 @@ module nanosoc_busmatrix ( .active_op3 (i_active3to2), // Slave Address/Control Signals - .HSELM (HSEL_DMEM), - .HADDRM (HADDR_DMEM), - .HTRANSM (HTRANS_DMEM), - .HWRITEM (HWRITE_DMEM), - .HSIZEM (HSIZE_DMEM), - .HBURSTM (HBURST_DMEM), - .HPROTM (HPROT_DMEM), - .HMASTERM (HMASTER_DMEM), - .HMASTLOCKM (HMASTLOCK_DMEM), - .HREADYMUXM (i_hready_mux__dmem), - .HWDATAM (HWDATA_DMEM) + .HSELM (HSEL_DMEM_0), + .HADDRM (HADDR_DMEM_0), + .HTRANSM (HTRANS_DMEM_0), + .HWRITEM (HWRITE_DMEM_0), + .HSIZEM (HSIZE_DMEM_0), + .HBURSTM (HBURST_DMEM_0), + .HPROTM (HPROT_DMEM_0), + .HMASTERM (HMASTER_DMEM_0), + .HMASTLOCKM (HMASTLOCK_DMEM_0), + .HREADYMUXM (i_hready_mux__dmem_0), + .HWDATAM (HWDATA_DMEM_0) ); // Drive output with internal version - assign HREADYMUX_DMEM = i_hready_mux__dmem; + assign HREADYMUX_DMEM_0 = i_hready_mux__dmem_0; // Output stage for MI3 diff --git a/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix_lite.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix_lite.v index 1a00f814071f9a6452df7f78d39b10de221fa218..68a8cf55783a678d7cd57f299ab3a8d644c9daba 100644 --- a/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix_lite.v +++ b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix_lite.v @@ -80,19 +80,19 @@ module nanosoc_busmatrix_lite ( HMASTLOCK_CPU_0, // Output port MI0 (inputs from slave 0) - HRDATA_BOOTROM, - HREADYOUT_BOOTROM, - HRESP_BOOTROM, + HRDATA_BOOTROM_0, + HREADYOUT_BOOTROM_0, + HRESP_BOOTROM_0, // Output port MI1 (inputs from slave 1) - HRDATA_IMEM, - HREADYOUT_IMEM, - HRESP_IMEM, + HRDATA_IMEM_0, + HREADYOUT_IMEM_0, + HRESP_IMEM_0, // Output port MI2 (inputs from slave 2) - HRDATA_DMEM, - HREADYOUT_DMEM, - HRESP_DMEM, + HRDATA_DMEM_0, + HREADYOUT_DMEM_0, + HRESP_DMEM_0, // Output port MI3 (inputs from slave 3) HRDATA_SYSIO, @@ -135,40 +135,40 @@ module nanosoc_busmatrix_lite ( // Output port MI0 (outputs to slave 0) - HSEL_BOOTROM, - HADDR_BOOTROM, - HTRANS_BOOTROM, - HWRITE_BOOTROM, - HSIZE_BOOTROM, - HBURST_BOOTROM, - HPROT_BOOTROM, - HWDATA_BOOTROM, - HMASTLOCK_BOOTROM, - HREADYMUX_BOOTROM, + HSEL_BOOTROM_0, + HADDR_BOOTROM_0, + HTRANS_BOOTROM_0, + HWRITE_BOOTROM_0, + HSIZE_BOOTROM_0, + HBURST_BOOTROM_0, + HPROT_BOOTROM_0, + HWDATA_BOOTROM_0, + HMASTLOCK_BOOTROM_0, + HREADYMUX_BOOTROM_0, // Output port MI1 (outputs to slave 1) - HSEL_IMEM, - HADDR_IMEM, - HTRANS_IMEM, - HWRITE_IMEM, - HSIZE_IMEM, - HBURST_IMEM, - HPROT_IMEM, - HWDATA_IMEM, - HMASTLOCK_IMEM, - HREADYMUX_IMEM, + HSEL_IMEM_0, + HADDR_IMEM_0, + HTRANS_IMEM_0, + HWRITE_IMEM_0, + HSIZE_IMEM_0, + HBURST_IMEM_0, + HPROT_IMEM_0, + HWDATA_IMEM_0, + HMASTLOCK_IMEM_0, + HREADYMUX_IMEM_0, // Output port MI2 (outputs to slave 2) - HSEL_DMEM, - HADDR_DMEM, - HTRANS_DMEM, - HWRITE_DMEM, - HSIZE_DMEM, - HBURST_DMEM, - HPROT_DMEM, - HWDATA_DMEM, - HMASTLOCK_DMEM, - HREADYMUX_DMEM, + HSEL_DMEM_0, + HADDR_DMEM_0, + HTRANS_DMEM_0, + HWRITE_DMEM_0, + HSIZE_DMEM_0, + HBURST_DMEM_0, + HPROT_DMEM_0, + HWDATA_DMEM_0, + HMASTLOCK_DMEM_0, + HREADYMUX_DMEM_0, // Output port MI3 (outputs to slave 3) HSEL_SYSIO, @@ -331,19 +331,19 @@ module nanosoc_busmatrix_lite ( input HMASTLOCK_CPU_0; // Locked Sequence // Output port MI0 (inputs from slave 0) - input [31:0] HRDATA_BOOTROM; // Read data bus - input HREADYOUT_BOOTROM; // HREADY feedback - input HRESP_BOOTROM; // Transfer response + input [31:0] HRDATA_BOOTROM_0; // Read data bus + input HREADYOUT_BOOTROM_0; // HREADY feedback + input HRESP_BOOTROM_0; // Transfer response // Output port MI1 (inputs from slave 1) - input [31:0] HRDATA_IMEM; // Read data bus - input HREADYOUT_IMEM; // HREADY feedback - input HRESP_IMEM; // Transfer response + input [31:0] HRDATA_IMEM_0; // Read data bus + input HREADYOUT_IMEM_0; // HREADY feedback + input HRESP_IMEM_0; // Transfer response // Output port MI2 (inputs from slave 2) - input [31:0] HRDATA_DMEM; // Read data bus - input HREADYOUT_DMEM; // HREADY feedback - input HRESP_DMEM; // Transfer response + input [31:0] HRDATA_DMEM_0; // Read data bus + input HREADYOUT_DMEM_0; // HREADY feedback + input HRESP_DMEM_0; // Transfer response // Output port MI3 (inputs from slave 3) input [31:0] HRDATA_SYSIO; // Read data bus @@ -386,40 +386,40 @@ module nanosoc_busmatrix_lite ( // Output port MI0 (outputs to slave 0) - output HSEL_BOOTROM; // Slave Select - output [31:0] HADDR_BOOTROM; // Address bus - output [1:0] HTRANS_BOOTROM; // Transfer type - output HWRITE_BOOTROM; // Transfer direction - output [2:0] HSIZE_BOOTROM; // Transfer size - output [2:0] HBURST_BOOTROM; // Burst type - output [3:0] HPROT_BOOTROM; // Protection control - output [31:0] HWDATA_BOOTROM; // Write data - output HMASTLOCK_BOOTROM; // Locked Sequence - output HREADYMUX_BOOTROM; // Transfer done + output HSEL_BOOTROM_0; // Slave Select + output [31:0] HADDR_BOOTROM_0; // Address bus + output [1:0] HTRANS_BOOTROM_0; // Transfer type + output HWRITE_BOOTROM_0; // Transfer direction + output [2:0] HSIZE_BOOTROM_0; // Transfer size + output [2:0] HBURST_BOOTROM_0; // Burst type + output [3:0] HPROT_BOOTROM_0; // Protection control + output [31:0] HWDATA_BOOTROM_0; // Write data + output HMASTLOCK_BOOTROM_0; // Locked Sequence + output HREADYMUX_BOOTROM_0; // Transfer done // Output port MI1 (outputs to slave 1) - output HSEL_IMEM; // Slave Select - output [31:0] HADDR_IMEM; // Address bus - output [1:0] HTRANS_IMEM; // Transfer type - output HWRITE_IMEM; // Transfer direction - output [2:0] HSIZE_IMEM; // Transfer size - output [2:0] HBURST_IMEM; // Burst type - output [3:0] HPROT_IMEM; // Protection control - output [31:0] HWDATA_IMEM; // Write data - output HMASTLOCK_IMEM; // Locked Sequence - output HREADYMUX_IMEM; // Transfer done + output HSEL_IMEM_0; // Slave Select + output [31:0] HADDR_IMEM_0; // Address bus + output [1:0] HTRANS_IMEM_0; // Transfer type + output HWRITE_IMEM_0; // Transfer direction + output [2:0] HSIZE_IMEM_0; // Transfer size + output [2:0] HBURST_IMEM_0; // Burst type + output [3:0] HPROT_IMEM_0; // Protection control + output [31:0] HWDATA_IMEM_0; // Write data + output HMASTLOCK_IMEM_0; // Locked Sequence + output HREADYMUX_IMEM_0; // Transfer done // Output port MI2 (outputs to slave 2) - output HSEL_DMEM; // Slave Select - output [31:0] HADDR_DMEM; // Address bus - output [1:0] HTRANS_DMEM; // Transfer type - output HWRITE_DMEM; // Transfer direction - output [2:0] HSIZE_DMEM; // Transfer size - output [2:0] HBURST_DMEM; // Burst type - output [3:0] HPROT_DMEM; // Protection control - output [31:0] HWDATA_DMEM; // Write data - output HMASTLOCK_DMEM; // Locked Sequence - output HREADYMUX_DMEM; // Transfer done + output HSEL_DMEM_0; // Slave Select + output [31:0] HADDR_DMEM_0; // Address bus + output [1:0] HTRANS_DMEM_0; // Transfer type + output HWRITE_DMEM_0; // Transfer direction + output [2:0] HSIZE_DMEM_0; // Transfer size + output [2:0] HBURST_DMEM_0; // Burst type + output [3:0] HPROT_DMEM_0; // Protection control + output [31:0] HWDATA_DMEM_0; // Write data + output HMASTLOCK_DMEM_0; // Locked Sequence + output HREADYMUX_DMEM_0; // Transfer done // Output port MI3 (outputs to slave 3) output HSEL_SYSIO; // Slave Select @@ -596,52 +596,52 @@ module nanosoc_busmatrix_lite ( wire HRESP_CPU_0; // Transfer response // Output Port MI0 - wire HSEL_BOOTROM; // Slave Select - wire [31:0] HADDR_BOOTROM; // Address bus - wire [1:0] HTRANS_BOOTROM; // Transfer type - wire HWRITE_BOOTROM; // Transfer direction - wire [2:0] HSIZE_BOOTROM; // Transfer size - wire [2:0] HBURST_BOOTROM; // Burst type - wire [3:0] HPROT_BOOTROM; // Protection control - wire [31:0] HWDATA_BOOTROM; // Write data - wire HMASTLOCK_BOOTROM; // Locked Sequence - wire HREADYMUX_BOOTROM; // Transfer done - - wire [31:0] HRDATA_BOOTROM; // Read data bus - wire HREADYOUT_BOOTROM; // HREADY feedback - wire HRESP_BOOTROM; // Transfer response + wire HSEL_BOOTROM_0; // Slave Select + wire [31:0] HADDR_BOOTROM_0; // Address bus + wire [1:0] HTRANS_BOOTROM_0; // Transfer type + wire HWRITE_BOOTROM_0; // Transfer direction + wire [2:0] HSIZE_BOOTROM_0; // Transfer size + wire [2:0] HBURST_BOOTROM_0; // Burst type + wire [3:0] HPROT_BOOTROM_0; // Protection control + wire [31:0] HWDATA_BOOTROM_0; // Write data + wire HMASTLOCK_BOOTROM_0; // Locked Sequence + wire HREADYMUX_BOOTROM_0; // Transfer done + + wire [31:0] HRDATA_BOOTROM_0; // Read data bus + wire HREADYOUT_BOOTROM_0; // HREADY feedback + wire HRESP_BOOTROM_0; // Transfer response // Output Port MI1 - wire HSEL_IMEM; // Slave Select - wire [31:0] HADDR_IMEM; // Address bus - wire [1:0] HTRANS_IMEM; // Transfer type - wire HWRITE_IMEM; // Transfer direction - wire [2:0] HSIZE_IMEM; // Transfer size - wire [2:0] HBURST_IMEM; // Burst type - wire [3:0] HPROT_IMEM; // Protection control - wire [31:0] HWDATA_IMEM; // Write data - wire HMASTLOCK_IMEM; // Locked Sequence - wire HREADYMUX_IMEM; // Transfer done - - wire [31:0] HRDATA_IMEM; // Read data bus - wire HREADYOUT_IMEM; // HREADY feedback - wire HRESP_IMEM; // Transfer response + wire HSEL_IMEM_0; // Slave Select + wire [31:0] HADDR_IMEM_0; // Address bus + wire [1:0] HTRANS_IMEM_0; // Transfer type + wire HWRITE_IMEM_0; // Transfer direction + wire [2:0] HSIZE_IMEM_0; // Transfer size + wire [2:0] HBURST_IMEM_0; // Burst type + wire [3:0] HPROT_IMEM_0; // Protection control + wire [31:0] HWDATA_IMEM_0; // Write data + wire HMASTLOCK_IMEM_0; // Locked Sequence + wire HREADYMUX_IMEM_0; // Transfer done + + wire [31:0] HRDATA_IMEM_0; // Read data bus + wire HREADYOUT_IMEM_0; // HREADY feedback + wire HRESP_IMEM_0; // Transfer response // Output Port MI2 - wire HSEL_DMEM; // Slave Select - wire [31:0] HADDR_DMEM; // Address bus - wire [1:0] HTRANS_DMEM; // Transfer type - wire HWRITE_DMEM; // Transfer direction - wire [2:0] HSIZE_DMEM; // Transfer size - wire [2:0] HBURST_DMEM; // Burst type - wire [3:0] HPROT_DMEM; // Protection control - wire [31:0] HWDATA_DMEM; // Write data - wire HMASTLOCK_DMEM; // Locked Sequence - wire HREADYMUX_DMEM; // Transfer done - - wire [31:0] HRDATA_DMEM; // Read data bus - wire HREADYOUT_DMEM; // HREADY feedback - wire HRESP_DMEM; // Transfer response + wire HSEL_DMEM_0; // Slave Select + wire [31:0] HADDR_DMEM_0; // Address bus + wire [1:0] HTRANS_DMEM_0; // Transfer type + wire HWRITE_DMEM_0; // Transfer direction + wire [2:0] HSIZE_DMEM_0; // Transfer size + wire [2:0] HBURST_DMEM_0; // Burst type + wire [3:0] HPROT_DMEM_0; // Protection control + wire [31:0] HWDATA_DMEM_0; // Write data + wire HMASTLOCK_DMEM_0; // Locked Sequence + wire HREADYMUX_DMEM_0; // Transfer done + + wire [31:0] HRDATA_DMEM_0; // Read data bus + wire HREADYOUT_DMEM_0; // HREADY feedback + wire HRESP_DMEM_0; // Transfer response // Output Port MI3 wire HSEL_SYSIO; // Slave Select @@ -767,12 +767,12 @@ module nanosoc_busmatrix_lite ( wire [1:0] i_hresp_DMAC_1; wire [1:0] i_hresp_CPU_0; - wire [3:0] i_hmaster_BOOTROM; - wire [1:0] i_hresp_BOOTROM; - wire [3:0] i_hmaster_IMEM; - wire [1:0] i_hresp_IMEM; - wire [3:0] i_hmaster_DMEM; - wire [1:0] i_hresp_DMEM; + wire [3:0] i_hmaster_BOOTROM_0; + wire [1:0] i_hresp_BOOTROM_0; + wire [3:0] i_hmaster_IMEM_0; + wire [1:0] i_hresp_IMEM_0; + wire [3:0] i_hmaster_DMEM_0; + wire [1:0] i_hresp_DMEM_0; wire [3:0] i_hmaster_SYSIO; wire [1:0] i_hresp_SYSIO; wire [3:0] i_hmaster_EXPRAM_L; @@ -805,9 +805,9 @@ module nanosoc_busmatrix_lite ( assign HRESP_CPU_0 = i_hresp_CPU_0[0]; - assign i_hresp_BOOTROM = {{1{tie_low}}, HRESP_BOOTROM}; - assign i_hresp_IMEM = {{1{tie_low}}, HRESP_IMEM}; - assign i_hresp_DMEM = {{1{tie_low}}, HRESP_DMEM}; + assign i_hresp_BOOTROM_0 = {{1{tie_low}}, HRESP_BOOTROM_0}; + assign i_hresp_IMEM_0 = {{1{tie_low}}, HRESP_IMEM_0}; + assign i_hresp_DMEM_0 = {{1{tie_low}}, HRESP_DMEM_0}; assign i_hresp_SYSIO = {{1{tie_low}}, HRESP_SYSIO}; assign i_hresp_EXPRAM_L = {{1{tie_low}}, HRESP_EXPRAM_L}; assign i_hresp_EXPRAM_H = {{1{tie_low}}, HRESP_EXPRAM_H}; @@ -888,52 +888,52 @@ module nanosoc_busmatrix_lite ( // Output port MI0 signals - .HSEL_BOOTROM (HSEL_BOOTROM), - .HADDR_BOOTROM (HADDR_BOOTROM), - .HTRANS_BOOTROM (HTRANS_BOOTROM), - .HWRITE_BOOTROM (HWRITE_BOOTROM), - .HSIZE_BOOTROM (HSIZE_BOOTROM), - .HBURST_BOOTROM (HBURST_BOOTROM), - .HPROT_BOOTROM (HPROT_BOOTROM), - .HWDATA_BOOTROM (HWDATA_BOOTROM), - .HMASTER_BOOTROM (i_hmaster_BOOTROM), - .HMASTLOCK_BOOTROM (HMASTLOCK_BOOTROM), - .HREADYMUX_BOOTROM (HREADYMUX_BOOTROM), - .HRDATA_BOOTROM (HRDATA_BOOTROM), - .HREADYOUT_BOOTROM (HREADYOUT_BOOTROM), - .HRESP_BOOTROM (i_hresp_BOOTROM), + .HSEL_BOOTROM_0 (HSEL_BOOTROM_0), + .HADDR_BOOTROM_0 (HADDR_BOOTROM_0), + .HTRANS_BOOTROM_0 (HTRANS_BOOTROM_0), + .HWRITE_BOOTROM_0 (HWRITE_BOOTROM_0), + .HSIZE_BOOTROM_0 (HSIZE_BOOTROM_0), + .HBURST_BOOTROM_0 (HBURST_BOOTROM_0), + .HPROT_BOOTROM_0 (HPROT_BOOTROM_0), + .HWDATA_BOOTROM_0 (HWDATA_BOOTROM_0), + .HMASTER_BOOTROM_0 (i_hmaster_BOOTROM_0), + .HMASTLOCK_BOOTROM_0 (HMASTLOCK_BOOTROM_0), + .HREADYMUX_BOOTROM_0 (HREADYMUX_BOOTROM_0), + .HRDATA_BOOTROM_0 (HRDATA_BOOTROM_0), + .HREADYOUT_BOOTROM_0 (HREADYOUT_BOOTROM_0), + .HRESP_BOOTROM_0 (i_hresp_BOOTROM_0), // Output port MI1 signals - .HSEL_IMEM (HSEL_IMEM), - .HADDR_IMEM (HADDR_IMEM), - .HTRANS_IMEM (HTRANS_IMEM), - .HWRITE_IMEM (HWRITE_IMEM), - .HSIZE_IMEM (HSIZE_IMEM), - .HBURST_IMEM (HBURST_IMEM), - .HPROT_IMEM (HPROT_IMEM), - .HWDATA_IMEM (HWDATA_IMEM), - .HMASTER_IMEM (i_hmaster_IMEM), - .HMASTLOCK_IMEM (HMASTLOCK_IMEM), - .HREADYMUX_IMEM (HREADYMUX_IMEM), - .HRDATA_IMEM (HRDATA_IMEM), - .HREADYOUT_IMEM (HREADYOUT_IMEM), - .HRESP_IMEM (i_hresp_IMEM), + .HSEL_IMEM_0 (HSEL_IMEM_0), + .HADDR_IMEM_0 (HADDR_IMEM_0), + .HTRANS_IMEM_0 (HTRANS_IMEM_0), + .HWRITE_IMEM_0 (HWRITE_IMEM_0), + .HSIZE_IMEM_0 (HSIZE_IMEM_0), + .HBURST_IMEM_0 (HBURST_IMEM_0), + .HPROT_IMEM_0 (HPROT_IMEM_0), + .HWDATA_IMEM_0 (HWDATA_IMEM_0), + .HMASTER_IMEM_0 (i_hmaster_IMEM_0), + .HMASTLOCK_IMEM_0 (HMASTLOCK_IMEM_0), + .HREADYMUX_IMEM_0 (HREADYMUX_IMEM_0), + .HRDATA_IMEM_0 (HRDATA_IMEM_0), + .HREADYOUT_IMEM_0 (HREADYOUT_IMEM_0), + .HRESP_IMEM_0 (i_hresp_IMEM_0), // Output port MI2 signals - .HSEL_DMEM (HSEL_DMEM), - .HADDR_DMEM (HADDR_DMEM), - .HTRANS_DMEM (HTRANS_DMEM), - .HWRITE_DMEM (HWRITE_DMEM), - .HSIZE_DMEM (HSIZE_DMEM), - .HBURST_DMEM (HBURST_DMEM), - .HPROT_DMEM (HPROT_DMEM), - .HWDATA_DMEM (HWDATA_DMEM), - .HMASTER_DMEM (i_hmaster_DMEM), - .HMASTLOCK_DMEM (HMASTLOCK_DMEM), - .HREADYMUX_DMEM (HREADYMUX_DMEM), - .HRDATA_DMEM (HRDATA_DMEM), - .HREADYOUT_DMEM (HREADYOUT_DMEM), - .HRESP_DMEM (i_hresp_DMEM), + .HSEL_DMEM_0 (HSEL_DMEM_0), + .HADDR_DMEM_0 (HADDR_DMEM_0), + .HTRANS_DMEM_0 (HTRANS_DMEM_0), + .HWRITE_DMEM_0 (HWRITE_DMEM_0), + .HSIZE_DMEM_0 (HSIZE_DMEM_0), + .HBURST_DMEM_0 (HBURST_DMEM_0), + .HPROT_DMEM_0 (HPROT_DMEM_0), + .HWDATA_DMEM_0 (HWDATA_DMEM_0), + .HMASTER_DMEM_0 (i_hmaster_DMEM_0), + .HMASTLOCK_DMEM_0 (HMASTLOCK_DMEM_0), + .HREADYMUX_DMEM_0 (HREADYMUX_DMEM_0), + .HRDATA_DMEM_0 (HRDATA_DMEM_0), + .HREADYOUT_DMEM_0 (HREADYOUT_DMEM_0), + .HRESP_DMEM_0 (i_hresp_DMEM_0), // Output port MI3 signals .HSEL_SYSIO (HSEL_SYSIO), diff --git a/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_BOOTROM.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_BOOTROM_0.v similarity index 99% rename from system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_BOOTROM.v rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_BOOTROM_0.v index bcb53414167d2c3ae5fb64a4947533e107125c0a..d8f6faa12de9f41fe2e523e6f1c3f42ce9be1749 100644 --- a/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_BOOTROM.v +++ b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_BOOTROM_0.v @@ -32,7 +32,7 @@ -module nanosoc_target_output_BOOTROM ( +module nanosoc_target_output_BOOTROM_0 ( // Common AHB signals HCLK, @@ -311,7 +311,7 @@ module nanosoc_target_output_BOOTROM ( assign req_port3 = held_tran_op3 & sel_op3; // Arbiter instance for resolving requests to this output stage - nanosoc_arbiter_BOOTROM u_output_arb ( + nanosoc_arbiter_BOOTROM_0 u_output_arb ( .HCLK (HCLK), .HRESETn (HRESETn), diff --git a/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_DMEM.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_DMEM_0.v similarity index 99% rename from system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_DMEM.v rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_DMEM_0.v index 8ff767274fb2a9cb2ae101e4da05d3de2a97e89f..e06782c3c5bb7e27fafcd09541cfaecdabd7f178 100644 --- a/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_DMEM.v +++ b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_DMEM_0.v @@ -32,7 +32,7 @@ -module nanosoc_target_output_DMEM ( +module nanosoc_target_output_DMEM_0 ( // Common AHB signals HCLK, @@ -311,7 +311,7 @@ module nanosoc_target_output_DMEM ( assign req_port3 = held_tran_op3 & sel_op3; // Arbiter instance for resolving requests to this output stage - nanosoc_arbiter_DMEM u_output_arb ( + nanosoc_arbiter_DMEM_0 u_output_arb ( .HCLK (HCLK), .HRESETn (HRESETn), diff --git a/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_IMEM.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_IMEM_0.v similarity index 99% rename from system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_IMEM.v rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_IMEM_0.v index 79261e07c0e08a5bec186a78dbfc0312cc60301f..b369f495bc2a930c3d4e1ceabdd53eee88cee5a9 100644 --- a/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_IMEM.v +++ b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_IMEM_0.v @@ -32,7 +32,7 @@ -module nanosoc_target_output_IMEM ( +module nanosoc_target_output_IMEM_0 ( // Common AHB signals HCLK, @@ -311,7 +311,7 @@ module nanosoc_target_output_IMEM ( assign req_port3 = held_tran_op3 & sel_op3; // Arbiter instance for resolving requests to this output stage - nanosoc_arbiter_IMEM u_output_arb ( + nanosoc_arbiter_IMEM_0 u_output_arb ( .HCLK (HCLK), .HRESETn (HRESETn), diff --git a/system/nanosoc_busmatrix/xml/nanosoc.xml b/system/nanosoc_busmatrix/xml/nanosoc.xml index b55e1f81e23a6049d356a133def753ef86791cde..417b2a9c2fe7738f8b7a51dc3e8cb3aca7d9c4c2 100644 --- a/system/nanosoc_busmatrix/xml/nanosoc.xml +++ b/system/nanosoc_busmatrix/xml/nanosoc.xml @@ -62,9 +62,9 @@ <!-- Slave interface definitions --> <slave_interface name="_SOCDEBUG"> - <sparse_connect interface="_BOOTROM"/> - <sparse_connect interface="_IMEM"/> - <sparse_connect interface="_DMEM"/> + <sparse_connect interface="_BOOTROM_0"/> + <sparse_connect interface="_IMEM_0"/> + <sparse_connect interface="_DMEM_0"/> <sparse_connect interface="_SYSIO"/> <sparse_connect interface="_EXP_0"/> <sparse_connect interface="_EXP_1"/> @@ -72,10 +72,10 @@ <sparse_connect interface="_EXPRAM_L"/> <sparse_connect interface="_EXPRAM_H"/> <sparse_connect interface="_SYSTABLE"/> - <address_region interface="_BOOTROM" mem_lo='00000000' mem_hi='0fffffff' remapping='move'/> - <address_region interface="_BOOTROM" mem_lo='10000000' mem_hi='1fffffff' remapping='none'/> - <address_region interface="_IMEM" mem_lo='20000000' mem_hi='2fffffff' remapping='none'/> - <address_region interface="_DMEM" mem_lo='30000000' mem_hi='3fffffff' remapping='none'/> + <address_region interface="_BOOTROM_0" mem_lo='00000000' mem_hi='0fffffff' remapping='move'/> + <address_region interface="_BOOTROM_0" mem_lo='10000000' mem_hi='1fffffff' remapping='none'/> + <address_region interface="_IMEM_0" mem_lo='20000000' mem_hi='2fffffff' remapping='none'/> + <address_region interface="_DMEM_0" mem_lo='30000000' mem_hi='3fffffff' remapping='none'/> <address_region interface="_SYSIO" mem_lo='40000000' mem_hi='5fffffff' remapping='none'/> <address_region interface="_EXP_0" mem_lo='60000000' mem_hi='7fffffff' remapping='none'/> <address_region interface="_EXPRAM_L" mem_lo='80000000' mem_hi='8fffffff' remapping='none'/> @@ -83,23 +83,23 @@ <address_region interface="_EXP_1" mem_lo='a0000000' mem_hi='bfffffff' remapping='none'/> <address_region interface="_EXP_2" mem_lo='c0000000' mem_hi='dfffffff' remapping='none'/> <address_region interface="_SYSTABLE" mem_lo='f0000000' mem_hi='f003ffff' remapping='none'/> - <remap_region interface="_IMEM" mem_lo='00000000' mem_hi='0fffffff' bit='0'/> + <remap_region interface="_IMEM_0" mem_lo='00000000' mem_hi='0fffffff' bit='0'/> </slave_interface> <slave_interface name="_DMAC_0"> - <sparse_connect interface="_BOOTROM"/> - <sparse_connect interface="_IMEM"/> - <sparse_connect interface="_DMEM"/> + <sparse_connect interface="_BOOTROM_0"/> + <sparse_connect interface="_IMEM_0"/> + <sparse_connect interface="_DMEM_0"/> <sparse_connect interface="_SYSIO"/> <sparse_connect interface="_EXP_0"/> <sparse_connect interface="_EXP_1"/> <sparse_connect interface="_EXP_2"/> <sparse_connect interface="_EXPRAM_L"/> <sparse_connect interface="_EXPRAM_H"/> - <address_region interface="_IMEM" mem_lo='00000000' mem_hi='0fffffff' remapping='none'/> - <address_region interface="_BOOTROM" mem_lo='10000000' mem_hi='1fffffff' remapping='none'/> - <address_region interface="_IMEM" mem_lo='20000000' mem_hi='2fffffff' remapping='none'/> - <address_region interface="_DMEM" mem_lo='30000000' mem_hi='3fffffff' remapping='none'/> + <address_region interface="_IMEM_0" mem_lo='00000000' mem_hi='0fffffff' remapping='none'/> + <address_region interface="_BOOTROM_0" mem_lo='10000000' mem_hi='1fffffff' remapping='none'/> + <address_region interface="_IMEM_0" mem_lo='20000000' mem_hi='2fffffff' remapping='none'/> + <address_region interface="_DMEM_0" mem_lo='30000000' mem_hi='3fffffff' remapping='none'/> <address_region interface="_SYSIO" mem_lo='40000000' mem_hi='5fffffff' remapping='none'/> <address_region interface="_EXP_0" mem_lo='60000000' mem_hi='7fffffff' remapping='none'/> <address_region interface="_EXPRAM_L" mem_lo='80000000' mem_hi='8fffffff' remapping='none'/> @@ -109,19 +109,19 @@ </slave_interface> <slave_interface name="_DMAC_1"> - <sparse_connect interface="_BOOTROM"/> - <sparse_connect interface="_IMEM"/> - <sparse_connect interface="_DMEM"/> + <sparse_connect interface="_BOOTROM_0"/> + <sparse_connect interface="_IMEM_0"/> + <sparse_connect interface="_DMEM_0"/> <sparse_connect interface="_SYSIO"/> <sparse_connect interface="_EXP_0"/> <sparse_connect interface="_EXP_1"/> <sparse_connect interface="_EXP_2"/> <sparse_connect interface="_EXPRAM_L"/> <sparse_connect interface="_EXPRAM_H"/> - <address_region interface="_IMEM" mem_lo='00000000' mem_hi='0fffffff' remapping='none'/> - <address_region interface="_BOOTROM" mem_lo='10000000' mem_hi='1fffffff' remapping='none'/> - <address_region interface="_IMEM" mem_lo='20000000' mem_hi='2fffffff' remapping='none'/> - <address_region interface="_DMEM" mem_lo='30000000' mem_hi='3fffffff' remapping='none'/> + <address_region interface="_IMEM_0" mem_lo='00000000' mem_hi='0fffffff' remapping='none'/> + <address_region interface="_BOOTROM_0" mem_lo='10000000' mem_hi='1fffffff' remapping='none'/> + <address_region interface="_IMEM_0" mem_lo='20000000' mem_hi='2fffffff' remapping='none'/> + <address_region interface="_DMEM_0" mem_lo='30000000' mem_hi='3fffffff' remapping='none'/> <address_region interface="_SYSIO" mem_lo='40000000' mem_hi='5fffffff' remapping='none'/> <address_region interface="_EXP_0" mem_lo='60000000' mem_hi='7fffffff' remapping='none'/> <address_region interface="_EXPRAM_L" mem_lo='80000000' mem_hi='8fffffff' remapping='none'/> @@ -131,9 +131,9 @@ </slave_interface> <slave_interface name="_CPU_0"> - <sparse_connect interface="_BOOTROM"/> - <sparse_connect interface="_IMEM"/> - <sparse_connect interface="_DMEM"/> + <sparse_connect interface="_BOOTROM_0"/> + <sparse_connect interface="_IMEM_0"/> + <sparse_connect interface="_DMEM_0"/> <sparse_connect interface="_SYSIO"/> <sparse_connect interface="_EXP_0"/> <sparse_connect interface="_EXP_1"/> @@ -141,10 +141,10 @@ <sparse_connect interface="_EXPRAM_L"/> <sparse_connect interface="_EXPRAM_H"/> <sparse_connect interface="_SYSTABLE"/> - <address_region interface="_BOOTROM" mem_lo='00000000' mem_hi='0fffffff' remapping='move'/> - <address_region interface="_BOOTROM" mem_lo='10000000' mem_hi='1fffffff' remapping='none'/> - <address_region interface="_IMEM" mem_lo='20000000' mem_hi='2fffffff' remapping='none'/> - <address_region interface="_DMEM" mem_lo='30000000' mem_hi='3fffffff' remapping='none'/> + <address_region interface="_BOOTROM_0" mem_lo='00000000' mem_hi='0fffffff' remapping='move'/> + <address_region interface="_BOOTROM_0" mem_lo='10000000' mem_hi='1fffffff' remapping='none'/> + <address_region interface="_IMEM_0" mem_lo='20000000' mem_hi='2fffffff' remapping='none'/> + <address_region interface="_DMEM_0" mem_lo='30000000' mem_hi='3fffffff' remapping='none'/> <address_region interface="_SYSIO" mem_lo='40000000' mem_hi='5fffffff' remapping='none'/> <address_region interface="_EXP_0" mem_lo='60000000' mem_hi='7fffffff' remapping='none'/> <address_region interface="_EXPRAM_L" mem_lo='80000000' mem_hi='8fffffff' remapping='none'/> @@ -152,14 +152,14 @@ <address_region interface="_EXP_1" mem_lo='a0000000' mem_hi='bfffffff' remapping='none'/> <address_region interface="_EXP_2" mem_lo='c0000000' mem_hi='dfffffff' remapping='none'/> <address_region interface="_SYSTABLE" mem_lo='f0000000' mem_hi='f003ffff' remapping='none'/> - <remap_region interface="_IMEM" mem_lo='00000000' mem_hi='0fffffff' bit='0'/> + <remap_region interface="_IMEM_0" mem_lo='00000000' mem_hi='0fffffff' bit='0'/> </slave_interface> <!-- Master interface definitions --> - <master_interface name="_BOOTROM"/> - <master_interface name="_IMEM"/> - <master_interface name="_DMEM"/> + <master_interface name="_BOOTROM_0"/> + <master_interface name="_IMEM_0"/> + <master_interface name="_DMEM_0"/> <master_interface name="_SYSIO"/> <master_interface name="_EXPRAM_L"/> <master_interface name="_EXPRAM_H"/> diff --git a/system/nanosoc_interconnect/verilog/nanosoc_interconnect.v b/system/nanosoc_interconnect/verilog/nanosoc_interconnect.v index e8d033eaee6c32a60cabd7348fab0fd40e335b6e..0765e09a70ab9a189244449752d81477ac3453bd 100644 --- a/system/nanosoc_interconnect/verilog/nanosoc_interconnect.v +++ b/system/nanosoc_interconnect/verilog/nanosoc_interconnect.v @@ -181,6 +181,9 @@ module nanosoc_interconnect #( // Instantiate DMA_0 - DMA230 + //-------------------------------- + // DMAC_1 + //-------------------------------- // Instantiate DMA_1 - Not Implemented //-------------------------------- diff --git a/system/nanosoc_managers/cortexm0/verilog/nanosoc_cortexm0_control.v b/system/nanosoc_managers/cortexm0/verilog/nanosoc_cortexm0_control.v deleted file mode 100644 index b5e2b43253484f0f00a9b86e677918fe9805f54b..0000000000000000000000000000000000000000 --- a/system/nanosoc_managers/cortexm0/verilog/nanosoc_cortexm0_control.v +++ /dev/null @@ -1,144 +0,0 @@ -//----------------------------------------------------------------------------- -// NanoSoC Cortex-M0 Reset and Power Control Module -// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license. -// -// Contributors -// -// David Mapstone (d.a.mapstone@soton.ac.uk) -// -// Copyright � 2021-3, SoC Labs (www.soclabs.org) -//----------------------------------------------------------------------------- - -module nanosoc_cortexm0_control #( - parameter CLKGATE_PRESENT = 0 -)( - // Input Clocks and Resets - input wire FCLK, // Free running clock - input wire SYSRESETn, // System Reset - input wire SCANENABLE, // Scan Mode Enable - input wire TESTMODE, // Test Mode Enable (Override Synchronisers) - - // Generated Clocks and Resets - output wire SCLK, // System clock - output wire HCLK, // AHB Clock - output wire HRESETn, // AHB Reset - output wire PORESETn, // Power on reset - output wire DCLK, // Debug clock - output wire DBGRESETn, // Debug reset - - // System Reset Request - input wire NANOSOC_RESETREQ, // System Reset Request - - // Power Management Control Signals - input wire PMUENABLE, // PMU NEable from System Register - input wire WAKEUP, // Wakeup Signaling from Core - input wire SLEEPDEEP, // Debug Power Up Request - input wire GATEHCLK, // Control Signal from Core to Control Clock Gating of HCLK - - // Power Management Request signals - input wire CDBGPWRUPREQ, // Core Debug Power Up Request - output wire WICENREQ, // WIC enable request from PMU - output wire SLEEPHOLDREQn, // Core Sleep Hold Request - output wire PMUDBGRESETREQ, // Power Management Unit Debug Reset Request - output wire CCTRLRESETREQ, // Core Control System Reset Request - - // Power Management Ackowledge signals - input wire WICENACK, // Wake-on-Interrupt Enable ACK from Core - input wire SLEEPHOLDACKn, // Sleep Hold Acknowledgement - output wire CDBGPWRUPACK // Core Debug Power Up Acknowledge -); - - // ------------------------------- - // Cortex-M0 Control System Reset Req - // ------------------------------- - wire HRESETREQ; - wire PMUHRESETREQ; - - assign CCTRLRESETREQ = PMUHRESETREQ | HRESETREQ; - - // ------------------------------- - // NanoSoC Power Down Detection - // ------------------------------- - // System Power Down Signals - wire SYSPWRDOWN; - wire SYSPWRDOWNACK; - - // Debug Power Down Signals - wire DBGPWRDOWN; - wire DBGPWRDOWNACK; - - // In this example system, power control takes place immediately. - // In a real circuit you might need to add delays in the next two - // signal assignments for correct operation. - assign SYSPWRDOWNACK = SYSPWRDOWN; - assign DBGPWRDOWNACK = DBGPWRDOWN; - - // ------------------------------- - // NanoSoC Power Management Unit - // ------------------------------- - // Connectivity - Clock Generation - wire HCLKG; // Gated HCLK - wire DCLKG; // Gated DCLK - wire SCLKG; // Gated SCLK - - assign HCLK = (CLKGATE_PRESENT==0) ? FCLK : HCLKG; - assign DCLK = (CLKGATE_PRESENT==0) ? FCLK : DCLKG; - assign SCLK = (CLKGATE_PRESENT==0) ? FCLK : SCLKG; - - // Power Management Unit Instantiation - cortexm0_pmu u_cortexm0_pmu ( - // Power Management Unit Inputs - .FCLK (FCLK), - .PORESETn (PORESETn), - .HRESETREQ (NANOSOC_RESETREQ), // from Cores / Watchdog / Debug Controller - .PMUENABLE (PMUENABLE), // from System Controller - .WICENACK (WICENACK), // from WIC in integration - - .WAKEUP (WAKEUP), // from WIC in integration - .CDBGPWRUPREQ (CDBGPWRUPREQ), - - .SLEEPDEEP (SLEEPDEEP), - .SLEEPHOLDACKn (SLEEPHOLDACKn), - .GATEHCLK (GATEHCLK), - .SYSPWRDOWNACK (SYSPWRDOWNACK), - .DBGPWRDOWNACK (DBGPWRDOWNACK), - .CGBYPASS (TESTMODE), - - // Power Management Unit Outputs - .HCLK (HCLKG), - .DCLK (DCLKG), - .SCLK (SCLKG), - .WICENREQ (WICENREQ), - .CDBGPWRUPACK (CDBGPWRUPACK), - .SYSISOLATEn ( ), - .SYSRETAINn ( ), - .SYSPWRDOWN (SYSPWRDOWN), - .DBGISOLATEn ( ), - .DBGPWRDOWN (DBGPWRDOWN), - .SLEEPHOLDREQn (SLEEPHOLDREQn), - .PMUDBGRESETREQ (PMUDBGRESETREQ), - .PMUHRESETREQ (PMUHRESETREQ) - ); - - // ------------------------------- - // Reset Control - // ------------------------------- - cortexm0_rst_ctl u_rst_ctl ( - // Inputs - .GLOBALRESETn (SYSRESETn), - .FCLK (FCLK), - .HCLK (HCLKG), // TODO: Why are theses Gated? - .DCLK (DCLKG), // TODO: Why are theses Gated? - .SYSRESETREQ (NANOSOC_RESETREQ), - .PMUHRESETREQ (PMUHRESETREQ), - .PMUDBGRESETREQ (PMUDBGRESETREQ), - .RSTBYPASS (TESTMODE), - .SE (SCANENABLE), - - // Outputs - .PORESETn (PORESETn), - .HRESETn (HRESETn), - .DBGRESETn (DBGRESETn), - .HRESETREQ (HRESETREQ) - ); -endmodule \ No newline at end of file diff --git a/system/nanosoc_managers/cortexm0/verilog/nanosoc_manager_cortexm0.v b/system/nanosoc_managers/cortexm0/verilog/nanosoc_manager_cortexm0.v deleted file mode 100644 index da16b48a697e75323081e641a658ff9100cde74b..0000000000000000000000000000000000000000 --- a/system/nanosoc_managers/cortexm0/verilog/nanosoc_manager_cortexm0.v +++ /dev/null @@ -1,280 +0,0 @@ -//----------------------------------------------------------------------------- -// NanoSoC Cortex-M0 AHB Manager -// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license. -// -// Contributors -// -// David Flynn (d.w.flynn@soton.ac.uk) -// David Mapstone (d.a.mapstone@soton.ac.uk) -// -// Copyright � 2021-3, SoC Labs (www.soclabs.org) -//----------------------------------------------------------------------------- - -//----------------------------------------------------------------------------- -// The confidential and proprietary information contained in this file may -// only be used by a person authorised under and to the extent permitted -// by a subsisting licensing agreement from Arm Limited or its affiliates. -// -// (C) COPYRIGHT 2010-2013 Arm Limited or its affiliates. -// ALL RIGHTS RESERVED -// -// This entire notice must be reproduced on all copies of this file -// and copies of this file may only be made by a person if such person is -// permitted to do so under the terms of a subsisting license agreement -// from Arm Limited or its affiliates. -// -// SVN Information -// -// Checked In : $Date: 2017-10-10 15:55:38 +0100 (Tue, 10 Oct 2017) $ -// -// Revision : $Revision: 371321 $ -// -// Release Information : Cortex-M System Design Kit-r1p1-00rel0 -// -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -// Abstract : System level design for the example Cortex-M0 system -//----------------------------------------------------------------------------- - -module nanosoc_manager_cortexm0 #( - parameter CLKGATE_PRESENT = 0, - parameter BE = 0, // 1: Big endian 0: little endian - parameter BKPT = 4, // Number of breakpoint comparators - parameter DBG = 1, // Debug configuration - parameter NUMIRQ = 32, // NUM of IRQ - parameter SMUL = 0, // Multiplier configuration - parameter SYST = 1, // SysTick - parameter WIC = 1, // Wake-up interrupt controller support - parameter WICLINES = 34, // Supported WIC lines - parameter WPT = 2, // Number of DWT comparators - parameter RESET_ALL_REGS = 0, // Do not reset all registers - parameter INCLUDE_JTAG = 0 // Do not Include JTAG feature -)( - // Input Clocks and Resets - input wire FCLK, // Free running clock - input wire SYSRESETn, // System Reset - input wire SCANENABLE, // Scan Mode Enable - input wire TESTMODE, // Test Mode Enable (Override Synchronisers) - - // System Reset Request Signals - input wire NANOSOC_RESETREQ, // System Request from System Managers - output wire CCTRLRESETREQ, // CPU Control Reset Request (PMU and Reset Unit) - - // Generated Clocks and Resets - output wire HCLK, // AHB Clock - output wire SCLK, // System clock - output wire HRESETn, // AHB and System reset - output wire PORESETn, // Power on reset - output wire DCLK, // Debug clock - output wire DBGRESETn, // Debug reset - - // Power Management Signals - input wire PMUENABLE, // Power Management Enable - output wire PMUDBGRESETREQ, // Power Management Debug Reset Req - - // AHB Lite port - output wire [31:0] HADDR, // Address bus - output wire [1:0] HTRANS, // Transfer type - output wire HWRITE, // Transfer direction - output wire [2:0] HSIZE, // Transfer size - output wire [2:0] HBURST, // Burst type - output wire [3:0] HPROT, // Protection control - output wire [31:0] HWDATA, // Write data - output wire HMASTLOCK, // Locked Sequence - input wire [31:0] HRDATA, // Read data bus - input wire HREADY, // HREADY feedback - input wire HRESP, // Transfer response - - // Sideband CPU signalling - input wire NMI, // Non-Maskable Interrupt request - input wire [31:0] IRQ, // Maskable Interrupt requests - output wire TXEV, // Send Event (SEV) output - input wire RXEV, // Receive Event input - output wire SLEEPING, // Processor status - sleeping - output wire SLEEPDEEP, // Processor status - deep sleep - output wire LOCKUP, // Wake up request from WIC - output wire SYSRESETREQ, // System reset request - - // Serial-Wire Debug - input wire SWDI, // SWD data input - input wire SWCLK, // SWD clock - output wire SWDO, // SWD data output - output wire SWDOEN // SWD data output enable -); - - // --------------------------------------------------- - // Cortex-M0 Power Management and Reset Control Unit - // --------------------------------------------------- - // Cortex-M0 Control to Core Connectivity - wire GATEHCLK; // Control Signal from CPU to Control CLock Gating of HCLK - wire WAKEUP; // Wake-up Signaling from Core - wire CDBGPWRUPREQ; // Core Debug Power Up Request - wire CDBGPWRUPACK; // Core Debug Power Up Acknowledge - wire WICENREQ; // WIC enable request from PMU - wire WICENACK; // Wake-on-Interrupt Enable ACK from Core - wire SLEEPHOLDREQn; // Core Sleep Hold Request - wire SLEEPHOLDACKn; // Core Sleep Hold Acknowledgement - - // Cortex-M0 Control Instantiation - nanosoc_cortexm0_control #( - .CLKGATE_PRESENT(CLKGATE_PRESENT) - ) u_cpu_control ( - // Input Clocks and Resets - .FCLK (FCLK), // Free running clock - .SYSRESETn (SYSRESETn), // System Reset - .SCANENABLE (SCANENABLE), // Scan Mode Enable - .TESTMODE (TESTMODE), // Test Mode Enable (Override Synchronisers) - - // Generated Clocks and Resets - .SCLK (SCLK), // System clock - .HCLK (HCLK), // AHB Clock - .HRESETn (HRESETn), // AHB Reset - .PORESETn (PORESETn), // Power on reset - .DCLK (DCLK), // Debug clock - .DBGRESETn (DBGRESETn), // Debug reset - - // System Reset Request - .NANOSOC_RESETREQ (NANOSOC_RESETREQ), // System Reset Request - - // Power Management Control Signals - .PMUENABLE (PMUENABLE), // PMU Enable from System Register - .WAKEUP (WAKEUP), // Wake-up Signaling from Core - .SLEEPDEEP (SLEEPDEEP), // Debug Power Up Request - .GATEHCLK (GATEHCLK), // Control Signal from Core to Control CLock Gating of HCLK - - // Power Management Request signals - .CDBGPWRUPREQ (CDBGPWRUPREQ), // Core Debug Power Up Request - .WICENREQ (WICENREQ), // WIC enable request from PMU - .SLEEPHOLDREQn (SLEEPHOLDREQn), // Core Sleep Hold Request - .PMUDBGRESETREQ (PMUDBGRESETREQ), // Power Management Unit Debug Reset Request - .CCTRLRESETREQ (CCTRLRESETREQ), // Core Control System Reset Request - - // Power Management Ackowledge signals - .WICENACK (WICENACK), // Wake-on-Interrupt Enable ACK from Core - .SLEEPHOLDACKn (SLEEPHOLDACKn), // Sleep Hold Acknowledgement - .CDBGPWRUPACK (CDBGPWRUPACK) // Core Debug Power Up Acknowledge - ); - - // ------------------------------- - // SysTick signals - // ------------------------------- - // SysTick Timer Signals - wire STCLKEN; - wire [25:0] STCALIB; - - // SysTick Control Instantiation - nanosoc_cortexm0_stclkctrl #( - .DIV_RATIO (18'd01000) - ) u_stclkctrl ( - .FCLK (FCLK), - .SYSRESETn (SYSRESETn), - - .STCLKEN (STCLKEN), - .STCALIB (STCALIB) - ); - - // ------------------------------- - // Cortex-M0 CPU Instantiation - // ------------------------------- - // Processor status - wire [2:0] CODEHINTDE; - wire SPECHTRANS; - wire CODENSEQ; - wire SHAREABLE; - - // Cortex-M0 Logic Instantiation - CORTEXM0INTEGRATION #( - .ACG (CLKGATE_PRESENT), // Architectural clock gating - .BE (BE), // Big-endian - .BKPT (BKPT), // Number of breakpoint comparators - .DBG (DBG), // Debug configuration - .JTAGnSW (INCLUDE_JTAG), // Debug port interface: JTAGnSW - .NUMIRQ (NUMIRQ), // Number of Interrupts - .RAR (RESET_ALL_REGS), // Reset All Registers - .SMUL (SMUL), // Multiplier configuration - .SYST (SYST), // SysTick - .WIC (WIC), // Wake-up interrupt controller support - .WICLINES (WICLINES), // Supported WIC lines - .WPT (WPT) // Number of DWT comparators - ) u_cortex_m0_integration ( - // System inputs - .FCLK (FCLKG), // FCLK - .SCLK (SCLKG), // SCLK generated from PMU - .HCLK (HCLKG), // HCLK generated from PMU - .DCLK (DCLKG), // DCLK generated from PMU - .PORESETn (PORESETn), - .HRESETn (HRESETn), - .DBGRESETn (DBGRESETn), - .RSTBYPASS (RSTBYPASS), - .SE (SCANENABLE), - - // Power management inputs - .SLEEPHOLDREQn (SLEEPHOLDREQn), - .WICENREQ (WICENREQ), - .CDBGPWRUPACK (CDBGPWRUPACK), - - // Power management outputs - .SLEEPHOLDACKn (SLEEPHOLDACKn), - .WICENACK (WICENACK), - .CDBGPWRUPREQ (CDBGPWRUPREQ), - - .WAKEUP (WAKEUP), - .WICSENSE ( ), - .GATEHCLK (GATEHCLK), - .SYSRESETREQ (SYSRESETREQ), - - // System bus - .HADDR (HADDR), - .HTRANS (HTRANS), - .HSIZE (HSIZE), - .HBURST (HBURST), - .HPROT (HPROT), - .HMASTLOCK (HMASTLOCK), - .HWRITE (HWRITE), - .HWDATA (HWDATA), - .HRDATA (HRDATA), - .HREADY (HREADY), - .HRESP (HRESP), - .HMASTER ( ), - - .CODEHINTDE (CODEHINTDE), - .SPECHTRANS (SPECHTRANS), - .CODENSEQ (CODENSEQ), - - // Interrupts - .IRQ (IRQ[31:0]), - .NMI (NMI), - .IRQLATENCY (8'h00), - - .ECOREVNUM (28'h0), - - // Systick - .STCLKEN (STCLKEN), - .STCALIB (STCALIB), - - // Debug - JTAG or Serial wire - .nTRST (1'b1), - .SWDITMS (SWDI), - .SWCLKTCK (SWCLK), - .TDI (1'b0), - .TDO ( ), - .nTDOEN ( ), - .SWDO (SWDO), - .SWDOEN (SWDOEN), - - .DBGRESTART (1'b0), // Unused - Multi-Core synchronous restart from halt - .DBGRESTARTED ( ), // Unused - Multi-Core synchronous restart from halt - - // Event communication - .TXEV (TXEV), - .RXEV (RXEV), - .EDBGRQ (1'b0), // Unused - Multi-Core synchronous halt request - - // Status output - .HALTED ( ), - .LOCKUP (LOCKUP), - .SLEEPING (SLEEPING), - .SLEEPDEEP (SLEEPDEEP) - ); - -endmodule diff --git a/system/nanosoc_managers/cortexm0/verilog/nanosoc_manager_slcorem0 b/system/nanosoc_managers/cortexm0/verilog/nanosoc_manager_slcorem0 new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/system/nanosoc_managers/cortexm0/verilog/slcorem0.v b/system/nanosoc_managers/cortexm0/verilog/slcorem0.v new file mode 100644 index 0000000000000000000000000000000000000000..14dc32dc024dff3d2ab867159a1be360fff39a97 --- /dev/null +++ b/system/nanosoc_managers/cortexm0/verilog/slcorem0.v @@ -0,0 +1,264 @@ +//----------------------------------------------------------------------------- +// SoCLabs SLCore-M0 - Basic Cortex-M0 CPU Subsystem +// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license. +// +// Contributors +// +// David Flynn (d.w.flynn@soton.ac.uk) +// David Mapstone (d.a.mapstone@soton.ac.uk) +// +// Copyright � 2021-3, SoC Labs (www.soclabs.org) +//----------------------------------------------------------------------------- + +module slcorem0 #( + parameter CLKGATE_PRESENT = 0, + parameter BE = 0, // 1: Big endian 0: little endian + parameter BKPT = 4, // Number of breakpoint comparators + parameter DBG = 1, // Debug configuration + parameter NUMIRQ = 32, // NUM of IRQ + parameter SMUL = 0, // Multiplier configuration + parameter SYST = 1, // SysTick + parameter WIC = 1, // Wake-up interrupt controller support + parameter WICLINES = 34, // Supported WIC lines + parameter WPT = 2, // Number of DWT comparators + parameter RESET_ALL_REGS = 0, // Do not reset all registers + parameter INCLUDE_JTAG = 0 // Do not Include JTAG feature +)( + // System Input Clocks and Resets + input wire SYS_FCLK, // Free running clock + input wire SYS_SYSRESETn, // System Reset + input wire SYS_SCANENABLE, // Scan Mode Enable + input wire SYS_TESTMODE, // Test Mode Enable (Override Synchronisers) + + // System Reset Request Signals + input wire SYS_SYSRESETREQ, // System Request from System Managers + output wire SYS_PRMURESETREQ, // CPU Control Reset Request (PMU and Reset Unit) + + // Generated Clocks and Resets + output wire SYS_PORESETn, // System Power On Reset + output wire SYS_HCLK, // AHB Clock + output wire SYS_HRESETn, // AHB and System reset + + // Power Management Signals + input wire SYS_PMUENABLE, // Power Management Enable + output wire SYS_PMUDBGRESETREQ, // Power Management Debug Reset Req + + // AHB Lite port + output wire [31:0] HADDR, // Address bus + output wire [1:0] HTRANS, // Transfer type + output wire HWRITE, // Transfer direction + output wire [2:0] HSIZE, // Transfer size + output wire [2:0] HBURST, // Burst type + output wire [3:0] HPROT, // Protection control + output wire [31:0] HWDATA, // Write data + output wire HMASTLOCK, // Locked Sequence + input wire [31:0] HRDATA, // Read data bus + input wire HREADY, // HREADY feedback + input wire HRESP, // Transfer response + + // Sideband CPU signalling + input wire CORE_NMI, // Non-Maskable Interrupt request + input wire [31:0] CORE_IRQ, // Maskable Interrupt requests + output wire CORE_TXEV, // Send Event (SEV) output + input wire CORE_RXEV, // Receive Event input + output wire CORE_LOCKUP, // Wake up request from WIC + output wire CORE_SYSRESETREQ, // System reset request + + output wire CORE_SLEEPING, // Processor status - sleeping + output wire CORE_SLEEPDEEP, // Processor status - deep sleep + + // Serial-Wire Debug + input wire CORE_SWDI, // SWD data input + input wire CORE_SWCLK, // SWD clock + output wire CORE_SWDO, // SWD data output + output wire CORE_SWDOEN // SWD data output enable +); + + // --------------------------------------------------- + // Cortex-M0 Power Management and Reset Control Unit + // --------------------------------------------------- + // Cortex-M0 Control to Core Connectivity + wire CORE_GATEHCLK; // Control Signal from CPU to Control CLock Gating of HCLK + wire CORE_WAKEUP; // Wake-up Signaling from Core + wire CORE_CDBGPWRUPREQ; // Core Debug Power Up Request + wire CORE_CDBGPWRUPACK; // Core Debug Power Up Acknowledge + wire CORE_WICENREQ; // WIC enable request from PMU + wire CORE_WICENACK; // Wake-on-Interrupt Enable ACK from Core + wire CORE_SLEEPHOLDREQn; // Core Sleep Hold Request + wire CORE_SLEEPHOLDACKn; // Core Sleep Hold Acknowledgement + + // Internal Clock Signals + wire CORE_HCLK; // AHB Clock + wire CORE_HRESETn; // AHB and System reset + wire CORE_SCLK; // System clock + wire CORE_DCLK; // Debug clock + wire CORE_DBGRESETn; // Debug reset + + // Cortex-M0 Control Instantiation + slcorem0_prmu #( + .CLKGATE_PRESENT(CLKGATE_PRESENT) + ) u_core_prmu ( + // Input Clocks and Resets + .SYS_FCLK (SYS_FCLK), // Free running clock + .SYS_SYSRESETn (SYS_SYSRESETn), // System Reset + .SYS_SCANENABLE (SYS_SCANENABLE), // Scan Mode Enable + .SYS_TESTMODE (SYS_TESTMODE), // Test Mode Enable (Override Synchronisers) + + // Core Generated Clocks and Resets + .CORE_SCLK (CORE_SCLK), // Core-Subsystem clock + .CORE_HCLK (CORE_HCLK), // Core AHB Clock + .CORE_HRESETn (CORE_HRESETn), // Core AHB Reset + .CORE_DCLK (CORE_DCLK), // Core Debug clock + .CORE_DBGRESETn (CORE_DBGRESETn), // Core Debug reset + + // System Generated Clocks and Resets + .SYS_HCLK (SYS_HCLK), // System AHB Clock + .SYS_HRESETn (SYS_HRESETn), // System AHB Reset + .SYS_PORESETn (SYS_PORESETn), // System Power on reset + + // System Reset Request + .SYS_SYSRESETREQ (SYS_SYSRESETREQ), // System Reset Request + + // Power Management Control Signals + .SYS_PMUENABLE (SYS_PMUENABLE), // PMU Enable from System Register + .CORE_WAKEUP (CORE_WAKEUP), // Wake-up Signaling from Core + .CORE_SLEEPDEEP (CORE_SLEEPDEEP), // Debug Power Up Request + .CORE_GATEHCLK (CORE_GATEHCLK), // Control Signal from Core to Control Clock Gating of HCLK + + // Power Management Request signals + .CORE_CDBGPWRUPREQ (CORE_CDBGPWRUPREQ), // Core Debug Power Up Request + .CORE_WICENREQ (CORE_WICENREQ), // Core WIC enable request from PMU + .CORE_SLEEPHOLDREQn (CORE_SLEEPHOLDREQn), // Core Sleep Hold Request + + .SYS_PRMURESETREQ (SYS_PRMURESETREQ), // Core Control System Reset Request + .SYS_PMUDBGRESETREQ (SYS_PMUDBGRESETREQ), // Core Power Management Unit Debug Reset Request + + // Power Management Ackowledge signals + .CORE_WICENACK (CORE_WICENACK), // Wake-on-Interrupt Enable ACK from Core + .CORE_SLEEPHOLDACKn (CORE_SLEEPHOLDACKn), // Sleep Hold Acknowledgement + .CORE_CDBGPWRUPACK (CORE_CDBGPWRUPACK) // Core Debug Power Up Acknowledge + ); + + // ------------------------------- + // SysTick signals + // ------------------------------- + // SysTick Timer Signals + wire CORE_STCLKEN; + wire [25:0] CORE_STCALIB; + + // SysTick Control Instantiation + nanosoc_cortexm0_stclkctrl #( + .DIV_RATIO (18'd01000) + ) u_stclkctrl ( + .FCLK (SYS_FCLK), + .SYSRESETn (SYS_SYSRESETn), + + .STCLKEN (CORE_STCLKEN), + .STCALIB (CORE_STCALIB) + ); + + // ------------------------------- + // Cortex-M0 CPU Instantiation + // ------------------------------- + // Processor status + wire [2:0] CORE_CODEHINTDE; + wire CORE_SPECHTRANS; + wire CORE_CODENSEQ; + wire CORE_SHAREABLE; + + // Cortex-M0 Logic Instantiation + CORTEXM0INTEGRATION #( + .ACG (CLKGATE_PRESENT), // Architectural clock gating + .BE (BE), // Big-endian + .BKPT (BKPT), // Number of breakpoint comparators + .DBG (DBG), // Debug configuration + .JTAGnSW (INCLUDE_JTAG), // Debug port interface: JTAGnSW + .NUMIRQ (NUMIRQ), // Number of Interrupts + .RAR (RESET_ALL_REGS), // Reset All Registers + .SMUL (SMUL), // Multiplier configuration + .SYST (SYST), // SysTick + .WIC (WIC), // Wake-up interrupt controller support + .WICLINES (WICLINES), // Supported WIC lines + .WPT (WPT) // Number of DWT comparators + ) u_cortex_m0_integration ( + // System inputs + .FCLK (SYS_FCLK), // FCLK + .SCLK (CORE_SCLK), // SCLK generated from PMU + .HCLK (CORE_HCLK), // HCLK generated from PMU + .DCLK (CORE_DCLK), // DCLK generated from PMU + .PORESETn (SYS_PORESETn), + .HRESETn (CORE_HRESETn), + .DBGRESETn (CORE_DBGRESETn), + .RSTBYPASS (SYS_TESTMODE), + .SE (SYS_SCANENABLE), + + // Power management inputs + .SLEEPHOLDREQn (CORE_SLEEPHOLDREQn), + .WICENREQ (CORE_WICENREQ), + .CDBGPWRUPACK (CORE_CDBGPWRUPACK), + + // Power management outputs + .SLEEPHOLDACKn (CORE_SLEEPHOLDACKn), + .WICENACK (CORE_WICENACK), + .CDBGPWRUPREQ (CORE_CDBGPWRUPREQ), + + .WAKEUP (CORE_WAKEUP), + .WICSENSE ( ), + .GATEHCLK (CORE_GATEHCLK), + .SYSRESETREQ (CORE_SYSRESETREQ), + + // System bus + .HADDR (HADDR), + .HTRANS (HTRANS), + .HSIZE (HSIZE), + .HBURST (HBURST), + .HPROT (HPROT), + .HMASTLOCK (HMASTLOCK), + .HWRITE (HWRITE), + .HWDATA (HWDATA), + .HRDATA (HRDATA), + .HREADY (HREADY), + .HRESP (HRESP), + .HMASTER ( ), + + .CODEHINTDE (CORE_CODEHINTDE), + .SPECHTRANS (CORE_SPECHTRANS), + .CODENSEQ (CORE_CODENSEQ), + + // Interrupts + .IRQ (CORE_IRQ[31:0]), + .NMI (CORE_NMI), + .IRQLATENCY (8'h00), + + .ECOREVNUM (28'h0), + + // Systick + .STCLKEN (CORE_STCLKEN), + .STCALIB (CORE_STCALIB), + + // Debug - JTAG or Serial wire + .nTRST (1'b1), + .SWDITMS (CORE_SWDI), + .SWCLKTCK (CORE_SWCLK), + .TDI (1'b0), + .TDO ( ), + .nTDOEN ( ), + .SWDO (CORE_SWDO), + .SWDOEN (CORE_SWDOEN), + + .DBGRESTART (1'b0), // Unused - Multi-Core synchronous restart from halt + .DBGRESTARTED ( ), // Unused - Multi-Core synchronous restart from halt + + // Event communication + .TXEV (CORE_TXEV), + .RXEV (CORE_RXEV), + .EDBGRQ (1'b0), // Unused - Multi-Core synchronous halt request + + // Status output - TODO: Map into APB Register Block + .HALTED ( ), + .LOCKUP (CORE_LOCKUP), + .SLEEPING (CORE_SLEEPING), + .SLEEPDEEP (CORE_SLEEPDEEP) + ); + +endmodule diff --git a/system/nanosoc_managers/cortexm0/verilog/slcorem0_prmu.v b/system/nanosoc_managers/cortexm0/verilog/slcorem0_prmu.v new file mode 100644 index 0000000000000000000000000000000000000000..27dfb73749660732d7e794a793d0b2ea6176b79f --- /dev/null +++ b/system/nanosoc_managers/cortexm0/verilog/slcorem0_prmu.v @@ -0,0 +1,155 @@ +//----------------------------------------------------------------------------- +// SoCLabs SLCore-M0 PRMU - Cortex-M0 CPU Power and Reset Management Unit +// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license. +// +// Contributors +// +// David Mapstone (d.a.mapstone@soton.ac.uk) +// +// Copyright � 2021-3, SoC Labs (www.soclabs.org) +//----------------------------------------------------------------------------- + +module slcorem0_prmu #( + parameter CLKGATE_PRESENT = 0 +)( + // Input Clocks and Resets + input wire SYS_FCLK, // Free running clock + input wire SYS_SYSRESETn, // System Reset + input wire SYS_SCANENABLE, // Scan Mode Enable + input wire SYS_TESTMODE, // Test Mode Enable (Override Synchronisers) + + // Generated Clocks and Resets + output wire CORE_SCLK, // System clock + output wire CORE_HCLK, // AHB Clock + output wire CORE_HRESETn, // AHB Reset + output wire CORE_DCLK, // Debug clock + output wire CORE_DBGRESETn, // Debug reset + + output wire SYS_HCLK, // Power on reset + output wire SYS_HRESETn, // Power on reset + output wire SYS_PORESETn, // Power on reset + + // System Reset Request + input wire SYS_SYSRESETREQ, // System Reset Request + + // Power Management Control Signals + input wire SYS_PMUENABLE, // PMU Enable from System Register + input wire CORE_WAKEUP, // Wakeup Signaling from Core + input wire CORE_SLEEPDEEP, // Debug Power Up Request + input wire CORE_GATEHCLK, // Control Signal from Core to Control Clock Gating of HCLK + + // Power Management Request signals + input wire CORE_CDBGPWRUPREQ, // Core Debug Power Up Request + output wire CORE_WICENREQ, // WIC enable request from PMU + output wire CORE_SLEEPHOLDREQn, // Core Sleep Hold Request + + // System Reset Request Signals + output wire SYS_PRMURESETREQ, // Power and Reset Management System Reset Request + output wire SYS_PMUDBGRESETREQ, // Power Management Unit Debug Reset Request + + // Power Management Ackowledge signals + input wire CORE_WICENACK, // Wake-on-Interrupt Enable ACK from Core + input wire CORE_SLEEPHOLDACKn, // Sleep Hold Acknowledgement + output wire CORE_CDBGPWRUPACK // Core Debug Power Up Acknowledge +); + + // ------------------------------- + // Cortex-M0 Control System Reset Req + // ------------------------------- + wire CORE_RSTCTLHRESETREQ; + wire CORE_PMUHRESETREQ; + + assign SYS_PRMURESETREQ = CORE_PMUHRESETREQ | CORE_RSTCTLHRESETREQ; + + // ------------------------------- + // Core Power Down Detection + // ------------------------------- + // System Power Down Signals + wire CORE_SYSPWRDOWN; + wire CORE_SYSPWRDOWNACK; + + // Debug Power Down Signals + wire CORE_DBGPWRDOWN; + wire CORE_DBGPWRDOWNACK; + + // In this example system, power control takes place immediately. + // In a real circuit you might need to add delays in the next two + // signal assignments for correct operation. + assign CORE_SYSPWRDOWNACK = CORE_SYSPWRDOWN; + assign CORE_DBGPWRDOWNACK = CORE_DBGPWRDOWN; + + // ------------------------------- + // Core Power Management Unit + // ------------------------------- + // Connectivity - Clock Generation + wire CORE_HCLKG; // Gated Core HCLK + wire CORE_DCLKG; // Gated Core DCLK + wire CORE_SCLKG; // Gated Core SCLK + + assign CORE_HCLK = (CLKGATE_PRESENT==0) ? SYS_FCLK : CORE_HCLKG; + assign CORE_DCLK = (CLKGATE_PRESENT==0) ? SYS_FCLK : CORE_DCLKG; + assign CORE_SCLK = (CLKGATE_PRESENT==0) ? SYS_FCLK : CORE_SCLKG; + + // System HCLK needs to be assigned to System Free-running Clock + // so other managers can still access bus when CPU is sleeping + assign SYS_HCLK = SYS_FCLK; + + // Power Management Unit Instantiation + cortexm0_pmu u_cortexm0_pmu ( + // Power Management Unit Inputs + .FCLK (SYS_FCLK), + .PORESETn (SYS_PORESETn), + .HRESETREQ (SYS_SYSRESETREQ), // from Cores / Watchdog / Debug Controller + .PMUENABLE (SYS_PMUENABLE), // from System Controller + .WICENACK (CORE_WICENACK), // from WIC in integration + + .WAKEUP (CORE_WAKEUP), // from WIC in integration + .CDBGPWRUPREQ (CORE_CDBGPWRUPREQ), + + .SLEEPDEEP (CORE_SLEEPDEEP), + .SLEEPHOLDACKn (CORE_SLEEPHOLDACKn), + .GATEHCLK (CORE_GATEHCLK), + .SYSPWRDOWNACK (CORE_SYSPWRDOWNACK), + .DBGPWRDOWNACK (CORE_DBGPWRDOWNACK), + .CGBYPASS (SYS_TESTMODE), + + // Power Management Unit Outputs + .HCLK (CORE_HCLKG), + .DCLK (CORE_DCLKG), + .SCLK (CORE_SCLKG), + .WICENREQ (CORE_WICENREQ), + .CDBGPWRUPACK (CORE_CDBGPWRUPACK), + .SYSISOLATEn ( ), + .SYSRETAINn ( ), + .SYSPWRDOWN (CORE_SYSPWRDOWN), + .DBGISOLATEn ( ), + .DBGPWRDOWN (CORE_DBGPWRDOWN), + .SLEEPHOLDREQn (CORE_SLEEPHOLDREQn), + .PMUDBGRESETREQ (SYS_PMUDBGRESETREQ), + .PMUHRESETREQ (CORE_PMUHRESETREQ) + ); + + // ------------------------------- + // Reset Control + // ------------------------------- + slcorem0_rst_ctl u_rst_ctl ( + // Inputs + .SYS_GLOBALRESETn (SYS_SYSRESETn), + .SYS_FCLK (SYS_FCLK), + .SYS_HCLK (SYS_HCLK), + .CORE_HCLK (CORE_HCLK), + .CORE_DCLK (CORE_DCLK), + .SYS_SYSRESETREQ (SYS_SYSRESETREQ), + .CORE_PMUHRESETREQ (CORE_PMUHRESETREQ), + .SYS_PMUDBGRESETREQ (SYS_PMUDBGRESETREQ), + .SYS_RSTBYPASS (SYS_TESTMODE), + .SYS_SE (SYS_SCANENABLE), + + // Outputs + .SYS_HRESETREQ (CORE_RSTCTLHRESETREQ), + .SYS_PORESETn (SYS_PORESETn), + .SYS_HRESETn (SYS_HRESETn), + .CORE_HRESETn (CORE_HRESETn), + .CORE_DBGRESETn (CORE_DBGRESETn) + ); +endmodule \ No newline at end of file diff --git a/system/nanosoc_managers/cortexm0/verilog/slcorem0_rst_ctl.v b/system/nanosoc_managers/cortexm0/verilog/slcorem0_rst_ctl.v new file mode 100644 index 0000000000000000000000000000000000000000..dbdea34c82524e46a33526b6f35c6f92ec945746 --- /dev/null +++ b/system/nanosoc_managers/cortexm0/verilog/slcorem0_rst_ctl.v @@ -0,0 +1,138 @@ +//----------------------------------------------------------------------------- +// SoCLabs SLCore-M0 Reset Control - Cortex-M0 Reset Control +// - Added additional reset synchroniser to allow for synchronisation of both +// Core and System versions of HRESETn (system works when CPU is powered down) +// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license. +// +// Contributors +// +// David Mapstone (d.a.mapstone@soton.ac.uk) +// +// Copyright � 2021-3, SoC Labs (www.soclabs.org) +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// The confidential and proprietary information contained in this file may +// only be used by a person authorised under and to the extent permitted +// by a subsisting licensing agreement from ARM Limited. +// +// (C) COPYRIGHT 2009 ARM Limited. +// ALL RIGHTS RESERVED +// +// This entire notice must be reproduced on all copies of this file +// and copies of this file may only be made by a person if such person is +// permitted to do so under the terms of a subsisting license agreement +// from ARM Limited. +// +// SVN Information +// +// Checked In : $Date: 2009-03-21 16:43:18 +0000 (Sat, 21 Mar 2009) $ +// +// Revision : $Revision: 104871 $ +// +// Release Information : Cortex-M0-AT510-r0p0-00rel0 +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// CORTEX-M0 EXAMPLE RESET CONTROLLER +// This module is designed as an example reset controller for the Cortex-M0 +// // processor It takes a global reset that can be asynchronously asserted +// and generates from it synchronously asserted and deasserted resets based +// on synchronous reset requests +// This module is intended to interface to the example PMU provided (cortexm0_pmu.v) +// You can modify this module to suit your requirements +//----------------------------------------------------------------------------- + +module slcorem0_rst_ctl + (/*AUTOARG*/ + // Outputs + SYS_PORESETn, SYS_HRESETn, CORE_HRESETn, CORE_DBGRESETn, SYS_HRESETREQ, + // Inputs + SYS_GLOBALRESETn, SYS_FCLK, CORE_HCLK, CORE_DCLK, SYS_HCLK, SYS_SYSRESETREQ, + CORE_PMUHRESETREQ, SYS_PMUDBGRESETREQ, SYS_RSTBYPASS, SYS_SE + ); + + input SYS_GLOBALRESETn; // Global asynchronous reset + input SYS_FCLK; // System Free running clock + input SYS_HCLK; // AHB clock (connect to HCLK of non-cortex m0 devices) + input CORE_HCLK; // AHB clock (connect to HCLK of CORTEXM0INTEGRATION) + input CORE_DCLK; // Debug clock (connect to DCLK of CORTEXM0INTEGRATION) + input SYS_SYSRESETREQ; // Synchronous (to HCLK) request for HRESETn from system + input CORE_PMUHRESETREQ; // Synchronous (to CORE_HCLK) request for HRESETn from PMU + input SYS_PMUDBGRESETREQ; // Synchronous (to CORE_DCLK) request for DBGRESETn from PMU + input SYS_RSTBYPASS; // Reset synchroniser bypass (for DFT) + input SYS_SE; // Scan Enable (for DFT) + + output SYS_HRESETREQ; // Synchronous (to FCLK) indication of HRESET request + output SYS_PORESETn; // Connect to PORESETn of CORTEXM0INTEGRATION + output SYS_HRESETn; // Connect to HRESETn of AHB System + output CORE_HRESETn; // Connect to HRESETn of CORTEXM0INTEGRATION + output CORE_DBGRESETn; // Connect to DBGRESETn of CORTEXM0INTEGRATION + + // Sample synchronous requests to assert HRESETn + // Sources: + // 1 - System (SYSRESETREQ) + // 2 - PMU (PMUHRESETREQ) + wire h_reset_req_in = SYS_SYSRESETREQ | CORE_PMUHRESETREQ; + + cm0_rst_send_set u_hreset_req + (.RSTn (SYS_PORESETn), + .CLK (SYS_FCLK), + .RSTREQIN (h_reset_req_in), + .RSTREQOUT (SYS_HRESETREQ) + ); + + // Sample synchronous requests to assert DBGRESETn + wire dbg_reset_req_sync; + + cm0_rst_send_set u_dbgreset_req + (.RSTn (SYS_PORESETn), + .CLK (SYS_FCLK), + .RSTREQIN (SYS_PMUDBGRESETREQ), + .RSTREQOUT (dbg_reset_req_sync) + ); + + // -------------------- + // Reset synchronisers + // -------------------- + + cm0_rst_sync u_sys_poresetn_sync + (.RSTINn (SYS_GLOBALRESETn), + .RSTREQ (1'b0), + .CLK (SYS_FCLK), + .SE (SYS_SE), + .RSTBYPASS (SYS_RSTBYPASS), + .RSTOUTn (SYS_PORESETn) + ); + + cm0_rst_sync u_sys_hresetn_sync + (.RSTINn (SYS_GLOBALRESETn), + .RSTREQ (SYS_HRESETREQ), + .CLK (SYS_HCLK), + .SE (SYS_SE), + .RSTBYPASS (SYS_RSTBYPASS), + .RSTOUTn (SYS_HRESETn) + ); + + cm0_rst_sync u_core_hresetn_sync + (.RSTINn (SYS_GLOBALRESETn), + .RSTREQ (SYS_HRESETREQ), + .CLK (CORE_HCLK), + .SE (SYS_SE), + .RSTBYPASS (SYS_RSTBYPASS), + .RSTOUTn (CORE_HRESETn) + ); + + cm0_rst_sync u_core_dbgresetn_sync + (.RSTINn (SYS_GLOBALRESETn), + .RSTREQ (dbg_reset_req_sync), + .CLK (CORE_DCLK), + .SE (SYS_SE), + .RSTBYPASS (SYS_RSTBYPASS), + .RSTOUTn (CORE_DBGRESETn) + ); + +endmodule // cortexm0_rst_ctl + + + diff --git a/system/nanosoc_regions/bootrom/verilog/nanosoc_ahb_bootrom.v b/system/nanosoc_regions/bootrom_0/verilog/nanosoc_ahb_bootrom.v similarity index 100% rename from system/nanosoc_regions/bootrom/verilog/nanosoc_ahb_bootrom.v rename to system/nanosoc_regions/bootrom_0/verilog/nanosoc_ahb_bootrom.v diff --git a/system/nanosoc_regions/bootrom/verilog/nanosoc_region_bootrom.v b/system/nanosoc_regions/bootrom_0/verilog/nanosoc_region_bootrom_0.v similarity index 98% rename from system/nanosoc_regions/bootrom/verilog/nanosoc_region_bootrom.v rename to system/nanosoc_regions/bootrom_0/verilog/nanosoc_region_bootrom_0.v index 94ce02faf33658abbd0c384f3eee81a6f6448cbe..7459a0a6e74359e6e1ca21f99ab6dcb1928c7e19 100644 --- a/system/nanosoc_regions/bootrom/verilog/nanosoc_region_bootrom.v +++ b/system/nanosoc_regions/bootrom_0/verilog/nanosoc_region_bootrom_0.v @@ -11,7 +11,7 @@ // Copyright 2021-3, SoC Labs (www.soclabs.org) //----------------------------------------------------------------------------- -module nanosoc_region_bootrom #( +module nanosoc_region_bootrom_0 #( parameter SYS_ADDR_W = 32, // System Address Width parameter SYS_DATA_W = 32, // System Data Width parameter BOOTROM_ADDR_W = 10 // Size of Bootrom (Based on Address Width) - Default 1KB diff --git a/system/nanosoc_regions/dmem/verilog/nanosoc_region_dmem.v b/system/nanosoc_regions/dmem_0/verilog/nanosoc_region_dmem_0.v similarity index 98% rename from system/nanosoc_regions/dmem/verilog/nanosoc_region_dmem.v rename to system/nanosoc_regions/dmem_0/verilog/nanosoc_region_dmem_0.v index 95b106e45f50c7252bcb1572c9a440fc110d3b0b..afdf9b884de03304248a313a06965f4568af3876 100644 --- a/system/nanosoc_regions/dmem/verilog/nanosoc_region_dmem.v +++ b/system/nanosoc_regions/dmem_0/verilog/nanosoc_region_dmem_0.v @@ -10,7 +10,7 @@ // Copyright 2021-3, SoC Labs (www.soclabs.org) //----------------------------------------------------------------------------- -module nanosoc_region_dmem #( +module nanosoc_region_dmem_0 #( parameter SYS_ADDR_W = 32, // System Address Width parameter SYS_DATA_W = 32, // System Data Width parameter DMEM_RAM_ADDR_W = 14, // Width of DMEM RAM Address - Default 16KB diff --git a/system/nanosoc_regions/imem/verilog/nanosoc_region_imem.v b/system/nanosoc_regions/imem_0/verilog/nanosoc_region_imem_0.v similarity index 98% rename from system/nanosoc_regions/imem/verilog/nanosoc_region_imem.v rename to system/nanosoc_regions/imem_0/verilog/nanosoc_region_imem_0.v index 11ce6a6125778ed76c800c6630e747d21376a293..52a8a46bf366623c4e7bb53d90b76464ffeade07 100644 --- a/system/nanosoc_regions/imem/verilog/nanosoc_region_imem.v +++ b/system/nanosoc_regions/imem_0/verilog/nanosoc_region_imem_0.v @@ -11,7 +11,7 @@ // Copyright 2021-3, SoC Labs (www.soclabs.org) //----------------------------------------------------------------------------- -module nanosoc_region_imem #( +module nanosoc_region_imem_0 #( parameter SYS_ADDR_W = 32, // System Address Width parameter SYS_DATA_W = 32, // System Data Width parameter IMEM_RAM_ADDR_W = 14, // Width of IMEM RAM Address - Default 16KB diff --git a/system/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v b/system/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v index 2c484541bf8a348be1c68d136f02bc2cb7aaf09b..532e6721cc4e2254f3085ca15015966b4cb96aa9 100644 --- a/system/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v +++ b/system/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v @@ -148,7 +148,7 @@ module nanosoc_region_sysio #( // AHB address decode - nanosoc_sys_ahb_decode #( + nanosoc_sysio_decode #( .BASEADDR_GPIO0 (BASEADDR_GPIO0), .BASEADDR_GPIO1 (BASEADDR_GPIO1), .BASEADDR_SYSROMTABLE (BASEADDR_SYSROMTABLE) @@ -243,8 +243,7 @@ module nanosoc_region_sysio #( // ------------------------------- // System ROM Table // ------------------------------- - nanosoc_ahb_cs_rom_table - #(//.JEPID (), + nanosoc_ahb_cs_rom_table #(//.JEPID (), //.JEPCONTINUATION (), //.PARTNUMBER (), //.REVISION (), @@ -278,9 +277,9 @@ module nanosoc_region_sysio #( // Peripherals // ------------------------------- - nanosoc_mcu_sysctrl #( + nanosoc_sysctrl #( .BE (BE) - ) u_nanosoc_mcu_sysctrl ( + ) u_nanosoc_sysctrl ( // AHB Inputs .HCLK (HCLK), .HRESETn (HRESETn), @@ -377,7 +376,7 @@ module nanosoc_region_sysio #( ); // APB subsystem for timers, UARTs - nanosoc_apb_subsystem #( + nanosoc_sysio_apb_ss #( .APB_EXT_PORT12_ENABLE (1), .APB_EXT_PORT13_ENABLE (1), .APB_EXT_PORT14_ENABLE (1), @@ -392,7 +391,7 @@ module nanosoc_region_sysio #( .INCLUDE_APB_UART2 (1), // Include simple UART #2. .INCLUDE_APB_WATCHDOG (1), // Include APB watchdog module .BE (BE) - ) u_nanosoc_apb_subsystem ( + ) u_nanosoc_sysio_apb_ss ( // AHB interface for AHB to APB bridge .HCLK (HCLK), diff --git a/system/nanosoc_regions/sysio/verilog/nanosoc_apb_subsystem.v b/system/nanosoc_regions/sysio/verilog/nanosoc_sysio_apb_ss.v similarity index 99% rename from system/nanosoc_regions/sysio/verilog/nanosoc_apb_subsystem.v rename to system/nanosoc_regions/sysio/verilog/nanosoc_sysio_apb_ss.v index e3e46d37b66c56d86faaee04e022e4107db3ac21..124d342120bd4013f87b6382476ba94328f004db 100755 --- a/system/nanosoc_regions/sysio/verilog/nanosoc_apb_subsystem.v +++ b/system/nanosoc_regions/sysio/verilog/nanosoc_sysio_apb_ss.v @@ -34,7 +34,7 @@ //----------------------------------------------------------------------------- // Abstract : APB sub system //----------------------------------------------------------------------------- -module nanosoc_apb_subsystem #( +module nanosoc_sysio_apb_ss #( // Enable setting for APB extension ports // By default, all four extension ports are not used. // This can be overriden by parameters at instantiations. diff --git a/system/nanosoc_subsystems/cpu/verilog/nanosoc_ss_cpu.v b/system/nanosoc_subsystems/cpu/verilog/nanosoc_ss_cpu.v new file mode 100644 index 0000000000000000000000000000000000000000..8c796e132aa82406ef99029fc4c920d1625da9b5 --- /dev/null +++ b/system/nanosoc_subsystems/cpu/verilog/nanosoc_ss_cpu.v @@ -0,0 +1,286 @@ +//----------------------------------------------------------------------------- +// NanoSoC CPU Subsystem - Contains CPU Core, Memory and Clock and Reset Control +// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license. +// +// Contributors +// +// David Mapstone (d.a.masptone@soton.ac.uk) +// +// Copyright (C) 2023, SoC Labs (www.soclabs.org) +//----------------------------------------------------------------------------- + +module nanosoc_ss_cpu #( + // System Parameters + parameter SYS_ADDR_W = 32, // System Address Width + parameter SYS_DATA_W = 32, // System Data Width + + // CPU Parameters + parameter CLKGATE_PRESENT = 0, + parameter BE = 0, // 1: Big endian 0: little endian + parameter BKPT = 4, // Number of breakpoint comparators + parameter DBG = 1, // Debug configuration + parameter NUMIRQ = 32, // NUM of IRQ + parameter SMUL = 0, // Multiplier configuration + parameter SYST = 1, // SysTick + parameter WIC = 1, // Wake-up interrupt controller support + parameter WICLINES = 34, // Supported WIC lines + parameter WPT = 2, // Number of DWT comparators + parameter RESET_ALL_REGS = 0, // Do not reset all registers + parameter INCLUDE_JTAG = 0, // Do not Include JTAG feature + + // Bootrom 0 Parameters + parameter BOOTROM_ADDR_W = 10, // Size of Bootrom (Based on Address Width) - Default 1KB + + // IMEM 0 Parameters + parameter IMEM_RAM_ADDR_W = 14, // Width of IMEM RAM Address - Default 16KB + parameter IMEM_RAM_DATA_W = 32, // Width of IMEM RAM Data Bus - Default 32 bits + parameter IMEM_RAM_FPGA_IMG = "image.hex", // Image to Preload into SRAM + + // DMEM 0 Parameters + parameter DMEM_RAM_ADDR_W = 14, // Width of IMEM RAM Address - Default 16KB + parameter DMEM_RAM_DATA_W = 32 // Width of IMEM RAM Data Bus - Default 32 bits +)( + // System Input Clocks and Resets + input wire SYS_FCLK, // Free running clock + input wire SYS_SYSRESETn, // System Reset + input wire SYS_SCANENABLE, // Scan Mode Enable + input wire SYS_TESTMODE, // Test Mode Enable (Override Synchronisers) + + // System Reset Request Signals + input wire SYS_SYSRESETREQ, // System Request from System Managers + output wire SYS_PRMURESETREQ, // CPU Control Reset Request (PMU and Reset Unit) + + // Generated Clocks and Resets + output wire SYS_PORESETn, // System Power On Reset + output wire SYS_HCLK, // AHB Clock + output wire SYS_HRESETn, // AHB and System reset + + // Power Management Signals + input wire SYS_PMUENABLE, // Power Management Enable + output wire SYS_PMUDBGRESETREQ, // Power Management Debug Reset Req + + // CPU 0 AHB Lite port + output wire [31:0] CPU_0_HADDR, // Address bus + output wire [1:0] CPU_0_HTRANS, // Transfer type + output wire CPU_0_HWRITE, // Transfer direction + output wire [2:0] CPU_0_HSIZE, // Transfer size + output wire [2:0] CPU_0_HBURST, // Burst type + output wire [3:0] CPU_0_HPROT, // Protection control + output wire [31:0] CPU_0_HWDATA, // Write data + output wire CPU_0_HMASTLOCK, // Locked Sequence + input wire [31:0] CPU_0_HRDATA, // Read data bus + input wire CPU_0_HREADY, // HREADY feedback + input wire CPU_0_HRESP, // Transfer response + + // Bootrom 0 AHB Lite port + input wire [31:0] BOOTROM_0_HADDR, // Address bus + input wire [1:0] BOOTROM_0_HTRANS, // Transfer type + input wire BOOTROM_0_HWRITE, // Transfer direction + input wire [2:0] BOOTROM_0_HSIZE, // Transfer size + input wire [2:0] BOOTROM_0_HBURST, // Burst type + input wire [3:0] BOOTROM_0_HPROT, // Protection control + input wire [31:0] BOOTROM_0_HWDATA, // Write data + input wire BOOTROM_0_HMASTLOCK, // Locked Sequence + output wire [31:0] BOOTROM_0_HRDATA, // Read data bus + output wire BOOTROM_0_HREADY, // HREADY feedback + output wire BOOTROM_0_HRESP, // Transfer response + + // IMEM 0 AHB Lite port + input wire [31:0] IMEM_0_HADDR, // Address bus + input wire [1:0] IMEM_0_HTRANS, // Transfer type + input wire IMEM_0_HWRITE, // Transfer direction + input wire [2:0] IMEM_0_HSIZE, // Transfer size + input wire [2:0] IMEM_0_HBURST, // Burst type + input wire [3:0] IMEM_0_HPROT, // Protection control + input wire [31:0] IMEM_0_HWDATA, // Write data + input wire IMEM_0_HMASTLOCK, // Locked Sequence + output wire [31:0] IMEM_0_HRDATA, // Read data bus + output wire IMEM_0_HREADY, // HREADY feedback + output wire IMEM_0_HRESP, // Transfer response + + // DMEM 0 AHB Lite port + input wire [31:0] DMEM_0_HADDR, // Address bus + input wire [1:0] DMEM_0_HTRANS, // Transfer type + input wire DMEM_0_HWRITE, // Transfer direction + input wire [2:0] DMEM_0_HSIZE, // Transfer size + input wire [2:0] DMEM_0_HBURST, // Burst type + input wire [3:0] DMEM_0_HPROT, // Protection control + input wire [31:0] DMEM_0_HWDATA, // Write data + input wire DMEM_0_HMASTLOCK, // Locked Sequence + output wire [31:0] DMEM_0_HRDATA, // Read data bus + output wire DMEM_0_HREADY, // HREADY feedback + output wire DMEM_0_HRESP, // Transfer response + + // CPU Sideband signalling + input wire CPU_0_NMI, // Non-Maskable Interrupt request + input wire [31:0] CPU_0_IRQ, // Maskable Interrupt requests + output wire CPU_0_TXEV, // Send Event (SEV) output + input wire CPU_0_RXEV, // Receive Event input + output wire CPU_0_LOCKUP, // Wake up request from WIC + output wire CPU_0_SYSRESETREQ, // System reset request + + output wire CPU_0_SLEEPING, // Processor status - sleeping + output wire CPU_0_SLEEPDEEP, // Processor status - deep sleep + + // Serial-Wire Debug + input wire CPU_0_SWDI, // SWD data input + input wire CPU_0_SWCLK, // SWD clock + output wire CPU_0_SWDO, // SWD data output + output wire CPU_0_SWDOEN // SWD data output enable +); + // ------------------------------- + // CPU Core 0 Instantiation + // ------------------------------- + slcorem0 #( + .ACG (CLKGATE_PRESENT), // Architectural clock gating + .BE (BE), // Big-endian + .BKPT (BKPT), // Number of breakpoint comparators + .DBG (DBG), // Debug configuration + .JTAGnSW (INCLUDE_JTAG), // Debug port interface: JTAGnSW + .NUMIRQ (NUMIRQ), // Number of Interrupts + .RAR (RESET_ALL_REGS), // Reset All Registers + .SMUL (SMUL), // Multiplier configuration + .SYST (SYST), // SysTick + .WIC (WIC), // Wake-up interrupt controller support + .WICLINES (WICLINES), // Supported WIC lines + .WPT (WPT) // Number of DWT comparators + ) u_manager_cpu_0 ( + // System Input Clocks and Resets + .SYS_FCLK(SYS_FCLK), + .SYS_SYSRESETn(SYS_SYSRESETn), + .SYS_SCANENABLE(SYS_SCANENABLE), + .SYS_TESTMODE(SYS_TESTMODE), + + // System Reset Request Signals + .SYS_SYSRESETREQ(SYS_SYSRESETREQ), + .SYS_PRMURESETREQ(SYS_PRMURESETREQ), + + // Generated Clocks and Resets + .SYS_PORESETn(SYS_PORESETn), + .SYS_HCLK(SYS_HCLK), + .SYS_HRESETn(SYS_HRESETn), + + // Power Management Signals + .SYS_PMUENABLE(SYS_PMUENABLE), + .SYS_PMUDBGRESETREQ(SYS_PMUDBGRESETREQ), + + // AHB Lite port + .HADDR(CPU_0_HADDR), + .HTRANS(CPU_0_HTRANS), + .HWRITE(CPU_0_HWRITE), + .HSIZE(CPU_0_HSIZE), + .HBURST(CPU_0_HBURST), + .HPROT(CPU_0_HPROT), + .HWDATA(CPU_0_HWDATA), + .HMASTLOCK(CPU_0_HMASTLOCK), + .HRDATA(CPU_0_HRDATA), + .HREADY(CPU_0_HREADY), + .HRESP(CPU_0_HRESP), + + // Sideband CPU signalling + .CORE_NMI(CPU_0_NMI), + .CORE_IRQ(CPU_0_IRQ), + .CORE_TXEV(CPU_0_TXEV), + .CORE_RXEV(CPU_0_RXEV), + .CORE_LOCKUP(CPU_0_LOCKUP), + .CORE_SYSRESETREQ(CPU_0_SYSRESETREQ), + + .CORE_SLEEPING(CPU_0_SLEEPING), + .CORE_SLEEPDEEP(CPU_0_SLEEPDEEP), + + // Serial-Wire Debug + .CORE_SWDI(CPU_0_SWDI), + .CORE_SWCLK(CPU_0_SWCLK), + .CORE_SWDO(CPU_0_SWDO), + .CORE_SWDOEN(CPU_0_SWDOEN) + ); + + // ---------------------------------- + // CPU 0 Bootrom Region Instantiation + // ---------------------------------- + nanosoc_region_bootrom_0 #( + .SYS_ADDR_W (SYS_ADDR_W), + .SYS_DATA_W (SYS_DATA_W), + .BOOTROM_ADDR_W (BOOTROM_ADDR_W) + ) u_region_bootrom_0 ( + // Clock and Reset + .HCLK(SYS_HCLK), + .HRESETn(SYS_HRESETn), + + // AHB connection to Initiator + .HSEL(BOOTROM_0_HSEL), + .HADDR(BOOTROM_0_HADDR), + .HTRANS(BOOTROM_0_HTRANS), + .HSIZE(BOOTROM_0_HSIZE), + .HPROT(BOOTROM_0_HPROT), + .HWRITE(BOOTROM_0_HWRITE), + .HREADY(BOOTROM_0_HREADY), + .HWDATA(BOOTROM_0_HWDATA), + + // Outputs + .HREADYOUT(BOOTROM_0_HREADYOUT), + .HRESP(BOOTROM_0_HRESP), + .HRDATA(BOOTROM_0_HRDATA) + ); + + // ----------------------------------------------- + // CPU 0 Instruction Memory Region Instantiation + // ----------------------------------------------- + nanosoc_region_imem_0 #( + .SYS_ADDR_W (SYS_ADDR_W), + .SYS_DATA_W (SYS_DATA_W), + .IMEM_RAM_ADDR_W (IMEM_RAM_ADDR_W), + .IMEM_RAM_DATA_W (IMEM_RAM_DATA_W), + .IMEM_RAM_FPGA_IMG (IMEM_RAM_FPGA_IMG) + ) u_region_imem_0 ( + // Clock and Reset + .HCLK(SYS_HCLK), + .HRESETn(SYS_HRESETn), + + // AHB connection to Initiator + .HSEL(IMEM_0_HSEL), + .HADDR(IMEM_0_HADDR), + .HTRANS(IMEM_0_HTRANS), + .HSIZE(IMEM_0_HSIZE), + .HPROT(IMEM_0_HPROT), + .HWRITE(IMEM_0_HWRITE), + .HREADY(IMEM_0_HREADY), + .HWDATA(IMEM_0_HWDATA), + + // Outputs + .HREADYOUT(IMEM_0_HREADYOUT), + .HRESP(IMEM_0_HRESP), + .HRDATA(IMEM_0_HRDATA) + ); + + // --------------------------------------- + // CPU 0 Data Memory Region Instantiation + // --------------------------------------- + nanosoc_region_dmem_0 #( + .SYS_ADDR_W (SYS_ADDR_W), + .SYS_DATA_W (SYS_DATA_W), + .DMEM_RAM_ADDR_W (DMEM_RAM_ADDR_W), + .DMEM_RAM_DATA_W (DMEM_RAM_DATA_W) + ) u_region_dmem_0 ( + // Clock and Reset + .HCLK(SYS_HCLK), + .HRESETn(SYS_HRESETn), + + // AHB connection to Initiator + .HSEL(DMEM_0_HSEL), + .HADDR(DMEM_0_HADDR), + .HTRANS(DMEM_0_HTRANS), + .HSIZE(DMEM_0_HSIZE), + .HPROT(DMEM_0_HPROT), + .HWRITE(DMEM_0_HWRITE), + .HREADY(DMEM_0_HREADY), + .HWDATA(DMEM_0_HWDATA), + + // Outputs + .HREADYOUT(DMEM_0_HREADYOUT), + .HRESP(DMEM_0_HRESP), + .HRDATA(DMEM_0_HRDATA) + ); + + +endmodule \ No newline at end of file