LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Overview :: News :: Downloads :: Tracker :: Discussions (cores)    

    PCI Express 16 bit CRC verilog file: Overview

    Details

    Name: pci_express_crc
    Created: 08-Dec-2007 13:17:56
    Updated: 17-Dec-2007 16:36:57
    CVS: browse

    Other project properties

    Category :: ECC core
    Language :: Verilog
    Development status :: Production/Stable

    Project maintainers

  • chad magleby
  • Statistics

  • view
  • PCI express CRC verilog code 16 bit data 32 bit CRC

    Functional Description

    Designers commonly use Cyclic Redundacy Codes (CRC) as an alternative to parity and checksum calcutions for checking and correcting errors in data transmissions.

    The CRC method for error detection and correction treats the data frame as a huge binary number. The binary number is divided (at the CRC generation end) by a fixed binary number (the CRC generator polynomial) and the resulting remainder of this division (CRC value) is appended to the end of the data frame. The receiver upon reception of the data frame repeats the calculation and compares its calculated CRC value the CRC value attached to the data frame. The traditional method for implementing a CRC generator uses a shift register with XOR gates and feedback taps.

    The classic serial implementation is widely used, but it is too slow for PCI Express LCRC and Gigabit Ethernet where bit rates can top 100 Mb/sec. The alternative method is parallel CRC calculations. This parallel conversion effectively divides the input clock frequency by 8, 16, or 32.

    Features

    -feature1 Verilog LCRC code for PCI Express TLP packets
    -reature1.1 16 bit data in 32 bit LCRC out


     

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.