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

Subversion Repositories rtfsimpleuart

[/] [rtfsimpleuart/] [trunk/] [rtl/] [verilog/] [rtfSimpleUartRx.v] - Diff between revs 12 and 13

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 12 Rev 13
Line 1... Line 1...
/* ============================================================================
// ============================================================================
        2011  Robert Finch
//      (C) 2011,2013  Robert Finch
        robfinch@<remove>sympatico.ca
//  All rights reserved.
 
//      robfinch@<remove>finitron.ca
        rtfSimpleUartRx.v
//
 
//      rtfSimpleUartRx.v
    This source code is available for evaluation and validation purposes
//
    only. This copyright statement and disclaimer must remain present in
// Redistribution and use in source and binary forms, with or without
    the file.
// modification, are permitted provided that the following conditions are met:
 
//     * Redistributions of source code must retain the above copyright
 
//       notice, this list of conditions and the following disclaimer.
        NO WARRANTY.
//     * Redistributions in binary form must reproduce the above copyright
    THIS Work, IS PROVIDEDED "AS IS" WITH NO WARRANTIES OF ANY KIND, WHETHER
//       notice, this list of conditions and the following disclaimer in the
    EXPRESS OR IMPLIED. The user must assume the entire risk of using the
//       documentation and/or other materials provided with the distribution.
    Work.
//     * Neither the name of the <organization> nor the
 
//       names of its contributors may be used to endorse or promote products
    IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY
//       derived from this software without specific prior written permission.
    INCIDENTAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES WHATSOEVER RELATING TO
//
    THE USE OF THIS WORK, OR YOUR RELATIONSHIP WITH THE AUTHOR.
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    IN ADDITION, IN NO EVENT DOES THE AUTHOR AUTHORIZE YOU TO USE THE WORK
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    IN APPLICATIONS OR SYSTEMS WHERE THE WORK'S FAILURE TO PERFORM CAN
// DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
    REASONABLY BE EXPECTED TO RESULT IN A SIGNIFICANT PHYSICAL INJURY, OR IN
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    LOSS OF LIFE. ANY SUCH USE BY YOU IS ENTIRELY AT YOUR OWN RISK, AND YOU
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    AGREE TO HOLD THE AUTHOR AND CONTRIBUTORS HARMLESS FROM ANY CLAIMS OR
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    LOSSES RELATING TO SUCH UNAUTHORIZED USE.
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        Simple UART receiver core
//
                Features:
//      Simple UART receiver core
                        false start bit detection
//              Features:
                        framing error detection
//                      false start bit detection
                        overrun state detection
//                      framing error detection
                        resynchronization on every character
//                      overrun state detection
                        fixed format 1 start - 8 data - 1 stop bits
//                      resynchronization on every character
                        uses 16x clock rate
//                      fixed format 1 start - 8 data - 1 stop bits
 
//                      uses 16x clock rate
                This core may be used as a standalone peripheral
//                      
        on a SoC bus if all that is desired is recieve
//              This core may be used as a standalone peripheral
        capability. It requires a 16x baud rate clock.
//      on a SoC bus if all that is desired is recieve
 
//      capability. It requires a 16x baud rate clock.
        +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//      
        |WISHBONE Datasheet
//      +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        |WISHBONE SoC Architecture Specification, Revision B.3
//      |WISHBONE Datasheet
        |
//      |WISHBONE SoC Architecture Specification, Revision B.3
        |Description:                                           Specifications:
//      |
        +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//      |Description:                                           Specifications:
        |General Description:                           simple serial UART receiver
//      +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//      |General Description:                           simple serial UART receiver
        |Supported Cycles:                                      SLAVE,READ
//      +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        |                                                                       SLAVE,BLOCK READ
//      |Supported Cycles:                                      SLAVE,READ
        +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//      |                                                                       SLAVE,BLOCK READ
        |Data port, size:                                       8 bit
//      +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        |Data port, granularity:                        8 bit
//      |Data port, size:                                       8 bit
        |Data port, maximum operand size:       8 bit
//      |Data port, granularity:                        8 bit
        |Data transfer ordering:                        Undefined
//      |Data port, maximum operand size:       8 bit
        |Data transfer sequencing:                      Undefined
//      |Data transfer ordering:                        Undefined
        +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//      |Data transfer sequencing:                      Undefined
        |Clock frequency constraints:           none
//      +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//      |Clock frequency constraints:           none
        |Supported signal list and                      Signal Name             WISHBONE equiv.
//      +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        |cross reference to equivalent          ack_o                   ACK_O
//      |Supported signal list and                      Signal Name             WISHBONE equiv.
        |WISHBONE signals
//      |cross reference to equivalent          ack_o                   ACK_O
        |                                                                       clk_i                   CLK_I
//      |WISHBONE signals                                       
        |                                   rst_i           RST_I
//      |                                                                       clk_i                   CLK_I
        |                                                                       dat_o(7:0)              DAT_O()
//      |                                   rst_i           RST_I
        |                                                                       cyc_i                   CYC_I
//      |                                                                       dat_o(7:0)              DAT_O()
        |                                                                       stb_i                   STB_I
//      |                                                                       cyc_i                   CYC_I
        |                                                                       we_i                    WE_I
//      |                                                                       stb_i                   STB_I
        |
//      |                                                                       we_i                    WE_I
        +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//      |
        |Special requirements:
//      +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//      |Special requirements:
 
//      +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        Ref: Spartan3 -4
//
        27 LUTs / 24 slices / 170 MHz
//      Ref: Spartan3 -4
============================================================================ */
//      27 LUTs / 24 slices / 170 MHz
 
//==============================================================================
 
 
`define IDLE    0
`define IDLE    0
`define CNT             1
`define CNT             1
 
 
module rtfSimpleUartRx(
module rtfSimpleUartRx(

powered by: WebSVN 2.1.0

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