<?xml version="1.0" encoding="UTF-8"?>
<spirit:component xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.1" xmlns:actel-cc="http://www.actel.com/XMLSchema/CoreConsole" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.1 http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.1/component.xsd">
    <spirit:vendor>Actel</spirit:vendor>
    <spirit:library>DirectCore</spirit:library>
    <spirit:name>CoreGPIO</spirit:name>
    <spirit:version>1.2.103</spirit:version>
    <spirit:busInterfaces>
        <!--
		<spirit:busInterface>
			<spirit:name>APBClk</spirit:name>
			<spirit:busType spirit:vendor="AMBA" spirit:library="AMBA2" spirit:name="APB" spirit:version="r0p0"/>
			<spirit:system>
				<spirit:group>APB_CLK</spirit:group>
			</spirit:system>
			<spirit:connection>required</spirit:connection>
			<spirit:signalMap>
				<spirit:signalName>
					<spirit:componentSignalName>PCLK</spirit:componentSignalName>
					<spirit:busSignalName>PCLK</spirit:busSignalName>
				</spirit:signalName>
			</spirit:signalMap>
		</spirit:busInterface>
		<spirit:busInterface>
			<spirit:name>APBReset</spirit:name>
			<spirit:busType spirit:vendor="AMBA" spirit:library="AMBA2" spirit:name="APB" spirit:version="r0p0"/>
			<spirit:system>
				<spirit:group>APB_RESET</spirit:group>
			</spirit:system>
			<spirit:connection>required</spirit:connection>
			<spirit:signalMap>
				<spirit:signalName>
					<spirit:componentSignalName>PRESETn</spirit:componentSignalName>
					<spirit:busSignalName>PRESETn</spirit:busSignalName>
				</spirit:signalName>
			</spirit:signalMap>
		</spirit:busInterface>
-->
        <spirit:busInterface>
            <spirit:name>APBslave</spirit:name>
            <spirit:busType spirit:vendor="AMBA" spirit:library="AMBA2" spirit:name="APB" spirit:version="r0p0"/>
            <spirit:slave>
                <spirit:memoryMapRef spirit:memoryMapRef="RegisterMap"/>
            </spirit:slave>
            <spirit:connection>required</spirit:connection>
            <spirit:signalMap>
                <spirit:signalName>
                    <spirit:componentSignalName>PENABLE</spirit:componentSignalName>
                    <spirit:busSignalName>PENABLE</spirit:busSignalName>
                </spirit:signalName>
                <spirit:signalName>
                    <spirit:componentSignalName>PSEL</spirit:componentSignalName>
                    <spirit:busSignalName>PSELx</spirit:busSignalName>
                </spirit:signalName>
                <spirit:signalName>
                    <spirit:componentSignalName>PADDR</spirit:componentSignalName>
                    <spirit:busSignalName>PADDR</spirit:busSignalName>
                </spirit:signalName>
                <spirit:signalName>
                    <spirit:componentSignalName>PWRITE</spirit:componentSignalName>
                    <spirit:busSignalName>PWRITE</spirit:busSignalName>
                </spirit:signalName>
                <spirit:signalName>
                    <spirit:componentSignalName>PWDATA</spirit:componentSignalName>
                    <spirit:busSignalName>PWDATA</spirit:busSignalName>
                </spirit:signalName>
                <spirit:signalName>
                    <spirit:componentSignalName>PRDATA</spirit:componentSignalName>
                    <spirit:busSignalName>PRDATA</spirit:busSignalName>
                </spirit:signalName>
            </spirit:signalMap>
            <spirit:vendorExtensions>
                <actel-cc:interfaceRendering>busConnection</actel-cc:interfaceRendering>
            </spirit:vendorExtensions>
        </spirit:busInterface>
    </spirit:busInterfaces>
    <spirit:memoryMaps>
        <spirit:memoryMap>
            <spirit:name>RegisterMap</spirit:name>
            <spirit:addressBlock>
                <spirit:baseAddress>0x0</spirit:baseAddress>
                <spirit:range spirit:format="long">0x1000</spirit:range>
                <spirit:width spirit:format="long" spirit:id="width">8</spirit:width>
                <spirit:register>
                    <spirit:name>dataOut</spirit:name>
                    <spirit:addressOffset>0x0</spirit:addressOffset>
                    <spirit:size>32</spirit:size>
                    <spirit:access>write-only</spirit:access>
                    <spirit:resetValue>0x0</spirit:resetValue>
                    <spirit:field>
                        <spirit:name>dataOut</spirit:name>
                        <spirit:bitOffset>0</spirit:bitOffset>
                        <spirit:bitWidth>32</spirit:bitWidth>
                        <spirit:access>write-only</spirit:access>
                        <spirit:description>dataOut register</spirit:description>
                    </spirit:field>
                </spirit:register>
                <spirit:register>
                    <spirit:name>dataIn</spirit:name>
                    <spirit:addressOffset>0x0</spirit:addressOffset>
                    <spirit:size>32</spirit:size>
                    <spirit:access>read-only</spirit:access>
                    <spirit:resetValue>0x0</spirit:resetValue>
                    <spirit:field>
                        <spirit:name>dataIn</spirit:name>
                        <spirit:bitOffset>0</spirit:bitOffset>
                        <spirit:bitWidth>32</spirit:bitWidth>
                        <spirit:access>read-only</spirit:access>
                        <spirit:description>dataIn register</spirit:description>
                    </spirit:field>
                </spirit:register>
            </spirit:addressBlock>
            <spirit:bitsInLau>32</spirit:bitsInLau>
        </spirit:memoryMap>
    </spirit:memoryMaps>
    <spirit:hwModel>
        <spirit:views>
            <spirit:view>
                <spirit:name>VerilogSource</spirit:name>
                <spirit:envIdentifier>Modelsim</spirit:envIdentifier>
                <spirit:language>verilog</spirit:language>
                <spirit:fileSetRef>fs-VerilogSource-U</spirit:fileSetRef>
                <spirit:fileSetRef>fs-VerilogSource-O</spirit:fileSetRef>
                <spirit:vendorExtensions>
                    <actel-cc:fsInclusionRules>
                        <actel-cc:fsInclusionRule spirit:fileSetRef="fs-VerilogSource-U">
                            <actel-cc:logicEquation>
                                <actel-cc:logicTerm spirit:referenceId="HDL_license" actel-cc:termValue="U"/>
                            </actel-cc:logicEquation>
                        </actel-cc:fsInclusionRule>
                        <actel-cc:fsInclusionRule spirit:fileSetRef="fs-VerilogSource-O">
                            <actel-cc:logicEquation>
                                <actel-cc:logicTerm spirit:referenceId="HDL_license" actel-cc:termValue="O"/>
                            </actel-cc:logicEquation>
                        </actel-cc:fsInclusionRule>
                    </actel-cc:fsInclusionRules>
                </spirit:vendorExtensions>
            </spirit:view>
            <spirit:view>
                <spirit:name>VHDLSource</spirit:name>
                <spirit:envIdentifier>Modelsim</spirit:envIdentifier>
                <spirit:language>vhdl</spirit:language>
                <spirit:fileSetRef>fs-VHDLSource-U</spirit:fileSetRef>
                <spirit:fileSetRef>fs-VHDLSource-O</spirit:fileSetRef>
                <spirit:vendorExtensions>
                    <actel-cc:fsInclusionRules>
                        <actel-cc:fsInclusionRule spirit:fileSetRef="fs-VHDLSource-U">
                            <actel-cc:logicEquation>
                                <actel-cc:logicTerm spirit:referenceId="HDL_license" actel-cc:termValue="U"/>
                            </actel-cc:logicEquation>
                        </actel-cc:fsInclusionRule>
                        <actel-cc:fsInclusionRule spirit:fileSetRef="fs-VHDLSource-O">
                            <actel-cc:logicEquation>
                                <actel-cc:logicTerm spirit:referenceId="HDL_license" actel-cc:termValue="O"/>
                            </actel-cc:logicEquation>
                        </actel-cc:fsInclusionRule>
                    </actel-cc:fsInclusionRules>
                </spirit:vendorExtensions>
            </spirit:view>
            <spirit:view>
                <spirit:name>VerilogSimulation</spirit:name>
                <spirit:envIdentifier>ModelSim</spirit:envIdentifier>
                <spirit:fileSetRef>ANY_SIMULATION_FILESET</spirit:fileSetRef>
            </spirit:view>
            <spirit:view>
                <spirit:name>VHDLSimulation</spirit:name>
                <spirit:envIdentifier>ModelSim</spirit:envIdentifier>
                <spirit:fileSetRef>ANY_SIMULATION_FILESET</spirit:fileSetRef>
            </spirit:view>
        </spirit:views>
        <spirit:signals>
            <spirit:signal>
                <spirit:name>PCLK</spirit:name>
                <spirit:direction>in</spirit:direction>
                <spirit:vendorExtensions>
                   <actel-cc:requiredConnection/>
                </spirit:vendorExtensions>                
            </spirit:signal>
            <spirit:signal>
                <spirit:name>PRESETn</spirit:name>
                <spirit:direction>in</spirit:direction>
                <spirit:vendorExtensions>
                   <actel-cc:requiredConnection/>
                </spirit:vendorExtensions>
            </spirit:signal>
            <spirit:signal>
                <spirit:name>PENABLE</spirit:name>
                <spirit:direction>in</spirit:direction>
            </spirit:signal>
            <spirit:signal>
                <spirit:name>PSEL</spirit:name>
                <spirit:direction>in</spirit:direction>
            </spirit:signal>
            <spirit:signal>
                <spirit:name>PADDR</spirit:name>
                <spirit:direction>in</spirit:direction>
                <spirit:left>5</spirit:left>
                <spirit:right>2</spirit:right>
            </spirit:signal>
            <spirit:signal>
                <spirit:name>PWRITE</spirit:name>
                <spirit:direction>in</spirit:direction>
            </spirit:signal>
            <spirit:signal>
                <spirit:name>PWDATA</spirit:name>
                <spirit:direction>in</spirit:direction>
                <spirit:left>31</spirit:left>
                <spirit:right>0</spirit:right>
            </spirit:signal>
            <spirit:signal>
                <spirit:name>dataIn</spirit:name>
                <spirit:direction>in</spirit:direction>
                <spirit:left spirit:resolve="dependent" spirit:dependency="id('NUM_INPUTS')-1">15</spirit:left>
                <spirit:right>0</spirit:right>
            </spirit:signal>
            <spirit:signal>
                <spirit:name>PRDATA</spirit:name>
                <spirit:direction>out</spirit:direction>
                <spirit:left>31</spirit:left>
                <spirit:right>0</spirit:right>
            </spirit:signal>
            <spirit:signal>
                <spirit:name>dataOut</spirit:name>
                <spirit:direction>out</spirit:direction>
                <spirit:left spirit:resolve="dependent" spirit:dependency="id('NUM_OUTPUTS')-1">15</spirit:left>           
                <spirit:right>0</spirit:right>
            </spirit:signal>
        </spirit:signals>
        <spirit:hwParameters>
            <spirit:hwParameter spirit:choiceRef="Choice_1to32" spirit:dataType="int" spirit:format="choice" spirit:id="NUM_INPUTS" spirit:name="NUM_INPUTS" spirit:prompt="Number of inputs:">16</spirit:hwParameter>
            <spirit:hwParameter spirit:choiceRef="Choice_1to32" spirit:dataType="int" spirit:format="choice" spirit:id="NUM_OUTPUTS" spirit:name="NUM_INPUTS" spirit:prompt="Number of outputs:">16</spirit:hwParameter>
        </spirit:hwParameters>   
        <spirit:vendorExtensions>
            <actel-cc:variantParameters>
                <actel-cc:variantParameter actel-cc:choiceRef="HDL_licenseChoice" spirit:id="HDL_license" spirit:name="license" spirit:prompt="License:" spirit:resolve="user" spirit:dataType="string">U</actel-cc:variantParameter>
            </actel-cc:variantParameters>
        </spirit:vendorExtensions>
    </spirit:hwModel>
    <spirit:choices>
        <spirit:choice>
            <spirit:name>HDL_licenseChoice</spirit:name>
            <spirit:enumeration spirit:text="Obfuscated">O</spirit:enumeration>
            <spirit:enumeration spirit:text="RTL">U</spirit:enumeration>
        </spirit:choice>
        <spirit:choice>
            <spirit:name>Choice_1to32</spirit:name>
            <spirit:enumeration spirit:text="1">1</spirit:enumeration>
            <spirit:enumeration spirit:text="2">2</spirit:enumeration>
            <spirit:enumeration spirit:text="3">3</spirit:enumeration>
            <spirit:enumeration spirit:text="4">4</spirit:enumeration>
            <spirit:enumeration spirit:text="5">5</spirit:enumeration>
            <spirit:enumeration spirit:text="6">6</spirit:enumeration>
            <spirit:enumeration spirit:text="7">7</spirit:enumeration>
            <spirit:enumeration spirit:text="8">8</spirit:enumeration>
            <spirit:enumeration spirit:text="9">9</spirit:enumeration>
            <spirit:enumeration spirit:text="10">10</spirit:enumeration>
            <spirit:enumeration spirit:text="11">11</spirit:enumeration>
            <spirit:enumeration spirit:text="12">12</spirit:enumeration>
            <spirit:enumeration spirit:text="13">13</spirit:enumeration>
            <spirit:enumeration spirit:text="14">14</spirit:enumeration>
            <spirit:enumeration spirit:text="15">15</spirit:enumeration>
            <spirit:enumeration spirit:text="16">16</spirit:enumeration>
            <spirit:enumeration spirit:text="17">17</spirit:enumeration>
            <spirit:enumeration spirit:text="18">18</spirit:enumeration>
            <spirit:enumeration spirit:text="19">19</spirit:enumeration>
            <spirit:enumeration spirit:text="20">20</spirit:enumeration>
            <spirit:enumeration spirit:text="21">21</spirit:enumeration>
            <spirit:enumeration spirit:text="22">22</spirit:enumeration>
            <spirit:enumeration spirit:text="23">23</spirit:enumeration>
            <spirit:enumeration spirit:text="24">24</spirit:enumeration>
            <spirit:enumeration spirit:text="25">25</spirit:enumeration>
            <spirit:enumeration spirit:text="26">26</spirit:enumeration>
            <spirit:enumeration spirit:text="27">27</spirit:enumeration>
            <spirit:enumeration spirit:text="28">28</spirit:enumeration>
            <spirit:enumeration spirit:text="29">29</spirit:enumeration>
            <spirit:enumeration spirit:text="30">30</spirit:enumeration>
            <spirit:enumeration spirit:text="31">31</spirit:enumeration>
            <spirit:enumeration spirit:text="32">32</spirit:enumeration>
        </spirit:choice>
    </spirit:choices>
    <spirit:fileSets>
        <spirit:fileSet spirit:fileSetId="fs-VerilogSource-U">
            <spirit:group>RTL</spirit:group>
            <spirit:file>
                <spirit:name>rtl/verilog/u/CoreGPIO.v</spirit:name>
                <spirit:fileType>verilogSource</spirit:fileType>
            </spirit:file>
        </spirit:fileSet>
        <spirit:fileSet spirit:fileSetId="fs-VerilogSource-O">
            <spirit:group>Obfuscated</spirit:group>
            <spirit:file>
                <spirit:name>rtl/verilog/o/CoreGPIO.v</spirit:name>
                <spirit:fileType>verilogSource</spirit:fileType>
            </spirit:file>
        </spirit:fileSet>
        <spirit:fileSet spirit:fileSetId="fs-VHDLSource-U">
            <spirit:group>RTL</spirit:group>
            <spirit:file>
                <spirit:name>rtl/vhdl/u/CoreGPIO.vhd</spirit:name>
                <spirit:fileType>vhdlSource</spirit:fileType>
            </spirit:file>
        </spirit:fileSet>
        <spirit:fileSet spirit:fileSetId="fs-VHDLSource-O">
            <spirit:group>Obfuscated</spirit:group>
            <spirit:file>
                <spirit:name>rtl/vhdl/o/CoreGPIO.vhd</spirit:name>
                <spirit:fileType>vhdlSource</spirit:fileType>
            </spirit:file>
        </spirit:fileSet>
        <spirit:fileSet spirit:fileSetId="ANY_SIMULATION_FILESET">
            <spirit:group>Obfuscated</spirit:group>
            <spirit:file>
                <spirit:name>bfm/CoreGPIO_scriptlet.bfm</spirit:name>
                <spirit:fileType>unknown</spirit:fileType>
            </spirit:file>
        </spirit:fileSet>
    </spirit:fileSets>
    <spirit:vendorExtensions>
        <actel-cc:displayName>CoreGPIO</actel-cc:displayName>
        <actel-cc:resources>
            <actel-cc:resource doc_title="CoreGPIO Datasheet" url="http://www.actel.com/documents/CoreGPIO_DS.pdf"/>
            <actel-cc:resource doc_title="CoreGPIO web page" url="http://www.actel.com/products/ip/search/detail.aspx?id=657"/>
        </actel-cc:resources>
        <actel-cc:functionalType/>
        <actel-cc:variation/>
        <actel-cc:categories categoryName="Core Provider">
            <actel-cc:category name="Actel"/>
        </actel-cc:categories>
        <actel-cc:type typeName="DirectCore"/>
        <actel-cc:categories categoryName="Functional Category">
            <actel-cc:category name="Peripherals"/>
        </actel-cc:categories>
        <actel-cc:categories categoryName="Market Segment">
            <actel-cc:category name="Aerospace"/>
            <actel-cc:category name="Automotive"/>
            <actel-cc:category name="Military"/>
            <actel-cc:category name="Industrial"/>
            <actel-cc:category name="Medical"/>
            <actel-cc:category name="Consumer"/>
            <actel-cc:category name="Multimedia"/>
            <actel-cc:category name="Gaming"/>
        </actel-cc:categories>
        <actel-cc:categories categoryName="Product Family" style="checkbox">
            <actel-cc:category name="Fusion"/>
            <actel-cc:category name="ProASIC3/E"/>
            <actel-cc:category name="ProASICPLUS"/>
            <actel-cc:category name="ProASIC"/>
            <actel-cc:category name="Axcelerator"/>
            <actel-cc:category name="SX-A/SX"/>
            <actel-cc:category name="RTAX-S"/>
            <actel-cc:category name="RTSX-S"/>
            <actel-cc:category name="eX"/>
            <actel-cc:category name="IGLOO"/>
            <actel-cc:category name="IGLOOe"/>
            <actel-cc:category name="IGLOO/e"/>
        </actel-cc:categories>
        <actel-cc:categories categoryName="Temperature Grade" style="hidden">
            <actel-cc:category name="Automotive"/>
            <actel-cc:category name="Commercial"/>
            <actel-cc:category name="Industrial"/>
            <actel-cc:category name="Military"/>
        </actel-cc:categories>
        <actel-cc:categories categoryName="Interface Type">
            <actel-cc:category name="AmbaBus"/>
        </actel-cc:categories>
        <actel-cc:description>
The CoreGPIO block provides between 1 and 32 inputs and 1 and 32 outputs depending on the configuration settings specified.
        </actel-cc:description>
        <actel-cc:packageTimestamp>20070822180000</actel-cc:packageTimestamp>
    </spirit:vendorExtensions>
</spirit:component>
