基于verilog的序列检测 - 图文

更新时间:2024-02-29 07:24:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

电子与信息工程系——Verilog数字系统设计—

实 验 名 称 序列检测 专业、年级 学 号 姓 名 以下内容由实验指导教师填写(实验内容请以批注的形式批阅) 实验项目完成情况 实验项目成绩 指导教师 时 间 年 月 日 实验八:序列检测

一:序列检测的源程序:

module jiance(RST_N,CLK,Q,F); input RST_N,CLK,Q; output F; reg F; reg [6:0] s0,s1;

always@ (posedge CLK or negedge RST_N) begin

if(!RST_N) s0<=7'b1001101; else begin s1=s1<<1; s1[0]=Q;

if (s1==s0) F=1'b1; else F=1'b0; end

第1页

电子与信息工程系——Verilog数字系统设计—

end endmodule

二:序列检测的测试代码: `timescale 1 ps/ 1 ps

module jiance_vlg_tst();

// constants // general purpose registers reg eachvec;

// test vector input registers reg CLK; reg Q; reg RST_N;

// wires wire F;

// assign statements (if any) jiance i1 (

// port map - connection between master ports and signals/registers .CLK(CLK), .F(F), .Q(Q),

.RST_N(RST_N)

第2页

电子与信息工程系——Verilog数字系统设计—

);

initial begin

RST_N=0; CLK=1; Q=1; #10 Q=0; CLK=0; #10 Q=0; #10 Q=1; CLK=1; #10 Q=1; #10 Q=0; #10 Q=1; end

initial $monitor($time,\endmodule

三:Transcript显示结果:

Loading work.jiance_vlg_tst # Loading work.jiance

# ** Warning: (vsim-3009) [TSCALE] - Module 'jiance' does not have a `timescale directive in effect, but previous modules do.

第3页

电子与信息工程系——Verilog数字系统设计—

# Region: /jiance_vlg_tst/i1 #

# add wave * # view structure

# .main_pane.structure.interior.cs.body.struct # view signals

# .main_pane.objects.interior.cs.body # run -all # 011x # 1000x # 3011x # 5010x # 6011x

四:测试波形如下图所示:

Q=1;

Q=0;

Q=0;

第4页

电子与信息工程系——Verilog数字系统设计—

Q=1;

Q=1;

Q=0;

Q=1;

第5页

本文来源:https://www.bwwdw.com/article/olma.html

Top