版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CRC16并行计算的Matlab推导本文使用的CRC16的生成多项式为:X16 + X15 + X2 + 1其对应的串行编码图如下图所示。假设输入数据的位宽为8比特,即I7,I6,I5,I4,I3,I2,I1,I0,I为Input的首字母。I0表示最低比特位,I7表示最高比特位。在串行模式下,I0先输入CRC16计算模块,于是I0输入后各个寄存器的状态变化如下:D, = D + D +10 TOC o 1-5 h z 151415D, = D1413D, = D1312D, = D1211D, = D1110D, = D109d9 = D8d8 = D7d7 = D6d6 = D5D5 = D
2、4d4 = D3d3 = D2d2 = di5+d1 + i TOC o 1-5 h z D = D 10D0 = % + IO可以将以上表达式组成矩阵乘法的形式,则有: HYPERLINK l bookmark8 o Current Document D = T D + S 10其中,D为d J D15构成的列向量,用转置矩阵的形式表示为:D = ( D0 D D2 D3 D4 D5 D6 D7 D8 D9 D 0 D” D2 D 3 D 4 D 5 同理,D,是D 0- %构成的列向量,用转置矩阵的形式表示为:D (D0D;D2D3D4D5D6D7D8D9DD”D2 D3D4噩)表达式(1
3、)中的矩阵T,表示为:000000001 000000000000010000000000001000100010000000000000000000000000000000000000000000010000000 1 0 0 0 0 00010000000000010000000000000000000000000 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 0、0 0 0 000000000000000000000000000001000010000100001000000000000
4、0 0 0 00 0 0 00 0 0 00 0 0 0 10 0 00 10 00 0 11 ,表达式(1)中的矩阵S也是一个列向量,表示为:S = (1 010000000000 00 1k当I1输入后各个寄存器的状态为:D(2)= T D + S 11 = T(T D+ S 10)+ S 10 = T2 D+T S 10+ S 11以此类推,当17输入后各寄存器的状态为:D(8) = T8 D + T7 S 10 + T6 S 11 + T5 S 12 + T4 S 13 + T3 S 14 +T 2 S 15 + T1 S 16 + T 0 S 17上式中T 7 S 10 + T 6
5、S 11 + T 5 S 12 + T 4 S 13 + T 3 S 14 + T 2 S 15 + T1 S 16 + T 0 S 17可以看成两个矩阵A和B的相乘A*B,其中A = T7ST 6ST 5ST 4ST 3ST 2ST 1ST 0S0 )0 )000000I000001000000002 TOC o 1-5 h z 00I0003000I0040000I0500000I6000000于是D (8)可以简化为D (8) = T 8 D + A B而此时各个寄存器中的值就是最后要求的CRC16的值。对应的matlab程序如下:T8=mod(T八8),2); %计算结果对2取模,是因
6、为我们执行的是二进制%加减运算T7 =mod(T八7),2);T6 =mod(T八6),2);T5 =mod(T八5),2);T4 =mod(T八4),2);T3 =mod(T八3),2);T2 =mod(T八2),2);T1 =mod(T八1),2);T0 =mod(T八0),2);S=1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1;T7S =mod(T7*S),2);T6S =mod(T6*S),2);T5S =mod(T5*S),2);T4S =mod(T4*S),2);T3S =mod(T3*S),2);T2S =mod(T2*S),2);T1S =mod(T1*S),
7、2);T0S =mod(T0*S),2);A= T7S, T6S, T5S, T4S, T3S, T2S, T1S, T0S;B=eye(8);C=A*B;运算结果:T8 =11111111100990D0ne09eeRnfi1000S90900D目D060i090B0ft99a66Rnq001eeBg0日0Qguuu3i90fl8日00nnarW口1小0Eli0Qeuuuh10110GGG3nnoa0日111日0Qguuua90fl011GG033n0a&00口U日11flDeUuu日0fl00G1133nn&0日0e0&811UuuuuB88g000日目11G00090B目1111111u
8、Uuu9Baaa1i111111g009900所以将T8和C带入D(8) = T8 D + A B ,就能得到各个寄存器中最后的值,这也就是CRC16的并行计算实现,最后用Verilog写出CRC16并行计算的代码:番 signn&x t_cr _fpgH=l*crc_in7:0 (*crc_rpgl5:8);assign山?汁“1-”crc_reg11 crc_reg19;assignneKt_crc_reg5=crc_lnH - crc_ln3crc_reg| 12 crc_regH;assignriex t_cr c_re y 0=crc_in3 * crc_in2 ”crc_reg13 * crc_reg12;aiBsignneKt crc reg7=crc_in2 crc_in1crc_reg14 crc_regia|assignniG|t_cri:_reg8=crc_lnl * crc_lnO ”crc_reglS * rc-_reglU八 crc_regi0;assigrneKt_crc_reg9-crc_in8 crc_reg15-crc_reg1l;assign assignneKt crc reg1li: 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 白酒的品牌创新与创业机会考核试卷
- 新型印刷材料在印刷工艺中的应用考核试卷
- 油田动态监测安全监督及工作要求考核试卷
- 未来能源技术可再生能源与能源存储创新考核试卷
- 煤炭行业的投资与融资机制考核试卷
- 地质勘查设备生物质能源利用考核试卷
- DB11∕T 3015-2018 水产品冷链物流操作规程
- 美术入门课件教学课件
- 植物盆栽课件教学课件
- 课件不兼容教学课件
- 建筑幕墙施工方案
- 第二章 地图(考点串讲课件)七年级地理上学期期中考点大串讲(人教版2024)
- 2024年健身房管理制度(六篇)
- 期中测试卷(1-4单元)(试题)-2024-2025学年人教版数学六年级上册
- 车辆绿本抵押借款合同
- 意识形态分析研判制度
- GB/T 18029.6-2024轮椅车第6 部分:电动轮椅车最大速度的测定
- 2024至2030年中国学前教育(幼儿园)行业研究报告
- 统编版(2024新版)七年级上册《道德与法治》第1-13课全册教材“活动课”参考答案
- 2024年北京海淀区初三九年级上学期期末数学试题
- 结构力学仿真软件:OpenSees:OpenSees在桥梁工程中的应用
评论
0/150
提交评论