CRC校验
小试一下CRC校验的verilog实现,采用最stupid的直接法。
/*
date : 2014/06/06
designer : pengxiaoen
virsion : Altera-Modelsim 6.6d
function Straightforward CRC Implementation */ module CRC_stra (
clock ,
reset ,
and_crc_code
);
input clock,reset ;
output [:] and_crc_code ; parameter un_crc_code = 'b11_0101_1011, //10位 待测数据
gener_code = 'b10011; //生成项 reg [:] cnt ; //计算次数 = 待测数据的位数 - 1
reg [:] crc_code ; //余数缓存器
reg [:] code_reg ; //待测数据缓存
always @ (posedge clock )
if(!reset)
begin
cnt <= 'd0 ;
crc_code <= 'd0 ;
code_reg <= un_crc_code ;
end
else
begin
if(cnt==)
begin
cnt <= cnt + 'd1;
code_reg <= code_reg<< ; //
crc_code <= {gener_code[:] ^ code_reg[:] ,code_reg[]};
end
else if((cnt<='d8) &&(cnt))
begin
cnt <= cnt + 'd1;
code_reg <= code_reg<< ;
if(crc_code[])
crc_code <= {gener_code[:] ^ crc_code[:] ,code_reg[]};
else
crc_code <= {crc_code[:], code_reg[]};
end
else
begin
cnt = 'd9;
end end
assign and_crc_code = (cnt == 'd9) ? {un_crc_code,crc_code[3:0]} : 14'dz; endmodule
CRC校验的更多相关文章
- 文档:网络通讯包结构(crc校验,加解密)
一直想把这个流程整理一下. 包结构: 包 对(datacrc+protoID+dataSize)组成的byte[] 进行crc计算而得到 对(数据内容)进行crc计算而得到 协议号 数据内容的字节长度 ...
- CRC校验码原理、实例、手动计算
目录一.CRC16实现代码二.CRC32编码字符表三.CRC校验码的手动计算示例四.CRC校验原理五.CRC的生成多项式参考 一.CRC16实现代码 思路:取一个字符(8bit),逐位检查该字符,如果 ...
- 物联网平台设计心得:你所不知道的CRC校验
在物联网平台设计过程中,我的中间件一方面需要处理来自于硬件端的包,另一方面需要处理来自于用户端的包,用户端包括web端和手机端等等.所以编写一个统一的CRC认证是非常必须要. 那么,在设计开始,CRC ...
- CRC校验代码实现
1.CRC校验简介 CRC就是块数据的计算值,它的全称是“Cyclic Redundancy Check”,中文名是“循环冗余码”.CRC校验是数据通讯中最常采用的校验方式.在嵌入式软件开发中,经常要 ...
- CRC校验码
循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码.对于一个给定的(N,K)码,可以证明存在一个最高次幂为R的多项式G(x)(R ...
- C# CRC校验的一点感悟
今天在鼓捣一个手持操作器的时候,遇到一点问题,记录一下今天的经验包 由于之前公司产品在校验时基本上都是和校验,今天在准备用C#模拟一个古董操作器的时候,却遇到一个问题,模拟器发出的数据,主板一律不回复 ...
- CRC校验源码分析
这两天做项目,需要用到 CRC 校验.以前没搞过这东东,以为挺简单的.结果看看别人提供的汇编源程序,居然看不懂.花了两天时间研究了一下 CRC 校验,希望我写的这点东西能够帮助和我有同样困惑的朋友节省 ...
- 在线CRC校验
在线CRC校验: http://www.lammertbies.nl/comm/info/crc-calculation.html
- 网络通信 --> CRC校验
CRC校验 一.什么是CRC校验 循环校验码(Jyclic Redundancy Check,简称CRC码): 是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意 ...
随机推荐
- java从c struct传来的字节数组中取值
public int getInt(byte[] array,int index) { return (array[index] & 0xff) | (array[index + 1] & ...
- PHP glob() 函数用法
glob() 函数返回匹配指定模式的文件名或目录. 该函数返回一个包含有匹配文件 / 目录的数组.如果出错返回 false. 语法 array glob ( string $pattern [, in ...
- Windows Azure 网站自愈
编辑人员注释:本文章由 Windows Azure 网站团队的项目经理Apurva Joshi 撰写. 您有多少次在半夜被叫醒去解决一个仅需重新启动网站即可解决的问题?要是可以自动检测一些状况并自动恢 ...
- javascript 字符串方法传参
javascript 字符串方法传参由于嵌套的单引号,双引号过多.有点混乱.. 正确方法如下: ' <td align="left"><input type= ...
- Oracle DBA常用的系统表
1.2 DBA常用的表1.2.1 dba_开头 dba_users数据库用户信息 dba_segments 表段信息 dba_extents 数据区信息 dba_ob ...
- C++ Primer 学习笔记_75_模板与泛型编程 --模板定义
模板与泛型编程 --模板定义 引言: 所谓泛型程序就是以独立于不论什么特定类型的方式编写代码.使用泛型程序时,我们须要提供详细程序实例所操作的类型或值. 模板是泛型编程的基础.使用模板时能够无须了解模 ...
- 人类科技的发展为什么会是加速度的(TRIZ方法再推荐)
从人类的历史发展来看,近200年来的科技发展的成果超过了过去几千年中科技发展的成果,并且从短时间来看.这样的加速趋势也是很明显的,想想十年前和如今的对照,科技的发展确实是日新月异. 科技的发展固然有偶 ...
- 软碟通UltraISO 9.65.3237官方注册版
UltraISO软碟通是一款功能强大.方便实用.老牌优秀的光盘映像文件制作/编辑/转换工具:可直接编辑ISO文件,从ISO中提取文件和目录:也可从CD – ROM制作光盘映像或者将硬盘上的文件制作成I ...
- Swift语言iOS开发:CALayer十则示例
如你所知,我们在iOS应用中看到的都是视图(view),包括按钮视图.表视图.滑动条视图,还有可以容纳其他视图的父视图等. AD:[活动]Web和APP兼容性实战 Win10训练营免费报名 如你所知, ...
- ASP.NET页面传值的几种方式
页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值. 存储对象传值.ajax.类.model.表单等!下面欧柏泰克和大家一起来看看asp.net页面传值方式一般有哪些?常用的较简单 ...