实验二循环码编译码器设计实验.docx

实验二循环码编译码器设计实验.docx

ID:57574768

大小:287.38 KB

页数:10页

时间:2020-08-27

实验二循环码编译码器设计实验.docx_第1页
实验二循环码编译码器设计实验.docx_第2页
实验二循环码编译码器设计实验.docx_第3页
实验二循环码编译码器设计实验.docx_第4页
实验二循环码编译码器设计实验.docx_第5页
资源描述:

《实验二循环码编译码器设计实验.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验二循环码编译码器设计实验3011204173通信二班刘西瑶一.(7,4)循环码编码器试验程序(1)编码程序modulecyc_en(c,u,clk);input[3:0]u;//输入inputclk;//时钟output[6:0]c;//输出integeri;regd0,d1,d2,temp;//移位寄存器reg[6:0]c;initialbegind0=0;d1=0;d2=0;endalways@(posedgeclk)beginfor(i=3;i>=0;i=i-1)//计算循环码begintemp=d2^u[i];d2=d1;d1=d0^temp;d0=temp;

2、endfor(i=2;i>=0;i=i-1)//输出循环码beginc[i]=d2;d2=d1;d1=d0;d0=0;endc[6]=u[3];//输出原码c[5]=u[2];c[4]=u[1];c[3]=u[0];endendmodule(2)循环码编码器测试程序`timescale1ns/1psmodulecyc_en_tb;regclk;reg[3:0]u;wire[6:0]c;cyc_enUUT(.clk(clk),.u(u),.c(c));initialbeginclk=0;u=3'h0;#20u=4'h1;#20u=4'h2;#20u=4'h3;#20u=4'

3、h4;#20u=4'h5;#20u=4'h6;#20u=4'h7;#20u=4'h8;#20u=4'h9;#20u=4'ha;#20u=4'hb;#20u=4'hc;#20u=4'hd;#20u=4'he;endalways#10clk=~clk;//时钟endmodule(3)实验结果二.循环码译码(1)(7,4)译码程序:modulecyc_de(clk,start,d_finish,datain,outbuf,dataout);inputclk;inputstart;//开始译码信号inputdatain;//待译码数据串行输入inputd_finish;//待译码

4、数据输入完毕指示信号outputreg[3:0]dataout;//译码输出所有数据outputreg[6:0]outbuf;//译码输出信息数据reg[2:0]cyclic_reg=3'b000;//线性移位寄存器,赋初值reg[1:0]state=2'b00;//状态指示reg[2:0]rout;//存放伴随式reg[6:0]databuf=7'b0000000;//存放输入缓存integerindex=6;integerdone=0;//指示译码完成parameteridle=2'b00;//等待状态parametercompute=2'b01;//计算状态para

5、meterfinish=2'b10;//计算结束状态//以下是错误图样最低位为first从右往左数parameternone=3'b000;//全对parameterfirst=3'b011;//第一位有错parametersecond=3'b110;//第二位有错parameterthird=3'b111;//第三位有错parameterfourth=3'b101;//第四位有错parameterfifth=3'b001;//第五位有错parametersixth=3'b010;//第六位有错parameterseventh=3'b100;//第七位有错always@(

6、posedgeclk)begincase(state)idle:beginif(start)//开始译码信号有效时,进入compute状态state<=compute;else//否则继续等待state<=idle;endcompute:beginif(d_finish)//数据输入完毕进入finish状态state<=finish;else//否则继续计算state<=compute;endfinish:beginstate<=finish;endendcaseendalways@(posedgeclk)begincase(state)idle:begindataout

7、[3:0]<=4'b0000;//译码输出所有数据outbuf[6:0]<=7'b0000000;//译码输出信息数据databuf[6]<=datain;cyclic_reg[0]<=cyclic_reg[2]^datain;cyclic_reg[1]<=cyclic_reg[0]^cyclic_reg[2]^datain;cyclic_reg[2]<=cyclic_reg[1];index=5;endcompute:begin//以下描述的是译码器的连接状态,也就是除法电路~cyclic_reg[0]<=cyclic_re

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。