32位crc校验码用MATLAB语言和FPGA语言实现的程序代码
2.如何设计FPGA 实现CRC 校验计算? 32位并行数据CRC - 16校验码的FPGA实现 表 32位CRC - 16编码器的端口说明 clk input 系统时钟
crc_rset input CRC生成器复位 sdata input 输入数据
crc_out output 输出CRC校验码 其中VHDL代码如下:
L IBRARY IEEE;
USE IEEE. STD_LOGIC_1164. ALL; ENTITY CRC16 IS
PORT ( sdata: IN STD_LOGIC_VECTOR (31 DOWNTO 0) ; clk: IN STD_LOGIC; crc_rset: IN STD_LOGIC;
crc_out: OUT STD_LOGIC_VECTOR (15 DOWNTO 0) ) ; END CRC16;
ARCH ITECTURE th OF CRC16 IS
SIGNAL D: STD_LOGIC_VECTOR (31 DOWNTO 0) ;
SIGNAL R, crc_temp: STD_LOGIC_VECTOR (15 DOWNTO 0) ;
BEGIN
D < = sdata;
PROCESS( clk, crc_in)
BEGIN
IF crc_in =‘1’THEN R < = (OTHERS = >‘0’) ; ELSIF rising_edge ( clk) THEN
crc_temp (0) < =D (31) XOR D (30) XOR D (27) XOR D (26) XOR D ( 25) XOR D ( 24) XOR
D ( 23) XOR
D (22) XOR D (21) XOR D (20) XOR D (19) XOR D (18) XOR D ( 17) XOR D ( 16) XOR D (15) XOR D (13) XOR D ( 12) XOR D ( 11) XOR D ( 10 ) XOR D ( 9) XOR D ( 8) XOR D (7) XOR D (6) XOR D (5) XOR D (4) XOR D (3) XOR D (2) XOR D (1) XOR D (0) XOR R (0) XOR R (1) XOR R (2) XOR R (3) XOR R (4) XOR R (5) XOR R (6) XOR R (7) XOR R (8) XOR R (9) XOR R (10) XOR R (11) XOR R (14) XOR R (15) ;
crc_temp (1) < =D (31) XOR D (28) XOR D (27) XOR D ( 26) XOR D ( 25) XOR D ( 24) XOR D ( 23) XOR
D (22) XOR D (21) XOR D (20) XOR D (19) XOR D (18) XOR D ( 17) XOR D ( 16) XOR D (14) XOR D (13) XOR D ( 12) XOR D ( 11) XOR D ( 10 ) XOR D ( 9) XOR D ( 8) XOR D (7) XOR D (6) XOR D (5) XOR D (4) XOR D (3) XOR D (2) XOR D (1) XOR R (0) XOR R (1) XOR R (2) XOR R (3) XOR R (4) XOR R (5) XOR R (6) XOR R (7) XOR R (8) XOR R (9) XOR R (10) XOR R (11) XOR R (12) XOR R (15) ;
crc_temp (2) < =D (31) XOR D ( 30) XOR D ( 29) XOR D ( 28) XOR D ( 16) XOR D ( 14) XOR D ( 1) XOR
D (0) XOR R (0) XOR R (12) XOR R (13) XOR R (14) XOR R (15) ;
crc_temp (3) < =D (31) XOR D ( 30) XOR D ( 29) XOR D (17) XOR D (15) XOR D ( 2) XOR D (1) XOR
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库crc校验码MATLAB和FPGA实现(2)在线全文阅读。
相关推荐: