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

Subversion Repositories socgen

[/] [socgen/] [trunk/] [Projects/] [opencores.org/] [logic/] [ip/] [ps2_interface/] [rtl/] [xml/] [ps2_interface_def.design.xml] - Rev 133

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:design 
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>logic</spirit:library>
<spirit:name>ps2_interface</spirit:name>
<spirit:version>def.design</spirit:version>  


<spirit:vendorExtensions><socgen:nodes>

<socgen:node><spirit:name>usec_prescale_count</spirit:name>
<spirit:typeName>reg</spirit:typeName>
<spirit:wire>
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire>
</socgen:node>


<socgen:node><spirit:name>usec_delay_count</spirit:name>
<spirit:typeName>reg</spirit:typeName>
<spirit:wire>
<spirit:vector><spirit:left>6</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire>
</socgen:node>



<socgen:node><spirit:name>usec_delay_done</spirit:name>
<spirit:typeName>reg</spirit:typeName>

</socgen:node>


<socgen:node><spirit:name>usec_tick</spirit:name>
<spirit:typeName>reg</spirit:typeName>

</socgen:node>

<socgen:node><spirit:name>force_startbit</spirit:name>
<spirit:typeName>reg</spirit:typeName>

</socgen:node>

<socgen:node><spirit:name>sending</spirit:name>
<spirit:typeName>reg</spirit:typeName>

</socgen:node>




<socgen:node><spirit:name>frame</spirit:name>
<spirit:typeName>reg</spirit:typeName>
<spirit:wire>
<spirit:vector><spirit:left>10</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire>
</socgen:node>

<socgen:node><spirit:name>bit_count</spirit:name>
<spirit:typeName>reg</spirit:typeName>
<spirit:wire>
<spirit:vector><spirit:left>3</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire>
</socgen:node>


<socgen:node><spirit:name>enable_usec_delay</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>


<socgen:node><spirit:name>start_xmit</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>


<socgen:node><spirit:name>ps2_clk_s</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>


<socgen:node><spirit:name>ps2_clk_rise</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>


<socgen:node><spirit:name>ps2_clk_fall</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>



<socgen:node><spirit:name>ps2_data_s</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>



<socgen:node><spirit:name>shift_frame</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>



<socgen:node><spirit:name>load_tx_data</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>



<socgen:node><spirit:name>x_shift_buffer</spirit:name>
<spirit:typeName>wire</spirit:typeName>
<spirit:wire>
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire>
</socgen:node>


<socgen:node><spirit:name>x_stop_cnt</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>


<socgen:node><spirit:name>x_last_cnt</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>


<socgen:node><spirit:name>x_parity_calc</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>


<socgen:node><spirit:name>x_parity_samp</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>


<socgen:node><spirit:name>x_frame_err</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>


<socgen:node><spirit:name>cde_serial_xmit_edge_enable</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>


<socgen:node><spirit:name>cde_serial_xmit_load</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>

<socgen:node><spirit:name>cde_serial_rcvr_reset</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>



</socgen:nodes></spirit:vendorExtensions>


<spirit:adHocConnections>

 <spirit:adHocConnection>
      <spirit:name>clk</spirit:name>
      <spirit:externalPortReference spirit:portRef="slave_clk_clk"/>
      <spirit:internalPortReference spirit:componentRef="clk_filter" spirit:portRef="clk"/>
      <spirit:internalPortReference spirit:componentRef="data_filter" spirit:portRef="clk"/>
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="clk"/>
      <spirit:internalPortReference spirit:componentRef="cde_serial_rcvr" spirit:portRef="clk"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>reset</spirit:name>
      <spirit:externalPortReference spirit:portRef="slave_reset_reset"/>
      <spirit:internalPortReference spirit:componentRef="clk_filter" spirit:portRef="reset"/>
      <spirit:internalPortReference spirit:componentRef="data_filter" spirit:portRef="reset"/>
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="reset"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>ps2_clk_pad_in</spirit:name>
      <spirit:externalPortReference spirit:portRef="ps2_clk_pad_in"/>
      <spirit:internalPortReference spirit:componentRef="clk_filter" spirit:portRef="data_in"/>
    </spirit:adHocConnection>

 <spirit:adHocConnection>
      <spirit:name>ps2_data_pad_in</spirit:name>
      <spirit:externalPortReference spirit:portRef="ps2_data_pad_in"/>
      <spirit:internalPortReference spirit:componentRef="data_filter" spirit:portRef="data_in"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>ps2_clk_s</spirit:name>
      <spirit:internalPortReference spirit:componentRef="clk_filter" spirit:portRef="data_out"/>
    </spirit:adHocConnection>

 <spirit:adHocConnection>
      <spirit:name>ps2_clk_rise</spirit:name>
      <spirit:internalPortReference spirit:componentRef="clk_filter" spirit:portRef="data_rise"/>
    </spirit:adHocConnection>

 <spirit:adHocConnection>
      <spirit:name>ps2_clk_fall</spirit:name>
      <spirit:internalPortReference spirit:componentRef="clk_filter" spirit:portRef="data_fall"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>ps2_data_s</spirit:name>
      <spirit:internalPortReference spirit:componentRef="data_filter" spirit:portRef="data_out"/>
    </spirit:adHocConnection>

 <spirit:adHocConnection>
      <spirit:name></spirit:name>
      <spirit:internalPortReference spirit:componentRef="data_filter" spirit:portRef="data_rise"/>
      <spirit:internalPortReference spirit:componentRef="data_filter" spirit:portRef="data_fall"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>cde_serial_xmit_edge_enable</spirit:name>
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="edge_enable"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>cde_serial_xmit_load</spirit:name>
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="load"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection spirit:tiedValue="1'b1"  >
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="parity_enable"/>
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="start_value"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection spirit:tiedValue="1'b0" >
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="parity_type"/>
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="parity_force"/>
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="stop_value"/>
    </spirit:adHocConnection>



 <spirit:adHocConnection>
      <spirit:name>~tx_data</spirit:name>
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="data"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>tx_buffer_empty</spirit:name>
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="buffer_empty"/>
    </spirit:adHocConnection>

 <spirit:adHocConnection>
      <spirit:name>ps2_data_pad_oe</spirit:name>
      <spirit:externalPortReference spirit:portRef="ps2_data_pad_oe"/>
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="ser_out"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>cde_serial_rcvr_reset</spirit:name>
      <spirit:internalPortReference spirit:componentRef="cde_serial_rcvr" spirit:portRef="reset"/>
    </spirit:adHocConnection>

 <spirit:adHocConnection>
      <spirit:name>ps2_clk_fall</spirit:name>
      <spirit:internalPortReference spirit:componentRef="cde_serial_rcvr" spirit:portRef="edge_enable"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection spirit:tiedValue="1'b1" >
      <spirit:internalPortReference spirit:componentRef="cde_serial_rcvr" spirit:portRef="parity_enable"/>
      <spirit:internalPortReference spirit:componentRef="cde_serial_rcvr" spirit:portRef="parity_type"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection spirit:tiedValue="1'b0" >
      <spirit:internalPortReference spirit:componentRef="cde_serial_rcvr" spirit:portRef="parity_force"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>ps2_data_s</spirit:name>
      <spirit:internalPortReference spirit:componentRef="cde_serial_rcvr" spirit:portRef="ser_in"/>
    </spirit:adHocConnection>

 <spirit:adHocConnection>
      <spirit:name>x_shift_buffer</spirit:name>
      <spirit:internalPortReference spirit:componentRef="cde_serial_rcvr" spirit:portRef="shift_buffer"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>x_stop_cnt</spirit:name>
      <spirit:internalPortReference spirit:componentRef="cde_serial_rcvr" spirit:portRef="stop_cnt"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>x_last_cnt</spirit:name>
      <spirit:internalPortReference spirit:componentRef="cde_serial_rcvr" spirit:portRef="last_cnt"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>x_parity_calc</spirit:name>
      <spirit:internalPortReference spirit:componentRef="cde_serial_rcvr" spirit:portRef="parity_calc"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>x_parity_samp</spirit:name>
      <spirit:internalPortReference spirit:componentRef="cde_serial_rcvr" spirit:portRef="parity_samp"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>x_frame_err</spirit:name>
      <spirit:internalPortReference spirit:componentRef="cde_serial_rcvr" spirit:portRef="frame_err"/>
    </spirit:adHocConnection>


</spirit:adHocConnections>



<spirit:componentInstances>


<spirit:componentInstance>
<spirit:instanceName>clk_filter</spirit:instanceName> <spirit:componentRef spirit:vendor="opencores.org" spirit:library="cde" spirit:name="sync" spirit:version="with_hysteresis" />
<spirit:configurableElementValues>
 <spirit:configurableElementValue spirit:referenceId="DEBOUNCE_DELAY">DEBOUNCE_DELAY</spirit:configurableElementValue>
</spirit:configurableElementValues>
</spirit:componentInstance>   

<spirit:componentInstance>
<spirit:instanceName>data_filter</spirit:instanceName> <spirit:componentRef spirit:vendor="opencores.org" spirit:library="cde" spirit:name="sync" spirit:version="with_hysteresis" />
<spirit:configurableElementValues>
 <spirit:configurableElementValue spirit:referenceId="DEBOUNCE_DELAY">DEBOUNCE_DELAY</spirit:configurableElementValue>
</spirit:configurableElementValues>
</spirit:componentInstance>   


<spirit:componentInstance>
<spirit:instanceName>cde_serial_xmit</spirit:instanceName> <spirit:componentRef spirit:vendor="opencores.org" spirit:library="cde" spirit:name="serial" spirit:version="xmit" />
</spirit:componentInstance>   


<spirit:componentInstance>
<spirit:instanceName>cde_serial_rcvr</spirit:instanceName> <spirit:componentRef spirit:vendor="opencores.org" spirit:library="cde" spirit:name="serial" spirit:version="rcvr" />
</spirit:componentInstance>   


</spirit:componentInstances>







</spirit:design>

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.