- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Verilog CRC
网页
图片
视频
音乐
搜吧
问问
博客
新闻
更多?
登录
窗体底端
帮助|
提意见
问问首页
问题库
问问之星|
问问团队
全部问题 教育/科学学习帮助问题页
【征集】回首2009,网罗问问的趣味提问和答案!
已关闭问题
verilog HDL 的CRC校验程序,谁能给我写出注释,解释算法?
150
[?标签:crc 校验,hdl,crc?]
module crc(crc_reg,crc,d,calc,init,d_valid,clk,reset);output[15:0] crc_reg;output[7:0] crc;input[7:0] d;input calc;input init;input d_valid;input clk;input reset;reg[15:0] crc_reg;reg[7:0] crc;wire[15:0] next_crc;always @(posedge clk or posedge reset)beginif (reset)begincrc_reg = 16h0000;crc = 8h00;endelse if (init)begincrc_reg = 16h0000;crc = 8h00;endelse if (calc d_valid)begincrc_reg = next_crc;crc = ~{next_crc[8], next_crc[9], next_crc[10], next_crc[11],next_crc[12], next_crc[13], next_crc[14], next_crc[15]};endelse if (~calc d_valid)begincrc_reg = {crc_reg[7:0], 8h00};crc = ~{crc_reg[0], crc_reg[1], crc_reg[2], crc_reg[3],crc_reg[4], crc_reg[5], crc_reg[6], crc_reg[7]};endendassign next_crc[0] = crc_reg[12] ^ d[7] ^ crc_reg[8] ^ d[3];assign next_crc[1] = crc_reg[13] ^ d[6] ^ d[2] ^ crc_reg[9];assign next_crc[2] = d[5] ^ crc_reg[14] ^ d[1] ^ crc_reg[10];assign next_crc[3] =d[4] ^ crc_reg[15] ^ d[0] ^ crc_reg[11];assign next_crc[4] = crc_reg[12] ^ d[3];assign next_crc[5] = crc_reg[12]^crc_reg[13]^d[7]^crc_reg[8]^d[2]^d[3];assign next_crc[6] = crc_reg[13] ^ d[6] ^ crc_reg[14] ^ d[1] ^ d[2] ^ crc_reg[9];assign next_crc[7] = d[5] ^ crc_reg[14] ^ crc_reg[15] ^ d[0] ^ d[1] ^ crc_reg[10];assign next_crc[8] = d[4] ^ crc_reg[15] ^ d[0] ^ crc_reg[0] ^ crc_reg[11];assign next_crc[9] = crc_reg[12] ^ crc_reg[1] ^ d[3];assign next_crc[10] = crc_reg[13] ^ d[2] ^ crc_reg[2];assign next_crc[11] = crc_reg[3] ^ crc_reg[14] ^ d[1];assign next_crc[12] = crc_reg[12] ^ crc_reg[4] ^ d[7] ^ crc_reg[15] ^ d[0] ^ crc_reg[8] ^ d[3];assign next_crc[13] = crc_reg[13] ^ d[6] ^ crc_reg[5] ^ d[2] ^ crc_reg[9];assign next_crc[14] = d[5] ^ crc_reg[14] ^ crc_reg[6] ^ d[1] ^ crc_reg[10];assign nex
文档评论(0)