题解 | #序列发生器#

序列发生器

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

全部评论

相关推荐

程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
LazyBreeze:项目尽量体现你对技术的理解和深度,不是说把中间件用一下就完事了,你项目里面提到集群和分布式,你真在服务器上部署过吗,感觉太假了,第二个项目说自己用了微服务的什么组件,只是用了没有自己的思考,很难让面试官注意到你的简历。针对某几个技术点自己多思考一下,考虑一下有没有别的替代方案,可以写一下,即使没有真的实现
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务