verilog检测10010序列

module squence_check

(

input clk,

input rst_n,

input i_din,

output o_flg

)

//syte 1

//always @(posedge clk or negedge rst_n)

// if(!rst_n)

// dat_sequence <= 5'd0;

// else

// dat_sequence <= {dat_sequence[3 : 0],i_din};

//

//assign flg = {dat_sequence[3 : 0],i_din} == 5'b10010;

//

//always @(posedge clk or negedge rst_n)

// if(!rst_n)

// o_flg <= 1'd0;

// else

// o_flg <= flg;

//

always @(posedge clk or negedge rst_n)

if(!rst_n)

curr_state <= IDLE;

else

curr_state <= nxt_state;

always@ (*)

case(curr_state)

IDLE:

if(i_din == 1'd1)

nxt_state = S0;

else

nxt_state = IDLE;

S0:

if(i_din == 1'd0)

nxt_state = S1;

else

nxt_state = S0;

S1:

if(i_din == 1'd0)

nxt_state = S2;

else

nxt_state = S0;

S2:

if(i_din == 1'd1)

nxt_state = S3;

else

nxt_state = IDLE;

S3:

if(i_din == 1'd0)

nxt_state = S4;

else

nxt_state = S0;

S4:

if(i_din == 1'd0)

nxt_state = IDLE;

else

nxt_state = S0;

default:

nxt_state = IDLE;

endcase

assign o_flg = (curr_state == S4);

endmodule

相关推荐
OSwich14 分钟前
【 Godot 4 学习笔记】命名规范
笔记·学习·godot
吃吃今天努力学习了吗41 分钟前
【大模型入门学习笔记】常见概念总结
笔记·学习
Lin_Aries_04212 小时前
从零部署GenieSim:基于OpenPI的仿真环境搭建与录制教程
笔记·具身智能·datawhale
tq10864 小时前
因果叙事、劳动分层与协作秩序
笔记
渴了喝洗衣液5 小时前
课堂笔记 学习笔记
笔记
大明者省5 小时前
ONNX Runtime 跑 OpenPose 超详细讲解
笔记
Upsy-Daisy5 小时前
AI Agent 项目学习笔记(十一):TerminateTool、工具调用闭环与安全边界
人工智能·笔记·学习
lqj_本人5 小时前
鸿蒙electron跨端框架PC青简笔记实战:从笔记列表、编辑器到桌面导出,一次做完整
笔记·编辑器
lunzi_08265 小时前
【学习笔记】《Python编程 从入门到实践》第2章:变量命名规则、字符串操作与数值类型详解
笔记·python·学习
xian_wwq6 小时前
【学习笔记】“网络空间安全≠网络安全”——ISO SC27标准组十四年仍在求解的不等式
笔记·学习·安全