//检测连续输入序列110的状态图
module cy4(input A,CP,CR,//输入端口声明
output reg Y//输出端口及变量的数据类型声明
);
reg[1:0] current_state,next_state;//中间变量声明
parameter S0 = 2'b00,S1 = 2'b01,S2 = 2'b10,S3 = 2'b11;//定义状态
//描述电路的同步时序逻辑部分
always @(negedge CP,negedge CR)//触发器状态转换
begin
if(~CR) current_state <= S0;//让电路进入初始化状态S0
else current_state <= next_state;//电路发生状态转换(相当于D触发器Q=D)
end
//使用电平敏感事件描述组合逻辑部分
always @(current_state,A)//输出逻辑和次态逻辑描述
begin
Y = 0;//电路输出
case(current_state)
S0:begin next_state = (A == 1)?S1:S0;end
S1:begin next_state = (A == 1)?S2:S0;end
S2:if(A == 1)
begin next_state <= S2;end
else
begin Y=1;next_state <= S0;end
default:begin next_state <= S0;end
endcase
end
endmodule
检测连续输入序列110的状态图
最新推荐文章于 2024-05-29 21:15:40 发布