• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

序列检测器设计Verilog代码Vivado仿真

06/24 13:27
271
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24010611305A48.doc

共1个文件

名称:序列检测器设计Verilog代码Vivado仿真

软件:Vivado

语言:Verilog

代码功能:

QQ图片20240106112859.png

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

设计文档:

1. 序列检测

1.1 重复判断

工程文件

程序文件

程序编译

Testbench

仿真图

1.2 不重复判断

工程文件

程序文件

程序编译

Testbench

仿真图

部分代码展示:

//带重复判断的序列检测器011
module?sequence_detection(
input?clk,//时钟
input?rst_n,//复位
input?data_in,//序列输入
output?detection_result//检测结果
);
reg?[2:0]?state=3'd0;//定义状态
parameter?s_idle=3'd0;
parameter?s_d0=3'd1;
parameter?s_d01=3'd2;
parameter?s_d011=3'd3;
always@(posedge?clk?or?negedge?rst_n)
if(rst_n==0)//复位
state<=s_idle;
else
case(state)
s_idle://初始状态
if(data_in==1'b0)//输入0
state<=s_d0;
else
state<=s_idle;
s_d0://已检测到0
if(data_in==1'b1)//输入1
state<=s_d01;
else//输入0
state<=s_d0;
s_d01://已检测到01
if(data_in==1'b1)//输入1
state<=s_d011;
else//输入0
state<=s_d0;
s_d011://已检测到011
if(data_in==1'b1)//输入1
state<=s_idle;
else//输入0
state<=s_d0;
default:
state<=s_idle;
endcase
reg?detection_result_reg=0;
always@(posedge?clk)
if(state==s_d011)//已检测到011
detection_result_reg<=1;//检测结果
else
detection_result_reg<=0;
assign?detection_result=detection_result_reg;//输出
endmodule

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=506

  • 2-24010611305A48.doc
    下载

相关推荐