刚做完的EDA实验,存个档
moore型是同步复位,mealy型是异步复位
1,Moore型源代码:
module select1011(x,clk,reset, y );
input x,clk,reset;
output reg y;
reg [2:0] currentstate;
reg [2:0] nextstate;
parameter s0=3'b000;
parameter s1=3'b001;
parameter s2=3'b010;
parameter s3=3'b101;
parameter s4=3'b011;
always @(posedge clk or negedge reset)
begin
if(!reset)
currentstate=s0;
else
currentstate=nextstate;
end
always @(currentstate or x)
begin
if (!reset)
nextstate=s0;
else
begin
case(currentstate)
s0:nextstate = (x==0)?s0:s1;
s1:nextstate = (x==0)?s2:s1;
s2:nextstate = (x==0)?s0:s3;
s3:nextstate = (x==0)?s2:s4;