Skip to content

Commit 7e43d79

Browse files
committed
Adding EPFL benchmark suite
1 parent 0baca7b commit 7e43d79

20 files changed

Lines changed: 515205 additions & 0 deletions

File tree

logikbench/epfl/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2018
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

logikbench/epfl/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
commit: 94e25f33b9bcbaa155e20ceedc6f6dc45bdffddf
2+
3+
https://github.com/lsils/benchmarks
4+
5+
6+
The EPFL Combinational Benchmark Suite was introduced in 2015 with the aim of defining a new comparative standard for the logic optimization and synthesis community. It originally consisted of 23 combinational circuits designed to challenge modern logic optimization tools. The benchmark suite is divided into arithmetic, random/control and MtM circuits, and each circuit is distributed in Verilog, VHDL, BLIF and AIGER formats.

logikbench/epfl/adder/rtl/adder.v

Lines changed: 1205 additions & 0 deletions
Large diffs are not rendered by default.

logikbench/epfl/arbiter/rtl/arbiter.v

Lines changed: 13189 additions & 0 deletions
Large diffs are not rendered by default.

logikbench/epfl/bar/rtl/bar.v

Lines changed: 3739 additions & 0 deletions
Large diffs are not rendered by default.

logikbench/epfl/cavlc/rtl/cavlc.v

Lines changed: 765 additions & 0 deletions
Large diffs are not rendered by default.

logikbench/epfl/dec/rtl/dec.v

Lines changed: 445 additions & 0 deletions
Large diffs are not rendered by default.

logikbench/epfl/div/rtl/div.v

Lines changed: 63574 additions & 0 deletions
Large diffs are not rendered by default.

logikbench/epfl/hyp/rtl/hyp.v

Lines changed: 239751 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 291 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,291 @@
1+
module top (
2+
\B[0] , \B[1] , \B[2] , \B[3] , \B[4] , \B[5] , \B[6] , \B[7] , \B[8] ,
3+
\B[9] , \B[10] ,
4+
\M[0] , \M[1] , \M[2] , \M[3] , \E[0] , \E[1] , \E[2] );
5+
input \B[0] , \B[1] , \B[2] , \B[3] , \B[4] , \B[5] , \B[6] , \B[7] ,
6+
\B[8] , \B[9] , \B[10] ;
7+
output \M[0] , \M[1] , \M[2] , \M[3] , \E[0] , \E[1] , \E[2] ;
8+
wire n19, n20, n21, n22, n23, n24, n25, n26, n27, n28, n29, n30, n31, n32,
9+
n33, n34, n35, n36, n37, n38, n39, n40, n41, n42, n43, n44, n45, n46,
10+
n47, n48, n49, n50, n51, n52, n53, n54, n55, n56, n57, n58, n59, n60,
11+
n61, n62, n63, n64, n65, n66, n67, n68, n69, n70, n71, n72, n73, n74,
12+
n75, n76, n77, n79, n80, n81, n82, n83, n84, n85, n86, n87, n88, n89,
13+
n90, n91, n92, n93, n94, n95, n96, n97, n98, n99, n100, n101, n102,
14+
n103, n104, n105, n106, n107, n108, n109, n110, n111, n112, n113, n114,
15+
n115, n116, n117, n118, n119, n120, n121, n122, n123, n124, n125, n126,
16+
n127, n128, n129, n130, n131, n132, n133, n134, n135, n136, n137, n138,
17+
n139, n140, n141, n142, n143, n144, n145, n147, n148, n149, n150, n151,
18+
n152, n153, n154, n155, n156, n157, n158, n159, n160, n161, n162, n163,
19+
n164, n165, n166, n167, n168, n169, n170, n171, n172, n173, n174, n175,
20+
n176, n177, n178, n179, n180, n181, n182, n183, n184, n185, n186, n187,
21+
n188, n189, n190, n191, n192, n193, n194, n195, n196, n197, n198, n199,
22+
n200, n201, n202, n203, n204, n205, n206, n207, n208, n210, n211, n212,
23+
n213, n214, n215, n216, n217, n218, n220, n221, n222, n223, n224, n225,
24+
n226, n227, n228, n229, n230, n231, n232, n233, n234, n235, n236, n237,
25+
n238, n239, n240, n241, n242, n243, n244, n245, n246, n247, n248, n249,
26+
n250, n252, n253, n254, n255, n256, n257, n258, n259, n260, n261, n262,
27+
n263, n264, n265, n266, n267, n268, n269, n270, n271, n272, n274, n275,
28+
n276, n277;
29+
assign n19 = ~\B[1] & \B[4] ;
30+
assign n20 = ~\B[4] & ~\B[8] ;
31+
assign n21 = ~n19 & ~n20;
32+
assign n22 = \B[0] & ~n21;
33+
assign n23 = \B[1] & \B[4] ;
34+
assign n24 = ~\B[0] & n23;
35+
assign n25 = ~n22 & ~n24;
36+
assign n26 = ~\B[6] & ~n25;
37+
assign n27 = ~\B[7] & n26;
38+
assign n28 = \B[4] & \B[8] ;
39+
assign n29 = ~n27 & ~n28;
40+
assign n30 = ~\B[5] & ~n29;
41+
assign n31 = ~\B[4] & \B[7] ;
42+
assign n32 = \B[1] & ~\B[2] ;
43+
assign n33 = \B[5] & ~\B[7] ;
44+
assign n34 = n32 & n33;
45+
assign n35 = ~n31 & ~n34;
46+
assign n36 = \B[3] & ~n35;
47+
assign n37 = \B[4] & \B[7] ;
48+
assign n38 = ~\B[3] & n37;
49+
assign n39 = ~n36 & ~n38;
50+
assign n40 = ~\B[8] & ~n39;
51+
assign n41 = \B[5] & \B[8] ;
52+
assign n42 = ~\B[4] & n41;
53+
assign n43 = ~n40 & ~n42;
54+
assign n44 = ~n30 & n43;
55+
assign n45 = ~\B[9] & ~n44;
56+
assign n46 = \B[4] & ~\B[8] ;
57+
assign n47 = ~\B[3] & n46;
58+
assign n48 = ~\B[4] & ~\B[7] ;
59+
assign n49 = ~n47 & ~n48;
60+
assign n50 = ~\B[2] & ~n49;
61+
assign n51 = \B[1] & n50;
62+
assign n52 = ~\B[1] & \B[2] ;
63+
assign n53 = ~\B[7] & ~\B[8] ;
64+
assign n54 = n52 & n53;
65+
assign n55 = ~\B[9] & ~n54;
66+
assign n56 = ~n51 & n55;
67+
assign n57 = ~\B[6] & ~n56;
68+
assign n58 = \B[5] & n57;
69+
assign n59 = \B[6] & \B[9] ;
70+
assign n60 = ~\B[5] & n59;
71+
assign n61 = ~n58 & ~n60;
72+
assign n62 = ~n45 & n61;
73+
assign n63 = ~\B[10] & ~n62;
74+
assign n64 = ~\B[2] & \B[3] ;
75+
assign n65 = \B[2] & ~\B[3] ;
76+
assign n66 = ~n64 & ~n65;
77+
assign n67 = ~\B[9] & ~n66;
78+
assign n68 = ~\B[8] & n67;
79+
assign n69 = ~\B[10] & ~n68;
80+
assign n70 = ~\B[7] & ~n69;
81+
assign n71 = \B[9] & \B[10] ;
82+
assign n72 = \B[8] & n71;
83+
assign n73 = ~n70 & ~n72;
84+
assign n74 = \B[6] & ~n73;
85+
assign n75 = ~\B[6] & \B[10] ;
86+
assign n76 = \B[7] & n75;
87+
assign n77 = ~n74 & ~n76;
88+
assign \M[0] = n63 | ~n77;
89+
assign n79 = ~\B[4] & ~\B[9] ;
90+
assign n80 = ~\B[2] & ~\B[7] ;
91+
assign n81 = ~n79 & ~n80;
92+
assign n82 = ~\B[1] & ~n81;
93+
assign n83 = \B[1] & \B[2] ;
94+
assign n84 = \B[0] & n83;
95+
assign n85 = ~\B[0] & ~\B[2] ;
96+
assign n86 = ~n84 & ~n85;
97+
assign n87 = ~\B[7] & ~n86;
98+
assign n88 = \B[4] & n87;
99+
assign n89 = \B[8] & ~\B[9] ;
100+
assign n90 = ~n88 & ~n89;
101+
assign n91 = ~n82 & n90;
102+
assign n92 = ~\B[6] & ~n91;
103+
assign n93 = \B[3] & \B[4] ;
104+
assign n94 = \B[7] & ~n93;
105+
assign n95 = ~\B[9] & n94;
106+
assign n96 = ~\B[8] & n95;
107+
assign n97 = ~\B[7] & \B[9] ;
108+
assign n98 = ~n96 & ~n97;
109+
assign n99 = ~n92 & n98;
110+
assign n100 = ~\B[5] & ~n99;
111+
assign n101 = ~\B[8] & ~\B[9] ;
112+
assign n102 = \B[4] & n101;
113+
assign n103 = ~\B[6] & ~\B[7] ;
114+
assign n104 = ~\B[4] & n103;
115+
assign n105 = ~n102 & ~n104;
116+
assign n106 = \B[2] & ~n105;
117+
assign n107 = \B[1] & n106;
118+
assign n108 = \B[7] & ~\B[9] ;
119+
assign n109 = n46 & n108;
120+
assign n110 = ~n107 & ~n109;
121+
assign n111 = \B[3] & ~n110;
122+
assign n112 = \B[4] & n89;
123+
assign n113 = \B[7] & \B[9] ;
124+
assign n114 = ~n112 & ~n113;
125+
assign n115 = \B[6] & ~n114;
126+
assign n116 = ~n111 & ~n115;
127+
assign n117 = \B[5] & ~n116;
128+
assign n118 = ~\B[4] & n89;
129+
assign n119 = ~n97 & ~n118;
130+
assign n120 = ~\B[6] & ~n119;
131+
assign n121 = ~n117 & ~n120;
132+
assign n122 = ~n100 & n121;
133+
assign n123 = ~\B[10] & ~n122;
134+
assign n124 = \B[6] & ~\B[9] ;
135+
assign n125 = ~\B[4] & n124;
136+
assign n126 = \B[5] & ~\B[6] ;
137+
assign n127 = ~\B[3] & n126;
138+
assign n128 = ~n125 & ~n127;
139+
assign n129 = ~\B[2] & ~n128;
140+
assign n130 = ~\B[1] & n126;
141+
assign n131 = ~n125 & ~n130;
142+
assign n132 = ~\B[3] & ~n131;
143+
assign n133 = \B[2] & \B[3] ;
144+
assign n134 = \B[4] & n124;
145+
assign n135 = n133 & n134;
146+
assign n136 = ~\B[10] & ~n135;
147+
assign n137 = ~n132 & n136;
148+
assign n138 = ~n129 & n137;
149+
assign n139 = ~\B[7] & ~n138;
150+
assign n140 = ~n75 & ~n139;
151+
assign n141 = ~\B[8] & ~n140;
152+
assign n142 = \B[6] & \B[10] ;
153+
assign n143 = \B[7] & n142;
154+
assign n144 = n89 & n143;
155+
assign n145 = ~n141 & ~n144;
156+
assign \M[1] = ~n123 & n145;
157+
assign n147 = \B[4] & ~\B[6] ;
158+
assign n148 = \B[0] & ~\B[3] ;
159+
assign n149 = n147 & n148;
160+
assign n150 = ~\B[4] & \B[5] ;
161+
assign n151 = \B[3] & n150;
162+
assign n152 = ~n149 & ~n151;
163+
assign n153 = \B[1] & ~n152;
164+
assign n154 = ~\B[4] & ~\B[6] ;
165+
assign n155 = \B[0] & \B[1] ;
166+
assign n156 = \B[4] & ~n155;
167+
assign n157 = \B[3] & n156;
168+
assign n158 = ~n154 & ~n157;
169+
assign n159 = ~\B[5] & ~n158;
170+
assign n160 = ~n153 & ~n159;
171+
assign n161 = \B[2] & ~n160;
172+
assign n162 = \B[3] & ~\B[6] ;
173+
assign n163 = ~\B[2] & n162;
174+
assign n164 = ~\B[3] & \B[5] ;
175+
assign n165 = ~n163 & ~n164;
176+
assign n166 = \B[4] & ~n165;
177+
assign n167 = ~n161 & ~n166;
178+
assign n168 = ~\B[7] & ~n167;
179+
assign n169 = ~\B[5] & \B[6] ;
180+
assign n170 = \B[2] & n169;
181+
assign n171 = ~n130 & ~n170;
182+
assign n172 = \B[4] & ~n171;
183+
assign n173 = \B[3] & n172;
184+
assign n174 = \B[5] & ~n93;
185+
assign n175 = \B[6] & n174;
186+
assign n176 = ~n173 & ~n175;
187+
assign n177 = ~n168 & n176;
188+
assign n178 = ~\B[8] & ~n177;
189+
assign n179 = ~\B[6] & \B[7] ;
190+
assign n180 = \B[3] & n179;
191+
assign n181 = \B[6] & ~\B[7] ;
192+
assign n182 = ~\B[2] & n181;
193+
assign n183 = ~n180 & ~n182;
194+
assign n184 = \B[5] & ~n183;
195+
assign n185 = \B[4] & n184;
196+
assign n186 = \B[4] & \B[5] ;
197+
assign n187 = \B[7] & ~n186;
198+
assign n188 = \B[6] & n187;
199+
assign n189 = ~n185 & ~n188;
200+
assign n190 = ~n178 & n189;
201+
assign n191 = ~\B[9] & ~n190;
202+
assign n192 = \B[4] & \B[6] ;
203+
assign n193 = n33 & n192;
204+
assign n194 = ~n179 & ~n193;
205+
assign n195 = \B[8] & ~n194;
206+
assign n196 = ~n191 & ~n195;
207+
assign n197 = ~\B[10] & ~n196;
208+
assign n198 = \B[8] & \B[10] ;
209+
assign n199 = ~\B[8] & \B[9] ;
210+
assign n200 = \B[5] & n199;
211+
assign n201 = ~n198 & ~n200;
212+
assign n202 = \B[7] & ~n201;
213+
assign n203 = \B[6] & n202;
214+
assign n204 = \B[5] & \B[7] ;
215+
assign n205 = \B[8] & ~n204;
216+
assign n206 = ~\B[10] & ~n205;
217+
assign n207 = \B[9] & ~n206;
218+
assign n208 = ~n203 & ~n207;
219+
assign \M[2] = n197 | ~n208;
220+
assign n210 = \B[6] & \B[7] ;
221+
assign n211 = ~\B[2] & n210;
222+
assign n212 = \B[5] & n28;
223+
assign n213 = n211 & n212;
224+
assign n214 = ~\B[5] & n20;
225+
assign n215 = n103 & n214;
226+
assign n216 = ~n213 & ~n215;
227+
assign n217 = ~\B[9] & ~n216;
228+
assign n218 = ~\B[10] & n217;
229+
assign \M[3] = \B[3] | ~n218;
230+
assign n220 = \B[5] & \B[6] ;
231+
assign n221 = \B[4] & ~\B[7] ;
232+
assign n222 = n220 & n221;
233+
assign n223 = ~\B[5] & ~\B[6] ;
234+
assign n224 = n155 & n223;
235+
assign n225 = ~n222 & ~n224;
236+
assign n226 = \B[3] & ~n225;
237+
assign n227 = \B[2] & n226;
238+
assign n228 = ~\B[4] & ~n181;
239+
assign n229 = ~\B[7] & ~n126;
240+
assign n230 = ~\B[3] & ~n229;
241+
assign n231 = \B[7] & ~n220;
242+
assign n232 = ~\B[6] & ~n83;
243+
assign n233 = \B[5] & n232;
244+
assign n234 = ~\B[9] & ~n233;
245+
assign n235 = ~n231 & n234;
246+
assign n236 = ~n230 & n235;
247+
assign n237 = ~n228 & n236;
248+
assign n238 = ~n227 & n237;
249+
assign n239 = ~\B[8] & ~n238;
250+
assign n240 = \B[3] & \B[8] ;
251+
assign n241 = ~n65 & ~n240;
252+
assign n242 = \B[6] & ~n241;
253+
assign n243 = \B[5] & n242;
254+
assign n244 = \B[7] & n243;
255+
assign n245 = ~\B[9] & n244;
256+
assign n246 = \B[4] & n245;
257+
assign n247 = \B[7] & n220;
258+
assign n248 = \B[9] & ~n247;
259+
assign n249 = ~n246 & ~n248;
260+
assign n250 = ~n239 & n249;
261+
assign \E[0] = \B[10] | n250;
262+
assign n252 = \B[6] & \B[8] ;
263+
assign n253 = n204 & n252;
264+
assign n254 = \B[1] & \B[3] ;
265+
assign n255 = \B[0] & n254;
266+
assign n256 = ~\B[5] & ~\B[7] ;
267+
assign n257 = ~\B[8] & n256;
268+
assign n258 = n255 & n257;
269+
assign n259 = ~n253 & ~n258;
270+
assign n260 = \B[2] & ~n259;
271+
assign n261 = \B[8] & n204;
272+
assign n262 = \B[3] & \B[6] ;
273+
assign n263 = n261 & n262;
274+
assign n264 = ~n260 & ~n263;
275+
assign n265 = \B[4] & ~n264;
276+
assign n266 = n133 & n192;
277+
assign n267 = \B[5] & ~n266;
278+
assign n268 = ~n169 & ~n267;
279+
assign n269 = ~\B[7] & ~n268;
280+
assign n270 = ~\B[8] & n269;
281+
assign n271 = ~\B[9] & ~\B[10] ;
282+
assign n272 = ~n270 & n271;
283+
assign \E[1] = n265 | ~n272;
284+
assign n274 = \B[2] & n93;
285+
assign n275 = n220 & n274;
286+
assign n276 = ~\B[9] & ~n275;
287+
assign n277 = ~\B[10] & n276;
288+
assign \E[2] = ~n53 | ~n277;
289+
endmodule
290+
291+

0 commit comments

Comments
 (0)