题解 | #状态机与时钟分频#

状态机与时钟分频

https://www.nowcoder.com/practice/25d694a351b748d9808065beb6120025

`timescale 1ns/1ns

module huawei7(
	input wire clk  ,
	input wire rst  ,
	output reg clk_out
);

//*************code***********//
parameter s0=0;
parameter s1=1;
parameter s2=2;
parameter s3=3;
reg [3:0]state;
reg [3:0]next_state;
always@(posedge clk or negedge rst )begin 
	if(!rst)
	 state<=0;
	 else state<=next_state;
end
always@(*)
begin  if(!rst)
 next_state=s0;
 else case(state)
   s0: next_state=s1;
   s1: next_state=s2;
   s2: next_state=s3;
   s3: next_state=s0;
   default: next_state=s0;
 endcase
 end
 always@(posedge clk or negedge rst )begin 
	if(!rst)
	clk_out<=0;
	else if(state==s0)
	clk_out<=1;
	else clk_out<=0;
 end
//*************code***********//
endmodule

全部评论
加入一些调试信息,方便排查问题,楼主可以操作一下
点赞 回复 分享
发布于 2023-05-31 09:54 浙江
感谢这位神仙的分享
点赞 回复 分享
发布于 2023-05-31 09:27 湖北

相关推荐

10-31 22:23
门头沟学院 Java
天然不是卷王:太好了 佬的金九银十结束,等offer吐出来,我的金11银12就要开始了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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