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

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

08/11 08:55
246
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240R11T62G07.doc

共1个文件

名称:序列检测器设计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

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

  • 2-240R11T62G07.doc
    下载

相关推荐