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

Subversion Repositories socgen

[/] [socgen/] [trunk/] [Projects/] [opencores.org/] [logic/] [ip/] [uart/] [rtl/] [xml/] [uart_rxtx.design.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: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>uart</spirit:name>
<spirit:version>rxtx.design</spirit:version>  



<spirit:vendorExtensions><socgen:nodes>



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

</socgen:node>


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

</socgen:node>


<socgen:node><spirit:name>fifo_data_out</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>fifo_full</spirit:name>
<spirit:typeName>wire</spirit:typeName>

</socgen:node>



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

</socgen:node>



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

</socgen:node>



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

</socgen:node>


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

</socgen:node>



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

</socgen:node>



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

</socgen:node>

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

</socgen:node>

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


<socgen:node><spirit:name>rxd_pad_synced</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="cde_serial_xmit" spirit:portRef="clk"/>
      <spirit:internalPortReference spirit:componentRef="serial_rcvr" spirit:portRef="clk"/>
      <spirit:internalPortReference spirit:componentRef="divider" spirit:portRef="clk"/>
      <spirit:internalPortReference spirit:componentRef="x_divider" spirit:portRef="clk"/>
      <spirit:internalPortReference spirit:componentRef="fifo" spirit:portRef="clk"/>
      <spirit:internalPortReference spirit:componentRef="filter" spirit:portRef="clk"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>reset</spirit:name>
      <spirit:externalPortReference spirit:portRef="slave_reset_reset"/>
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="reset"/>
      <spirit:internalPortReference spirit:componentRef="serial_rcvr" spirit:portRef="reset"/>
      <spirit:internalPortReference spirit:componentRef="divider" spirit:portRef="reset"/>
      <spirit:internalPortReference spirit:componentRef="x_divider" spirit:portRef="reset"/>
      <spirit:internalPortReference spirit:componentRef="fifo" spirit:portRef="reset"/>
    </spirit:adHocConnection>



 <spirit:adHocConnection>
      <spirit:name>txd_load</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="fifo" spirit:portRef="push"/>
    </spirit:adHocConnection>

 <spirit:adHocConnection>
      <spirit:name>txd_data_in</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="fifo" spirit:portRef="din"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>fifo_pop</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="fifo" spirit:portRef="pop"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>fifo_data_out</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="fifo" spirit:portRef="dout"/>
    </spirit:adHocConnection>

 <spirit:adHocConnection>
      <spirit:name>fifo_full</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="fifo" spirit:portRef="full"/>
    </spirit:adHocConnection>

 <spirit:adHocConnection>
      <spirit:name>fifo_empty</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="fifo" spirit:portRef="empty"/>
    </spirit:adHocConnection>

 <spirit:adHocConnection>
      <spirit:name>fifo_over_run</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="fifo" spirit:portRef="over_run"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>fifo_under_run</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="fifo" spirit:portRef="under_run"/>
    </spirit:adHocConnection>




 <spirit:adHocConnection>
      <spirit:name>baud_clk_div</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="x_divider" spirit:portRef="enable"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>xmit_enable</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="x_divider" spirit:portRef="divider_out"/>
    </spirit:adHocConnection>



 <spirit:adHocConnection>
      <spirit:name>baud_clk</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="divider" spirit:portRef="divider_out"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>baud_clk_div</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="serial_rcvr" spirit:portRef="edge_enable"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>parity_enable</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="serial_rcvr" spirit:portRef="parity_enable"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>rxd_parity</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="serial_rcvr" spirit:portRef="parity_type"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>rxd_force_parity</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="serial_rcvr" spirit:portRef="parity_force"/>
    </spirit:adHocConnection>



 <spirit:adHocConnection>
      <spirit:name>rxd_pad_in</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="filter" spirit:portRef="data_in"/>
    </spirit:adHocConnection>



 <spirit:adHocConnection>
      <spirit:name>rxd_pad_synced</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="filter" spirit:portRef="data_out"/>
      <spirit:internalPortReference spirit:componentRef="serial_rcvr" spirit:portRef="pad_in"/>
    </spirit:adHocConnection>




 <spirit:adHocConnection>
      <spirit:name>rxd_data_avail_stb</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="serial_rcvr" spirit:portRef="rcv_stb"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>rxd_data_out</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="serial_rcvr" spirit:portRef="data_out"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>rxd_parity_error</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="serial_rcvr" spirit:portRef="parity_error"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>rxd_stop_error</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="serial_rcvr" spirit:portRef="stop_error"/>
    </spirit:adHocConnection>


 <spirit:adHocConnection>
      <spirit:name>rxd_data_avail</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="serial_rcvr" spirit:portRef="data_avail"/>
    </spirit:adHocConnection>


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


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



 <spirit:adHocConnection>
      <spirit:name>txd_force_parity</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="parity_force"/>
    </spirit:adHocConnection>



 <spirit:adHocConnection>
      <spirit:name>txd_parity</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="parity_type"/>
    </spirit:adHocConnection>



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





 <spirit:adHocConnection>
      <spirit:name>txd_break_n</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="stop_value"/>
    </spirit:adHocConnection>

 <spirit:adHocConnection>
      <spirit:name>fifo_data_out</spirit:name>
      <spirit:externalPortReference spirit:portRef=""/>
      <spirit:internalPortReference spirit:componentRef="cde_serial_xmit" spirit:portRef="data"/>
    </spirit:adHocConnection>

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

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

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

    <spirit:adHocConnection spirit:tiedValue="4'b1111" >
    <spirit:internalPortReference spirit:componentRef="x_divider" spirit:portRef="divider_in"/>
    </spirit:adHocConnection>

    <spirit:adHocConnection spirit:tiedValue="PRESCALE">
    <spirit:internalPortReference spirit:componentRef="divider" spirit:portRef="divider_in"/>
    </spirit:adHocConnection>

    <spirit:adHocConnection  spirit:tiedValue="1'b1">
    <spirit:internalPortReference spirit:componentRef="divider" spirit:portRef="enable"/>
    </spirit:adHocConnection>




</spirit:adHocConnections>




<spirit:componentInstances>

<spirit:componentInstance>
<spirit:instanceName>serial_rcvr</spirit:instanceName> 
<spirit:componentRef spirit:vendor="opencores.org" spirit:library="logic" spirit:name="serial_rcvr" spirit:version="fifo" />
<spirit:configurableElementValues>
 <spirit:configurableElementValue spirit:referenceId="RX_FIFO_SIZE">RX_FIFO_SIZE</spirit:configurableElementValue>
 <spirit:configurableElementValue spirit:referenceId="RX_FIFO_WORDS">RX_FIFO_WORDS</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>divider</spirit:instanceName> 
<spirit:componentRef spirit:vendor="opencores.org" spirit:library="cde" spirit:name="divider" spirit:version="def" />
<spirit:configurableElementValues>
 <spirit:configurableElementValue spirit:referenceId="SIZE">PRE_SIZE</spirit:configurableElementValue>
</spirit:configurableElementValues>
</spirit:componentInstance>



<spirit:componentInstance>
<spirit:instanceName>fifo</spirit:instanceName> 
<spirit:componentRef spirit:vendor="opencores.org" spirit:library="cde" spirit:name="fifo" spirit:version="def" />
<spirit:configurableElementValues>
 <spirit:configurableElementValue spirit:referenceId="WIDTH">SIZE</spirit:configurableElementValue>
 <spirit:configurableElementValue spirit:referenceId="SIZE">TX_FIFO_SIZE</spirit:configurableElementValue>
 <spirit:configurableElementValue spirit:referenceId="WORDS">TX_FIFO_WORDS</spirit:configurableElementValue>
</spirit:configurableElementValues>
</spirit:componentInstance>


<spirit:componentInstance>
<spirit:instanceName>x_divider</spirit:instanceName> 
<spirit:componentRef spirit:vendor="opencores.org" spirit:library="cde" spirit:name="divider" spirit:version="def" />
<spirit:configurableElementValues>
 <spirit:configurableElementValue spirit:referenceId="SIZE">4</spirit:configurableElementValue>
</spirit:configurableElementValues>
</spirit:componentInstance>




<spirit:componentInstance>
<spirit:instanceName>filter</spirit:instanceName> 
<spirit:componentRef spirit:vendor="opencores.org" spirit:library="cde" spirit:name="sync" spirit:version="def" />
</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.