1.实验目的:
采用Verilog描述mealy型有限状态机的规范
2.实验原理:按照书上的内容,书写和运行代码,完成仿真操作
3.实验代码
(1)设计模块
module mealy(Clock, Resetn, w,z);
input Clock, Resetn, w;
output reg z;
reg y, Y;
parameter A=1'b0,B=1'b1;
always @(w, y)
case (y)
A: if(w)
begin
z=0;
Y=B;
end
else
begin
z=0;
Y= A;
end
B: if(w)
begin
z= 1;
Y=B;
end
else
begin
z= 0;
Y =A;
end
endcase
always @(negedge Resetn, posedge Clock)
if (Resetn==0) y<=A;
else y<= Y;
endmodule
(2)测试模块
`timescale 1ns/1ps
module tb_mealy();
reg clock, resetn, w;
wire y;
mealy mymealy(.Clock(clock),.Resetn(resetn),.w(w),.z(y));
initial
begin
clock=1'b0;
resetn=1'b0;
end
always #10 clock = ~clock;
always #5 resetn = ~resetn;
initial
begin
w=1'b0;
#10 w=1'b1;
#10 w=1'b0;
#10 w=1'b1;
#10 w=1'b0;
#10 w=1'b1;
#10 w=1'b0;
#10 w=1'b1;
#20 $stop;
end
endmodule
4.实验工具:modlsim软件。
5.实验截图:
6.实验视频:
请下载哔哩哔哩动画打开此网址:https://b23.tv/uiqsix