質問編集履歴
3
プログラムの変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,19 +18,22 @@
|
|
18
18
|
|
19
19
|
### 該当のソースコード
|
20
20
|
**4bitカウンタ回路の記述**
|
21
|
+
**修正後**
|
21
22
|
```Verilog
|
22
23
|
`timescale 1ns / 1ps
|
23
24
|
|
24
|
-
module counter (
|
25
|
+
module counter #(parameter S = 99999999)(
|
25
26
|
input wire CLK, RES,
|
26
27
|
output reg [3:0]LED);
|
27
28
|
|
28
|
-
reg [2
|
29
|
+
reg [27:0] scale;
|
29
30
|
|
30
31
|
always @(posedge CLK or negedge RES) begin
|
31
|
-
if (RES == 1'b0)
|
32
|
+
if (RES == 1'b0) begin
|
32
33
|
scale <= 27'd0;
|
34
|
+
LED <= 4'b0;
|
35
|
+
end
|
33
|
-
else if (scale ==
|
36
|
+
else if (scale == S) begin //scaleが溜まったらscaleをリセット
|
34
37
|
scale <=27'd0;
|
35
38
|
if(LED == 4'hf) //LEDが溜まったらLEDをリセット
|
36
39
|
LED <= 4'b0;
|
@@ -39,9 +42,10 @@
|
|
39
42
|
end
|
40
43
|
|
41
44
|
else
|
42
|
-
scale <= scale + 2
|
45
|
+
scale <= scale + 27'd1;
|
43
46
|
end
|
44
47
|
endmodule
|
48
|
+
|
45
49
|
```
|
46
50
|
|
47
51
|
**テストベンチ**
|
@@ -56,16 +60,16 @@
|
|
56
60
|
/*接続信号の宣言*/
|
57
61
|
reg CLK;
|
58
62
|
reg RES;
|
59
|
-
wire [23:0] scale;
|
60
63
|
wire [3:0]LED;
|
61
64
|
|
62
65
|
/*パターン表示回路を接続*/
|
63
|
-
counter pattern(
|
66
|
+
counter #(.S(10))pattern(
|
64
67
|
.CLK(CLK),
|
65
68
|
.RES(RES),
|
66
|
-
.scale(scale), //←ここでエラーが出ている
|
67
69
|
.LED(LED)
|
68
70
|
);
|
71
|
+
|
72
|
+
wire [23:0] scale = pattern.scale;
|
69
73
|
|
70
74
|
always begin
|
71
75
|
CLK = 0; #(STEP/2);
|
@@ -86,7 +90,6 @@
|
|
86
90
|
end
|
87
91
|
endmodule
|
88
92
|
|
89
|
-
|
90
93
|
```
|
91
94
|
|
92
95
|
### シミュレーションの理想の波形
|
@@ -95,6 +98,9 @@
|
|
95
98
|
### 試したこと
|
96
99
|
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-06-10/cd208fa7-d877-4810-90ae-2afdea55efba.png)
|
97
100
|
|
101
|
+
|
102
|
+
**after**
|
103
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-06-16/3bc450b7-bfd5-4d3e-bfca-1b097eaae137.png)
|
98
104
|
### 補足情報(FW/ツールのバージョンなど)
|
99
105
|
|
100
106
|
ここにより詳細な情報を記載してください。
|
2
プログラム変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -72,6 +72,11 @@
|
|
72
72
|
CLK = 1; #(STEP/2);
|
73
73
|
end
|
74
74
|
|
75
|
+
always @(posedge CLK) begin
|
76
|
+
if(RES == 0)
|
77
|
+
CLK = 0;
|
78
|
+
end
|
79
|
+
|
75
80
|
initial begin
|
76
81
|
RES = 0;
|
77
82
|
#(STEP*20) RES = 1;
|
@@ -80,6 +85,7 @@
|
|
80
85
|
$stop;
|
81
86
|
end
|
82
87
|
endmodule
|
88
|
+
|
83
89
|
|
84
90
|
```
|
85
91
|
|
1
画像を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -51,7 +51,7 @@
|
|
51
51
|
module counter_test;
|
52
52
|
|
53
53
|
//クロック周期
|
54
|
-
localparam STEP =
|
54
|
+
localparam STEP = 10;
|
55
55
|
|
56
56
|
/*接続信号の宣言*/
|
57
57
|
reg CLK;
|
@@ -86,6 +86,9 @@
|
|
86
86
|
### シミュレーションの理想の波形
|
87
87
|
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-06-09/69723b04-a833-4144-a873-e16af3c478a3.jpeg)
|
88
88
|
|
89
|
+
### 試したこと
|
90
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-06-10/cd208fa7-d877-4810-90ae-2afdea55efba.png)
|
91
|
+
|
89
92
|
### 補足情報(FW/ツールのバージョンなど)
|
90
93
|
|
91
94
|
ここにより詳細な情報を記載してください。
|