名称:DBPL解码器设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
DBPL解码器
1.接收DBPL串行数据;
2.输出8位解码信号;
3.具有接收完成或者接收错误指示信号。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. Testbench
5. 仿真图
部分代码展示:
module?DBPL( input?clk,//10M input?reset_n,//复位 input?RxD,//接收RX信号 output?[7:0]?data,//解码输出 output?reg?error,//接收错误 output?reg?recv//接收完成指示信号 ); reg?[3:0]?div_cnt=4'd0; always@(posedge?clk?or?negedge?reset_n) if(!reset_n) div_cnt<=4'd0; else if(div_cnt>=4'd9) div_cnt<=4'd0;//计数十,用于十分频产生1M else div_cnt<=div_cnt+4'd1; reg?clk_1M=0; always@(posedge?clk?or?negedge?reset_n) if(!reset_n) clk_1M<=0; else if(div_cnt>=4'd5) clk_1M<=1;//分频产生1M时钟 else clk_1M<=0; //定义状态 reg?[4:0]?state=5'd0; parameter?s_idle=5'd0; parameter?s_start=5'd1; parameter?s_data_0_H=5'd2; parameter?s_data_0_L=5'd3; parameter?s_data_1_H=5'd4; parameter?s_data_1_L=5'd5; parameter?s_data_2_H=5'd6; parameter?s_data_2_L=5'd7; parameter?s_data_3_H=5'd8; parameter?s_data_3_L=5'd9; parameter?s_data_4_H=5'd10; parameter?s_data_4_L=5'd11; parameter?s_data_5_H=5'd12; parameter?s_data_5_L=5'd13; parameter?s_data_6_H=5'd14; parameter?s_data_6_L=5'd15; parameter?s_data_7_H=5'd16; parameter?s_data_7_L=5'd17; parameter?s_data_8_H=5'd18; parameter?s_data_8_L=5'd19; parameter?s_verify_H=5'd20; parameter?s_verify_L=5'd21; parameter?s_end=5'd21; reg?RxD_sync=1; reg?RxD_sync1=1; reg?RxD_sync2=1; always@(posedge?clk_1M) begin
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=950
阅读全文
283