序列检测器设计Verilog代码Quartus仿真
名称:序列检测器设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
(1)设计一个序列检测器,每当检测到输入010码时,对应最后一个0,电路输出为1,否则输出为0
(2)使用 Quartus Prime17.1软件开发平台,用 Veriloghdl语言编写代码实现;
(3)序列检测器的顶层模块要求用 sqntl dtctr top命名,输入输出见以下代码定义
(4)序列检测器用周期为15的m序列发生器代码生成伪随机序列作为输入信号,m序列生成多项式:f(x)=x4+x+1;
(5)序列检测器模块要求有限状态机方案设计;
(6)编写testbench代码,用Modelsim进行仿真。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件

2. 程序文件



3. 程序编译

4. RTL图
顶层

M序列

序列检测

状态图

5. Testbench

6. 仿真图
顶层仿真


M序列仿真

序列检测仿真

部分代码展示:
//序列检测模块 module sqntl_dtctr( input X,//序列发生器信号 output Z,//序列检测器输出 output [1:0] Q,//触发器状态 input CLK, input n_RST ); reg [1:0] cur_state; reg [1:0] nxt_state; parameter s_idle=2'd0; parameter s_0=2'd1; parameter s_01=2'd2; parameter s_010=2'd3; //触发器 always@(posedge CLK or negedge n_RST) if(~n_RST) cur_state<=s_idle; else cur_state<=nxt_state; always@(*) case(cur_state) s_idle: if(X==0) nxt_state=s_0; else nxt_state=s_idle; s_0: if(X==0) nxt_state=s_0; else nxt_state=s_01; s_01: if(X==0) nxt_state=s_010; else nxt_state=s_idle; s_010: if(X==0) nxt_state=s_0; else nxt_state=s_01; default:; endcase
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 序列检测器设计Verilog代码Quartus仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 序列检测器设计Verilog代码Quartus仿真
发表评论
模板文件不存在: ./template/plugins/comment/pc/index.htm