<?xml version="1.0" encoding="UTF-8"?>
<!--
//
// Copyright (c) 2005, 2006, 2007, 2009 The SPIRIT Consortium.  All rights reserved.
// www.spiritconsortium.org
//
// THIS WORK FORMS PART OF A SPIRIT CONSORTIUM SPECIFICATION.
// USE OF THESE MATERIALS ARE GOVERNED BY
// THE LEGAL TERMS AND CONDITIONS OUTLINED IN THE SPIRIT
// SPECIFICATION DISCLAIMER AVAILABLE FROM
// www.spiritconsortium.org
//
// This source file is provided on an AS IS basis. The SPIRIT Consortium disclaims 
// ANY WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF
// MERCHANTABILITY AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. 
// The user of the source file shall indemnify and hold The SPIRIT Consortium harmless
// from any damages or liability arising out of the use thereof or the performance or
// implementation or partial implementation of the schema.
//
-->
<ipxact:abstractor xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2022"
                   xsi:schemaLocation="http://www.accellera.org/XMLSchema/IPXACT/1685-2022 http://www.accellera.org/XMLSchema/IPXACT/1685-2022/index.xsd">
   <ipxact:vendor>spiritconsortium.org</ipxact:vendor>
   <ipxact:library>Leon2RTL</ipxact:library>
   <ipxact:name>SpiritAPB2ArmAPB</ipxact:name>
   <ipxact:version>1.0</ipxact:version>
   <ipxact:abstractorMode>target</ipxact:abstractorMode>
   <ipxact:busType library="AMBA2" name="APB" vendor="amba.com" version="r2p0_4"/>
   <ipxact:abstractorInterfaces>
      <ipxact:abstractorInterface>
         <ipxact:name>APBMS</ipxact:name>
         <ipxact:abstractionTypes>
            <ipxact:abstractionType>
               <ipxact:abstractionRef library="busdef.amba"
                                      name="APB_rtl"
                                      vendor="spiritconsortium.org"
                                      version="1.0"/>
               <ipxact:portMaps>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>Select</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>pselMS</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>Enable</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>penableMS</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>Address</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>paddrMS</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>Write</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>pwriteMS</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>WriteData</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>pwdataMS</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>ReadData</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>prdataMS</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>Clock</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>clkMS</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>Resetn</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>rstMS</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
               </ipxact:portMaps>
            </ipxact:abstractionType>
         </ipxact:abstractionTypes>
      </ipxact:abstractorInterface>
      <ipxact:abstractorInterface>
         <ipxact:name>APBS</ipxact:name>
         <ipxact:abstractionTypes>
            <ipxact:abstractionType>
               <ipxact:abstractionRef library="AMBA2"
                                      name="APB_rtl"
                                      vendor="amba.com"
                                      version="r2p0_4"/>
               <ipxact:portMaps>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PSELx</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>pselS</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PENABLE</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>penableS</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PADDR</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>paddrS</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PWRITE</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>pwriteS</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PWDATA</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>pwdataS</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PRDATA</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>prdataS</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PCLK</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>clkS</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PRESETn</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>rstS</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
               </ipxact:portMaps>
            </ipxact:abstractionType>
         </ipxact:abstractionTypes>
      </ipxact:abstractorInterface>
   </ipxact:abstractorInterfaces>
   <ipxact:model>
      <ipxact:views>
         <ipxact:view>
            <ipxact:name>vhdlsource</ipxact:name>
            <ipxact:envIdentifier>:modelsim.mentor.com:</ipxact:envIdentifier>
            <ipxact:envIdentifier>:ncsim.cadence.com:</ipxact:envIdentifier>
            <ipxact:envIdentifier>:vcs.synopsys.com:</ipxact:envIdentifier>
            <ipxact:envIdentifier>:designcompiler.synopsys.com:</ipxact:envIdentifier>
            <ipxact:componentInstantiationRef>vhdlsource</ipxact:componentInstantiationRef>
         </ipxact:view>
      </ipxact:views>
      <ipxact:instantiations>
         <ipxact:componentInstantiation>
            <ipxact:name>vhdlsource</ipxact:name>
            <ipxact:language>vhdl</ipxact:language>
            <ipxact:moduleName>SpiritAPB2ArmAPB(struct)</ipxact:moduleName>
            <ipxact:fileSetRef>
               <ipxact:localName>fs-vhdlSource</ipxact:localName>
            </ipxact:fileSetRef>
         </ipxact:componentInstantiation>
      </ipxact:instantiations>
      <ipxact:ports>
         <ipxact:port>
            <ipxact:name>clkMS</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>phantom</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>rstMS</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>phantom</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>pselMS</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>penableMS</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>paddrMS</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>31</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>pwriteMS</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>pwdataMS</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>31</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>prdataMS</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>31</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>clkS</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>phantom</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>rstS</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>phantom</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>pselS</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>penableS</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>paddrS</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>31</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>pwriteS</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>pwdataS</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>31</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>prdataS</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>31</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
      </ipxact:ports>
   </ipxact:model>
   <ipxact:fileSets>
      <ipxact:fileSet>
         <ipxact:name>fs-vhdlSource</ipxact:name>
         <ipxact:file>
            <ipxact:name>./hdlsrc/SpiritAPB2ArmAPB.vhd</ipxact:name>
            <ipxact:fileType>vhdlSource</ipxact:fileType>
            <ipxact:logicalName>SpiritAPB2ArmAPB_lib</ipxact:logicalName>
         </ipxact:file>
      </ipxact:fileSet>
   </ipxact:fileSets>
</ipxact:abstractor>
