<?xml version="1.0" encoding="UTF-8"?>
<!--
// Description : cardbus.xml
// Original Author : SPIRIT Schema Working Group
// Version: 1.0
//
// Copyright 2006-2013 Accellera Systems Initiative
//
// 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.
-->
<spirit:busDefinition xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.2"
							xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
							xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.2
																http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.2/index.xsd">

	<spirit:vendor>spiritconsortium.org</spirit:vendor>
	<spirit:library>busdef.cardbus</spirit:library>
	<spirit:name>cardbus</spirit:name>
	<spirit:version>1.0</spirit:version>

	<spirit:directConnection>false</spirit:directConnection>

	<spirit:signals>
		<spirit:signal>
			<spirit:logicalName>CCLK</spirit:logicalName>
			<spirit:isClock>true</spirit:isClock>
			<spirit:onSystem>
				<spirit:group>system_group</spirit:group>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onSystem>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>in</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>in</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CRST_n</spirit:logicalName>
			<spirit:isReset>true</spirit:isReset>
			<spirit:onSystem>
				<spirit:group>system_group</spirit:group>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onSystem>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>in</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>in</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CAD</spirit:logicalName>
			<spirit:isAddress>true</spirit:isAddress>
			<spirit:isData>true</spirit:isData>
			<spirit:onMaster>
				<spirit:bitWidth>32</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>32</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CCBE_n</spirit:logicalName>
			<spirit:onMaster>
				<spirit:bitWidth>4</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>4</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CPAR</spirit:logicalName>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CFRAME_n</spirit:logicalName>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>in</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CIRDY_n</spirit:logicalName>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>in</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CTRDY_n</spirit:logicalName>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CSTOP_n</spirit:logicalName>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CBLOCK_n</spirit:logicalName>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>in</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CDEVSEL_n</spirit:logicalName>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CREQ_n</spirit:logicalName>
			<spirit:onSystem>
				<spirit:group>arbitration_group</spirit:group>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>in</spirit:direction>
			</spirit:onSystem>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<!-- <spirit:direction>illegal</spirit:direction> -->
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CGNT_n</spirit:logicalName>
			<spirit:onSystem>
				<spirit:group>arbitration_group</spirit:group>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onSystem>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>in</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<!-- <spirit:direction>illegal</spirit:direction> -->
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CPERR_n</spirit:logicalName>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CSERR_n</spirit:logicalName>
			<spirit:onSystem>
				<spirit:group>error_group</spirit:group>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>in</spirit:direction>
			</spirit:onSystem>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CINT_n</spirit:logicalName>
			<spirit:onSystem>
				<spirit:group>interrupt_group</spirit:group>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>in</spirit:direction>
			</spirit:onSystem>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CCLKRUN_n</spirit:logicalName>
			<spirit:onSystem>
				<spirit:group>system_group</spirit:group>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onSystem>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>inout</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CSTSCHG_n</spirit:logicalName>
			<spirit:onSystem>
				<spirit:group>miscellaneous_group</spirit:group>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>in</spirit:direction>
			</spirit:onSystem>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CAUDIO</spirit:logicalName>
			<spirit:onSystem>
				<spirit:group>miscellaneous_group</spirit:group>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>in</spirit:direction>
			</spirit:onSystem>
			<spirit:onMaster>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>1</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CCD_n</spirit:logicalName>
			<spirit:onSystem>
				<spirit:group>miscellaneous_group</spirit:group>
				<spirit:bitWidth>2</spirit:bitWidth>
				<spirit:direction>in</spirit:direction>
			</spirit:onSystem>
			<spirit:onMaster>
				<spirit:bitWidth>2</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>2</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>

		<spirit:signal>
			<spirit:logicalName>CVS_n</spirit:logicalName>
			<spirit:onSystem>
				<spirit:group>miscellaneous_group</spirit:group>
				<spirit:bitWidth>2</spirit:bitWidth>
				<spirit:direction>in</spirit:direction>
			</spirit:onSystem>
			<spirit:onMaster>
				<spirit:bitWidth>2</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onMaster>
			<spirit:onSlave>
				<spirit:bitWidth>2</spirit:bitWidth>
				<spirit:direction>out</spirit:direction>
			</spirit:onSlave>
		</spirit:signal>
	</spirit:signals>

</spirit:busDefinition>
