毕业论文-基于fpga的crc校验西邮精版说明书.docVIP

毕业论文-基于fpga的crc校验西邮精版说明书.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
毕业论文-基于fpga的crc校验西邮精版说明书

西安邮电学院 FPGA课程设计报告 题 目: 基于FPGA的CRC校验 院 系: 通信与信息工程学院 专业班级: 电科0903 学生姓名: 于宝军 导师姓名: 山蕊 起止时间:2012-9-10至 2012-9-21 年 月 日 FPGA课程设计报告提纲 1.任务目的为基础,完成CRC校验。 3.使用环境 (硬件环境,设备等) 4.1 技术规范为基础完成CRC校验。 ⑵实验原理:循环冗余校验CRC是由分组线性码的分支而来,其主要应用是二元码组。CRC的基本思想是利用线性编码理论,在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的监督码(即CRC码)r位,并附在信息后边,构成一个新的二进制码序列数共(k+r)位,最后发送出去。在接收端,则根据信息码和CRC码之间所遵循的规则进行检验,以确定传送中是否出错。任何一个由二进制位串组成的代码可以和一个多项式相对应。例如k为要发送的信息位位数,可对应一个(k-1)次多项式,r位冗余位可对应于一个(r-1)次多项式r(x),在CRC校验编码时,由信息位产生冗余码的编码过程就是求余数r(x)的过程 。 3.引脚定义 信号名称 I/O 引脚功能 mod[15:0] 输出 余数 valid_mod 输出 输出余数标志位 valid 输出 标志位 clk 输入 时钟脉冲 din[31:0] 输入 数据输入端 count[5:0] 输出 计算异或次数 rst 输入 复位键 4.2 设计方案功能验证方案.4 电路设计源代码,功能仿真激励源代码及功能仿真结果报告module jiaoyan(clk,rst,valid,din,mod,valid_mod); input clk; input rst; input valid; input [31:0] din; output [15:0] mod; output valid_mod; reg [47:0] D; wire [16:0] Q; reg [5:0] count; always @(posedge clk or negedge rst) begin if(~rst) begin D=48d0; end else begin if(valid) begin D={din,16b0000000000000000}; end else D={Q,D[30:0]}1; end end assign Q=(D[47])?(D[47:31]^17b10001000000100001):D[47:31]; assign valid_mod = (count==6d1); assign mod = Q[15:0]; always @(posedge clk or negedge rst) begin if(~rst) begin count=6d0; end else if(valid) count=6d30; else if(count!=6d0) begin count=count-1d1; end end endmodule 激励代码 module stimulus; reg clk; reg rst; reg [31:0] din; reg valid; wire [15:0] mod; wire valid_mod; jiaoyan jiaoyan(.clk(clk),.rst(rst),.valid(valid),.din(din),.mod(mod),. valid_mod (valid_mod)); always #10 clk=~clk; initial begin clk=0;

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档