<?xml version="1.0" encoding="UTF-8"?>
<!--
//=============================================================
//   File		 : WSP_rtl.xml
//   Type        : ABSTRACTION DEFINITION
//   Description : RTL abstraction for WSP, Standard wrapper terminals providing serial access to the IEEE 1500
//   Author		 : The Accellera IP-XACT Working Group
//	 Contributor : Christian-Gabriel Fraisse
//   Version     : 2005-1.1
//   Status      : RELEASED
//
//   Copyright (c) 2014 Accellera Systems Initiative Inc. 
//   1370 Trancas Street #163, Napa, CA 94558, USA
//   
//   Licensed under the Apache License, Version 2.0 (the 'License'); 
//   you may not use this file except in compliance with the License.  
//   You may obtain a copy of the License at                                            
//                                                                
//          http://www.apache.org/licenses/LICENSE-2.0            
//                                                                
//   Unless required by applicable law or agreed to in writing, software 
//   distributed under the License is distributed on an 'AS IS' BASIS, 
//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
//   express or implied. See the License for the specific language 
//   governing permissions and limitations under the License.
//   
//   Suggestions for improvements to the provided example 
//   are welcome. They should be sent to the group's 
//   email Reflector:
//   
//          ip-xact@lists.accellera.org
//   
//   The current IP-XACT Technical Committee web page is:
//   
//          www.accellera.org/activities/committees/ip-xact
//   
//   The current official IP-XACT user Forum is :
//
//          http://forums.accellera.org/forum/30-ip-xact/
//   
//=============================================================        
-->
<spirit:abstractionDefinition xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009 http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/index.xsd">
  <spirit:vendor>accellera.org</spirit:vendor>
  <spirit:library>ieee1500</spirit:library>
  <spirit:name>WSP_rtl</spirit:name>
  <spirit:version>2005-1.1</spirit:version>
  <spirit:busType spirit:vendor="accellera.org" spirit:library="ieee1500" spirit:name="WSP" spirit:version="2005-1.1"/>
  <spirit:ports>
    <spirit:port>
      <spirit:logicalName>WRCK</spirit:logicalName>
      <spirit:description>The IEEE 1500 clock - clock usually coming from TAP (Test Access Port- IEEE1149 JTAG)</spirit:description>
      <spirit:wire>
        <spirit:qualifier>
          <spirit:isClock>true</spirit:isClock>
        </spirit:qualifier>
        <spirit:onMaster>
          <spirit:presence>required</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>out</spirit:direction>
        </spirit:onMaster>
        <spirit:onSlave>
          <spirit:presence>required</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>in</spirit:direction>
        </spirit:onSlave>
	  <spirit:defaultValue>0</spirit:defaultValue>
      </spirit:wire>
    </spirit:port>
    <spirit:port>
      <spirit:logicalName>WRSTN</spirit:logicalName>
      <spirit:description>he IEEE 1500  Active-Low reset - usually coming from IEEE1149 reset</spirit:description>
      <spirit:wire>
        <spirit:qualifier>
          <spirit:isReset>true</spirit:isReset>
        </spirit:qualifier>
        <spirit:onMaster>
          <spirit:presence>required</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>out</spirit:direction>
        </spirit:onMaster>
        <spirit:onSlave>
          <spirit:presence>required</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>in</spirit:direction>
        </spirit:onSlave>
 	  <spirit:defaultValue>1</spirit:defaultValue>
     </spirit:wire>
    </spirit:port>
    <spirit:port>
      <spirit:logicalName>UPDATEWR</spirit:logicalName>
      <spirit:description>The IEEE 1500  wrapper terminal used to enable and control an Update operation in the selected IEEE 1500 wrapper register (WR).</spirit:description>
      <spirit:wire>
        <spirit:onMaster>
          <spirit:presence>required</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>out</spirit:direction>
        </spirit:onMaster>
        <spirit:onSlave>
          <spirit:presence>required</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>in</spirit:direction>
        </spirit:onSlave>
  	  <spirit:defaultValue>0</spirit:defaultValue>
     </spirit:wire>
    </spirit:port>
    <spirit:port>
      <spirit:logicalName>SHIFTWR</spirit:logicalName>
      <spirit:description>The IEEE 1500 wrapper terminal used to enable and control a Shift operation in the selected IEEE 1500 wrapper register (WR).</spirit:description>
      <spirit:wire>
        <spirit:onMaster>
          <spirit:presence>required</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>out</spirit:direction>
        </spirit:onMaster>
        <spirit:onSlave>
          <spirit:presence>required</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>in</spirit:direction>
        </spirit:onSlave>
   	  <spirit:defaultValue>0</spirit:defaultValue>
     </spirit:wire>
    </spirit:port>
    <spirit:port>
      <spirit:logicalName>SELECTWIR</spirit:logicalName>
      <spirit:description>The IEEE 1500 wrapper terminal that determines the selection of a wrapper register (WR). A value of 1 represents selection of the wrapper instruction register (WIR), and a value of 0 represents selection of a wrapper data register (WDR).</spirit:description>
      <spirit:wire>
        <spirit:onMaster>
          <spirit:presence>required</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>out</spirit:direction>
        </spirit:onMaster>
        <spirit:onSlave>
          <spirit:presence>required</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>in</spirit:direction>
        </spirit:onSlave>
    	<spirit:defaultValue>0</spirit:defaultValue>
     </spirit:wire>
    </spirit:port>
    <spirit:port>
      <spirit:logicalName>CAPTUREWR</spirit:logicalName>
      <spirit:description>The IEEE 1500 wrapper  terminal required  to capture data  in sequential element of the shift path.</spirit:description>
      <spirit:wire>
        <spirit:onMaster>
          <spirit:presence>required</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>out</spirit:direction>
        </spirit:onMaster>
        <spirit:onSlave>
          <spirit:presence>required</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>in</spirit:direction>
        </spirit:onSlave>
    	<spirit:defaultValue>0</spirit:defaultValue>
     </spirit:wire>
    </spirit:port>
    <spirit:port>
      <spirit:logicalName>WSMOSI</spirit:logicalName>
      <spirit:description>The IEEE 1500 wrapper serial data in coming from TAP (Test Access Port- IEEE1149 JTAG) It represents WSO output on a master bus interface (Master-Out / MO) and WSI input on a slave bus interface (Slave-In / SI). It is supposed to always have a pair of slave/master bus interfaces</spirit:description>
      <spirit:wire>
        <spirit:qualifier>
          <spirit:isData>true</spirit:isData>
        </spirit:qualifier>
        <spirit:onMaster>
          <spirit:presence>required</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>out</spirit:direction>
        </spirit:onMaster>
        <spirit:onSlave>
          <spirit:presence>required</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>in</spirit:direction>
        </spirit:onSlave>
     	<spirit:defaultValue>0</spirit:defaultValue>
     </spirit:wire>
    </spirit:port>
	<spirit:port>
      <spirit:logicalName>WSMISO</spirit:logicalName>
      <spirit:description>The IEEE 1500 wrapper serial data output. It represents WSO output on a slave bus interface (Slave-Out / SO) and WSI input on a master bus interface (Master-In / MI).</spirit:description>
      <spirit:wire>
        <spirit:qualifier>
          <spirit:isData>true</spirit:isData>
        </spirit:qualifier>
        <spirit:onMaster>
          <spirit:presence>optional</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>in</spirit:direction>
        </spirit:onMaster>
        <spirit:onSlave>
          <spirit:presence>optional</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>out</spirit:direction>
        </spirit:onSlave>
     	<spirit:defaultValue>0</spirit:defaultValue>
     </spirit:wire>
    </spirit:port>
    <spirit:port>
      <spirit:logicalName>AUXCKN</spirit:logicalName>
      <spirit:description>The IEEE 1500 optional auxiliary functional clock that may be used in conjunction with wrapper clock in some implementation of WBR</spirit:description>
      <spirit:wire>
         <spirit:qualifier>
          <spirit:isClock>true</spirit:isClock>
        </spirit:qualifier>
        <spirit:onMaster>
          <spirit:presence>optional</spirit:presence>
          <spirit:direction>out</spirit:direction>
        </spirit:onMaster>
        <spirit:onSlave>
          <spirit:presence>optional</spirit:presence>
          <spirit:direction>in</spirit:direction>
        </spirit:onSlave>
      	<spirit:defaultValue>0</spirit:defaultValue>
     </spirit:wire>
    </spirit:port>
    <spirit:port>
      <spirit:logicalName>TRANSFERDR</spirit:logicalName>
      <spirit:description>The IEEE 1500 wrapper terminal provided to enable and control the Transfer operation for the wrapper boundary register (WBR) required when WBR includes cells with a transfer ability</spirit:description>
      <spirit:wire>
        <spirit:onMaster>
          <spirit:presence>optional</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>out</spirit:direction>
        </spirit:onMaster>
        <spirit:onSlave>
          <spirit:presence>optional</spirit:presence>
          <spirit:width>1</spirit:width>
          <spirit:direction>in</spirit:direction>
        </spirit:onSlave>
      	<spirit:defaultValue>0</spirit:defaultValue>
      </spirit:wire>
    </spirit:port>
  </spirit:ports>
</spirit:abstractionDefinition>
