<?xml version="1.0" encoding="UTF-8"?>
<!--
// 
// Revision:    $Revision: 1506 $
// Date:        $Date: 2009-04-25 23:51:56 -0700 (Sat, 25 Apr 2009) $
// 
// Copyright (c) 2005, 2006, 2007, 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; but 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>Leon2TLM</ipxact:library>
   <ipxact:name>apbram</ipxact:name>
   <ipxact:version>1.0</ipxact:version>
   <ipxact:busInterfaces>
      <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>ambaAPB</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>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>PADDR</ipxact:name>
                        <ipxact:range>
                           <ipxact:left>11</ipxact:left>
                           <ipxact:right>0</ipxact:right>
                        </ipxact:range>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>paddr</ipxact:name>
                        <ipxact:partSelect>
                           <ipxact:range>
                              <ipxact:left>11</ipxact:left>
                              <ipxact:right>0</ipxact:right>
                           </ipxact:range>
                        </ipxact:partSelect>
                     </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>PWDATA</ipxact:name>
                        <ipxact:range>
                           <ipxact:left>31</ipxact:left>
                           <ipxact:right>0</ipxact:right>
                        </ipxact:range>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>pwdata</ipxact:name>
                        <ipxact:partSelect>
                           <ipxact:range>
                              <ipxact:left>31</ipxact:left>
                              <ipxact:right>0</ipxact:right>
                           </ipxact:range>
                        </ipxact:partSelect>
                     </ipxact:physicalPort>
                  </ipxact:portMap>
                  <ipxact:portMap>
                     <ipxact:logicalPort>
                        <ipxact:name>PRDATA</ipxact:name>
                        <ipxact:range>
                           <ipxact:left>31</ipxact:left>
                           <ipxact:right>0</ipxact:right>
                        </ipxact:range>
                     </ipxact:logicalPort>
                     <ipxact:physicalPort>
                        <ipxact:name>prdata</ipxact:name>
                        <ipxact:partSelect>
                           <ipxact:range>
                              <ipxact:left>31</ipxact:left>
                              <ipxact:right>0</ipxact:right>
                           </ipxact:range>
                        </ipxact:partSelect>
                     </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:connectionRequired>true</ipxact:connectionRequired>
      </ipxact:busInterface>
   </ipxact:busInterfaces>
   <ipxact:memoryMaps>
      <ipxact:memoryMap>
         <ipxact:name>ambaAPB</ipxact:name>
         <ipxact:bank bankAlignment="serial">
            <ipxact:name>defaultid4490635</ipxact:name>
            <ipxact:baseAddress>0</ipxact:baseAddress>
            <ipxact:addressBlock>
               <ipxact:name>RAM</ipxact:name>
               <ipxact:range>'hFFC</ipxact:range>
               <ipxact:width>32</ipxact:width>
               <ipxact:usage>memory</ipxact:usage>
               <ipxact:volatile>false</ipxact:volatile>
               <ipxact:accessPolicies>
                  <ipxact:accessPolicy>
                     <ipxact:access>read-write</ipxact:access>
                  </ipxact:accessPolicy>
               </ipxact:accessPolicies>
            </ipxact:addressBlock>
            <ipxact:addressBlock>
               <ipxact:name>idAddressBlock</ipxact:name>
               <ipxact:range>4</ipxact:range>
               <ipxact:width>32</ipxact:width>
               <ipxact:usage>register</ipxact:usage>
               <ipxact:volatile>false</ipxact:volatile>
               <ipxact:accessPolicies>
                  <ipxact:accessPolicy>
                     <ipxact:access>read-only</ipxact:access>
                  </ipxact:accessPolicy>
               </ipxact:accessPolicies>
               <ipxact:register>
                  <ipxact:name>IDReg</ipxact:name>
                  <ipxact:description>ID register</ipxact:description>
                  <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>ID</ipxact:name>
                     <ipxact:description>ID Field</ipxact:description>
                     <ipxact:bitOffset>0</ipxact:bitOffset>
                     <ipxact:bitWidth>32</ipxact:bitWidth>
                     <ipxact:resets>
                        <ipxact:reset>
                           <ipxact:value>(('h00000D08) &gt;&gt; 0) &amp; {32{1'b1}}</ipxact:value>
                        </ipxact:reset>
                     </ipxact:resets>
                     <ipxact:fieldAccessPolicies>
                        <ipxact:fieldAccessPolicy>
                           <ipxact:access>read-only</ipxact:access>
                        </ipxact:fieldAccessPolicy>
                     </ipxact:fieldAccessPolicies>
                  </ipxact:field>
               </ipxact:register>
            </ipxact:addressBlock>
         </ipxact:bank>
      </ipxact:memoryMap>
   </ipxact:memoryMaps>
   <ipxact:model>
      <ipxact:views>
         <ipxact:view>
            <ipxact:name>verilogsource</ipxact:name>
            <ipxact:envIdentifier>:modelsim.mentor.com:</ipxact:envIdentifier>
            <ipxact:envIdentifier>:vcs.synopsys.com:</ipxact:envIdentifier>
            <ipxact:envIdentifier>:ncsim.cadence.com:</ipxact:envIdentifier>
            <ipxact:envIdentifier>:designcompiler.synopsys.com:</ipxact:envIdentifier>
            <ipxact:componentInstantiationRef>verilogsource</ipxact:componentInstantiationRef>
         </ipxact:view>
         <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:view>
            <ipxact:name>TLM_PV</ipxact:name>
            <ipxact:envIdentifier>:*Simulation:</ipxact:envIdentifier>
            <ipxact:componentInstantiationRef>TLM_PV</ipxact:componentInstantiationRef>
         </ipxact:view>
      </ipxact:views>
      <ipxact:instantiations>
         <ipxact:componentInstantiation>
            <ipxact:name>verilogsource</ipxact:name>
            <ipxact:language>verilog</ipxact:language>
            <ipxact:moduleName>apbram</ipxact:moduleName>
            <ipxact:fileSetRef>
               <ipxact:localName>fs-verilogSource</ipxact:localName>
            </ipxact:fileSetRef>
         </ipxact:componentInstantiation>
         <ipxact:componentInstantiation>
            <ipxact:name>vhdlsource</ipxact:name>
            <ipxact:language>vhdl</ipxact:language>
            <ipxact:moduleName>apbram(rtl)</ipxact:moduleName>
            <ipxact:fileSetRef>
               <ipxact:localName>fs-vhdlSource</ipxact:localName>
            </ipxact:fileSetRef>
         </ipxact:componentInstantiation>
         <ipxact:componentInstantiation>
            <ipxact:name>TLM_PV</ipxact:name>
            <ipxact:language>systemc</ipxact:language>
            <ipxact:moduleName>apbram</ipxact:moduleName>
            <ipxact:fileSetRef>
               <ipxact:localName>sourceCode</ipxact:localName>
            </ipxact:fileSetRef>
         </ipxact:componentInstantiation>
      </ipxact:instantiations>
      <ipxact:ports>
         <ipxact:port>
            <ipxact:name>pclk</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:wireTypeDefs>
                  <ipxact:wireTypeDef>
                     <ipxact:typeName>sc_logic</ipxact:typeName>
                     <ipxact:typeDefinition>systemc.h</ipxact:typeDefinition>
                     <ipxact:viewRef>TLM_PV</ipxact:viewRef>
                  </ipxact:wireTypeDef>
               </ipxact:wireTypeDefs>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>presetn</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:wireTypeDefs>
                  <ipxact:wireTypeDef>
                     <ipxact:typeName>sc_logic</ipxact:typeName>
                     <ipxact:typeDefinition>systemc.h</ipxact:typeDefinition>
                     <ipxact:viewRef>TLM_PV</ipxact:viewRef>
                  </ipxact:wireTypeDef>
               </ipxact:wireTypeDefs>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>psel</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:wireTypeDefs>
                  <ipxact:wireTypeDef>
                     <ipxact:typeName>sc_logic</ipxact:typeName>
                     <ipxact:typeDefinition>systemc.h</ipxact:typeDefinition>
                     <ipxact:viewRef>TLM_PV</ipxact:viewRef>
                  </ipxact:wireTypeDef>
               </ipxact:wireTypeDefs>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>penable</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:wireTypeDefs>
                  <ipxact:wireTypeDef>
                     <ipxact:typeName>sc_logic</ipxact:typeName>
                     <ipxact:typeDefinition>systemc.h</ipxact:typeDefinition>
                     <ipxact:viewRef>TLM_PV</ipxact:viewRef>
                  </ipxact:wireTypeDef>
               </ipxact:wireTypeDefs>
            </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:wireTypeDefs>
                  <ipxact:wireTypeDef>
                     <ipxact:typeName>sc_lv</ipxact:typeName>
                     <ipxact:typeDefinition>systemc.h</ipxact:typeDefinition>
                     <ipxact:viewRef>TLM_PV</ipxact:viewRef>
                  </ipxact:wireTypeDef>
               </ipxact:wireTypeDefs>
            </ipxact:wire>
         </ipxact:port>
         <ipxact:port>
            <ipxact:name>pwrite</ipxact:name>
            <ipxact:wire>
               <ipxact:direction>in</ipxact:direction>
               <ipxact:wireTypeDefs>
                  <ipxact:wireTypeDef>
                     <ipxact:typeName>sc_logic</ipxact:typeName>
                     <ipxact:typeDefinition>systemc.h</ipxact:typeDefinition>
                     <ipxact:viewRef>TLM_PV</ipxact:viewRef>
                  </ipxact:wireTypeDef>
               </ipxact:wireTypeDefs>
            </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:wireTypeDefs>
                  <ipxact:wireTypeDef>
                     <ipxact:typeName>sc_lv</ipxact:typeName>
                     <ipxact:typeDefinition>systemc.h</ipxact:typeDefinition>
                     <ipxact:viewRef>TLM_PV</ipxact:viewRef>
                  </ipxact:wireTypeDef>
               </ipxact:wireTypeDefs>
            </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:wireTypeDefs>
                  <ipxact:wireTypeDef>
                     <ipxact:typeName>sc_lv</ipxact:typeName>
                     <ipxact:typeDefinition>systemc.h</ipxact:typeDefinition>
                     <ipxact:viewRef>TLM_PV</ipxact:viewRef>
                  </ipxact:wireTypeDef>
               </ipxact:wireTypeDefs>
            </ipxact:wire>
         </ipxact:port>
      </ipxact:ports>
   </ipxact:model>
   <ipxact:fileSets>
      <ipxact:fileSet>
         <ipxact:name>fs-vhdlSource</ipxact:name>
         <ipxact:file>
            <ipxact:name>hdlsrc/apbram.vhd</ipxact:name>
            <ipxact:fileType>vhdlSource</ipxact:fileType>
            <ipxact:logicalName>apbram_lib</ipxact:logicalName>
         </ipxact:file>
      </ipxact:fileSet>
      <ipxact:fileSet>
         <ipxact:name>fs-verilogSource</ipxact:name>
         <ipxact:file>
            <ipxact:name>hdlsrc/apbram.v</ipxact:name>
            <ipxact:fileType>verilogSource</ipxact:fileType>
            <ipxact:logicalName>apbram_lib</ipxact:logicalName>
         </ipxact:file>
      </ipxact:fileSet>
      <ipxact:fileSet>
         <ipxact:name>sourceCode</ipxact:name>
         <ipxact:file>
            <ipxact:name>hdlsrc/apbram.cc</ipxact:name>
            <ipxact:fileType>systemCSource</ipxact:fileType>
            <ipxact:dependency>hdlsrc</ipxact:dependency>
         </ipxact:file>
         <ipxact:file>
            <ipxact:name>hdlsrc/apbram.h</ipxact:name>
            <ipxact:fileType>systemCSource</ipxact:fileType>
            <ipxact:isIncludeFile externalDeclarations="true">true</ipxact:isIncludeFile>
            <ipxact:logicalName>apbram</ipxact:logicalName>
         </ipxact:file>
      </ipxact:fileSet>
   </ipxact:fileSets>
</ipxact:component>
