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

状态机与时钟分频

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

`timescale 1ns/1ns

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

//*************code***********//
//虽然这道题很简单,但题目要求状态机,那还是三段式吧
reg [1:0] crt_state,nxt_state;
always@(posedge clk or negedge rst) begin
 if(!rst)
   crt_state <= 2'd0;
  else
   crt_state <= nxt_state;
end

always@(*) begin
 case(crt_state)
  2'd0: nxt_state <= 2'd1;
  2'd1: nxt_state <= 2'd2;
  2'd2: nxt_state <= 2'd3;
  2'd3: nxt_state <= 2'd0;
  default: nxt_state <= 2'd0;
 endcase
end

always@(posedge clk or negedge rst) begin
 if(!rst)
   clk_out <= 0;
  else if(nxt_state==2'd1)
   clk_out <= 1;
  else
   clk_out <= 0;
end
//*************code***********//
endmodule

全部评论

相关推荐

熊大不大:狼性文化,台风不放假的
点赞 评论 收藏
分享
用微笑面对困难:这里面最强的是驾驶证了,可以入职美团大厂,然后直接开启黄马褂人生
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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