误码率测试仪设计Verilog代码Quartus ep1c3开发板

名称:误码率测试仪设计Verilog代码Quartus  ep1c3开发板

软件:Quartus

语言:Verilog

代码功能:

误码率测试仪

可以控制产生误码率为百分之10,1,0.1

的信号,通过内部误码率检测模块检测实际误码率并通过LCD1602显示在液晶屏上

包含模块:

1、伪随机信号产生模块-m序列

2、误码信号产生模块

3、误码率计算

4、显示内容控制

5、LCD显示控制模块


FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在ep1c3开发板验证,ep1c3开发板如下,其他开发板可以修改管脚适配:ep1c3开发板.jpg

演示视频:

设计文档:

模块仿真图.doc

设计文档.doc

整体仿真图



//LCD分频模块


//LCD驱动模块


//伪随机信号产生模块


//误码信号产生模块


//误码率计算模块


//显示内容控制模块


1. 工程文件


2. 程序文件




3. 程序编译


4. RTL图


5. 管脚分配


6. Testbenh


7. 仿真图



部分代码展示:

//误码率计算
module error_rate_cal(
    input clk,//时钟
    input rst_n,//复位
input seq_o,//伪码序列--作为比对的标准信号
    input error_seq,//误码序列
output reg [9:0] rate//误码率 
    );
reg [9:0] rate_cnt=10'd0;
always@(posedge clk or negedge rst_n)
if(!rst_n)
rate_cnt<=10'd0;
else
if(rate_cnt>=10'd1010)//计数1010
rate_cnt<=10'd0;
else
rate_cnt<=rate_cnt+10'd1;//计数
//0.1%误码率就是1000内有1个误码
//  1%误码率就是1000内有10个误码
// 10%误码率就是1000内有100个误码
//误码个数计算
reg [9:0] error_cnt=10'd0;
always@(posedge clk or negedge rst_n)
if(!rst_n)
error_cnt<=10'd0;
else begin
if(rate_cnt<=1000 && rate_cnt>=1)//1~1000内
if(seq_o!=error_seq)//检测到误码
error_cnt<=error_cnt+1;//误码个数计算
else
error_cnt<=error_cnt;
else if(rate_cnt==0)
error_cnt<=10'd0;//清零
end
always@(posedge clk or negedge rst_n)
if(!rst_n)
rate<=10'd0;
else if(rate_cnt==1005)
rate<=error_cnt;//输出误码率
endmodule

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 误码率测试仪设计Verilog代码Quartus ep1c3开发板

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员