OpenCores
URL https://opencores.org/ocsvn/socgen/socgen/trunk

Subversion Repositories socgen

[/] [socgen/] [trunk/] [Projects/] [opencores.org/] [io/] [ip/] [io_pic/] [rtl/] [xml/] [io_pic_def.xml] - Rev 131

Go to most recent revision | Compare with Previous | Blame | View Log

<?xml version="1.0" encoding="UTF-8"?>
<!--
//                                                                        //
// Author : John Eaton  Ouabache Designworks                              //
//                                                                        //
//   Copyright (C) 2010 Authors and OPENCORES.ORG                         //
//                                                                        //
//   This source file may be used and distributed without                 //
//   restriction provided that this copyright statement is not            //
//   removed from the file and that any derivative work contains          //
//   the original copyright notice and the associated disclaimer.         //
//                                                                        //
//   This source file is free software; you can redistribute it           //
//   and/or modify it under the terms of the GNU Lesser General           //
//   Public License as published by the Free Software Foundation;         //
//   either version 2.1 of the License, or (at your option) any           //
//   later version.                                                       //
//                                                                        //
//   This source is distributed in the hope that it will be               //
//   useful, but WITHOUT ANY WARRANTY; without even the implied           //
//   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR              //
//   PURPOSE. See the GNU Lesser General Public License for more          //
//   details.                                                             //
//                                                                        //
//   You should have received a copy of the GNU Lesser General            //
//   Public License along with this source; if not, download it           //
//   from http://www.opencores.org/lgpl.shtml                             //
//                                                                        //
-->
<spirit:component 
xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009"
xmlns:socgen="http://opencores.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009
http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/index.xsd">

<spirit:vendor>opencores.org</spirit:vendor>
<spirit:library>io</spirit:library>
<spirit:name>io_pic</spirit:name>
<spirit:version>def</spirit:version>  <spirit:configuration>default</spirit:configuration>  



<spirit:busInterfaces>

 <spirit:busInterface><spirit:name>slave_clk</spirit:name>
  <spirit:busType spirit:vendor="opencores.org" spirit:library="Busdefs" spirit:name="clock" spirit:version="def"/>
  <spirit:abstractionType spirit:vendor="opencores.org" spirit:library="Busdefs" spirit:name="clock" spirit:version="rtl"/>
   <spirit:slave><spirit:memoryMapRef spirit:memoryMapRef="mb"/>  </spirit:slave>
 
    <spirit:portMaps>
      <spirit:portMap>
        <spirit:logicalPort><spirit:name>clk</spirit:name></spirit:logicalPort>
        <spirit:physicalPort><spirit:name>clk</spirit:name></spirit:physicalPort>
      </spirit:portMap>
    </spirit:portMaps>
 </spirit:busInterface>


 <spirit:busInterface><spirit:name>slave_reset</spirit:name>
  <spirit:busType spirit:vendor="opencores.org" spirit:library="Busdefs" spirit:name="reset" spirit:version="def"/>
  <spirit:abstractionType spirit:vendor="opencores.org" spirit:library="Busdefs" spirit:name="reset" spirit:version="rtl"/>
  <spirit:slave/>
    <spirit:portMaps>
      <spirit:portMap>
        <spirit:logicalPort><spirit:name>reset</spirit:name></spirit:logicalPort>
        <spirit:physicalPort><spirit:name>reset</spirit:name></spirit:physicalPort>
      </spirit:portMap>
    </spirit:portMaps>
 </spirit:busInterface>




<spirit:busInterface><spirit:name>mb</spirit:name>
   <spirit:busType spirit:vendor="opencores.org" spirit:library="Busdefs" spirit:name="micro_bus" spirit:version="def"/>
   <spirit:abstractionType spirit:vendor="opencores.org" spirit:library="Busdefs" spirit:name="micro_bus" spirit:version="rtl"/>
   <spirit:endianness>little</spirit:endianness>
   <spirit:bitsInLau>8</spirit:bitsInLau>
     <spirit:slave><spirit:memoryMapRef spirit:memoryMapRef="mb"/>  </spirit:slave>
     <spirit:portMaps>
        <spirit:portMap>
         <spirit:logicalPort><spirit:name>rdata</spirit:name>
         </spirit:logicalPort>
         <spirit:physicalPort><spirit:name>rdata</spirit:name>
           <spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs>
           <spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire>
         </spirit:physicalPort>
       </spirit:portMap>


        <spirit:portMap>
         <spirit:logicalPort><spirit:name>wdata</spirit:name>
         </spirit:logicalPort>
         <spirit:physicalPort><spirit:name>wdata</spirit:name>
           <spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire>
         </spirit:physicalPort>
       </spirit:portMap>


        <spirit:portMap>
         <spirit:logicalPort><spirit:name>addr</spirit:name>
         </spirit:logicalPort>
         <spirit:physicalPort><spirit:name>addr</spirit:name>
           <spirit:wire><spirit:vector><spirit:left>3</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire>
         </spirit:physicalPort>
       </spirit:portMap>


        <spirit:portMap>
         <spirit:logicalPort><spirit:name>rd</spirit:name>
         </spirit:logicalPort>
         <spirit:physicalPort><spirit:name>rd</spirit:name>
         </spirit:physicalPort>
       </spirit:portMap>

        <spirit:portMap>
         <spirit:logicalPort><spirit:name>wr</spirit:name>
         </spirit:logicalPort>
         <spirit:physicalPort><spirit:name>wr</spirit:name>
         </spirit:physicalPort>
       </spirit:portMap>

        <spirit:portMap>
         <spirit:logicalPort><spirit:name>cs</spirit:name>
         </spirit:logicalPort>
         <spirit:physicalPort><spirit:name>cs</spirit:name>
         </spirit:physicalPort>
       </spirit:portMap>


      </spirit:portMaps>
  </spirit:busInterface>




</spirit:busInterfaces>



<spirit:componentGenerators>







<spirit:componentGenerator>
  <spirit:name>gen_registers</spirit:name>
  <spirit:phase>103.0</spirit:phase>
  <spirit:vendorExtensions><socgen:envIdentifier>common</socgen:envIdentifier></spirit:vendorExtensions>
  <spirit:apiType>none</spirit:apiType>
  <spirit:generatorExe>./tools/regtool/gen_registers</spirit:generatorExe>
    <spirit:parameters>
    <spirit:parameter> 
      <spirit:name>bus_intf</spirit:name>
      <spirit:value>mb</spirit:value>
    </spirit:parameter>
    <spirit:parameter> 
      <spirit:name>dest_dir</spirit:name>
      <spirit:value>../verilog</spirit:value>
    </spirit:parameter>
  </spirit:parameters>    
</spirit:componentGenerator>

<spirit:componentGenerator>
  <spirit:name>gen_verilog</spirit:name>
  <spirit:phase>104.0</spirit:phase>
  <spirit:apiType>none</spirit:apiType>
  <spirit:vendorExtensions><socgen:envIdentifier>common</socgen:envIdentifier></spirit:vendorExtensions>
  <spirit:generatorExe>./tools/verilog/gen_verilog</spirit:generatorExe> 
  <spirit:parameters>
    <spirit:parameter> 
      <spirit:name>destination</spirit:name>
      <spirit:value>top</spirit:value>
    </spirit:parameter>
    <spirit:parameter> 
      <spirit:name>dest_dir</spirit:name>
      <spirit:value>../verilog</spirit:value>
    </spirit:parameter>
  </spirit:parameters>
</spirit:componentGenerator>


</spirit:componentGenerators>

  <spirit:fileSets>

    <spirit:fileSet>
      <spirit:name>fs-common</spirit:name>

      <spirit:file>
        <spirit:logicalName></spirit:logicalName>
        <spirit:name>../verilog/top.body</spirit:name>
        <spirit:fileType>verilogSource</spirit:fileType><spirit:userFileType>fragment</spirit:userFileType>
      </spirit:file>

    </spirit:fileSet>

    <spirit:fileSet>
      <spirit:name>fs-sim</spirit:name>
      <spirit:file>
        <spirit:logicalName></spirit:logicalName>
        <spirit:name>../verilog/copyright.v</spirit:name>
        <spirit:fileType>verilogSource</spirit:fileType><spirit:userFileType>include</spirit:userFileType>
      </spirit:file>

      <spirit:file>
        <spirit:logicalName></spirit:logicalName>
        <spirit:name>../verilog/common/top</spirit:name>
        <spirit:fileType>verilogSource</spirit:fileType><spirit:userFileType>module</spirit:userFileType>
      </spirit:file>

      <spirit:file>
        <spirit:logicalName>mb</spirit:logicalName>
        <spirit:name>../verilog/io_pic_def_mb</spirit:name>
        <spirit:fileType>verilogSource</spirit:fileType><spirit:userFileType>module</spirit:userFileType>
      </spirit:file>



    </spirit:fileSet>



  </spirit:fileSets>





<spirit:model>    
       <spirit:views>


              <spirit:view>
              <spirit:name>verilog</spirit:name>              
              <spirit:vendorExtensions>
              <spirit:componentRef spirit:vendor="opencores.org" 
                                   spirit:library="Testbench" 
                                   spirit:name="toolflow" 
                                   spirit:version="verilog"/> 
              </spirit:vendorExtensions>
              </spirit:view>





              <spirit:view>
              <spirit:name>common</spirit:name><spirit:envIdentifier>common</spirit:envIdentifier>
              
              <spirit:language>Verilog</spirit:language>
              <spirit:modelName></spirit:modelName>
                     <spirit:fileSetRef>
                            <spirit:localName>fs-common</spirit:localName>
                     </spirit:fileSetRef>
              </spirit:view>

              <spirit:view>
              <spirit:name>sim</spirit:name><spirit:envIdentifier>:*Simulation:*</spirit:envIdentifier>
              
              <spirit:language>Verilog</spirit:language>
              <spirit:modelName></spirit:modelName>
                     <spirit:fileSetRef>
                            <spirit:localName>fs-sim</spirit:localName>
                     </spirit:fileSetRef>
              </spirit:view>

              <spirit:view>
              <spirit:name>syn</spirit:name><spirit:envIdentifier>:*Synthesis:*</spirit:envIdentifier>
              
              <spirit:language>Verilog</spirit:language>
              <spirit:modelName></spirit:modelName>
                     <spirit:fileSetRef>
                            <spirit:localName>fs-sim</spirit:localName>
                     </spirit:fileSetRef>
              </spirit:view>


              <spirit:view>
              <spirit:name>doc</spirit:name>
              <spirit:vendorExtensions>
              <spirit:componentRef spirit:vendor="opencores.org" 
                                   spirit:library="Testbench" 
                                   spirit:name="toolflow" 
                                   spirit:version="documentation"/> 
              </spirit:vendorExtensions>
              <spirit:envIdentifier>:*Documentation:*</spirit:envIdentifier>
              <spirit:language>Verilog</spirit:language>
              </spirit:view>



      </spirit:views>



<spirit:modelParameters>
<spirit:modelParameter><spirit:name>IRQ_MODE</spirit:name><spirit:value>8'h00</spirit:value></spirit:modelParameter>
<spirit:modelParameter><spirit:name>NMI_MODE</spirit:name><spirit:value>8'h00</spirit:value></spirit:modelParameter>
</spirit:modelParameters>

<spirit:ports>

<spirit:port><spirit:name>enable</spirit:name>
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs>
<spirit:wire><spirit:direction>in</spirit:direction></spirit:wire>
</spirit:port>




<spirit:port><spirit:name>irq_out</spirit:name>
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>reg</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs>
<spirit:wire><spirit:direction>out</spirit:direction></spirit:wire>
</spirit:port>

<spirit:port><spirit:name>nmi_out</spirit:name>
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>reg</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs>
<spirit:wire><spirit:direction>out</spirit:direction></spirit:wire>
</spirit:port>

<spirit:port><spirit:name>int_in</spirit:name>
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs>
<spirit:wire><spirit:direction>in</spirit:direction>
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire>
</spirit:port>

</spirit:ports>

</spirit:model>    









<spirit:memoryMaps>
<spirit:memoryMap>

<spirit:name>mb</spirit:name>
<spirit:addressUnitBits>8</spirit:addressUnitBits>
<spirit:bank>
 <spirit:name>mb</spirit:name>
 <spirit:baseAddress>0x00</spirit:baseAddress>
 
  <spirit:addressBlock>
  <spirit:name>mb_microbus</spirit:name>
  <spirit:range>0x10</spirit:range>
  <spirit:width>8</spirit:width>


 <spirit:register>
   <spirit:name>int_in</spirit:name>
   <spirit:addressOffset>0x0</spirit:addressOffset>
   <spirit:size>8</spirit:size>
   <spirit:access>read-only</spirit:access>
  </spirit:register>

 <spirit:register>
   <spirit:name>irq_enable</spirit:name>
   <spirit:addressOffset>0x2</spirit:addressOffset>
   <spirit:size>8</spirit:size>
   <spirit:access>read-write</spirit:access>
  </spirit:register>

 <spirit:register>
   <spirit:name>nmi_enable</spirit:name>
   <spirit:addressOffset>0x4</spirit:addressOffset>
   <spirit:size>8</spirit:size>
   <spirit:access>read-write</spirit:access>
  </spirit:register>


 <spirit:register>
   <spirit:name>irq_act</spirit:name>
   <spirit:addressOffset>0x6</spirit:addressOffset>
   <spirit:size>8</spirit:size>
   <spirit:access>read-only</spirit:access>
  </spirit:register>

 <spirit:register>
   <spirit:name>nmi_act</spirit:name>
   <spirit:addressOffset>0x8</spirit:addressOffset>
   <spirit:size>8</spirit:size>
   <spirit:access>read-only</spirit:access>
  </spirit:register>



  </spirit:addressBlock>


</spirit:bank>

</spirit:memoryMap></spirit:memoryMaps>








</spirit:component>

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.