/* 功能定义:一段式FSM产生连续二进制序列检测
*/
module Fre_Check(Clk,Rst_n,Din,Dout);
input Clk;
input Rst_n;
input Din;
output reg Dout;
reg [3:0] Next_State;
parameter
IDLE = 0,
st0 = 1,
st1 = 2,
st2 = 3,
st3 = 4,
st4 = 5,
st5 = 6,
st6 = 7,
st7 = 8;
always @(posedge Clk or negedge Rst_n)
if(!Rst_n)begin
Next_State = IDLE;
Dout = 1'b0;
end
else begin
case(Next_State)
IDLE: if(Din) begin Next_State = st0;Dout = 1'b0;end
else begin Next_State = IDLE;Dout = 1'b0;end
st0: if(Din) begin Next_State = st1;Dout = 1'b0;end
else begin Next_State = IDLE;Dout = 1'b0;end
st1: if(!Din)begin Next_State = st2;Dout = 1'b0;end
else begin Next_State = st0;Dout = 1'b0;end
st2: if(!Din)begin Next_State = st3;Dout = 1'b0;end
Verilog 检测连续二进制序列 11001101,检测输出1,否则输出0
最新推荐文章于 2023-04-08 22:15:10 发布
该博客介绍了如何使用Verilog语言编写逻辑电路来检测连续的二进制序列11001101。当检测到该特定序列时,设计将输出1,否则输出0。
摘要由CSDN通过智能技术生成