题解 | #序列发生器#

序列发生器

https://www.nowcoder.com/practice/1fe78a981bd640edb35b91d467341061

`timescale 1ns/1ns

module sequence_generator(
	input clk,
	input rst_n,
	output reg data
	);

parameter idle=0,s1=1,s2=2,s3=3,s4=4,s5=5,s6=6;

reg [3:0] state,n_state;
always@(*)
case(state)
idle:   n_state = s1;
s1:		n_state = s2;
s2:		n_state = s3;
s3: 	n_state = s4;
s4:		n_state = s5;
s5:		n_state = s6;
s6:		n_state = s1;
endcase

always@(posedge clk or negedge rst_n)
if(!rst_n)
state <= 0;
else
state <= n_state;

always@(posedge clk or negedge rst_n)
if(!rst_n)
data <= 0;
else if(n_state==s1 | n_state==s2 | n_state==s4)
data <= 0;
else if(n_state==s3 | n_state==s5 | n_state==s6)
data <= 1;

endmodule

全部评论

相关推荐

美团 后端开发 总包n(15%是股票)
点赞 评论 收藏
分享
某牛奶:一觉醒来全球程序员能力下降200%,小伙成功scanf惊呆在座个人。
点赞 评论 收藏
分享
11-08 17:36
诺瓦科技_HR
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务