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

相关推荐
OKay_J2 小时前
使用VSCode开发STM32补充(Debug调试)
ide·经验分享·笔记·vscode·stm32·学习·编辑器
新说一二3 小时前
AI技术学习笔记系列004:GPU常识
人工智能·笔记·学习
眼镜哥(with glasses)5 小时前
本地部署Deep Seek-R1,搭建个人知识库——笔记
笔记
愚昧之山绝望之谷开悟之坡5 小时前
共享内存shm_size和内存锁ulimits.memlock配置
人工智能·笔记
akbar&7 小时前
计算机四级 - 数据库原理 - 第8章「分布式、对象-关系、NOSQL数据库」
数据库·笔记
Three~stone7 小时前
Vue学习笔记集--六大指令
vue.js·笔记·学习
iisugar8 小时前
AI第一天 自我理解笔记--超参数
人工智能·笔记
_星辰大海乀8 小时前
刷题练习笔记
java·数据结构·笔记·算法·链表·list·idea
是懒羊羊吖~8 小时前
【sql靶场】第15、16关-post提交盲注保姆级教程
数据库·笔记·sql·时间盲注·布尔盲注·sql靶场