Project

General

Profile

Icarus Verilog Bugs » History » Version 3

Sergey Smolov, 04/27/2018 05:32 PM

1 1 Sergey Smolov
h1. Icarus Verilog Bugs
2
3
The bugs are listed here can be reproduced on tests for Verilog Translator project (so called "ieee-tests"). 
4
5
# test_03_08_01_1.v
6
<pre>
7
test_03_08_01_1.v:25: syntax error
8
test_03_08_01_1.v:27: error: malformed statement
9
test_03_08_01_1.v:28: syntax error
10
test_03_08_01_1.v:33: error: malformed statement
11
test_03_08_01_1.v:34: syntax error
12
test_03_08_01_1.v:39: error: malformed statement
13
test_03_08_01_1.v:40: syntax error
14
</pre>
15 2 Sergey Smolov
# test_03_08_01_2.v
16
<pre>
17
test_03_08_01_2.v:25: syntax error
18
test_03_08_01_2.v:27: error: malformed statement
19
test_03_08_01_2.v:28: syntax error
20
test_03_08_01_2.v:32: error: malformed statement
21
test_03_08_01_2.v:33: syntax error
22
</pre>
23 3 Sergey Smolov
# test_03_08_01_6.v
24
<pre>
25
test_03_08_01_6.v:25: syntax error
26
test_03_08_01_6.v:25: error: malformed statement
27
</pre>
28 1 Sergey Smolov
# test_03_08_01_7.v
29
<pre>
30
test_03_08_01_7.v:25: syntax error
31
test_03_08_01_7.v:25: error: malformed statement
32
</pre>
33 3 Sergey Smolov
# test_03_08_01_8.v
34
<pre>
35
test_03_08_01_8.v:25: syntax error
36
test_03_08_01_8.v:25: error: malformed statement
37
</pre>
38 1 Sergey Smolov
# test_04_03_01_1.v
39
<pre>
40
test_04_03_01_1.v:24: sorry: trireg nets not supported.
41
</pre>
42
# test_04_03_02_1.v
43
<pre>
44
test_04_03_02_1.v:22: syntax error
45
test_04_03_02_1.v:22: error: invalid module item.
46
test_04_03_02_1.v:23: syntax error
47
test_04_03_02_1.v:23: error: invalid module item.
48
</pre>
49
# test_04_04_01_1.v
50
<pre>
51
test_04_04_01_1.v:22: sorry: trireg nets not supported.
52
test_04_04_01_1.v:23: sorry: trireg nets not supported.
53
test_04_04_01_1.v:25: syntax error
54
test_04_04_01_1.v:25: error: invalid module item.
55
</pre>
56 3 Sergey Smolov
# test_04_09_03_1_1.v
57
<pre>
58
test_04_09_03_1_1.v:26: sorry: only 1 dimensional arrays are currently supported.
59
test_04_09_03_1_1.v:28: sorry: only 1 dimensional arrays are currently supported.
60
</pre>
61
# test_04_09_03_1_2.v
62
<pre>
63
test_04_09_03_1_2.v:26: sorry: only 1 dimensional arrays are currently supported.
64
test_04_09_03_1_2.v:28: sorry: only 1 dimensional arrays are currently supported.
65
</pre>
66
# test_04_10_03_2.v
67
<pre>
68
test_04_10_03_2.v:23: syntax error
69
test_04_10_03_2.v:23: error: invalid module item.
70
test_04_10_03_2.v:24: syntax error
71
test_04_10_03_2.v:24: error: invalid module item.
72
</pre>
73
# test_05_01_14_1.v
74
<pre>
75
test_05_01_14_1.v:30: error: Array b['sd3:'sd0] cannot be indexed by a range.
76
</pre>
77 1 Sergey Smolov
# test_05_02_01_4.v
78
<pre>
79
test_05_02_01_4.v:54: error: Unable to bind wire/reg/memory `x' in `test'
80
test_05_02_01_4.v:58: error: Unable to bind wire/reg/memory `z' in `test'
81
</pre>
82 3 Sergey Smolov
# test_05_02_02_2.v
83
<pre>
84
test_05_02_02_2.v:25: sorry: only 1 dimensional arrays are currently supported.
85
test_05_02_02_2.v:26: sorry: only 1 dimensional arrays are currently supported.
86
</pre>
87 1 Sergey Smolov
# test_05_03_00_1.v
88
<pre>
89
test_05_03_00_1.v:25: warning: choosing typ expression.
90
</pre>
91
# test_06_01_03_1.v
92
<pre>
93
test_06_01_03_1.v:24: sorry: net delays not supported.
94
</pre>
95 3 Sergey Smolov
# test_07_14_01_1.v
96 1 Sergey Smolov
<pre>
97
test_07_14_01_1.v:25: warning: choosing typ expression.
98
test_07_14_01_1.v:25: warning: choosing typ expression.
99
test_07_14_01_1.v:25: warning: choosing typ expression.
100
test_07_14_01_1.v:26: warning: choosing typ expression.
101
test_07_14_01_1.v:26: warning: choosing typ expression.
102
test_07_14_01_1.v:26: warning: choosing typ expression.
103
</pre>
104
# test_07_14_01_2.v
105
<pre>
106
test_07_14_01_2.v:26: warning: choosing typ expression.
107
test_07_14_01_2.v:27: warning: choosing typ expression.
108
</pre>
109
# test_07_14_02_2_1.v
110
<pre>
111
test_07_14_02_2_1.v:25: sorry: trireg nets not supported.
112
</pre>
113
# test_07_14_02_2_2.v
114
<pre>
115
test_07_14_02_2_2.v:26: sorry: trireg nets not supported.
116
</pre>
117
# test_08_06_00_1.v
118
<pre>
119
test_08_06_00_1.v:46: syntax error
120
test_08_06_00_1.v:46: error: syntax error in parameter value assignment list.
121
test_08_06_00_1.v:46: error: Invalid module instantiation
122
</pre>
123 3 Sergey Smolov
# test_08_07_00_1.v
124
<pre>
125
test_08_07_00_1.v:30: syntax error
126
</pre>
127 1 Sergey Smolov
# test_09_02_01_1.v
128
<pre>
129
test_09_02_01_1.v:31: error: part select rega[3:5] is reversed.
130
</pre>
131 3 Sergey Smolov
# test_09_06_00_1.v
132 1 Sergey Smolov
<pre>
133 3 Sergey Smolov
test_09_06_00_1.v:27: syntax error
134
test_09_06_00_1.v:28: error: invalid module item.
135
test_09_06_00_1.v:29: syntax error
136
test_09_06_00_1.v:29: error: Invalid module instantiation
137
test_09_06_00_1.v:30: error: Invalid module instantiation
138
test_09_06_00_1.v:31: error: Invalid module instantiation
139
test_09_06_00_1.v:34: error: invalid module item.
140
test_09_06_00_1.v:35: syntax error
141
test_09_06_00_1.v:35: error: Invalid module instantiation
142
test_09_06_00_1.v:36: error: Invalid module instantiation
143 1 Sergey Smolov
</pre>
144 3 Sergey Smolov
# test_09_06_00_2.v
145 1 Sergey Smolov
<pre>
146 3 Sergey Smolov
test_09_06_00_2.v:23: syntax error
147
test_09_06_00_2.v:24: error: invalid module item.
148
test_09_06_00_2.v:25: syntax error
149
test_09_06_00_2.v:25: error: Invalid module instantiation
150
test_09_06_00_2.v:26: error: Invalid module instantiation
151
test_09_06_00_2.v:29: error: invalid module item.
152
test_09_06_00_2.v:30: syntax error
153
test_09_06_00_2.v:30: error: Invalid module instantiation
154
</pre>
155
# test_09_06_00_3.v
156
<pre>
157
test_09_06_00_3.v:27: syntax error
158
test_09_06_00_3.v:27: Syntax in assignment statement l-value.
159
test_09_06_00_3.v:28: syntax error
160
test_09_06_00_3.v:28: Syntax in assignment statement l-value.
161
test_09_06_00_3.v:35: syntax error
162
test_09_06_00_3.v:35: error: Incomprehensible for loop.
163
</pre>
164
# test_09_07_01_2.v
165
<pre> 
166
test_09_07_01_2.v:30: syntax error
167
test_09_07_01_2.v:30: Syntax in assignment statement l-value.
168
</pre>
169
# test_09_07_05_1.v 
170
<pre>
171
test_09_07_05_1.v:31: syntax error
172
</pre>
173
# test_09_07_05_2.v 
174
<pre>
175
test_09_07_05_2.v:30: error: port y already has a port declaration.
176
test_09_07_05_2.v:29: error: Port ``y'' has already been declared a port.
177
</pre>
178
# test_09_07_05_3.v 
179
<pre>
180
test_09_07_05_3.v:32: internal error: NetProc::nex_input not implemented
181
test_09_07_05_3.v:31: error: Unable to elaborate:
182
      @(test._s0)  // test_09_07_05_3.v:32
183
        {kid} = b[0:0];
184
</pre>
185
# test_09_07_05_4.v 
186
<pre>
187
test_09_07_05_4.v:33: internal error: NetProc::nex_input not implemented
188
</pre>
189
# test_09_07_05_5.v 
190
<pre>
191
test_09_07_05_5.v:32: error: y is not a valid l-value in test.
192
test_09_07_05_5.v:29:      : y is declared here as wire.
193
test_09_07_05_5.v:33: error: y[a] is not a valid l-value in test.
194
test_09_07_05_5.v:29:      : y[a] is declared here as wire.
195
test_09_07_05_5.v:31: warning: @* found no sensitivities so it will never trigger.
196
</pre>
197
# test_09_07_05_6.v
198
<pre>
199
test_09_07_05_6.v:35: error: Unable to bind wire/reg/memory `IDLE' in `test'
200
test_09_07_05_6.v:35: error: Unable to bind wire/reg/memory `READ' in `test'
201
test_09_07_05_6.v:36: error: Unable to bind wire/reg/memory `IDLE' in `test'
202
test_09_07_05_6.v:37: error: Unable to bind wire/reg/memory `READ' in `test'
203
test_09_07_05_6.v:37: error: Unable to bind wire/reg/memory `DLY' in `test'
204
test_09_07_05_6.v:38: error: Unable to bind wire/reg/memory `DLY' in `test'
205
test_09_07_05_6.v:38: error: Unable to bind wire/reg/memory `DONE' in `test'
206
</pre>
207
# test_09_07_06_1.v
208
<pre>
209
test_09_07_06_1.v:32: syntax error
210
test_09_07_06_1.v:33: error: invalid module item.
211
test_09_07_06_1.v:34: syntax error
212
test_09_07_06_1.v:34: error: invalid module item.
213
test_09_07_06_1.v:35: syntax error
214
</pre>
215
# test_09_07_07_1.v
216
<pre>
217
test_09_07_07_1.v:32: syntax error
218
</pre>
219
# test_09_07_07_3.v
220
<pre>
221
test_09_07_07_3.v:28: error: Unable to bind wire/reg/memory `clk' in `test'
222
test_09_07_07_3.v:33: error: Unable to bind wire/reg/memory `clk' in `test'
223
</pre>
224
# test_09_07_07_4.v
225
<pre>
226
test_09_07_07_4.v:29: error: Unable to bind wire/reg/memory `clk' in `test'
227
test_09_07_07_4.v:34: error: Unable to bind wire/reg/memory `clk' in `test'
228
test_09_07_07_4.v:35: error: Unable to bind wire/reg/memory `clk' in `test'
229
test_09_07_07_4.v:36: error: Unable to bind wire/reg/memory `clk' in `test'
230
</pre>
231
# test_09_07_07_9.v
232
<pre>
233
test_09_07_07_9.v:31: error: Unable to bind wire/reg/memory `data' in `test'
234
</pre>
235
# test_09_08_01_3.v 
236
<pre>
237
test_09_08_01_3.v:33: error: event <end_wave> not found.
238
</pre>
239
# test_09_08_02_1.v 
240
<pre>
241
test_09_08_02_1.v:35: error: event <end_wave> not found.
242
</pre>
243
# test_09_08_04_1.v 
244
<pre>
245
test_09_08_04_1.v:29: error: event <end_wave> not found.
246
</pre>
247
# test_09_08_04_2.v 
248
<pre>
249
:0: error: Unable to bind wire/reg/memory `Aevent' in `test'
250
:0: error: Unable to bind wire/reg/memory `Bevent' in `test'
251
</pre>
252
# test_09_08_04_3.v 
253
<pre>
254
:0: error: Unable to bind wire/reg/memory `enable_a' in `test'
255
:0: error: Unable to bind wire/reg/memory `enable_b' in `test'
256
</pre>
257
# test_09_09_01_1.v 
258
<pre>
259
test_09_09_01_1.v:27: error: signal and parameter in 'test' have the same name 'size'.
260
</pre>
261
# test_09_09_02_1.v 
262
<pre>
263
test_09_09_02_1.v:26: error: always statement does not have any delay.
264
test_09_09_02_1.v:26:      : A runtime infinite loop will occur.
265
</pre>
266
# test_10_01_00_1.v 
267
<pre>
268
test_10_01_00_1.v:29: syntax error
269
test_10_01_00_1.v:32: error: malformed statement
270
test_10_01_00_1.v:33: syntax error
271
</pre>
272
# test_10_01_00_2.v 
273
<pre>
274
test_10_01_00_2.v:27: syntax error
275
test_10_01_00_2.v:30: Syntax in assignment statement l-value.
276
test_10_01_00_2.v:31: syntax error
277
</pre>
278
# test_10_02_02_1_1.v 
279
<pre>
280
test_10_02_02_1_1.v:31: error: Could not find variable ``foo1'' in ``test.my_task''
281
test_10_02_02_1_1.v:32: error: Could not find variable ``foo1'' in ``test.my_task''
282
test_10_02_02_1_1.v:33: error: Could not find variable ``foo1'' in ``test.my_task''
283
test_10_02_02_1_1.v:34: error: Could not find variable ``foo1'' in ``test.my_task''
284
test_10_02_02_1_1.v:35: error: Unable to bind wire/reg/memory `foo1' in `test.my_task'
285
test_10_02_02_1_1.v:36: error: Unable to bind wire/reg/memory `foo2' in `test.my_task'
286
test_10_02_02_1_1.v:37: error: Unable to bind wire/reg/memory `foo3' in `test.my_task'
287
</pre>
288
# test_10_02_02_1_2.v 
289
<pre>
290
test_10_02_02_1_2.v:27: error: Could not find variable ``foo1'' in ``test.my_task''
291
test_10_02_02_1_2.v:28: error: Could not find variable ``foo2'' in ``test.my_task''
292
test_10_02_02_1_2.v:29: error: Could not find variable ``foo3'' in ``test.my_task''
293
test_10_02_02_1_2.v:30: error: Unable to bind wire/reg/memory `foo1' in `test.my_task'
294
test_10_02_02_1_2.v:31: error: Unable to bind wire/reg/memory `foo2' in `test.my_task'
295
test_10_02_02_1_2.v:32: error: Unable to bind wire/reg/memory `foo3' in `test.my_task'
296
</pre>
297
# test_10_03_00_1.v 
298
<pre>
299
test_10_03_00_1.v:25: syntax error
300
test_10_03_00_1.v:26: error: invalid module item.
301
test_10_03_00_1.v:27: syntax error
302
test_10_03_00_1.v:27: error: invalid module item.
303
test_10_03_00_1.v:28: syntax error
304
test_10_03_00_1.v:28: error: Invalid module instantiation
305
</pre>
306
# test_10_03_00_2.v 
307
<pre>
308
test_10_03_00_2.v:27: syntax error
309
test_10_03_00_2.v:28: error: invalid module item.
310
test_10_03_00_2.v:30: syntax error
311
test_10_03_00_2.v:30: error: invalid module item.
312
test_10_03_00_2.v:31: syntax error
313
</pre>
314
# test_10_03_00_3.v 
315
<pre>
316
test_10_03_00_3.v:30: error: Unable to bind wire/reg/memory `a' in `test.proc_a'
317
test_10_03_00_3.v:30: error: Unable to elaborate condition expression.
318
</pre>
319
# test_10_03_00_4.v 
320
<pre>
321
test_10_03_00_4.v:34: syntax error
322
test_10_03_00_4.v:35: error: invalid module item.
323
test_10_03_00_4.v:35: syntax error
324
test_10_03_00_4.v:35: error: Invalid module instantiation
325
test_10_03_00_4.v:35: error: Invalid module instantiation
326
test_10_03_00_4.v:39: error: Invalid module instantiation
327
test_10_03_00_4.v:40: error: Invalid module instantiation
328
test_10_03_00_4.v:43: error: invalid module item.
329
test_10_03_00_4.v:44: syntax error
330
test_10_03_00_4.v:44: error: Invalid module instantiation
331
test_10_03_00_4.v:45: error: Invalid module instantiation
332
</pre>
333
# test_10_03_00_5.v 
334
<pre>
335
test_10_03_00_5.v:28: syntax error
336
</pre>
337
# test_10_04_05_1.v 
338
<pre>
339
test_10_04_05_1.v:27: sorry: constant user functions are not currently supported: clogb2().
340
</pre>
341
# test_11_05_00_1.v 
342
<pre>
343
test_11_05_00_1.v:29: error: reg p; cannot be driven by primitives or continuous assignment.
344
</pre>
345
# test_12_02_00_1.v 
346
<pre>
347
test_12_02_00_1.v:54: syntax error
348
</pre>
349
# test_12_02_00_2.v 
350
<pre>
351
test_12_02_00_2.v:28: error: Port a (1) of module foo is not declared within module.
352
test_12_02_00_2.v:28: error: Port b (2) of module foo is not declared within module.
353
test_12_02_00_2.v:28: error: no wire/reg a in module bar.f1.
354
test_12_02_00_2.v:28: error: no wire/reg b in module bar.f1.
355
</pre>
356
# test_12_02_01_1.v 
357
<pre>
358
test_12_02_01_1.v:29: syntax error
359
</pre>
360
# test_12_02_02_1_2.v 
361
<pre>
362
test_12_02_02_1_2.v:28: error: Port addr (1) of module my_mem is not declared within module.
363
test_12_02_02_1_2.v:28: error: Port data (2) of module my_mem is not declared within module.
364
test_12_02_02_1_2.v:28: error: no wire/reg addr in module top.m.
365
test_12_02_02_1_2.v:28: error: no wire/reg data in module top.m.
366
</pre>
367
# test_12_03_03_2.v 
368
<pre>
369
test_12_03_03_2.v:46: syntax error
370
test_12_03_03_2.v:46: error: missing endmodule or attempt to nest modules.
371
test_12_03_03_2.v:40: error: original module (complex_ports) defined here.
372
test_12_03_03_2.v:52: syntax error
373
test_12_03_03_2.v:52: error: missing endmodule or attempt to nest modules.
374
test_12_03_03_2.v:40: error: original module (complex_ports) defined here.
375
test_12_03_03_2.v:56: syntax error
376
test_12_03_03_2.v:56: error: missing endmodule or attempt to nest modules.
377
test_12_03_03_2.v:40: error: original module (complex_ports) defined here.
378
test_12_03_03_2.v:61: syntax error
379
test_12_03_03_2.v:61: error: missing endmodule or attempt to nest modules.
380
test_12_03_03_2.v:40: error: original module (complex_ports) defined here.
381
test_12_03_03_2.v:65: syntax error
382
test_12_03_03_2.v:65: error: missing endmodule or attempt to nest modules.
383
test_12_03_03_2.v:40: error: original module (complex_ports) defined here.
384
test_12_03_03_2.v:66: error: port a already has a port declaration.
385
test_12_03_03_2.v:62: error: Port ``a'' has already been declared a port.
386
</pre>
387
# test_12_03_06_1.v 
388
<pre>
389
test_12_03_06_1.v:34: error: port ``Out'' is not a port of instance1.
390
test_12_03_06_1.v:34: error: port ``In1'' is not a port of instance1.
391
test_12_03_06_1.v:34: error: port ``In2'' is not a port of instance1.
392
</pre>
393
# test_12_03_07_1.v 
394
<pre>
395
test_12_03_07_1.v:29: error: Scalar port ``net_r'' has a vectored net declaration [64:1].
396
test_12_03_07_1.v:34: error: Scalar port ``net_r'' has a vectored net declaration [64:1].
397
test_12_03_07_1.v:36: error: Unable to bind wire/reg/memory `net_r' in `receiver'
398
ivl: netmisc.cc:467: void eval_expr(NetExpr*&, int): Assertion `expr' failed.
399
</pre>
400
# test_12_04_01_1.v 
401
<pre>
402
test_12_04_01_1.v:49: syntax error
403
</pre>
404
# test_12_04_01_2.v 
405
<pre>
406
test_12_04_01_2.v:39: syntax error
407
</pre>
408
# test_12_04_01_5.v 
409
<pre>
410
test_12_04_01_5.v:35: error: Unknown module type: M3
411
test_12_04_01_5.v:35: error: Unknown module type: M3
412
test_12_04_01_5.v:33: error: Unknown module type: M2
413
test_12_04_01_5.v:35: error: Unknown module type: M3
414
test_12_04_01_5.v:35: error: Unknown module type: M3
415
test_12_04_01_5.v:33: error: Unknown module type: M2
416
test_12_04_01_5.v:31: error: Unknown module type: M1
417
test_12_04_01_5.v:35: error: Unknown module type: M3
418
test_12_04_01_5.v:35: error: Unknown module type: M3
419
test_12_04_01_5.v:33: error: Unknown module type: M2
420
test_12_04_01_5.v:35: error: Unknown module type: M3
421
test_12_04_01_5.v:35: error: Unknown module type: M3
422
test_12_04_01_5.v:33: error: Unknown module type: M2
423
test_12_04_01_5.v:40: error: Unknown module type: M4
424
test_12_04_01_5.v:40: error: Unknown module type: M4
425
test_12_04_01_5.v:31: error: Unknown module type: M1
426
*** These modules were missing:
427
        M1 referenced 2 times.
428
        M2 referenced 4 times.
429
        M3 referenced 8 times.
430
        M4 referenced 2 times.
431
***
432
</pre>
433
# test_12_04_02_1.v 
434
<pre>
435
test_12_04_02_1.v:46: syntax error
436
test_12_04_02_1.v:46: error: invalid module item.
437
</pre>
438
# test_12_04_02_2.v 
439
<pre>
440
test_12_04_02_2.v:44: error: Wrong number of ports. Expecting 0, got 3.
441
</pre>
442
# test_12_04_02_3.v 
443
<pre>
444
test_12_04_02_3.v:26: error: Cannot evaluate genvar case expression: WIDTH
445
</pre>
446
# test_12_04_02_4.v 
447
<pre>
448
test_12_04_02_4.v:38: error: Unknown module type: sms_08b216t0
449
test_12_04_02_4.v:38: error: Unknown module type: sms_08b216t0
450
test_12_04_02_4.v:38: error: Unknown module type: sms_08b216t0
451
test_12_04_02_4.v:38: error: Unknown module type: sms_08b216t0
452
*** These modules were missing:
453
        sms_08b216t0 referenced 4 times.
454
***
455
</pre>
456
457
# test_12_06_00_1.v 
458
<pre>
459
test_12_06_00_1.v:34: error: Could not find variable ``b_c1.i'' in ``a._b1''
460
test_12_06_00_1.v:34: error: Could not find variable ``b_c1.i'' in ``d.d_b1''
461
test_12_06_00_1.v:53: error: Could not find variable ``a.a_b1.i'' in ``d''
462
test_12_06_00_1.v:55: error: Could not find variable ``a.a_b1.b_c1.i'' in ``d''
463
test_12_06_00_1.v:56: error: Could not find variable ``d.d_b1.b_c1.i'' in ``d''
464
test_12_06_00_1.v:57: error: Could not find variable ``a.a_b1.b_c2.i'' in ``d''
465 1 Sergey Smolov
</pre>