Project

General

Profile

Found Errors » History » Version 5

Sergey Smolov, 11/02/2019 04:08 PM

1 1 Sergey Smolov
h1. Found Errors
2
3 5 Sergey Smolov
Here the collection of public benchmarks (that are used in the project) and bug fixes are presented.
4 4 Sergey Smolov
5
{{toc}}
6
7
h2. Texas97 benchmark
8
9
"Texas97 benchmark Web page":https://ptolemy.berkeley.edu/projects/embedded/research/vis/texas-97
10
11
The complete collection of our fixes is available in the "patch":https://forge.ispras.ru/attachments/5900/0001-test-apply-fixes-to-Texas97-modules.patch below.
12
13 3 Sergey Smolov
1. 
14 1 Sergey Smolov
src/main/verilog/texas97-benchmarks/Blackjack/dp.v: RDelaer1 -> RDealer1
15 2 Sergey Smolov
src/main/verilog/texas97-benchmarks/Blackjack/dp.v: RDelaer2 -> RDealer2
16 3 Sergey Smolov
17
2.
18
<pre><code class="diff">
19
--- a/src/main/verilog/texas97-benchmarks/DLX/PDLX/control.v
20
+++ b/src/main/verilog/texas97-benchmarks/DLX/PDLX/control.v
21
@@ -14,7 +14,7 @@ module Control(
22
         SESel,
23
 
24
         Reset,
25
-        Clk ,
26
+        Clk// ,
27
               );
28
    reg monitor_lw;
29
    reg monitor_j;
30 4 Sergey Smolov
</code></pre>
31
32
33
34
h3. $ND macro
35
36
This macro implements a Non-Deterministic choice from the sequence of values. Since this macro is not a standard one, it should be substituted by the *$random* system calls.
37
38
In our version of Texas97 benchmark *$ND* calls are substituted by concatenation operations, like here:
39
<pre><code class="diff">
40
--- a/src/test/verilog/texas97-tests/Blackjack/dp.v
41
+++ b/src/test/verilog/texas97-tests/Blackjack/dp.v
42
@@ -93,24 +93,25 @@
43
                Deck[13] =0;
44
                Deck[14] =0;
45
                Deck[15] =0;
46
-               First6Card[0]=$ND(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
47
-               First6Card[1]=$ND(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
48
-               First6Card[2]=$ND(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
49
-               First6Card[3]=$ND(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
50
-               First6Card[4]=$ND(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
51
-               First6Card[5]=$ND(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
52
+               First6Card[0]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
53
+               First6Card[1]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
54
+               First6Card[2]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
55
+               First6Card[3]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
56
+               First6Card[4]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
57
</code></pre>
58
59
h3. Enums
60
61
There are no enums in Verilog 2005, so 'typedef enum {...}' constructions were substituted by defines:
62
<pre><code class="diff">
63
--- a/src/test/verilog/texas97-tests/PI_BUS/multi_master/bus.v
64
+++ b/src/test/verilog/texas97-tests/PI_BUS/multi_master/bus.v
65
@@ -1,6 +1,11 @@
66
 
67
-typedef enum{BUS_IDLE,BUS_REQ,BUS_ADDR,BUS_ADDRDATA,BUS_DATA} busst;
68
+//typedef enum{BUS_IDLE,BUS_REQ,BUS_ADDR,BUS_ADDRDATA,BUS_DATA} busst;
69
 
70
+`define BUS_IDLE 3'b000
71
+`define BUS_REQ 3'b001
72
+`define BUS_ADDR 3'b010
73
+`define BUS_ADDRDATA 3'b011
74
+`define BUS_DATA 3'b100
75
</code></pre>
76
77
h2. VCEGAR benchmark
78
79
"VCEGAR benchmark Web page":http://www.cprover.org/ebmc/
80
81
h3. Syntax errors
82
83
<pre><code class="diff">
84
--- a/src/test/verilog/vcegar-tests/small/seq/example.v
85
+++ b/src/test/verilog/vcegar-tests/small/seq/example.v
86
@@ -1,13 +1,13 @@
87
-always @ (posedge clock) begin
88
-       if (a<100) 
89
+always @ (posedge clk) begin
90
+       if (a<100)
91
           a<=b+a;
92 3 Sergey Smolov
</code></pre>