<?xml version="1.0" encoding="UTF-8"?>
<!--
// Description : processor.xml
// Author : SPIRIT Schema Working Group - Christophe Amerijckx
// Version: 1.2
// 
// Revision:    $Revision: 1506 $
// Date:        $Date: 2009-04-25 23:51:56 -0700 (Sat, 25 Apr 2009) $
// 
// Copyright (c) 2006, 2008, 2009 The SPIRIT Consortium.
// 
// This work forms part of a deliverable of The SPIRIT Consortium.
// 
// Use of these materials are governed by the legal terms and conditions
// outlined in the disclaimer available from www.spiritconsortium.org.
// 
// This source file is provided on an AS IS basis.  The SPIRIT
// Consortium disclaims any warranty express or implied including
// any warranty of merchantability and fitness for use for a
// particular purpose.
// 
// The user of the source file shall indemnify and hold The SPIRIT
// Consortium and its members harmless from any damages or liability.
// Users are requested to provide feedback to The SPIRIT Consortium
// using either mailto:feedback@lists.spiritconsortium.org or the forms at 
// http://www.spiritconsortium.org/about/contact_us/
// 
// This file may be copied, and distributed, with or without
// modifications; this notice must be included on any copy.
-->
<ipxact:component 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>Leon2RTL</ipxact:library>
   <ipxact:name>processor</ipxact:name>
   <ipxact:version>1.2</ipxact:version>
   <ipxact:busInterfaces>
      <ipxact:busInterface>
         <ipxact:name>AHBClk</ipxact:name>
         <ipxact:busType library="busdef.clock"
                         name="clock"
                         vendor="spiritconsortium.org"
                         version="1.0"/>
         <ipxact:abstractionTypes>
            <ipxact:abstractionType>
               <ipxact:abstractionRef library="busdef.clock"
                                      name="clock_rtl"
                                      vendor="spiritconsortium.org"
                                      version="1.0"/>
               <ipxact:portMaps>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>CLK</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>hclk</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
               </ipxact:portMaps>
            </ipxact:abstractionType>
         </ipxact:abstractionTypes>
         <ipxact:target/>
      </ipxact:busInterface>
      <ipxact:busInterface>
         <ipxact:name>AHBReset</ipxact:name>
         <ipxact:busType library="busdef.reset"
                         name="reset"
                         vendor="spiritconsortium.org"
                         version="1.0"/>
         <ipxact:abstractionTypes>
            <ipxact:abstractionType>
               <ipxact:abstractionRef library="busdef.reset"
                                      name="reset_rtl"
                                      vendor="spiritconsortium.org"
                                      version="1.0"/>
               <ipxact:portMaps>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>RESETn</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>hresetn</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
               </ipxact:portMaps>
            </ipxact:abstractionType>
         </ipxact:abstractionTypes>
         <ipxact:target/>
      </ipxact:busInterface>
      <ipxact:busInterface>
         <ipxact:name>AHBmaster</ipxact:name>
         <ipxact:busType library="AMBA2" name="AHB" vendor="amba.com" version="r2p0_6"/>
         <ipxact:abstractionTypes>
            <ipxact:abstractionType>
               <ipxact:abstractionRef library="AMBA2"
                                      name="AHB_rtl"
                                      vendor="amba.com"
                                      version="r2p0_6"/>
               <ipxact:portMaps>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>HRDATA</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>hrdata</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>HGRANTx</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>hgrant</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>HADDR</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>haddr</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>HTRANS</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>htrans</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>HWRITE</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>hwrite</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>HSIZE</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>hsize</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>HBURST</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>hburst</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>HPROT</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>hprot</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>HWDATA</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>hwdata</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>HBUSREQx</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>hbusreq</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>HREADY</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>hready</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>HRESP</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>hresp</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>HCLK</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>hclk</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>HRESETn</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>hresetn</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
               </ipxact:portMaps>
            </ipxact:abstractionType>
         </ipxact:abstractionTypes>
         <ipxact:initiator>
            <ipxact:addressSpaceRef addressSpaceRef="main"/>
         </ipxact:initiator>
         <ipxact:connectionRequired>true</ipxact:connectionRequired>
      </ipxact:busInterface>
      <ipxact:busInterface>
         <ipxact:name>APBClk</ipxact:name>
         <ipxact:busType library="busdef.clock"
                         name="clock"
                         vendor="spiritconsortium.org"
                         version="1.0"/>
         <ipxact:abstractionTypes>
            <ipxact:abstractionType>
               <ipxact:abstractionRef library="busdef.clock"
                                      name="clock_rtl"
                                      vendor="spiritconsortium.org"
                                      version="1.0"/>
               <ipxact:portMaps>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>CLK</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>pclk</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
               </ipxact:portMaps>
            </ipxact:abstractionType>
         </ipxact:abstractionTypes>
         <ipxact:target/>
      </ipxact:busInterface>
      <ipxact:busInterface>
         <ipxact:name>APBReset</ipxact:name>
         <ipxact:busType library="busdef.reset"
                         name="reset"
                         vendor="spiritconsortium.org"
                         version="1.0"/>
         <ipxact:abstractionTypes>
            <ipxact:abstractionType>
               <ipxact:abstractionRef library="busdef.reset"
                                      name="reset_rtl"
                                      vendor="spiritconsortium.org"
                                      version="1.0"/>
               <ipxact:portMaps>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>RESETn</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>presetn</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
               </ipxact:portMaps>
            </ipxact:abstractionType>
         </ipxact:abstractionTypes>
         <ipxact:target/>
      </ipxact:busInterface>
      <ipxact:busInterface>
         <ipxact:name>APBslave</ipxact:name>
         <ipxact:busType library="AMBA2" name="APB" vendor="amba.com" version="r2p0_4"/>
         <ipxact:abstractionTypes>
            <ipxact:abstractionType>
               <ipxact:abstractionRef library="AMBA2"
                                      name="APB_rtl"
                                      vendor="amba.com"
                                      version="r2p0_4"/>
               <ipxact:portMaps>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PADDR</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>paddr</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PWDATA</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>pwdata</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PRDATA</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>prdata</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PWRITE</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>pwrite</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PSELx</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>psel</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PENABLE</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>penable</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PCLK</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>pclk</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PRESETn</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>presetn</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
               </ipxact:portMaps>
            </ipxact:abstractionType>
         </ipxact:abstractionTypes>
         <ipxact:target>
            <ipxact:memoryMapRef memoryMapRef="ambaAPB"/>
         </ipxact:target>
      </ipxact:busInterface>
      <ipxact:busInterface>
         <ipxact:name>SlaveIntController</ipxact:name>
         <ipxact:busType library="busdef.leon2"
                         name="IntProc"
                         vendor="spiritconsortium.org"
                         version="v1.0"/>
         <ipxact:abstractionTypes>
            <ipxact:abstractionType>
               <ipxact:abstractionRef library="busdef.leon2"
                                      name="IntProc_rtl"
                                      vendor="spiritconsortium.org"
                                      version="v1.0"/>
               <ipxact:portMaps>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>IRL</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>irl</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>IRQVEC</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>irqvec</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>INTack</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>intack</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
               </ipxact:portMaps>
            </ipxact:abstractionType>
         </ipxact:abstractionTypes>
         <ipxact:target/>
      </ipxact:busInterface>
      <ipxact:busInterface>
         <ipxact:name>JTAG</ipxact:name>
         <ipxact:busType library="busdef.jtag"
                         name="jtag"
                         vendor="spiritconsortium.org"
                         version="1.0"/>
         <ipxact:abstractionTypes>
            <ipxact:abstractionType>
               <ipxact:abstractionRef library="busdef.jtag"
                                      name="jtag_rtl"
                                      vendor="spiritconsortium.org"
                                      version="1.0"/>
               <ipxact:portMaps>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>TCK</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>tck</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>NTRST</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>ntrst</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>TMS</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>tms</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>TDI</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>tdi</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>TDO</ipxact:name>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>tdo</ipxact:name>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
               </ipxact:portMaps>
            </ipxact:abstractionType>
         </ipxact:abstractionTypes>
         <ipxact:target/>
      </ipxact:busInterface>
   </ipxact:busInterfaces>
   <ipxact:addressSpaces>
      <ipxact:addressSpace>
         <ipxact:name>main</ipxact:name>
         <ipxact:range>4 * (2 ** 30)</ipxact:range>
         <ipxact:width>32</ipxact:width>
         <ipxact:localMemoryMap>
            <ipxact:name>defaultid4490216</ipxact:name>
            <ipxact:addressBlock>
               <ipxact:name>defaultid4490218</ipxact:name>
               <ipxact:baseAddress>start_addr_local</ipxact:baseAddress>
               <ipxact:range>range_local</ipxact:range>
               <ipxact:width>width</ipxact:width>
               <ipxact:usage>memory</ipxact:usage>
               <ipxact:parameters>
                  <ipxact:parameter choiceRef="BaseAddressChoices"
                                    configGroups="requiredConfig"
                                    parameterId="start_addr_local"
                                    prompt="Local Memory Map Starting Address:"
                                    resolve="user"
                                    type="longint">
                     <ipxact:name>start_addr_local</ipxact:name>
                     <ipxact:value>'h10000000</ipxact:value>
                  </ipxact:parameter>
                  <ipxact:parameter choiceRef="RangeChoice"
                                    configGroups="requiredConfig"
                                    parameterId="range_local"
                                    prompt="Local Memory Map Range (bytes):"
                                    resolve="user"
                                    type="longint">
                     <ipxact:name>range_local</ipxact:name>
                     <ipxact:value>4096</ipxact:value>
                  </ipxact:parameter>
                  <ipxact:parameter parameterId="width" type="longint">
                     <ipxact:name>width</ipxact:name>
                     <ipxact:value>32</ipxact:value>
                  </ipxact:parameter>
               </ipxact:parameters>
            </ipxact:addressBlock>
         </ipxact:localMemoryMap>
      </ipxact:addressSpace>
   </ipxact:addressSpaces>
   <ipxact:memoryMaps>
      <ipxact:memoryMap>
         <ipxact:name>ambaAPB</ipxact:name>
         <ipxact:bank bankAlignment="serial">
            <ipxact:name>defaultid4490282</ipxact:name>
            <ipxact:baseAddress>0</ipxact:baseAddress>
            <ipxact:addressBlock>
               <ipxact:name>registers</ipxact:name>
               <ipxact:range>4</ipxact:range>
               <ipxact:width>32</ipxact:width>
               <ipxact:usage>register</ipxact:usage>
               <ipxact:accessPolicies>
                  <ipxact:accessPolicy>
                     <ipxact:access>read-only</ipxact:access>
                  </ipxact:accessPolicy>
               </ipxact:accessPolicies>
               <ipxact:register>
                  <ipxact:name>Failures</ipxact:name>
                  <ipxact:addressOffset>'h0</ipxact:addressOffset>
                  <ipxact:size>32</ipxact:size>
                  <ipxact:accessPolicies>
                     <ipxact:accessPolicy>
                        <ipxact:access>read-only</ipxact:access>
                     </ipxact:accessPolicy>
                  </ipxact:accessPolicies>
                  <ipxact:field>
                     <ipxact:name>NumFailures</ipxact:name>
                     <ipxact:description>Number of failures from the AHB BFM</ipxact:description>
                     <ipxact:bitOffset>0</ipxact:bitOffset>
                     <ipxact:bitWidth>32</ipxact:bitWidth>
                     <ipxact:fieldAccessPolicies>
                        <ipxact:fieldAccessPolicy>
                           <ipxact:access>read-only</ipxact:access>
                        </ipxact:fieldAccessPolicy>
                     </ipxact:fieldAccessPolicies>
                  </ipxact:field>
               </ipxact:register>
            </ipxact:addressBlock>
            <ipxact:addressBlock>
               <ipxact:name>lowest1k</ipxact:name>
               <ipxact:range>1020</ipxact:range>
               <ipxact:width>32</ipxact:width>
               <ipxact:usage>memory</ipxact:usage>
               <ipxact:accessPolicies>
                  <ipxact:accessPolicy>
                     <ipxact:access>read-write</ipxact:access>
                  </ipxact:accessPolicy>
               </ipxact:accessPolicies>
            </ipxact:addressBlock>
            <ipxact:addressBlock>
               <ipxact:name>midlow1k</ipxact:name>
               <ipxact:range>1 * (2 ** 10)</ipxact:range>
               <ipxact:width>32</ipxact:width>
               <ipxact:usage>memory</ipxact:usage>
               <ipxact:accessPolicies>
                  <ipxact:accessPolicy>
                     <ipxact:access>read-write</ipxact:access>
                  </ipxact:accessPolicy>
               </ipxact:accessPolicies>
            </ipxact:addressBlock>
            <ipxact:addressBlock>
               <ipxact:name>midhigh1k</ipxact:name>
               <ipxact:range>1 * (2 ** 10)</ipxact:range>
               <ipxact:width>32</ipxact:width>
               <ipxact:usage>memory</ipxact:usage>
               <ipxact:accessPolicies>
                  <ipxact:accessPolicy>
                     <ipxact:access>read-write</ipxact:access>
                  </ipxact:accessPolicy>
               </ipxact:accessPolicies>
            </ipxact:addressBlock>
            <ipxact:bank bankAlignment="parallel">
               <ipxact:name>defaultid4490406</ipxact:name>
               <ipxact:addressBlock>
                  <ipxact:name>highest1kx7_0</ipxact:name>
                  <ipxact:range>1 * (2 ** 10)</ipxact:range>
                  <ipxact:width>8</ipxact:width>
                  <ipxact:usage>memory</ipxact:usage>
                  <ipxact:accessPolicies>
                     <ipxact:accessPolicy>
                        <ipxact:access>read-write</ipxact:access>
                     </ipxact:accessPolicy>
                  </ipxact:accessPolicies>
               </ipxact:addressBlock>
               <ipxact:addressBlock>
                  <ipxact:name>highest1kx15_8</ipxact:name>
                  <ipxact:range>1 * (2 ** 10)</ipxact:range>
                  <ipxact:width>8</ipxact:width>
                  <ipxact:usage>memory</ipxact:usage>
                  <ipxact:accessPolicies>
                     <ipxact:accessPolicy>
                        <ipxact:access>read-write</ipxact:access>
                     </ipxact:accessPolicy>
                  </ipxact:accessPolicies>
               </ipxact:addressBlock>
               <ipxact:addressBlock>
                  <ipxact:name>highest1kx23_16</ipxact:name>
                  <ipxact:range>1 * (2 ** 10)</ipxact:range>
                  <ipxact:width>8</ipxact:width>
                  <ipxact:usage>memory</ipxact:usage>
                  <ipxact:accessPolicies>
                     <ipxact:accessPolicy>
                        <ipxact:access>read-write</ipxact:access>
                     </ipxact:accessPolicy>
                  </ipxact:accessPolicies>
               </ipxact:addressBlock>
               <ipxact:addressBlock>
                  <ipxact:name>highest1kx31_24</ipxact:name>
                  <ipxact:range>1 * (2 ** 10)</ipxact:range>
                  <ipxact:width>8</ipxact:width>
                  <ipxact:usage>memory</ipxact:usage>
                  <ipxact:accessPolicies>
                     <ipxact:accessPolicy>
                        <ipxact:access>read-write</ipxact:access>
                     </ipxact:accessPolicy>
                  </ipxact:accessPolicies>
               </ipxact:addressBlock>
               <ipxact:usage>memory</ipxact:usage>
               <ipxact:accessPolicies>
                  <ipxact:accessPolicy>
                     <ipxact:access>read-write</ipxact:access>
                  </ipxact:accessPolicy>
               </ipxact:accessPolicies>
            </ipxact:bank>
            <ipxact:usage>memory</ipxact:usage>
            <ipxact:accessPolicies>
               <ipxact:accessPolicy>
                  <ipxact:access>read-write</ipxact:access>
               </ipxact:accessPolicy>
            </ipxact:accessPolicies>
         </ipxact:bank>
      </ipxact:memoryMap>
      <ipxact:memoryMap>
         <ipxact:name>processor_MemoryMap</ipxact:name>
         <ipxact:subspaceMap initiatorRef="AHBmaster">
            <ipxact:name>main_SubspaceMap</ipxact:name>
            <ipxact:baseAddress>0</ipxact:baseAddress>
         </ipxact:subspaceMap>
      </ipxact:memoryMap>
   </ipxact:memoryMaps>
   <ipxact:model>
      <ipxact:views>
         <ipxact:view>
            <ipxact:name>vhdlsource</ipxact:name>
            <ipxact:envIdentifier>:modelsim.mentor.com:</ipxact:envIdentifier>
            <ipxact:envIdentifier>:ncsim.cadence.com:</ipxact:envIdentifier>
            <ipxact:envIdentifier>:vcs.synopsys.com:</ipxact:envIdentifier>
            <ipxact:envIdentifier>:designcompiler.synopsys.com:</ipxact:envIdentifier>
            <ipxact:componentInstantiationRef>vhdlsource</ipxact:componentInstantiationRef>
         </ipxact:view>
      </ipxact:views>
      <ipxact:instantiations>
         <ipxact:componentInstantiation>
            <ipxact:name>vhdlsource</ipxact:name>
            <ipxact:language strict="true">vhdl</ipxact:language>
            <ipxact:moduleName>processor(bfm)</ipxact:moduleName>
            <ipxact:moduleParameters>
               <ipxact:moduleParameter dataType="integer" usageType="typed">
                  <ipxact:name>local_memory_start_addr</ipxact:name>
                  <ipxact:value>local_memory_start_addr</ipxact:value>
               </ipxact:moduleParameter>
               <ipxact:moduleParameter dataType="integer" usageType="typed">
                  <ipxact:name>local_memory_addr_bits</ipxact:name>
                  <ipxact:value>local_memory_addr_bits</ipxact:value>
               </ipxact:moduleParameter>
               <ipxact:moduleParameter dataType="string" usageType="typed">
                  <ipxact:name>code_file</ipxact:name>
                  <ipxact:value>code_file</ipxact:value>
               </ipxact:moduleParameter>
            </ipxact:moduleParameters>
            <ipxact:fileSetRef>
               <ipxact:localName>fs-vhdlSource</ipxact:localName>
            </ipxact:fileSetRef>
            <ipxact:clearboxElementRefs>
               <ipxact:clearboxElementRef name="simDonePin">
                  <ipxact:location>
                     <ipxact:slice>
                        <ipxact:pathSegments>
                           <ipxact:pathSegment>SimDone</ipxact:pathSegment>
                        </ipxact:pathSegments>
                     </ipxact:slice>
                  </ipxact:location>
               </ipxact:clearboxElementRef>
               <ipxact:clearboxElementRef name="failSignal">
                  <ipxact:location>
                     <ipxact:slice>
                        <ipxact:pathSegments>
                           <ipxact:pathSegment>ahbMaster</ipxact:pathSegment>
                           <ipxact:pathSegment>failures</ipxact:pathSegment>
                        </ipxact:pathSegments>
                        <ipxact:range>
                           <ipxact:left>31</ipxact:left>
                           <ipxact:right>0</ipxact:right>
                        </ipxact:range>
                     </ipxact:slice>
                  </ipxact:location>
               </ipxact:clearboxElementRef>
            </ipxact:clearboxElementRefs>
         </ipxact:componentInstantiation>
      </ipxact:instantiations>
      <ipxact:ports>
         <ipxact:port>
            <ipxact:name>rst_an</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>clk</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>clkn</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>pclk</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>presetn</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>psel</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>penable</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>paddr</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>11</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>pwrite</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>pwdata</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>31</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>prdata</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>31</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>hclk</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>hresetn</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>hgrant</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>hready</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>hresp</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>1</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>hrdata</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>31</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>hbusreq</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>htrans</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>1</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>haddr</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>31</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>hwrite</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>hsize</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>2</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>hburst</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>2</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>hprot</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>3</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>hwdata</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>31</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>irl</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>3</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
               <ipxact:drivers>
                  <ipxact:driver>
                     <ipxact:defaultValue>'h0</ipxact:defaultValue>
                  </ipxact:driver>
               </ipxact:drivers>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>intack</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>irqvec</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
               <ipxact:vectors>
                  <ipxact:vector>
                     <ipxact:left>3</ipxact:left>
                     <ipxact:right>0</ipxact:right>
                  </ipxact:vector>
               </ipxact:vectors>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>tck</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:drivers>
                  <ipxact:driver>
                     <ipxact:defaultValue>'h0</ipxact:defaultValue>
                  </ipxact:driver>
               </ipxact:drivers>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>ntrst</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:drivers>
                  <ipxact:driver>
                     <ipxact:defaultValue>'h0</ipxact:defaultValue>
                  </ipxact:driver>
               </ipxact:drivers>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>tms</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:drivers>
                  <ipxact:driver>
                     <ipxact:defaultValue>'h0</ipxact:defaultValue>
                  </ipxact:driver>
               </ipxact:drivers>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>tdi</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:drivers>
                  <ipxact:driver>
                     <ipxact:defaultValue>'h0</ipxact:defaultValue>
                  </ipxact:driver>
               </ipxact:drivers>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>tdo</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>SimDone</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>out</ipxact:direction>
            </ipxact:wire>
         </ipxact:port>
      </ipxact:ports>
   </ipxact:model>
   <ipxact:choices>
      <ipxact:choice>
         <ipxact:name>BaseAddressChoices</ipxact:name>
         <ipxact:enumeration text="0x00000000">0x00000000</ipxact:enumeration>
         <ipxact:enumeration text="0x10000000">0x10000000</ipxact:enumeration>
         <ipxact:enumeration text="0x20000000">0x20000000</ipxact:enumeration>
         <ipxact:enumeration text="0x30000000">0x30000000</ipxact:enumeration>
         <ipxact:enumeration text="0x40000000">0x40000000</ipxact:enumeration>
         <ipxact:enumeration text="0x50000000">0x50000000</ipxact:enumeration>
         <ipxact:enumeration text="0x60000000">0x60000000</ipxact:enumeration>
         <ipxact:enumeration text="0x70000000">0x70000000</ipxact:enumeration>
         <ipxact:enumeration text="0x80000000">0x80000000</ipxact:enumeration>
         <ipxact:enumeration text="0x90000000">0x90000000</ipxact:enumeration>
         <ipxact:enumeration text="0xa0000000">0xa0000000</ipxact:enumeration>
         <ipxact:enumeration text="0xb0000000">0xb0000000</ipxact:enumeration>
         <ipxact:enumeration text="0xc0000000">0xc0000000</ipxact:enumeration>
         <ipxact:enumeration text="0xd0000000">0xd0000000</ipxact:enumeration>
         <ipxact:enumeration text="0xe0000000">0xe0000000</ipxact:enumeration>
         <ipxact:enumeration text="0xf0000000">0xf0000000</ipxact:enumeration>
      </ipxact:choice>
      <ipxact:choice>
         <ipxact:name>RangeChoice</ipxact:name>
         <ipxact:enumeration text="0">0</ipxact:enumeration>
         <ipxact:enumeration text="128">128</ipxact:enumeration>
         <ipxact:enumeration text="256">256</ipxact:enumeration>
         <ipxact:enumeration text="1k">1024</ipxact:enumeration>
         <ipxact:enumeration text="2k">2048</ipxact:enumeration>
         <ipxact:enumeration text="4k">4096</ipxact:enumeration>
         <ipxact:enumeration text="8k">8192</ipxact:enumeration>
         <ipxact:enumeration text="16k">16384</ipxact:enumeration>
      </ipxact:choice>
   </ipxact:choices>
   <ipxact:fileSets>
      <ipxact:fileSet>
         <ipxact:name>fs-vhdlSource</ipxact:name>
         <ipxact:file>
            <ipxact:name>hdlsrc/processorPackage.vhd</ipxact:name>
            <ipxact:fileType>vhdlSource</ipxact:fileType>
            <ipxact:logicalName>processor_lib</ipxact:logicalName>
         </ipxact:file>
         <ipxact:file>
            <ipxact:name>hdlsrc/processorApbSlave.vhd</ipxact:name>
            <ipxact:fileType>vhdlSource</ipxact:fileType>
            <ipxact:logicalName>processor_lib</ipxact:logicalName>
         </ipxact:file>
         <ipxact:file>
            <ipxact:name>hdlsrc/processorAhbMaster.vhd</ipxact:name>
            <ipxact:fileType>vhdlSource</ipxact:fileType>
            <ipxact:logicalName>processor_lib</ipxact:logicalName>
         </ipxact:file>
         <ipxact:file>
            <ipxact:name>hdlsrc/processor.vhd</ipxact:name>
            <ipxact:fileType>vhdlSource</ipxact:fileType>
            <ipxact:logicalName>processor_lib</ipxact:logicalName>
         </ipxact:file>
      </ipxact:fileSet>
   </ipxact:fileSets>
   <ipxact:clearboxElements>
      <ipxact:clearboxElement>
         <ipxact:name>simDonePin</ipxact:name>
         <ipxact:description>Pin that indicates that the AHB BFM model is done processing commands</ipxact:description>
         <ipxact:clearboxType>pin</ipxact:clearboxType>
      </ipxact:clearboxElement>
      <!-- IP-XACT 1685-2014 XSLT Warning#2: Removing whiteboxElement 'failReg' without converting! The registerRef 'ambaAPB/registers/Failures' does not provide a path to a register.-->
<ipxact:clearboxElement>
         <ipxact:name>failSignal</ipxact:name>
         <ipxact:description>A signal internat to the model that indicates the number of failures in the AHB BFM model</ipxact:description>
         <ipxact:clearboxType>signal</ipxact:clearboxType>
      </ipxact:clearboxElement>
   </ipxact:clearboxElements>
   <ipxact:cpus>
      <ipxact:cpu>
         <ipxact:name>processor</ipxact:name>
         <ipxact:range>4 * (2 ** 30)</ipxact:range>
         <ipxact:width>32</ipxact:width>
         <ipxact:memoryMapRef>processor_MemoryMap</ipxact:memoryMapRef>
      </ipxact:cpu>
   </ipxact:cpus>
   <ipxact:parameters>
      <ipxact:parameter parameterId="local_memory_start_addr"
                        prompt="Upper 16 bits of the address">
         <ipxact:name>local_memory_start_addr</ipxact:name>
         <ipxact:value>(start_addr_local ) / 65536</ipxact:value>
      </ipxact:parameter>
      <ipxact:parameter parameterId="local_memory_addr_bits"
                        prompt="Number of address bit for the local memoryMap">
         <ipxact:name>local_memory_addr_bits</ipxact:name>
         <ipxact:value>$floor($ln(range_local + 1)/$ln(2) )</ipxact:value>
      </ipxact:parameter>
      <ipxact:parameter configGroups="requiredConfig"
                        parameterId="code_file"
                        prompt="File to read commands from:"
                        resolve="user">
         <ipxact:name>code_file</ipxact:name>
         <ipxact:value>master.tbl</ipxact:value>
      </ipxact:parameter>
   </ipxact:parameters>
</ipxact:component>
