我是靠谱客的博主 激昂小甜瓜,这篇文章主要介绍HDL Count clock,现在分享给大家,希望可以做个参考。

1原题复现

在这里插入图片描述

2.代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
module top_module( input clk, input reset, input ena, output pm, output [7:0] hh, output [7:0] mm, output [7:0] ss); reg [3:0] ss_gewei=0; reg [3:0] ss_shiwei=0; reg [3:0] mm_gewei=0; reg [3:0] mm_shiwei=0; reg [3:0] hh_gewei =0; reg [3:0] hh_shiwei =0; //ss always@(posedge clk)begin if(reset)begin ss_shiwei<=4'd0; ss_gewei<=4'd0; end else if(ena)begin if(ss_gewei==4'h9)begin ss_gewei<=0; if(ss_shiwei==4'h5)begin ss_shiwei<=0; end else begin ss_shiwei<= ss_shiwei+1; end end else ss_gewei<=ss_gewei+1; end end assign ss = {ss_shiwei,ss_gewei}; //mm always@(posedge clk)begin if(reset)begin mm_shiwei<=4'd0; mm_gewei<=4'd0; end else if(ss_shiwei == 4'h5 && ss_gewei == 4'h9 && ena==1'b1)begin if(mm_gewei==4'h9)begin mm_gewei<=0; if(mm_shiwei==4'h5)begin mm_shiwei<=0; end else begin mm_shiwei<= mm_shiwei+1; end end else mm_gewei<=mm_gewei+1; end end assign mm = {mm_shiwei,mm_gewei}; //hh always@(posedge clk)begin if(reset)begin hh_shiwei<=4'd1; hh_gewei<=4'd2; pm<=0; end else if(ss_shiwei == 4'h5 && ss_gewei == 4'h9 && ena==1'b1 && mm_shiwei == 4'h5 && mm_gewei == 4'h9)begin if(hh_shiwei==4'h0)begin if(hh_gewei ==4'h9)begin hh_gewei<=0; hh_shiwei <= 1'b1; end else begin hh_gewei <= hh_gewei+1; end end else if(hh_shiwei==4'h1)begin if(hh_gewei ==4'h1)begin hh_gewei <=4'h2; pm <= ~pm; end if(hh_gewei == 4'h2)begin hh_gewei <=1'b1; hh_shiwei <=1'b0; end else hh_gewei <= hh_gewei +1; end end end assign hh = {hh_shiwei,hh_gewei}; endmodule

最后

以上就是激昂小甜瓜最近收集整理的关于HDL Count clock的全部内容,更多相关HDL内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部