电子与信息工程系——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页