<?xml version="1.0" encoding="UTF-8"?>
<!--
	// =============================================================================
	// This confidential and proprietary software may be used only as
	// authorised by a licensing agreement from ARM Limited
	//   (C) COPYRIGHT 2005,2007 ARM Limited
	//       ALL RIGHTS RESERVED
	// The entire notice above must be reproduced on all authorised
	// copies and copies may only be made to the extent permitted
	// by a licensing agreement from ARM Limited.
	//
	// =============================================================================
	//
	// Purpose :
	//           This defines the AMBA Advanced Peripheral Bus (APB) (3)
	//
	// =============================================================================
-->
<ipxact:abstractionDefinition 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>busdef.examples.only</ipxact:library>
   <ipxact:name>abstractionExampleAPB</ipxact:name>
   <ipxact:version>example</ipxact:version>
   <ipxact:busType library="AMBA2" name="APB" vendor="amba.com" version="r2p0_4"/>
   <ipxact:ports>
      <ipxact:port>
         <ipxact:logicalName>Clock</ipxact:logicalName>
         <ipxact:wire>
            <ipxact:qualifier>
               <ipxact:isClock>true</ipxact:isClock>
            </ipxact:qualifier>
            <ipxact:onSystem>
               <ipxact:group>apb_clk</ipxact:group>
               <ipxact:width>1</ipxact:width>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:onSystem>
            <ipxact:onInitiator>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:onInitiator>
            <ipxact:onTarget>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:onTarget>
         </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
         <ipxact:logicalName>Resetn</ipxact:logicalName>
         <ipxact:wire>
            <ipxact:qualifier>
               <ipxact:isReset>true</ipxact:isReset>
            </ipxact:qualifier>
            <ipxact:onSystem>
               <ipxact:group>apb_reset</ipxact:group>
               <ipxact:width>1</ipxact:width>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:onSystem>
            <ipxact:onInitiator>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:onInitiator>
            <ipxact:onTarget>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:onTarget>
         </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
         <ipxact:logicalName>Address</ipxact:logicalName>
         <ipxact:wire>
            <ipxact:qualifier>
               <ipxact:isAddress>true</ipxact:isAddress>
            </ipxact:qualifier>
            <ipxact:onInitiator>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:onInitiator>
            <ipxact:onTarget>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:onTarget>
         </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
         <ipxact:logicalName>Select</ipxact:logicalName>
         <ipxact:wire>
            <ipxact:onInitiator>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:onInitiator>
            <ipxact:onTarget>
               <ipxact:width>1</ipxact:width>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:onTarget>
         </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
         <ipxact:logicalName>Enable</ipxact:logicalName>
         <ipxact:wire>
            <ipxact:onInitiator>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:onInitiator>
            <ipxact:onTarget>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:onTarget>
         </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
         <ipxact:logicalName>Write</ipxact:logicalName>
         <ipxact:wire>
            <ipxact:onInitiator>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:onInitiator>
            <ipxact:onTarget>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:onTarget>
         </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
         <ipxact:logicalName>ReadData</ipxact:logicalName>
         <ipxact:wire>
            <ipxact:qualifier>
               <ipxact:isData>true</ipxact:isData>
            </ipxact:qualifier>
            <ipxact:onInitiator>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:onInitiator>
            <ipxact:onTarget>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:onTarget>
         </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
         <ipxact:logicalName>WriteData</ipxact:logicalName>
         <ipxact:wire>
            <ipxact:qualifier>
               <ipxact:isData>true</ipxact:isData>
            </ipxact:qualifier>
            <ipxact:onInitiator>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:onInitiator>
            <ipxact:onTarget>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:onTarget>
         </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
         <ipxact:logicalName>ClockEnable</ipxact:logicalName>
         <ipxact:wire>
            <ipxact:onSystem>
               <ipxact:group>apb_clk</ipxact:group>
               <ipxact:width>1</ipxact:width>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:onSystem>
            <ipxact:onInitiator>
               <ipxact:width>1</ipxact:width>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:onInitiator>
            <ipxact:onTarget>
               <ipxact:width>1</ipxact:width>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:onTarget>
         </ipxact:wire>
      </ipxact:port>
   </ipxact:ports>
</ipxact:abstractionDefinition>
