欢迎来到天天文库
浏览记录
ID:58584672
大小:168.02 KB
页数:9页
时间:2020-10-19
《基于FPGA的交织器-深圳大学-通信系统中串行数据交织器的设计.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、深圳大学实验报告课程名称:硬件描述语言与逻辑综合实验项目名称:通信系统中串行数据交织器的设计学院:电子科学与技术学院专业:电子科学与技术指导教师:刘春平报告人学号:班级:电子(2)班实验时间:实验报告提交时间:一、实验原理交织器是通信编码中抗突发干扰的一种重要手段,将突发干扰产生的分布集中的误码分散到信息数据中,以便采用纠错编码的方法进行纠错。本项目要求设计一个行列交织器,如图所示,PN码发生器模拟数据源产生串行数据,按行写入一m行n列的RAM中,写满后按列读出。为避免数据丢失,需使用两个这样的RAM交替读写。即一个读时,另一个写。一个写时,另一个读,这样交替循环。因此,会产生一个周期的延
2、时。这里统一要求m和n都选4.二、源程序modulejiaozhiqi(out,waveout,clk);//输出未交织的out和交织后的waveout,输入50Mclk时钟outputout,waveout;inputclk;reg[0:0]out;reg[0:0]waveout;regA0,A1,A2,A3;regmem_A[3:0][3:0];//4*4的二维寄存器型数组mem_Aregmem_B[3:0][3:0];//4*4的二维寄存器型数组mem_Bintegeri,j;regclock,flag;reg[31:0]count;initial//初始化各变量begini<=0;j
3、<=0;A0<=1;A1<=0;A2<=0;A3<=1;flag<=0;count<=0;clock<=0;end//将clk分频,产生交织器所需的频率clockalways@(posedgeclk)beginif(count==1)begincount<=0;clock<=~clock;endelsecount<=count+1;endalways@(posedgeclock)//伪随机码发生器beginA0<=A0^A3;A1<=A0;A2<=A1;A3<=A2;endalways@(posedgeclock)//对mem_A或mem_B中的数据进行交织beginj=j+1;if(j>3
4、)//利用i和j控制mem_A和mem_B按行输入,按列输出beginj=0;i=i+1;endif(i>3)begini=0;flag=~flag;//每输入完16个数据,标志位发生一次变化。标志位用于控制mem_A写mem_B读,还是mem_B写mem_A读endif(flag==0)//这个周期实现mem_A按行写,mem_B按列读beginmem_A[i][j]<=A3;//mem_A按行写out<=mem_B[i][j];//mem_B按行读,即mem_B交织前的数据waveout<=mem_B[j][i];//mem_B按列读,即mem_B交织后的数据endelse//这个周期实
5、现mem_B按行写,mem_A按列读beginmem_B[i][j]<=A3;//mem_B按行写out<=mem_A[i][j];//mem_A按行读,即mem_A交织前的数据waveout<=mem_A[j][i];//mem_A按列读,即mem_A交织后的数据endendendmodule三、实验结果与分析刚刚开始仿真时的第一个周期,由于flag=0,所以mem_A按行写,mem_B按列读,由于mem_B之前还未写入过数据,所以out(交织前)和waveout(交织后)输出均为0.第二个周期,flag=1,输出的为前一周期写入mem_A的数据,输出的out(未交织)为000011110
6、1011001,即0000111101011001而输出的waveout(交织后)为0101011001000111,即0101011001000111可见,交织成功。第三个周期,flag=0,输出的为前一周期写入mem_B的数据,输出的out(未交织)为0001111010110010,即0001111010110010而输出的waveout(交织后)为0110010001111010,即0110010001111010可见,交织成功。一直这样循环下去,可见,源程序仿真通过。四、实验演示clk分配50MHz,out分配到GPIO0,waveout分配到GPIO1,然后用示波器双踪观察out
7、与waveout,观察是否交织成功。实验结果:要在示波器中找到某一周期的起点不容易,但由于用的是伪随机码,有一定的规律。如上图,利用仿真器输出的波形,成功在示波器找出了某一周期起点的位置。由图可见仿真和示波器的out输出均为01011001000111101011001000111101······即01011011100100100001001111101101交织后的waveout为01011001000
此文档下载收益归作者所有