URL
https://opencores.org/ocsvn/socgen/socgen/trunk
Subversion Repositories socgen
[/] [socgen/] [trunk/] [Projects/] [opencores.org/] [wishbone/] [busDefs/] [abstractors/] [wb_b.2_rtl.xml] - Rev 135
Compare with Previous | Blame | View Log
<?xml version="1.0" encoding="UTF-8"?>
<!--
// //
// Author : John Eaton Ouabache Designworks //
// //
// Copyright (C) 2013 Authors and OPENCORES.ORG //
// //
// This source file may be used and distributed without //
// restriction provided that this copyright statement is not //
// removed from the file and that any derivative work contains //
// the original copyright notice and the associated disclaimer. //
// //
// This source file is free software; you can redistribute it //
// and/or modify it under the terms of the GNU Lesser General //
// Public License as published by the Free Software Foundation; //
// either version 2.1 of the License, or (at your option) any //
// later version. //
// //
// This source is distributed in the hope that it will be //
// useful, but WITHOUT ANY WARRANTY; without even the implied //
// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR //
// PURPOSE. See the GNU Lesser General Public License for more //
// details. //
// //
// You should have received a copy of the GNU Lesser General //
// Public License along with this source; if not, download it //
// from http://www.opencores.org/lgpl.shtml //
// //
-->
<ipxact:abstractionDefinition
xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"
xmlns:socgen="http://opencores.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.accellera.org/XMLSchema/IPXACT/1685-2014
http://www.accellera.org/XMLSchema/IPXACT/1685-2014/index.xsd">
<ipxact:vendor>opencores.org</ipxact:vendor>
<ipxact:library>wishbone</ipxact:library>
<ipxact:name>wb</ipxact:name>
<ipxact:version>b.2_rtl</ipxact:version>
<ipxact:busType vendor="opencores.org" library="wishbone" name="wb" version="b.2"/>
<ipxact:ports>
<ipxact:port>
<ipxact:logicalName>clk</ipxact:logicalName>
<ipxact:description>The clock input coordinates all activities for the internal logic within the WISHBONE interconnect. All WISHBONE output signals are registered at the rising edge of clk. All WISHBONE input signals are stable before the rising edge of clk.</ipxact:description>
<ipxact:wire>
<ipxact:qualifier>
<ipxact:isClock>true</ipxact:isClock>
</ipxact:qualifier>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>CLOCK</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>required</ipxact:presence>
<ipxact:width>1</ipxact:width>
<ipxact:direction>out</ipxact:direction>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>RESET</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>optional</ipxact:presence>
<ipxact:width>1</ipxact:width>
<ipxact:direction>out</ipxact:direction>
</ipxact:onSystem>
<ipxact:onMaster>
<ipxact:presence>required</ipxact:presence>
<ipxact:width>1</ipxact:width>
<ipxact:direction>in</ipxact:direction>
</ipxact:onMaster>
<ipxact:onSlave>
<ipxact:presence>required</ipxact:presence>
<ipxact:width>1</ipxact:width>
<ipxact:direction>in</ipxact:direction>
</ipxact:onSlave>
<ipxact:requiresDriver ipxact:driverType="clock">true</ipxact:requiresDriver>
</ipxact:wire>
</ipxact:port>
<ipxact:port>
<ipxact:logicalName>enable</ipxact:logicalName>
<ipxact:description>The enable input determines if a clk cycle should be acted upon or ignored for all operations including reset.</ipxact:description>
<ipxact:wire>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>CLOCK</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>ENABLE</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>required</ipxact:presence>
<ipxact:width>1</ipxact:width>
<ipxact:direction>out</ipxact:direction>
</ipxact:onSystem>
<ipxact:onMaster>
<ipxact:presence>optional</ipxact:presence>
<ipxact:width>1</ipxact:width>
<ipxact:direction>in</ipxact:direction>
</ipxact:onMaster>
<ipxact:onSlave>
<ipxact:presence>optional</ipxact:presence>
<ipxact:width>1</ipxact:width>
<ipxact:direction>in</ipxact:direction>
</ipxact:onSlave>
</ipxact:wire>
</ipxact:port>
<ipxact:port>
<ipxact:logicalName>rst</ipxact:logicalName>
<ipxact:description>The rst input forces the WISHBONE interface to restart. Furthermore, all internal self-starting state machines will be forced into an initial state. This signal only resets the WISHBONE interface. It is not required to reset other parts of an IP core (although it may be used that way).</ipxact:description>
<ipxact:wire>
<ipxact:qualifier>
<ipxact:isReset>true</ipxact:isReset>
</ipxact:qualifier>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>CLOCK</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>ENABLE</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>RESET</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>required</ipxact:presence>
<ipxact:width>1</ipxact:width>
<ipxact:direction>out</ipxact:direction>
</ipxact:onSystem>
<ipxact:onMaster>
<ipxact:presence>required</ipxact:presence>
<ipxact:width>1</ipxact:width>
<ipxact:direction>in</ipxact:direction>
</ipxact:onMaster>
<ipxact:onSlave>
<ipxact:presence>required</ipxact:presence>
<ipxact:width>1</ipxact:width>
<ipxact:direction>in</ipxact:direction>
</ipxact:onSlave>
<ipxact:requiresDriver ipxact:driverType="singleShot">true</ipxact:requiresDriver>
</ipxact:wire>
</ipxact:port>
<ipxact:port>
<ipxact:logicalName>adr</ipxact:logicalName>
<ipxact:description>The adr output array is used to pass a binary address. The higher array boundary is specific to the address width of the core, and the lower array boundary is determined by the data port size and granularity. For example the array size on a 32-bit data port with BYTE granularity is adr[n:2]. In some cases (such as FIFO interfaces) the array may not be present on the interface.</ipxact:description>
<ipxact:wire>
<ipxact:qualifier>
<ipxact:isAddress>true</ipxact:isAddress>
</ipxact:qualifier>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>CLOCK</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>ENABLE</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>RESET</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onMaster>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>out</ipxact:direction>
</ipxact:onMaster>
<ipxact:onSlave>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>in</ipxact:direction>
</ipxact:onSlave>
</ipxact:wire>
</ipxact:port>
<ipxact:port>
<ipxact:logicalName>cyc</ipxact:logicalName>
<ipxact:description>The cycle output when asserted, indicates that a valid bus cycle is in progress. The signal is asserted for the duration of all bus cycles. For example, during a BLOCK transfer cycle there can be multiple data transfers. The signal is asserted during the first data transfer, and remains asserted until the last data transfer. The signal is useful for interfaces with multi-port interfaces (such as dual port memories). In these cases, the signal requests use of a common bus from an arbiter.</ipxact:description>
<ipxact:wire>
<ipxact:qualifier>
<ipxact:isAddress>true</ipxact:isAddress>
</ipxact:qualifier>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>CLOCK</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>ENABLE</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>RESET</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onMaster>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>out</ipxact:direction>
</ipxact:onMaster>
<ipxact:onSlave>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>in</ipxact:direction>
</ipxact:onSlave>
</ipxact:wire>
</ipxact:port>
<ipxact:port>
<ipxact:logicalName>wdata</ipxact:logicalName>
<ipxact:description>The data output array is used to pass binary data. The array boundaries are determined by the port size, with a maximum port size of 64-bits (e.g. wdata[63:0].Also see the rdata[] and sel[] signal descriptions.</ipxact:description>
<ipxact:wire>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>CLOCK</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>ENABLE</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>RESET</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onMaster>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>out</ipxact:direction>
</ipxact:onMaster>
<ipxact:onSlave>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>in</ipxact:direction>
</ipxact:onSlave>
</ipxact:wire>
</ipxact:port>
<ipxact:port>
<ipxact:logicalName>rdata</ipxact:logicalName>
<ipxact:description>The data input array is used to pass binary data. The array boundaries are determined by the port size, with a maximum port size of 64-bits (e.g. rdata[63:0]. Also see the wdata[] and sel[] signal descriptions.</ipxact:description>
<ipxact:wire>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>CLOCK</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>ENABLE</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>RESET</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onMaster>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>in</ipxact:direction>
</ipxact:onMaster>
<ipxact:onSlave>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>out</ipxact:direction>
</ipxact:onSlave>
</ipxact:wire>
</ipxact:port>
<ipxact:port>
<ipxact:logicalName>ack</ipxact:logicalName>
<ipxact:description>The acknowledge input when asserted, indicates the normal termination of a bus cycle. Also see the err and rty signal descriptions.</ipxact:description>
<ipxact:wire>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>CLOCK</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>ENABLE</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>RESET</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onMaster>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>in</ipxact:direction>
</ipxact:onMaster>
<ipxact:onSlave>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>out</ipxact:direction>
</ipxact:onSlave>
</ipxact:wire>
</ipxact:port>
<ipxact:port>
<ipxact:logicalName>err</ipxact:logicalName>
<ipxact:description>The error input indicates an abnormal cycle termination. The source of the error, and the response generated by the MASTER is defined by the IP core supplier. Also see the ack and rty signal descriptions.</ipxact:description>
<ipxact:wire>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>CLOCK</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>ENABLE</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>RESET</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onMaster>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>in</ipxact:direction>
</ipxact:onMaster>
<ipxact:onSlave>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>out</ipxact:direction>
</ipxact:onSlave>
</ipxact:wire>
</ipxact:port>
<ipxact:port>
<ipxact:logicalName>rty</ipxact:logicalName>
<ipxact:description>The retry input indicates that the interface is not ready to accept or send data, and that the cycle should be retried. When and how the cycle is retried is defined by the IP core supplier. Also see the ack and err signal descriptions.</ipxact:description>
<ipxact:wire>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>CLOCK</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>ENABLE</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>RESET</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onMaster>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>in</ipxact:direction>
</ipxact:onMaster>
<ipxact:onSlave>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>out</ipxact:direction>
</ipxact:onSlave>
</ipxact:wire>
</ipxact:port>
<ipxact:port>
<ipxact:logicalName>sel</ipxact:logicalName>
<ipxact:description>The select output array indicates where valid data is expected on the rdata signal array during READ cycles, and where it is placed on the wdata signal array during WRITE cycles. The array boundaries are determined by the granularity of a port. For example, if 8-bit granularity is used on a 64-bit port, then there would be an array of eight select signals with boundaries of sel[7:0]. Each individual select signal correlates to one of eight active bytes on the 64-bit data port. For more information about sel, please refer to the data organization section in Chapter 3 of this specification. Also see the rdata[], wdata[] and stb signal descriptions.</ipxact:description>
<ipxact:wire>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>CLOCK</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>ENABLE</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>RESET</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onMaster>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>out</ipxact:direction>
</ipxact:onMaster>
<ipxact:onSlave>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>in</ipxact:direction>
</ipxact:onSlave>
</ipxact:wire>
</ipxact:port>
<ipxact:port>
<ipxact:logicalName>stb</ipxact:logicalName>
<ipxact:description>The strobe output indicates a valid data transfer cycle. It is used to qualify various other signals on the interface such as sel[]. The SLAVE asserts either the ack, err or rty signals in response to every assertion of the stb signal.</ipxact:description>
<ipxact:wire>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>CLOCK</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>ENABLE</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>RESET</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onMaster>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>out</ipxact:direction>
</ipxact:onMaster>
<ipxact:onSlave>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>in</ipxact:direction>
</ipxact:onSlave>
</ipxact:wire>
</ipxact:port>
<ipxact:port>
<ipxact:logicalName>tagn_i</ipxact:logicalName>
<ipxact:description>The tag input(s) are user defined, and are used with either MASTER or SLAVE interfaces. ‘N’ in this signal name refers to a tag number because multiple tags may be used (e.g. TAG_I[3]). Tag inputs are used whenever an IP core needs specific information from the interconnection. For example, a MASTER can be designed to monitor the state of a FIFO.</ipxact:description>
<ipxact:wire>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>CLOCK</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>ENABLE</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>RESET</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onMaster>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>in</ipxact:direction>
</ipxact:onMaster>
<ipxact:onSlave>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>out</ipxact:direction>
</ipxact:onSlave>
</ipxact:wire>
</ipxact:port>
<ipxact:port>
<ipxact:logicalName>tagn_o</ipxact:logicalName>
<ipxact:description>The tag output(s) are user defined, and are used with either MASTER or SLAVE interfaces. For example, the tag output(s) can be used to indicate the type of data transfer in progress. Furthermore, ‘N’ in this signal name refers to a tag number because multiple tags may be used. For example, tagn_o[1] may indicate a valid data transfer cycle, tagn_o[2] may indicate an interrupt acknowledge cycle and so on. The exact meaning of each tag is defined by the IP core provider in the WISHBONE DATASHEET.</ipxact:description>
<ipxact:wire>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>CLOCK</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>ENABLE</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>RESET</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onMaster>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>out</ipxact:direction>
</ipxact:onMaster>
<ipxact:onSlave>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>in</ipxact:direction>
</ipxact:onSlave>
</ipxact:wire>
</ipxact:port>
<ipxact:port>
<ipxact:logicalName>we</ipxact:logicalName>
<ipxact:description>The write enable output indicates whether the current local bus cycle is a READ or WRITE cycle. The signal is negated during READ cycles, and is asserted during WRITE cycles.</ipxact:description>
<ipxact:wire>
<ipxact:qualifier>
<ipxact:isAddress>true</ipxact:isAddress>
</ipxact:qualifier>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>CLOCK</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>ENABLE</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onSystem>
<ipxact:vendorExtensions><socgen:envIdentifier>RESET</socgen:envIdentifier></ipxact:vendorExtensions>
<ipxact:presence>illegal</ipxact:presence>
</ipxact:onSystem>
<ipxact:onMaster>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>out</ipxact:direction>
</ipxact:onMaster>
<ipxact:onSlave>
<ipxact:presence>required</ipxact:presence>
<ipxact:direction>in</ipxact:direction>
</ipxact:onSlave>
</ipxact:wire>
</ipxact:port>
</ipxact:ports>
</ipxact:abstractionDefinition>