论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
在各个控制信号均有效时,输入报文的每一位都是和CRC寄存器的最高位相异和后移入最低位,同时寄存器的第13、9、7、6、3、2位均和其最高位异或,结果分别左移一位;其它未进行异或操作的寄存器位值也分别左移一位,直到报文的每一位都移入CRC寄存器为止,此时寄存器中的值取为计算得到的CRC码。
如果报文的比特序列长度为16,则需要左移16次才能对报文的每一位均进行处理。如果以Ck表示CRC寄存器的第k位位值、Ck'表示移位后的第k位位值(k=0,1,2,3……15),则移位规律见表1。
表1 移位规律表
3 CRC校验码的软件实现
CRC校验用软件实现起来非常方便。鉴于目前的资料中介绍的方法多使用C语言、汇编语言等实现,而缺乏用硬件描述语言实现,这里给出CRC码的Verilog HDL之行为级描述程序。
本程序在Verilog_XL下编译通过,同时在Synopsis上成功进行了综合及优化。
//用Verilog HDL实现CRC码
module crc(clk,rst,enable,destuff,datain,crc);
input clk;
input rst;
input enable;
input destuff;
input datain;
ou