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

状态机与时钟分频

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

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

//*************code***********//
parameter s0=0,s1=1,s2=2,s3=3;
reg [2:0] state ;

always @ (posedge clk or negedge rst)
begin
if(!rst)
begin
state <=s3;
end
else
begin
case (state)
s0 : state<=s1;
s1 : state<=s2;
s2 : state<=s3;
s3 : state<=s0;
default : state<=s0;
endcase
end
end

always @(*)
begin
if(!rst)
begin
clk_out=0;
end
else
begin
clk_out= state==s0;
end
end
//*************code***********//
endmodule

module texbench ();

reg clk, rst;
wire clk_out;
huawei7 u0(
	clk  ,
	rst  ,
	clk_out
);

always #5 clk=~clk;

initial
begin
clk=0;rst=0;
#12 rst=1;
#500
$finish;
end
endmodule

仿真结果如下:

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-30 18:19
点赞 评论 收藏
分享
半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-29 17:30
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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