My title page contents

序列检测器设计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进行仿真。

要求.jpg

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


演示视频:

设计文档:

设计文档.doc

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仿真

发表评论

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

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

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