没有合适的资源?快使用搜索试试~ 我知道了~
CRC电路实现详解,通过本教程,可以详细了解CRC实现的原理和实现,快速入门,是初学者的好材料,详细参加本教程
资源推荐
资源详情
资源评论
38
CIRCUIT CELLAR
®
•
www.circuitcellar.com
January 2010 – Issue 234
igure 1
—This is a USB CRC5 implementation as LFSR using generator polynomial
G(x) = x
5
+ x
2
+ 1.
Data
Figure 2—
This is a parallel CRC block. The next state CRC output is
a function of the current state CRC and the data.
M-bit CRC
Next state
M-bit CRC
Output
Parallel
CRC
Generator
M-bit Data
input
Do you understand the mechanics of the cyclic redundancy check (CRC) well
enough to build a customized parallel CRC circuit described by an arbitrary
CRC generator polynomial? This article covers a practical method of generating
Verilog or VHDL code for the parallel CRC. The result is the fast generation of
a parallel CRC code for an arbitrary polynomial and data width.
A Practical Parallel CRC
Generation Method
M
F
EATURE
A
RTICLE
by Evgeni Stavinov
ost electrical and computer
engineers are familiar with the
cyclic redundancy check (CRC). Many
know that it’s used in communication
protocols to detect bit errors, and that it’s
essentially a remainder of the modulo-2
long division operation. Some have had
closer encounters with the CRC and
know that it’s implemented as a linear
feedback shift register (LFSR) using flip-flops and XOR
gates. They likely used an online tool or an existing
example to generate parallel CRC code for a design. But
very few engineers understand the mechanics of the
CRC well enough to build a customized parallel CRC
circuit described by an arbitrary CRC generator polyno-
mial. What about you?
In this article, I’ll present a practical method for gen-
erating Verilog or VHDL code for the parallel CRC. This
method allows for the fast generation of a parallel CRC
code for an arbitrary polynomial and data width. I’ll also
briefly describe other interesting methods and provide
more information on the subject.
So why am I covering parallel CRC? There are several
existing tools that can generate the code, and a lot of
examples for popular CRC polynomials. However, it’s
often beneficial to understand the underlying principles
in order to implement a customized circuit or make
optimizations to an existing one. This is a subject every
practicing logic design engineer should understand.
CRC OVERVIEW
Every modern communication protocol uses one or
more error-detection algorithms. CRC is by far the most
popular. CRC properties are defined by the generator poly-
nomial length and coefficients. The protocol specification
usually defines CRC in hex or polynomial notation. For
Figure 1
—This is a USB CRC5 implementation as LFSR using generator polynomial
G(x) = x
5
+ x
2
+ 1.
资源评论
jxwdy123
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 学习windows内核,保护模式、进程、线程、内存、APC、DPC、同步与异步、windows异常机制.zip
- 存放个人windows下的部分环境配置文件.zip
- Windows下整数大数计算器.zip
- windows下NTFS文件系统读取.zip
- Windows的一键搭建签名.zip
- windows程序设计课程 相关代码.zip
- Windows via C++图书代码,升级Windows SDK 到10.zip
- IdeaShare SDK Windows平台集成Demo.zip
- matlab基于扩张卡尔曼滤波的磷酸铁锂蓄电池SOC检测,给出了电池模型和算法实现过程.zip
- matlab基于卡尔曼滤波的磷酸铁锂蓄电池SOC检测
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功