The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers.    


Datasheet Search Engine   
 
Part # or Description: • 5V RS232 Driver • 2SC5066* • "Real Time Clock" • "USB connector" • "blue led" 5mm • 10 watt zener diode • 2N3055* motorola
 
Search Tip: Try entering the part number only. Include a wildcard (eg. lm317* or 1n4148*)

 

 

highlights Cyclic Redundancy Codes (CRC) Generator follow: Calculation


Datasheet Thumbnail

  

Download PDF



Top Searches for this datasheet



Cyclic Redundancy Code Generator Macro
highlights Cyclic Redundancy Codes (CRC) Generator follow: Calculation Multiple Algorithm Support CRC8 A(HEC) CRC10 A(OAM) CANbus (SDLC, HDLC, CRC-CCITT) CRC16 CRC16 inverted CRC32 User defined polynomial Win32 console application that generates VHDL code Performance (CRC32, 54SXA Serial 32-bit Parallel, 8-bit Data-130 Generator application generates VHDL code specifically SX-A, ProASIC, ProASICPLUS families. VHDL code generated simply designed take advantage SX-A silicon features. This necessary meet timing requirement greater than MHz-oriented toward telecommunications applications.
Many designers alternative parity checksum calculation checking (and sometimes correcting) data transmission errors. 16-bit detects single double-burst errors ensures detection 99.998% possible errors. This level error protection considered sufficient data transmission blocks kilobytes less. larger transmissions, 32-bit often employed. Gigabit Ethernet, ATM, other higher-speed protocols require CRC, although exact polynomial changes depend upon transmission protocol (Figure ATM, 8-bit used header error check, addition (optional) error checking often done data. larger transmissions, 32-bit often used. method treats data frame large binary number. This number then divided generator end) fixed binary number (the generator polynomial) resulting value appended data frame. receiver then repeats calculation compares value with generated value. classic serial implementation method uses shift register with gates feedback taps shown Figure polynomial (G(x)=x16+x12+x5=1). serial implementation suitable about Mb/s using FPGAs. blocks described here used higher rates including Gigabit Ethernet Gb/sec serial rate stepped down A(620 Mb/sec serial rate stepped down 77.5 MHz).
CCITT Generator Polynomial G(x)
Data
Figure Serial Calculation
2002 Actel Corporation
Shift Sequence
initial contents feedback shift register shown row; namely, through After first data shifted into shift register, contents shift register functions previous
contents. continue shift until eight shifts have been made, shown diagram. shift register contents functions both original contents data bits after clocks, shown Figure
Initial:
shifted
shifted
shifted
Figure Serial Parallel Sequence input data bits available parallel, number steps generate reduced. example, 16-bit generation would two-step process- each eight input data bits. same technique extends 32-bit CRCs. Alternatively, expand equations full 32-bit step. There pipelining other than register itself. N-bit serial CRC, data becomes available clock edge after first (which clocks first into shift register). This actually cycle N+1. N-bit parallel CRC, with data bits available, should integer. Again, cycle cycle which data clocked into shift register, first bits available parallel cycle N/M+1, next bits cycle N/M+2, etc. This widely used method slow Gigabit Ethernet high-speed ATM, where rates Mbps. alternative method parallel computation CRC. Serial-to-parallel conversion data effectively divides input clock frequency calculate N-bit M-bits time. typical implementation shown Figure 8-bit parallel 16-bit CRC.
DI[7:0]
[7:0]
PARCRC8
[15:0]
>CLK
[15:0
ENABLE
>CLK
>CLK
INIT
>CLK
Figure 8-Bit Parallel CCITT-16
Top-Level Interface
Top-Level Block Diagrams
Figure illustrates serial parallel cases block. addition, Table describes signals serial parallel CRC.
RSTn INITn LOAD (M:0) (N:0)
Figure Block Table Top-Level Signal Description
RSTn INITn LOAD Input Input Input Input This master clock signal. Asynchronous system reset (initialization) signal. Synchronous reset (initialization) signal. parallel mode, when this signal high macro enabled allowing calculated incoming data. When this signal previous value retained output. serial mode, when this signal high macro enabled allowing calculated incoming data. When this signal calculated shifted unaltered incoming data. input data bits. serial computation, this single bit. output data bits. serial computation, this single bit.
D(M:0) CRC(N:)
Input Output
Win32 console application (NT/Win95/Win98/Win2000 compatible) allows choosing desired polynomial from menu. There several common generator polynomials supported with Actel Macro follow: sCRC8, A(HEC) x8+x2+x+1 CRC10, A(OAM Cell) x10+x9+x5+x4+x+1 CANbus x15+x14+x10+x8+x7+x4+x3+1 CRC16 x16+x12+x2+1 CRC16 inverted x16+x14+x+1 (SDLC, HDLC, CRC-CCITT) x16+x12+x5+1 CRC32 (Ethernet, FDDI)
user wants different polynomial, "Enter your polynomial" option available. example, polynomial would entered 10001000000100001. User-defined polynomials 32nd order (comparable CRC32, example) supported. addition, number input data bits calculated parallel selected. program will generate fully synthesizable, completely behavioral VHDL description. simple test bench been implemented illustrating generation using polynomial supplied with macro. test bench reads random data calculates both serially with 8-bit parallel data. simulation, CRCs compared verify that parallel implemented correctly (serial CRCs correct inspection). test bench easily modified accommodate different polynomials.
Estimated Performance Device Utilization
expected performance utilization statistics given Table Table serial parallel implementations using SX-A ProASICPLUS devices. clock frequency rate which Table 54SX-A Utilization Performance Statistics
Configuration with SXA08 Device CRC-32 Generator Polynomial CRC-16/CCITT Generator Polynomial 32-bit wide input 8-bit wide input 1-bit wide input 16-bit wide input 8-bit wide input 1-bit wide input Sequential/Total Used Modules 32/392 32/36 32/115 16/106 16/57 16/35
clocked. serial data rate effective system clock rate assuming serialization deserialization data parallel cases.
Percent 54SXA08
Maximum Clock Frequency (MHz)1
Maximum System Frequency 255MHz
TDPR used obtain timing results. Pipelining inputs macro were also used obtain parallel timing results.
Table ProASICPLUS Utilization Performance Statistics
Configuration with APA750 Device CRC-32 Generator Polynomial CRC-16/CCITT Generator Polynomial 32-bit wide input 8-bit wide input 1-bit wide input 16-bit wide input 8-bit wide input 1-bit wide input Sequential/Total Used Tiles 177/32768 177/32768 105/32768 128/32768 80/32768 38/32768 Percent APA750 Maximum Clock Frequency (MHz)1 Maximum System Frequency
TDPR used obtain timing results. Pipelining inputs macro were also used obtain parallel timing results.
other trademarks property their owners. Actel Actel logo registered trademarks Actel Corporation.
http://www.actel.com
Actel Europe Ltd. Maxfli Court, Riverside Camberley, Surrey GU15 United Kingdom Tel: (0)1276 401450 Fax: (0)1276 401590
Actel Corporation East Arques Avenue Sunnyvale, California 94086 Tel: 408-739-1010 Fax: 408-739-1540
Actel Asia-Pacific EXOS Ebisu Bldg. 1-24-14 Ebisu Shibuya-ku Tokyo Japan Tel: +81-(0)3-3445-7671 Fax: +81-0)3-3445-7668
5172158-1/1.02

Other recent searches


SN8P2714X - SN8P2714X   SN8P2714X Datasheet
2715 - 2715   2715 Datasheet
PD98408 - PD98408   PD98408 Datasheet
GR2316 - GR2316   GR2316 Datasheet
GR2320 - GR2320   GR2320 Datasheet
FCT244 - FCT244   FCT244 Datasheet
DLM4148 - DLM4148   DLM4148 Datasheet
DLM4448 - DLM4448   DLM4448 Datasheet
AVR1500 - AVR1500   AVR1500 Datasheet
AN032 - AN032   AN032 Datasheet
74VHCT574A - 74VHCT574A   74VHCT574A Datasheet

 

Privacy Policy | Disclaimer
© 2012 Datasheet Archive