|
36 | 36 | #100;
|
37 | 37 | RST = 0;
|
38 | 38 | @(posedge CLK);
|
| 39 | + #1; |
39 | 40 | @(posedge CLK);
|
| 41 | + #1; |
40 | 42 | @(posedge CLK);
|
| 43 | + #1; |
41 | 44 | @(posedge CLK);
|
| 45 | + #1; |
42 | 46 | @(posedge CLK);
|
| 47 | + #1; |
43 | 48 | @(posedge CLK);
|
| 49 | + #1; |
44 | 50 | @(posedge CLK);
|
| 51 | + #1; |
45 | 52 | @(posedge CLK);
|
| 53 | + #1; |
46 | 54 | ready = 1;
|
47 | 55 | #1000;
|
48 | 56 | $finish;
|
|
64 | 72 | localparam fsm_init = 0;
|
65 | 73 | localparam fsm_1 = 1;
|
66 | 74 | localparam fsm_2 = 2;
|
67 |
| - reg [(32 - 1):0] d1_fsm; |
| 75 | + reg [(32 - 1):0] _d1_fsm; |
68 | 76 | localparam fsm_3 = 3;
|
69 | 77 | localparam fsm_4 = 4;
|
70 |
| - reg fsm_cond_4_1_0; |
| 78 | + reg _fsm_cond_4_1_0; |
71 | 79 | localparam fsm_5 = 5;
|
72 | 80 | localparam fsm_6 = 6;
|
73 | 81 | localparam fsm_7 = 7;
|
74 |
| - reg fsm_cond_7_1_1; |
75 |
| - reg [(32 - 1):0] d2_fsm; |
76 |
| - reg fsm_cond_7_2_2; |
77 |
| - reg fsm_cond_7_2_3; |
78 |
| - reg [(32 - 1):0] d3_fsm; |
79 |
| - reg fsm_cond_7_3_4; |
80 |
| - reg fsm_cond_7_3_5; |
81 |
| - reg fsm_cond_7_3_6; |
| 82 | + reg _fsm_cond_7_1_1; |
| 83 | + reg [(32 - 1):0] _d2_fsm; |
| 84 | + reg _fsm_cond_7_2_2; |
| 85 | + reg _fsm_cond_7_2_3; |
| 86 | + reg [(32 - 1):0] _d3_fsm; |
| 87 | + reg _fsm_cond_7_3_4; |
| 88 | + reg _fsm_cond_7_3_5; |
| 89 | + reg _fsm_cond_7_3_6; |
82 | 90 | localparam fsm_8 = 8;
|
83 |
| - reg fsm_cond_8_1_7; |
84 |
| - reg fsm_cond_8_2_8; |
85 |
| - reg fsm_cond_8_2_9; |
86 |
| - reg fsm_cond_8_3_10; |
87 |
| - reg fsm_cond_8_3_11; |
88 |
| - reg fsm_cond_8_3_12; |
| 91 | + reg _fsm_cond_8_1_7; |
| 92 | + reg _fsm_cond_8_2_8; |
| 93 | + reg _fsm_cond_8_2_9; |
| 94 | + reg _fsm_cond_8_3_10; |
| 95 | + reg _fsm_cond_8_3_11; |
| 96 | + reg _fsm_cond_8_3_12; |
89 | 97 | localparam fsm_9 = 9;
|
90 |
| - reg fsm_cond_9_1_13; |
91 |
| - reg fsm_cond_9_2_14; |
92 |
| - reg fsm_cond_9_2_15; |
93 |
| - reg fsm_cond_9_3_16; |
94 |
| - reg fsm_cond_9_3_17; |
95 |
| - reg fsm_cond_9_3_18; |
| 98 | + reg _fsm_cond_9_1_13; |
| 99 | + reg _fsm_cond_9_2_14; |
| 100 | + reg _fsm_cond_9_2_15; |
| 101 | + reg _fsm_cond_9_3_16; |
| 102 | + reg _fsm_cond_9_3_17; |
| 103 | + reg _fsm_cond_9_3_18; |
96 | 104 | localparam fsm_10 = 10;
|
97 |
| - reg fsm_cond_10_1_19; |
98 |
| - reg fsm_cond_10_2_20; |
99 |
| - reg fsm_cond_10_2_21; |
100 |
| - reg fsm_cond_10_3_22; |
101 |
| - reg fsm_cond_10_3_23; |
102 |
| - reg fsm_cond_10_3_24; |
| 105 | + reg _fsm_cond_10_1_19; |
| 106 | + reg _fsm_cond_10_2_20; |
| 107 | + reg _fsm_cond_10_2_21; |
| 108 | + reg _fsm_cond_10_3_22; |
| 109 | + reg _fsm_cond_10_3_23; |
| 110 | + reg _fsm_cond_10_3_24; |
103 | 111 | localparam fsm_11 = 11;
|
104 | 112 |
|
105 | 113 | always @(posedge CLK) begin
|
106 | 114 | if(RST) begin
|
107 | 115 | valid <= 0;
|
108 | 116 | count <= 0;
|
109 | 117 | fsm <= fsm_init;
|
110 |
| - d1_fsm <= fsm_init; |
111 |
| - fsm_cond_4_1_0 <= 0; |
112 |
| - fsm_cond_7_1_1 <= 0; |
113 |
| - d2_fsm <= fsm_init; |
114 |
| - fsm_cond_7_2_2 <= 0; |
115 |
| - fsm_cond_7_2_3 <= 0; |
116 |
| - d3_fsm <= fsm_init; |
117 |
| - fsm_cond_7_3_4 <= 0; |
118 |
| - fsm_cond_7_3_5 <= 0; |
119 |
| - fsm_cond_7_3_6 <= 0; |
120 |
| - fsm_cond_8_1_7 <= 0; |
121 |
| - fsm_cond_8_2_8 <= 0; |
122 |
| - fsm_cond_8_2_9 <= 0; |
123 |
| - fsm_cond_8_3_10 <= 0; |
124 |
| - fsm_cond_8_3_11 <= 0; |
125 |
| - fsm_cond_8_3_12 <= 0; |
126 |
| - fsm_cond_9_1_13 <= 0; |
127 |
| - fsm_cond_9_2_14 <= 0; |
128 |
| - fsm_cond_9_2_15 <= 0; |
129 |
| - fsm_cond_9_3_16 <= 0; |
130 |
| - fsm_cond_9_3_17 <= 0; |
131 |
| - fsm_cond_9_3_18 <= 0; |
132 |
| - fsm_cond_10_1_19 <= 0; |
133 |
| - fsm_cond_10_2_20 <= 0; |
134 |
| - fsm_cond_10_2_21 <= 0; |
135 |
| - fsm_cond_10_3_22 <= 0; |
136 |
| - fsm_cond_10_3_23 <= 0; |
137 |
| - fsm_cond_10_3_24 <= 0; |
| 118 | + _d1_fsm <= fsm_init; |
| 119 | + _fsm_cond_4_1_0 <= 0; |
| 120 | + _fsm_cond_7_1_1 <= 0; |
| 121 | + _d2_fsm <= fsm_init; |
| 122 | + _fsm_cond_7_2_2 <= 0; |
| 123 | + _fsm_cond_7_2_3 <= 0; |
| 124 | + _d3_fsm <= fsm_init; |
| 125 | + _fsm_cond_7_3_4 <= 0; |
| 126 | + _fsm_cond_7_3_5 <= 0; |
| 127 | + _fsm_cond_7_3_6 <= 0; |
| 128 | + _fsm_cond_8_1_7 <= 0; |
| 129 | + _fsm_cond_8_2_8 <= 0; |
| 130 | + _fsm_cond_8_2_9 <= 0; |
| 131 | + _fsm_cond_8_3_10 <= 0; |
| 132 | + _fsm_cond_8_3_11 <= 0; |
| 133 | + _fsm_cond_8_3_12 <= 0; |
| 134 | + _fsm_cond_9_1_13 <= 0; |
| 135 | + _fsm_cond_9_2_14 <= 0; |
| 136 | + _fsm_cond_9_2_15 <= 0; |
| 137 | + _fsm_cond_9_3_16 <= 0; |
| 138 | + _fsm_cond_9_3_17 <= 0; |
| 139 | + _fsm_cond_9_3_18 <= 0; |
| 140 | + _fsm_cond_10_1_19 <= 0; |
| 141 | + _fsm_cond_10_2_20 <= 0; |
| 142 | + _fsm_cond_10_2_21 <= 0; |
| 143 | + _fsm_cond_10_3_22 <= 0; |
| 144 | + _fsm_cond_10_3_23 <= 0; |
| 145 | + _fsm_cond_10_3_24 <= 0; |
138 | 146 | end else begin
|
139 | 147 | count <= (count + 1);
|
140 |
| - d1_fsm <= fsm; |
141 |
| - d2_fsm <= d1_fsm; |
142 |
| - d3_fsm <= d2_fsm; |
143 |
| - case(d3_fsm) |
| 148 | + _d1_fsm <= fsm; |
| 149 | + _d2_fsm <= _d1_fsm; |
| 150 | + _d3_fsm <= _d2_fsm; |
| 151 | + case(_d3_fsm) |
144 | 152 | fsm_7: begin
|
145 |
| - if(fsm_cond_7_3_6) begin |
| 153 | + if(_fsm_cond_7_3_6) begin |
146 | 154 | valid <= 0;
|
147 | 155 | end
|
148 | 156 | end
|
149 | 157 | fsm_8: begin
|
150 |
| - if(fsm_cond_8_3_12) begin |
| 158 | + if(_fsm_cond_8_3_12) begin |
151 | 159 | valid <= 0;
|
152 | 160 | end
|
153 | 161 | end
|
154 | 162 | fsm_9: begin
|
155 |
| - if(fsm_cond_9_3_18) begin |
| 163 | + if(_fsm_cond_9_3_18) begin |
156 | 164 | valid <= 0;
|
157 | 165 | end
|
158 | 166 | end
|
159 | 167 | fsm_10: begin
|
160 |
| - if(fsm_cond_10_3_24) begin |
| 168 | + if(_fsm_cond_10_3_24) begin |
161 | 169 | valid <= 0;
|
162 | 170 | end
|
163 | 171 | end
|
164 | 172 | endcase
|
165 |
| - case(d2_fsm) |
| 173 | + case(_d2_fsm) |
166 | 174 | fsm_7: begin
|
167 |
| - if(fsm_cond_7_2_3) begin |
| 175 | + if(_fsm_cond_7_2_3) begin |
168 | 176 | valid <= 1;
|
169 | 177 | end
|
170 |
| - fsm_cond_7_3_6 <= fsm_cond_7_3_5; |
| 178 | + _fsm_cond_7_3_6 <= _fsm_cond_7_3_5; |
171 | 179 | end
|
172 | 180 | fsm_8: begin
|
173 |
| - if(fsm_cond_8_2_9) begin |
| 181 | + if(_fsm_cond_8_2_9) begin |
174 | 182 | valid <= 1;
|
175 | 183 | end
|
176 |
| - fsm_cond_8_3_12 <= fsm_cond_8_3_11; |
| 184 | + _fsm_cond_8_3_12 <= _fsm_cond_8_3_11; |
177 | 185 | end
|
178 | 186 | fsm_9: begin
|
179 |
| - if(fsm_cond_9_2_15) begin |
| 187 | + if(_fsm_cond_9_2_15) begin |
180 | 188 | valid <= 1;
|
181 | 189 | end
|
182 |
| - fsm_cond_9_3_18 <= fsm_cond_9_3_17; |
| 190 | + _fsm_cond_9_3_18 <= _fsm_cond_9_3_17; |
183 | 191 | end
|
184 | 192 | fsm_10: begin
|
185 |
| - if(fsm_cond_10_2_21) begin |
| 193 | + if(_fsm_cond_10_2_21) begin |
186 | 194 | valid <= 1;
|
187 | 195 | end
|
188 |
| - fsm_cond_10_3_24 <= fsm_cond_10_3_23; |
| 196 | + _fsm_cond_10_3_24 <= _fsm_cond_10_3_23; |
189 | 197 | end
|
190 | 198 | endcase
|
191 |
| - case(d1_fsm) |
| 199 | + case(_d1_fsm) |
192 | 200 | fsm_2: begin
|
193 | 201 | valid <= 0;
|
194 | 202 | end
|
195 | 203 | fsm_4: begin
|
196 |
| - if(fsm_cond_4_1_0) begin |
| 204 | + if(_fsm_cond_4_1_0) begin |
197 | 205 | valid <= 0;
|
198 | 206 | end
|
199 | 207 | end
|
200 | 208 | fsm_7: begin
|
201 |
| - if(fsm_cond_7_1_1) begin |
| 209 | + if(_fsm_cond_7_1_1) begin |
202 | 210 | valid <= 1;
|
203 | 211 | end
|
204 |
| - fsm_cond_7_2_3 <= fsm_cond_7_2_2; |
205 |
| - fsm_cond_7_3_5 <= fsm_cond_7_3_4; |
| 212 | + _fsm_cond_7_2_3 <= _fsm_cond_7_2_2; |
| 213 | + _fsm_cond_7_3_5 <= _fsm_cond_7_3_4; |
206 | 214 | end
|
207 | 215 | fsm_8: begin
|
208 |
| - if(fsm_cond_8_1_7) begin |
| 216 | + if(_fsm_cond_8_1_7) begin |
209 | 217 | valid <= 1;
|
210 | 218 | end
|
211 |
| - fsm_cond_8_2_9 <= fsm_cond_8_2_8; |
212 |
| - fsm_cond_8_3_11 <= fsm_cond_8_3_10; |
| 219 | + _fsm_cond_8_2_9 <= _fsm_cond_8_2_8; |
| 220 | + _fsm_cond_8_3_11 <= _fsm_cond_8_3_10; |
213 | 221 | end
|
214 | 222 | fsm_9: begin
|
215 |
| - if(fsm_cond_9_1_13) begin |
| 223 | + if(_fsm_cond_9_1_13) begin |
216 | 224 | valid <= 1;
|
217 | 225 | end
|
218 |
| - fsm_cond_9_2_15 <= fsm_cond_9_2_14; |
219 |
| - fsm_cond_9_3_17 <= fsm_cond_9_3_16; |
| 226 | + _fsm_cond_9_2_15 <= _fsm_cond_9_2_14; |
| 227 | + _fsm_cond_9_3_17 <= _fsm_cond_9_3_16; |
220 | 228 | end
|
221 | 229 | fsm_10: begin
|
222 |
| - if(fsm_cond_10_1_19) begin |
| 230 | + if(_fsm_cond_10_1_19) begin |
223 | 231 | valid <= 1;
|
224 | 232 | end
|
225 |
| - fsm_cond_10_2_21 <= fsm_cond_10_2_20; |
226 |
| - fsm_cond_10_3_23 <= fsm_cond_10_3_22; |
| 233 | + _fsm_cond_10_2_21 <= _fsm_cond_10_2_20; |
| 234 | + _fsm_cond_10_3_23 <= _fsm_cond_10_3_22; |
227 | 235 | end
|
228 | 236 | endcase
|
229 | 237 | case(fsm)
|
|
244 | 252 | if((ready == 1)) begin
|
245 | 253 | valid <= 1;
|
246 | 254 | end
|
247 |
| - fsm_cond_4_1_0 <= (ready == 1); |
| 255 | + _fsm_cond_4_1_0 <= (ready == 1); |
248 | 256 | if((ready == 1)) begin
|
249 | 257 | fsm <= fsm_5;
|
250 | 258 | end
|
|
256 | 264 | fsm <= fsm_7;
|
257 | 265 | end
|
258 | 266 | fsm_7: begin
|
259 |
| - fsm_cond_7_1_1 <= ((count >= 16) && (ready == 1)); |
260 |
| - fsm_cond_7_2_2 <= ((count >= 16) && (ready == 1)); |
261 |
| - fsm_cond_7_3_4 <= ((count >= 16) && (ready == 1)); |
| 267 | + _fsm_cond_7_1_1 <= ((count >= 16) && (ready == 1)); |
| 268 | + _fsm_cond_7_2_2 <= ((count >= 16) && (ready == 1)); |
| 269 | + _fsm_cond_7_3_4 <= ((count >= 16) && (ready == 1)); |
262 | 270 | if(((count >= 16) && (ready == 1))) begin
|
263 | 271 | fsm <= fsm_8;
|
264 | 272 | end
|
265 | 273 | end
|
266 | 274 | fsm_8: begin
|
267 |
| - fsm_cond_8_1_7 <= ((count >= 16) && (ready == 1)); |
268 |
| - fsm_cond_8_2_8 <= ((count >= 16) && (ready == 1)); |
269 |
| - fsm_cond_8_3_10 <= ((count >= 16) && (ready == 1)); |
| 275 | + _fsm_cond_8_1_7 <= ((count >= 16) && (ready == 1)); |
| 276 | + _fsm_cond_8_2_8 <= ((count >= 16) && (ready == 1)); |
| 277 | + _fsm_cond_8_3_10 <= ((count >= 16) && (ready == 1)); |
270 | 278 | if(((count >= 16) && (ready == 1))) begin
|
271 | 279 | fsm <= fsm_9;
|
272 | 280 | end
|
273 | 281 | end
|
274 | 282 | fsm_9: begin
|
275 |
| - fsm_cond_9_1_13 <= ((count >= 16) && (ready == 1)); |
276 |
| - fsm_cond_9_2_14 <= ((count >= 16) && (ready == 1)); |
277 |
| - fsm_cond_9_3_16 <= ((count >= 16) && (ready == 1)); |
| 283 | + _fsm_cond_9_1_13 <= ((count >= 16) && (ready == 1)); |
| 284 | + _fsm_cond_9_2_14 <= ((count >= 16) && (ready == 1)); |
| 285 | + _fsm_cond_9_3_16 <= ((count >= 16) && (ready == 1)); |
278 | 286 | if(((count >= 16) && (ready == 1))) begin
|
279 | 287 | fsm <= fsm_10;
|
280 | 288 | end
|
281 | 289 | end
|
282 | 290 | fsm_10: begin
|
283 |
| - fsm_cond_10_1_19 <= ((count >= 16) && (ready == 1)); |
284 |
| - fsm_cond_10_2_20 <= ((count >= 16) && (ready == 1)); |
285 |
| - fsm_cond_10_3_22 <= ((count >= 16) && (ready == 1)); |
| 291 | + _fsm_cond_10_1_19 <= ((count >= 16) && (ready == 1)); |
| 292 | + _fsm_cond_10_2_20 <= ((count >= 16) && (ready == 1)); |
| 293 | + _fsm_cond_10_3_22 <= ((count >= 16) && (ready == 1)); |
286 | 294 | if(((count >= 16) && (ready == 1))) begin
|
287 | 295 | fsm <= fsm_11;
|
288 | 296 | end
|
|
0 commit comments