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

Subversion Repositories socgen

[/] [socgen/] [trunk/] [Projects/] [opencores.org/] [logic/] [ip/] [serial_rcvr/] [rtl/] [xml/] [serial_rcvr_fifo.design.xml] - Rev 134

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>serial_rcvr</spirit:name>
<spirit:version>fifo.design</spirit:version>  



<spirit:vendorExtensions><socgen:nodes>


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

</socgen:node>

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

</socgen:node>

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

</socgen:node>

<socgen:node><spirit:name>next_shift_buffer</spirit:name>
<spirit:typeName>wire</spirit:typeName>
<spirit:wire>
<spirit:vector><spirit:left>WIDTH-1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire>
</socgen:node>

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

</socgen:node>

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

</socgen:node>

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

</socgen:node>

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

</socgen:node>

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

</socgen:node>

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

</socgen:node>

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

</socgen:node>

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

</socgen:node>

<socgen:node><spirit:name>rdy_del</spirit:name>
<spirit:typeName>reg</spirit:typeName>
<spirit:wire>
<spirit:vector><spirit:left>1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire>
</socgen:node>

<socgen:node><spirit:name>shift_buffer</spirit:name>
<spirit:typeName>reg</spirit:typeName>
<spirit:wire>
<spirit:vector><spirit:left>WIDTH-1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire>
</socgen:node>

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

</socgen:node>

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

</socgen:node>

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

</socgen:node>


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

</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>fifo_din</spirit:name>
<spirit:typeName>wire</spirit:typeName>
<spirit:wire>
<spirit:vector><spirit:left>WIDTH+1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire>
</socgen:node>

<socgen:node><spirit:name>fifo_dout</spirit:name>
<spirit:typeName>wire</spirit:typeName>
<spirit:wire>
<spirit:vector><spirit:left>WIDTH+1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire>
</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="serial_rcvr" spirit:portRef="clk"/>
      <spirit:internalPortReference spirit:componentRef="divider" spirit:portRef="clk"/>
      <spirit:internalPortReference spirit:componentRef="fifo" spirit:portRef="clk"/>
    </spirit:adHocConnection>


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


    <spirit:adHocConnection>
      <spirit:name>divider_reset</spirit:name>
      <spirit:internalPortReference spirit:componentRef="divider" spirit:portRef="reset"/>
    </spirit:adHocConnection>

    <spirit:adHocConnection>
      <spirit:name>edge_enable</spirit:name>
      <spirit:externalPortReference spirit:portRef="edge_enable"/>
      <spirit:internalPortReference spirit:componentRef="divider" spirit:portRef="enable"/>
    </spirit:adHocConnection>

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

    <spirit:adHocConnection>
      <spirit:name>baud_enable</spirit:name>
      <spirit:internalPortReference spirit:componentRef="serial_rcvr" spirit:portRef="edge_enable"/>
      <spirit:internalPortReference spirit:componentRef="divider" spirit:portRef="divider_out"/>
    </spirit:adHocConnection>


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


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


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


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


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



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

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

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

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

    <spirit:adHocConnection>
      <spirit:name>next_frame_error</spirit:name>
      <spirit:internalPortReference spirit:componentRef="serial_rcvr" spirit:portRef="frame_err"/>
    </spirit:adHocConnection>


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

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


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


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

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

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

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

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



</spirit:adHocConnections>

<spirit:componentInstances>
   


<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">4</spirit:configurableElementValue>
 <spirit:configurableElementValue spirit:referenceId="SAMPLE">8</spirit:configurableElementValue>
 <spirit:configurableElementValue spirit:referenceId="RESET">0</spirit:configurableElementValue>
</spirit:configurableElementValues>
</spirit:componentInstance>

<spirit:componentInstance>
<spirit:instanceName>serial_rcvr</spirit:instanceName> <spirit:componentRef spirit:vendor="opencores.org" spirit:library="cde" spirit:name="serial" spirit:version="rcvr" />
 <spirit:configurableElementValues>
 <spirit:configurableElementValue spirit:referenceId="WIDTH">WIDTH</spirit:configurableElementValue>
 <spirit:configurableElementValue spirit:referenceId="SIZE">SIZE</spirit:configurableElementValue>
 <spirit:configurableElementValue spirit:referenceId="BREAK">1</spirit:configurableElementValue>
 <spirit:configurableElementValue spirit:referenceId="STOP_VALUE">STOP_VALUE</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">WIDTH+2</spirit:configurableElementValue>
 <spirit:configurableElementValue spirit:referenceId="SIZE">RX_FIFO_SIZE</spirit:configurableElementValue>
 <spirit:configurableElementValue spirit:referenceId="WORDS">RX_FIFO_WORDS</spirit:configurableElementValue>
 </spirit:configurableElementValues>
</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.