diff --git a/examples/buffers/buffers-n10.v b/benchmarks/buffers/buffers-n10.v similarity index 100% rename from examples/buffers/buffers-n10.v rename to benchmarks/buffers/buffers-n10.v diff --git a/examples/buffers/buffers-n100.v b/benchmarks/buffers/buffers-n100.v similarity index 100% rename from examples/buffers/buffers-n100.v rename to benchmarks/buffers/buffers-n100.v diff --git a/examples/buffers/buffers-n2.v b/benchmarks/buffers/buffers-n2.v similarity index 100% rename from examples/buffers/buffers-n2.v rename to benchmarks/buffers/buffers-n2.v diff --git a/examples/buffers/buffers-n20.v b/benchmarks/buffers/buffers-n20.v similarity index 100% rename from examples/buffers/buffers-n20.v rename to benchmarks/buffers/buffers-n20.v diff --git a/examples/buffers/buffers-n30.v b/benchmarks/buffers/buffers-n30.v similarity index 100% rename from examples/buffers/buffers-n30.v rename to benchmarks/buffers/buffers-n30.v diff --git a/examples/buffers/buffers-n40.v b/benchmarks/buffers/buffers-n40.v similarity index 100% rename from examples/buffers/buffers-n40.v rename to benchmarks/buffers/buffers-n40.v diff --git a/examples/buffers/buffers-n50.v b/benchmarks/buffers/buffers-n50.v similarity index 100% rename from examples/buffers/buffers-n50.v rename to benchmarks/buffers/buffers-n50.v diff --git a/examples/buffers/generate.py b/benchmarks/buffers/generate.py similarity index 100% rename from examples/buffers/generate.py rename to benchmarks/buffers/generate.py diff --git a/examples/buffers/spec-n10.sg b/benchmarks/buffers/spec-n10.sg similarity index 100% rename from examples/buffers/spec-n10.sg rename to benchmarks/buffers/spec-n10.sg diff --git a/examples/buffers/spec-n100.sg b/benchmarks/buffers/spec-n100.sg similarity index 100% rename from examples/buffers/spec-n100.sg rename to benchmarks/buffers/spec-n100.sg diff --git a/examples/buffers/spec-n2.sg b/benchmarks/buffers/spec-n2.sg similarity index 100% rename from examples/buffers/spec-n2.sg rename to benchmarks/buffers/spec-n2.sg diff --git a/examples/buffers/spec-n20.sg b/benchmarks/buffers/spec-n20.sg similarity index 100% rename from examples/buffers/spec-n20.sg rename to benchmarks/buffers/spec-n20.sg diff --git a/examples/buffers/spec-n30.sg b/benchmarks/buffers/spec-n30.sg similarity index 100% rename from examples/buffers/spec-n30.sg rename to benchmarks/buffers/spec-n30.sg diff --git a/examples/buffers/spec-n40.sg b/benchmarks/buffers/spec-n40.sg similarity index 100% rename from examples/buffers/spec-n40.sg rename to benchmarks/buffers/spec-n40.sg diff --git a/examples/buffers/spec-n50.sg b/benchmarks/buffers/spec-n50.sg similarity index 100% rename from examples/buffers/spec-n50.sg rename to benchmarks/buffers/spec-n50.sg diff --git a/examples/concurrency/Makefile b/benchmarks/concurrency/Makefile similarity index 100% rename from examples/concurrency/Makefile rename to benchmarks/concurrency/Makefile diff --git a/examples/concurrency/circuit_n10_petrify.v b/benchmarks/concurrency/circuit_n10_petrify.v similarity index 100% rename from examples/concurrency/circuit_n10_petrify.v rename to benchmarks/concurrency/circuit_n10_petrify.v diff --git a/examples/concurrency/circuit_n4_petrify.v b/benchmarks/concurrency/circuit_n4_petrify.v similarity index 100% rename from examples/concurrency/circuit_n4_petrify.v rename to benchmarks/concurrency/circuit_n4_petrify.v diff --git a/examples/concurrency/circuit_n6_petrify.v b/benchmarks/concurrency/circuit_n6_petrify.v similarity index 100% rename from examples/concurrency/circuit_n6_petrify.v rename to benchmarks/concurrency/circuit_n6_petrify.v diff --git a/examples/concurrency/circuit_n8_petrify.v b/benchmarks/concurrency/circuit_n8_petrify.v similarity index 100% rename from examples/concurrency/circuit_n8_petrify.v rename to benchmarks/concurrency/circuit_n8_petrify.v diff --git a/examples/concurrency/circuit_n9_petrify.v b/benchmarks/concurrency/circuit_n9_petrify.v similarity index 100% rename from examples/concurrency/circuit_n9_petrify.v rename to benchmarks/concurrency/circuit_n9_petrify.v diff --git a/examples/concurrency/generate.py b/benchmarks/concurrency/generate.py similarity index 100% rename from examples/concurrency/generate.py rename to benchmarks/concurrency/generate.py diff --git a/examples/concurrency/spec_n10.sg b/benchmarks/concurrency/spec_n10.sg similarity index 100% rename from examples/concurrency/spec_n10.sg rename to benchmarks/concurrency/spec_n10.sg diff --git a/examples/concurrency/spec_n4.sg b/benchmarks/concurrency/spec_n4.sg similarity index 100% rename from examples/concurrency/spec_n4.sg rename to benchmarks/concurrency/spec_n4.sg diff --git a/examples/concurrency/spec_n6.sg b/benchmarks/concurrency/spec_n6.sg similarity index 100% rename from examples/concurrency/spec_n6.sg rename to benchmarks/concurrency/spec_n6.sg diff --git a/examples/concurrency/spec_n8.sg b/benchmarks/concurrency/spec_n8.sg similarity index 100% rename from examples/concurrency/spec_n8.sg rename to benchmarks/concurrency/spec_n8.sg diff --git a/examples/concurrency/spec_n9.sg b/benchmarks/concurrency/spec_n9.sg similarity index 100% rename from examples/concurrency/spec_n9.sg rename to benchmarks/concurrency/spec_n9.sg diff --git a/examples/counter/counter-10-stages.v b/benchmarks/counter/counter-10-stages.v similarity index 100% rename from examples/counter/counter-10-stages.v rename to benchmarks/counter/counter-10-stages.v diff --git a/examples/counter/counter-11-stages.v b/benchmarks/counter/counter-11-stages.v similarity index 100% rename from examples/counter/counter-11-stages.v rename to benchmarks/counter/counter-11-stages.v diff --git a/benchmarks/counter/counter-4-stages.v b/benchmarks/counter/counter-4-stages.v new file mode 100644 index 0000000..624ddbd --- /dev/null +++ b/benchmarks/counter/counter-4-stages.v @@ -0,0 +1,44 @@ + + module Untitled(ri, ro, ai, ao); + + input ri, ao; + output ro, ai; + + // Stage 0 + + AOI2BB2 U0_0 (.ON(ai), .A1N(ao_0), .A2N(U2_ON_0), .B1(ao_0), .B2(ri)); + AOI2BB2 U1_0 (.ON(ro_0), .A1N(ri), .A2N(U2_ON_0), .B1(ri), .B2(U2_ON_0)); + AOI2BB2 U2_0 (.ON(U2_ON_0), .A1N(ao_0), .A2N(U2_ON_0), .B1(ao_0), .B2(ai)); + + // Stage 1 + + AOI2BB2 U0_1 (.ON(ai_1), .A1N(ao_1), .A2N(U2_ON_1), .B1(ao_1), .B2(ri_1)); + AOI2BB2 U1_1 (.ON(ro_1), .A1N(ri_1), .A2N(U2_ON_1), .B1(ri_1), .B2(U2_ON_1)); + AOI2BB2 U2_1 (.ON(U2_ON_1), .A1N(ao_1), .A2N(U2_ON_1), .B1(ao_1), .B2(ai_1)); + + // Stage 2 + + AOI2BB2 U0_2 (.ON(ai_2), .A1N(ao_2), .A2N(U2_ON_2), .B1(ao_2), .B2(ri_2)); + AOI2BB2 U1_2 (.ON(ro_2), .A1N(ri_2), .A2N(U2_ON_2), .B1(ri_2), .B2(U2_ON_2)); + AOI2BB2 U2_2 (.ON(U2_ON_2), .A1N(ao_2), .A2N(U2_ON_2), .B1(ao_2), .B2(ai_2)); + + // Stage 3 + + AOI2BB2 U0_3 (.ON(ai_3), .A1N(ao), .A2N(U2_ON_3), .B1(ao), .B2(ri_3)); + AOI2BB2 U1_3 (.ON(ro), .A1N(ri_3), .A2N(U2_ON_3), .B1(ri_3), .B2(U2_ON_3)); + AOI2BB2 U2_3 (.ON(U2_ON_3), .A1N(ao), .A2N(U2_ON_3), .B1(ao), .B2(ai_3)); + + BUF ao_0_buf (.O(ao_0), .I(ai_1)); // stage 0 <- stage 1 + BUF ri_1_buf (.O(ri_1), .I(ro_0)); // stage 0 -> stage 1 + + BUF ao_1_buf (.O(ao_1), .I(ai_2)); // stage 1 <- stage 2 + BUF ri_2_buf (.O(ri_2), .I(ro_1)); // stage 1 -> stage 2 + + BUF ao_2_buf (.O(ao_2), .I(ai_3)); // stage 2 <- stage 3 + BUF ri_3_buf (.O(ri_3), .I(ro_2)); // stage 2 -> stage 3 + + // signal values at the initial state: + // !ai !ro_0 !U2_ON_0 !ao_0 !ri !ai_1 !ro_1 !U2_ON_1 !ao_1 !ri_1 !ai_2 !ro_2 !U2_ON_2 !ao_2 !ri_2 !ai_3 !ro !U2_ON_3 !ao !ri_3 + + endmodule + diff --git a/examples/counter/counter-8-stages.v b/benchmarks/counter/counter-8-stages.v similarity index 100% rename from examples/counter/counter-8-stages.v rename to benchmarks/counter/counter-8-stages.v diff --git a/examples/counter/counter-9-stages.v b/benchmarks/counter/counter-9-stages.v similarity index 100% rename from examples/counter/counter-9-stages.v rename to benchmarks/counter/counter-9-stages.v diff --git a/examples/counter/gencounter.py b/benchmarks/counter/gencounter.py similarity index 100% rename from examples/counter/gencounter.py rename to benchmarks/counter/gencounter.py diff --git a/examples/counter/genspec.py b/benchmarks/counter/genspec.py similarity index 100% rename from examples/counter/genspec.py rename to benchmarks/counter/genspec.py diff --git a/examples/counter/spec.sg b/benchmarks/counter/spec.sg similarity index 100% rename from examples/counter/spec.sg rename to benchmarks/counter/spec.sg diff --git a/benchmarks/counter/spec4-stg.work b/benchmarks/counter/spec4-stg.work new file mode 100755 index 0000000..e091b7d Binary files /dev/null and b/benchmarks/counter/spec4-stg.work differ diff --git a/benchmarks/counter/spec4.sg b/benchmarks/counter/spec4.sg new file mode 100644 index 0000000..550a8f2 --- /dev/null +++ b/benchmarks/counter/spec4.sg @@ -0,0 +1,75 @@ +# SG file +.model Untitled +.outputs ai ro +.inputs ri ao +.state graph +s0 ri+ s1 +s1 ro+ s2 +s2 ao+ s3 +s3 ro- s4 +s4 ao- s5 +s5 ro+ s6 +s6 ao+ s7 +s7 ro- s8 +s8 ao- s9 +s9 ro+ s10 +s10 ao+ s11 +s11 ro- s12 +s12 ao- s13 +s13 ro+ s14 +s14 ao+ s15 +s15 ro- s16 +s16 ao- s17 +s17 ro+ s18 +s18 ao+ s19 +s19 ro- s20 +s20 ao- s21 +s21 ro+ s22 +s22 ao+ s23 +s23 ro- s24 +s24 ao- s25 +s25 ro+ s26 +s26 ao+ s27 +s27 ro- s28 +s28 ao- s29 +s29 ro+ s30 +s30 ao+ s31 +s31 ro- s32 +s32 ao- s33 +s33 ai+ s34 +s34 ri- s35 +s35 ro+ s36 +s36 ao+ s37 +s37 ro- s38 +s38 ao- s39 +s39 ro+ s40 +s40 ao+ s41 +s41 ro- s42 +s42 ao- s43 +s43 ro+ s44 +s44 ao+ s45 +s45 ro- s46 +s46 ao- s47 +s47 ro+ s48 +s48 ao+ s49 +s49 ro- s50 +s50 ao- s51 +s51 ro+ s52 +s52 ao+ s53 +s53 ro- s54 +s54 ao- s55 +s55 ro+ s56 +s56 ao+ s57 +s57 ro- s58 +s58 ao- s59 +s59 ro+ s60 +s60 ao+ s61 +s61 ro- s62 +s62 ao- s63 +s63 ro+ s64 +s64 ao+ s65 +s65 ro- s66 +s66 ao- s67 +s67 ai- s0 +.marking {s0} +.end diff --git a/benchmarks/counter/spec6-stg.work b/benchmarks/counter/spec6-stg.work new file mode 100755 index 0000000..2f47229 Binary files /dev/null and b/benchmarks/counter/spec6-stg.work differ diff --git a/benchmarks/counter/spec8-stg.work b/benchmarks/counter/spec8-stg.work new file mode 100755 index 0000000..fa9225f Binary files /dev/null and b/benchmarks/counter/spec8-stg.work differ diff --git a/benchmarks/counter/spec8.sg b/benchmarks/counter/spec8.sg new file mode 100644 index 0000000..c4b8fba --- /dev/null +++ b/benchmarks/counter/spec8.sg @@ -0,0 +1,1035 @@ +# SG file +.model Untitled +.outputs ai ro +.inputs ri ao +.state graph +s0 ri+ s1 +s1 ro+ s2 +s2 ao+ s3 +s3 ro- s4 +s4 ao- s5 +s5 ro+ s6 +s6 ao+ s7 +s7 ro- s8 +s8 ao- s9 +s9 ro+ s10 +s10 ao+ s11 +s11 ro- s12 +s12 ao- s13 +s13 ro+ s14 +s14 ao+ s15 +s15 ro- s16 +s16 ao- s17 +s17 ro+ s18 +s18 ao+ s19 +s19 ro- s20 +s20 ao- s21 +s21 ro+ s22 +s22 ao+ s23 +s23 ro- s24 +s24 ao- s25 +s25 ro+ s26 +s26 ao+ s27 +s27 ro- s28 +s28 ao- s29 +s29 ro+ s30 +s30 ao+ s31 +s31 ro- s32 +s32 ao- s33 +s33 ro+ s34 +s34 ao+ s35 +s35 ro- s36 +s36 ao- s37 +s37 ro+ s38 +s38 ao+ s39 +s39 ro- s40 +s40 ao- s41 +s41 ro+ s42 +s42 ao+ s43 +s43 ro- s44 +s44 ao- s45 +s45 ro+ s46 +s46 ao+ s47 +s47 ro- s48 +s48 ao- s49 +s49 ro+ s50 +s50 ao+ s51 +s51 ro- s52 +s52 ao- s53 +s53 ro+ s54 +s54 ao+ s55 +s55 ro- s56 +s56 ao- s57 +s57 ro+ s58 +s58 ao+ s59 +s59 ro- s60 +s60 ao- s61 +s61 ro+ s62 +s62 ao+ s63 +s63 ro- s64 +s64 ao- s65 +s65 ro+ s66 +s66 ao+ s67 +s67 ro- s68 +s68 ao- s69 +s69 ro+ s70 +s70 ao+ s71 +s71 ro- s72 +s72 ao- s73 +s73 ro+ s74 +s74 ao+ s75 +s75 ro- s76 +s76 ao- s77 +s77 ro+ s78 +s78 ao+ s79 +s79 ro- s80 +s80 ao- s81 +s81 ro+ s82 +s82 ao+ s83 +s83 ro- s84 +s84 ao- s85 +s85 ro+ s86 +s86 ao+ s87 +s87 ro- s88 +s88 ao- s89 +s89 ro+ s90 +s90 ao+ s91 +s91 ro- s92 +s92 ao- s93 +s93 ro+ s94 +s94 ao+ s95 +s95 ro- s96 +s96 ao- s97 +s97 ro+ s98 +s98 ao+ s99 +s99 ro- s100 +s100 ao- s101 +s101 ro+ s102 +s102 ao+ s103 +s103 ro- s104 +s104 ao- s105 +s105 ro+ s106 +s106 ao+ s107 +s107 ro- s108 +s108 ao- s109 +s109 ro+ s110 +s110 ao+ s111 +s111 ro- s112 +s112 ao- s113 +s113 ro+ s114 +s114 ao+ s115 +s115 ro- s116 +s116 ao- s117 +s117 ro+ s118 +s118 ao+ s119 +s119 ro- s120 +s120 ao- s121 +s121 ro+ s122 +s122 ao+ s123 +s123 ro- s124 +s124 ao- s125 +s125 ro+ s126 +s126 ao+ s127 +s127 ro- s128 +s128 ao- s129 +s129 ro+ s130 +s130 ao+ s131 +s131 ro- s132 +s132 ao- s133 +s133 ro+ s134 +s134 ao+ s135 +s135 ro- s136 +s136 ao- s137 +s137 ro+ s138 +s138 ao+ s139 +s139 ro- s140 +s140 ao- s141 +s141 ro+ s142 +s142 ao+ s143 +s143 ro- s144 +s144 ao- s145 +s145 ro+ s146 +s146 ao+ s147 +s147 ro- s148 +s148 ao- s149 +s149 ro+ s150 +s150 ao+ s151 +s151 ro- s152 +s152 ao- s153 +s153 ro+ s154 +s154 ao+ s155 +s155 ro- s156 +s156 ao- s157 +s157 ro+ s158 +s158 ao+ s159 +s159 ro- s160 +s160 ao- s161 +s161 ro+ s162 +s162 ao+ s163 +s163 ro- s164 +s164 ao- s165 +s165 ro+ s166 +s166 ao+ s167 +s167 ro- s168 +s168 ao- s169 +s169 ro+ s170 +s170 ao+ s171 +s171 ro- s172 +s172 ao- s173 +s173 ro+ s174 +s174 ao+ s175 +s175 ro- s176 +s176 ao- s177 +s177 ro+ s178 +s178 ao+ s179 +s179 ro- s180 +s180 ao- s181 +s181 ro+ s182 +s182 ao+ s183 +s183 ro- s184 +s184 ao- s185 +s185 ro+ s186 +s186 ao+ s187 +s187 ro- s188 +s188 ao- s189 +s189 ro+ s190 +s190 ao+ s191 +s191 ro- s192 +s192 ao- s193 +s193 ro+ s194 +s194 ao+ s195 +s195 ro- s196 +s196 ao- s197 +s197 ro+ s198 +s198 ao+ s199 +s199 ro- s200 +s200 ao- s201 +s201 ro+ s202 +s202 ao+ s203 +s203 ro- s204 +s204 ao- s205 +s205 ro+ s206 +s206 ao+ s207 +s207 ro- s208 +s208 ao- s209 +s209 ro+ s210 +s210 ao+ s211 +s211 ro- s212 +s212 ao- s213 +s213 ro+ s214 +s214 ao+ s215 +s215 ro- s216 +s216 ao- s217 +s217 ro+ s218 +s218 ao+ s219 +s219 ro- s220 +s220 ao- s221 +s221 ro+ s222 +s222 ao+ s223 +s223 ro- s224 +s224 ao- s225 +s225 ro+ s226 +s226 ao+ s227 +s227 ro- s228 +s228 ao- s229 +s229 ro+ s230 +s230 ao+ s231 +s231 ro- s232 +s232 ao- s233 +s233 ro+ s234 +s234 ao+ s235 +s235 ro- s236 +s236 ao- s237 +s237 ro+ s238 +s238 ao+ s239 +s239 ro- s240 +s240 ao- s241 +s241 ro+ s242 +s242 ao+ s243 +s243 ro- s244 +s244 ao- s245 +s245 ro+ s246 +s246 ao+ s247 +s247 ro- s248 +s248 ao- s249 +s249 ro+ s250 +s250 ao+ s251 +s251 ro- s252 +s252 ao- s253 +s253 ro+ s254 +s254 ao+ s255 +s255 ro- s256 +s256 ao- s257 +s257 ro+ s258 +s258 ao+ s259 +s259 ro- s260 +s260 ao- s261 +s261 ro+ s262 +s262 ao+ s263 +s263 ro- s264 +s264 ao- s265 +s265 ro+ s266 +s266 ao+ s267 +s267 ro- s268 +s268 ao- s269 +s269 ro+ s270 +s270 ao+ s271 +s271 ro- s272 +s272 ao- s273 +s273 ro+ s274 +s274 ao+ s275 +s275 ro- s276 +s276 ao- s277 +s277 ro+ s278 +s278 ao+ s279 +s279 ro- s280 +s280 ao- s281 +s281 ro+ s282 +s282 ao+ s283 +s283 ro- s284 +s284 ao- s285 +s285 ro+ s286 +s286 ao+ s287 +s287 ro- s288 +s288 ao- s289 +s289 ro+ s290 +s290 ao+ s291 +s291 ro- s292 +s292 ao- s293 +s293 ro+ s294 +s294 ao+ s295 +s295 ro- s296 +s296 ao- s297 +s297 ro+ s298 +s298 ao+ s299 +s299 ro- s300 +s300 ao- s301 +s301 ro+ s302 +s302 ao+ s303 +s303 ro- s304 +s304 ao- s305 +s305 ro+ s306 +s306 ao+ s307 +s307 ro- s308 +s308 ao- s309 +s309 ro+ s310 +s310 ao+ s311 +s311 ro- s312 +s312 ao- s313 +s313 ro+ s314 +s314 ao+ s315 +s315 ro- s316 +s316 ao- s317 +s317 ro+ s318 +s318 ao+ s319 +s319 ro- s320 +s320 ao- s321 +s321 ro+ s322 +s322 ao+ s323 +s323 ro- s324 +s324 ao- s325 +s325 ro+ s326 +s326 ao+ s327 +s327 ro- s328 +s328 ao- s329 +s329 ro+ s330 +s330 ao+ s331 +s331 ro- s332 +s332 ao- s333 +s333 ro+ s334 +s334 ao+ s335 +s335 ro- s336 +s336 ao- s337 +s337 ro+ s338 +s338 ao+ s339 +s339 ro- s340 +s340 ao- s341 +s341 ro+ s342 +s342 ao+ s343 +s343 ro- s344 +s344 ao- s345 +s345 ro+ s346 +s346 ao+ s347 +s347 ro- s348 +s348 ao- s349 +s349 ro+ s350 +s350 ao+ s351 +s351 ro- s352 +s352 ao- s353 +s353 ro+ s354 +s354 ao+ s355 +s355 ro- s356 +s356 ao- s357 +s357 ro+ s358 +s358 ao+ s359 +s359 ro- s360 +s360 ao- s361 +s361 ro+ s362 +s362 ao+ s363 +s363 ro- s364 +s364 ao- s365 +s365 ro+ s366 +s366 ao+ s367 +s367 ro- s368 +s368 ao- s369 +s369 ro+ s370 +s370 ao+ s371 +s371 ro- s372 +s372 ao- s373 +s373 ro+ s374 +s374 ao+ s375 +s375 ro- s376 +s376 ao- s377 +s377 ro+ s378 +s378 ao+ s379 +s379 ro- s380 +s380 ao- s381 +s381 ro+ s382 +s382 ao+ s383 +s383 ro- s384 +s384 ao- s385 +s385 ro+ s386 +s386 ao+ s387 +s387 ro- s388 +s388 ao- s389 +s389 ro+ s390 +s390 ao+ s391 +s391 ro- s392 +s392 ao- s393 +s393 ro+ s394 +s394 ao+ s395 +s395 ro- s396 +s396 ao- s397 +s397 ro+ s398 +s398 ao+ s399 +s399 ro- s400 +s400 ao- s401 +s401 ro+ s402 +s402 ao+ s403 +s403 ro- s404 +s404 ao- s405 +s405 ro+ s406 +s406 ao+ s407 +s407 ro- s408 +s408 ao- s409 +s409 ro+ s410 +s410 ao+ s411 +s411 ro- s412 +s412 ao- s413 +s413 ro+ s414 +s414 ao+ s415 +s415 ro- s416 +s416 ao- s417 +s417 ro+ s418 +s418 ao+ s419 +s419 ro- s420 +s420 ao- s421 +s421 ro+ s422 +s422 ao+ s423 +s423 ro- s424 +s424 ao- s425 +s425 ro+ s426 +s426 ao+ s427 +s427 ro- s428 +s428 ao- s429 +s429 ro+ s430 +s430 ao+ s431 +s431 ro- s432 +s432 ao- s433 +s433 ro+ s434 +s434 ao+ s435 +s435 ro- s436 +s436 ao- s437 +s437 ro+ s438 +s438 ao+ s439 +s439 ro- s440 +s440 ao- s441 +s441 ro+ s442 +s442 ao+ s443 +s443 ro- s444 +s444 ao- s445 +s445 ro+ s446 +s446 ao+ s447 +s447 ro- s448 +s448 ao- s449 +s449 ro+ s450 +s450 ao+ s451 +s451 ro- s452 +s452 ao- s453 +s453 ro+ s454 +s454 ao+ s455 +s455 ro- s456 +s456 ao- s457 +s457 ro+ s458 +s458 ao+ s459 +s459 ro- s460 +s460 ao- s461 +s461 ro+ s462 +s462 ao+ s463 +s463 ro- s464 +s464 ao- s465 +s465 ro+ s466 +s466 ao+ s467 +s467 ro- s468 +s468 ao- s469 +s469 ro+ s470 +s470 ao+ s471 +s471 ro- s472 +s472 ao- s473 +s473 ro+ s474 +s474 ao+ s475 +s475 ro- s476 +s476 ao- s477 +s477 ro+ s478 +s478 ao+ s479 +s479 ro- s480 +s480 ao- s481 +s481 ro+ s482 +s482 ao+ s483 +s483 ro- s484 +s484 ao- s485 +s485 ro+ s486 +s486 ao+ s487 +s487 ro- s488 +s488 ao- s489 +s489 ro+ s490 +s490 ao+ s491 +s491 ro- s492 +s492 ao- s493 +s493 ro+ s494 +s494 ao+ s495 +s495 ro- s496 +s496 ao- s497 +s497 ro+ s498 +s498 ao+ s499 +s499 ro- s500 +s500 ao- s501 +s501 ro+ s502 +s502 ao+ s503 +s503 ro- s504 +s504 ao- s505 +s505 ro+ s506 +s506 ao+ s507 +s507 ro- s508 +s508 ao- s509 +s509 ro+ s510 +s510 ao+ s511 +s511 ro- s512 +s512 ao- s513 +s513 ai+ s514 +s514 ri- s515 +s515 ro+ s516 +s516 ao+ s517 +s517 ro- s518 +s518 ao- s519 +s519 ro+ s520 +s520 ao+ s521 +s521 ro- s522 +s522 ao- s523 +s523 ro+ s524 +s524 ao+ s525 +s525 ro- s526 +s526 ao- s527 +s527 ro+ s528 +s528 ao+ s529 +s529 ro- s530 +s530 ao- s531 +s531 ro+ s532 +s532 ao+ s533 +s533 ro- s534 +s534 ao- s535 +s535 ro+ s536 +s536 ao+ s537 +s537 ro- s538 +s538 ao- s539 +s539 ro+ s540 +s540 ao+ s541 +s541 ro- s542 +s542 ao- s543 +s543 ro+ s544 +s544 ao+ s545 +s545 ro- s546 +s546 ao- s547 +s547 ro+ s548 +s548 ao+ s549 +s549 ro- s550 +s550 ao- s551 +s551 ro+ s552 +s552 ao+ s553 +s553 ro- s554 +s554 ao- s555 +s555 ro+ s556 +s556 ao+ s557 +s557 ro- s558 +s558 ao- s559 +s559 ro+ s560 +s560 ao+ s561 +s561 ro- s562 +s562 ao- s563 +s563 ro+ s564 +s564 ao+ s565 +s565 ro- s566 +s566 ao- s567 +s567 ro+ s568 +s568 ao+ s569 +s569 ro- s570 +s570 ao- s571 +s571 ro+ s572 +s572 ao+ s573 +s573 ro- s574 +s574 ao- s575 +s575 ro+ s576 +s576 ao+ s577 +s577 ro- s578 +s578 ao- s579 +s579 ro+ s580 +s580 ao+ s581 +s581 ro- s582 +s582 ao- s583 +s583 ro+ s584 +s584 ao+ s585 +s585 ro- s586 +s586 ao- s587 +s587 ro+ s588 +s588 ao+ s589 +s589 ro- s590 +s590 ao- s591 +s591 ro+ s592 +s592 ao+ s593 +s593 ro- s594 +s594 ao- s595 +s595 ro+ s596 +s596 ao+ s597 +s597 ro- s598 +s598 ao- s599 +s599 ro+ s600 +s600 ao+ s601 +s601 ro- s602 +s602 ao- s603 +s603 ro+ s604 +s604 ao+ s605 +s605 ro- s606 +s606 ao- s607 +s607 ro+ s608 +s608 ao+ s609 +s609 ro- s610 +s610 ao- s611 +s611 ro+ s612 +s612 ao+ s613 +s613 ro- s614 +s614 ao- s615 +s615 ro+ s616 +s616 ao+ s617 +s617 ro- s618 +s618 ao- s619 +s619 ro+ s620 +s620 ao+ s621 +s621 ro- s622 +s622 ao- s623 +s623 ro+ s624 +s624 ao+ s625 +s625 ro- s626 +s626 ao- s627 +s627 ro+ s628 +s628 ao+ s629 +s629 ro- s630 +s630 ao- s631 +s631 ro+ s632 +s632 ao+ s633 +s633 ro- s634 +s634 ao- s635 +s635 ro+ s636 +s636 ao+ s637 +s637 ro- s638 +s638 ao- s639 +s639 ro+ s640 +s640 ao+ s641 +s641 ro- s642 +s642 ao- s643 +s643 ro+ s644 +s644 ao+ s645 +s645 ro- s646 +s646 ao- s647 +s647 ro+ s648 +s648 ao+ s649 +s649 ro- s650 +s650 ao- s651 +s651 ro+ s652 +s652 ao+ s653 +s653 ro- s654 +s654 ao- s655 +s655 ro+ s656 +s656 ao+ s657 +s657 ro- s658 +s658 ao- s659 +s659 ro+ s660 +s660 ao+ s661 +s661 ro- s662 +s662 ao- s663 +s663 ro+ s664 +s664 ao+ s665 +s665 ro- s666 +s666 ao- s667 +s667 ro+ s668 +s668 ao+ s669 +s669 ro- s670 +s670 ao- s671 +s671 ro+ s672 +s672 ao+ s673 +s673 ro- s674 +s674 ao- s675 +s675 ro+ s676 +s676 ao+ s677 +s677 ro- s678 +s678 ao- s679 +s679 ro+ s680 +s680 ao+ s681 +s681 ro- s682 +s682 ao- s683 +s683 ro+ s684 +s684 ao+ s685 +s685 ro- s686 +s686 ao- s687 +s687 ro+ s688 +s688 ao+ s689 +s689 ro- s690 +s690 ao- s691 +s691 ro+ s692 +s692 ao+ s693 +s693 ro- s694 +s694 ao- s695 +s695 ro+ s696 +s696 ao+ s697 +s697 ro- s698 +s698 ao- s699 +s699 ro+ s700 +s700 ao+ s701 +s701 ro- s702 +s702 ao- s703 +s703 ro+ s704 +s704 ao+ s705 +s705 ro- s706 +s706 ao- s707 +s707 ro+ s708 +s708 ao+ s709 +s709 ro- s710 +s710 ao- s711 +s711 ro+ s712 +s712 ao+ s713 +s713 ro- s714 +s714 ao- s715 +s715 ro+ s716 +s716 ao+ s717 +s717 ro- s718 +s718 ao- s719 +s719 ro+ s720 +s720 ao+ s721 +s721 ro- s722 +s722 ao- s723 +s723 ro+ s724 +s724 ao+ s725 +s725 ro- s726 +s726 ao- s727 +s727 ro+ s728 +s728 ao+ s729 +s729 ro- s730 +s730 ao- s731 +s731 ro+ s732 +s732 ao+ s733 +s733 ro- s734 +s734 ao- s735 +s735 ro+ s736 +s736 ao+ s737 +s737 ro- s738 +s738 ao- s739 +s739 ro+ s740 +s740 ao+ s741 +s741 ro- s742 +s742 ao- s743 +s743 ro+ s744 +s744 ao+ s745 +s745 ro- s746 +s746 ao- s747 +s747 ro+ s748 +s748 ao+ s749 +s749 ro- s750 +s750 ao- s751 +s751 ro+ s752 +s752 ao+ s753 +s753 ro- s754 +s754 ao- s755 +s755 ro+ s756 +s756 ao+ s757 +s757 ro- s758 +s758 ao- s759 +s759 ro+ s760 +s760 ao+ s761 +s761 ro- s762 +s762 ao- s763 +s763 ro+ s764 +s764 ao+ s765 +s765 ro- s766 +s766 ao- s767 +s767 ro+ s768 +s768 ao+ s769 +s769 ro- s770 +s770 ao- s771 +s771 ro+ s772 +s772 ao+ s773 +s773 ro- s774 +s774 ao- s775 +s775 ro+ s776 +s776 ao+ s777 +s777 ro- s778 +s778 ao- s779 +s779 ro+ s780 +s780 ao+ s781 +s781 ro- s782 +s782 ao- s783 +s783 ro+ s784 +s784 ao+ s785 +s785 ro- s786 +s786 ao- s787 +s787 ro+ s788 +s788 ao+ s789 +s789 ro- s790 +s790 ao- s791 +s791 ro+ s792 +s792 ao+ s793 +s793 ro- s794 +s794 ao- s795 +s795 ro+ s796 +s796 ao+ s797 +s797 ro- s798 +s798 ao- s799 +s799 ro+ s800 +s800 ao+ s801 +s801 ro- s802 +s802 ao- s803 +s803 ro+ s804 +s804 ao+ s805 +s805 ro- s806 +s806 ao- s807 +s807 ro+ s808 +s808 ao+ s809 +s809 ro- s810 +s810 ao- s811 +s811 ro+ s812 +s812 ao+ s813 +s813 ro- s814 +s814 ao- s815 +s815 ro+ s816 +s816 ao+ s817 +s817 ro- s818 +s818 ao- s819 +s819 ro+ s820 +s820 ao+ s821 +s821 ro- s822 +s822 ao- s823 +s823 ro+ s824 +s824 ao+ s825 +s825 ro- s826 +s826 ao- s827 +s827 ro+ s828 +s828 ao+ s829 +s829 ro- s830 +s830 ao- s831 +s831 ro+ s832 +s832 ao+ s833 +s833 ro- s834 +s834 ao- s835 +s835 ro+ s836 +s836 ao+ s837 +s837 ro- s838 +s838 ao- s839 +s839 ro+ s840 +s840 ao+ s841 +s841 ro- s842 +s842 ao- s843 +s843 ro+ s844 +s844 ao+ s845 +s845 ro- s846 +s846 ao- s847 +s847 ro+ s848 +s848 ao+ s849 +s849 ro- s850 +s850 ao- s851 +s851 ro+ s852 +s852 ao+ s853 +s853 ro- s854 +s854 ao- s855 +s855 ro+ s856 +s856 ao+ s857 +s857 ro- s858 +s858 ao- s859 +s859 ro+ s860 +s860 ao+ s861 +s861 ro- s862 +s862 ao- s863 +s863 ro+ s864 +s864 ao+ s865 +s865 ro- s866 +s866 ao- s867 +s867 ro+ s868 +s868 ao+ s869 +s869 ro- s870 +s870 ao- s871 +s871 ro+ s872 +s872 ao+ s873 +s873 ro- s874 +s874 ao- s875 +s875 ro+ s876 +s876 ao+ s877 +s877 ro- s878 +s878 ao- s879 +s879 ro+ s880 +s880 ao+ s881 +s881 ro- s882 +s882 ao- s883 +s883 ro+ s884 +s884 ao+ s885 +s885 ro- s886 +s886 ao- s887 +s887 ro+ s888 +s888 ao+ s889 +s889 ro- s890 +s890 ao- s891 +s891 ro+ s892 +s892 ao+ s893 +s893 ro- s894 +s894 ao- s895 +s895 ro+ s896 +s896 ao+ s897 +s897 ro- s898 +s898 ao- s899 +s899 ro+ s900 +s900 ao+ s901 +s901 ro- s902 +s902 ao- s903 +s903 ro+ s904 +s904 ao+ s905 +s905 ro- s906 +s906 ao- s907 +s907 ro+ s908 +s908 ao+ s909 +s909 ro- s910 +s910 ao- s911 +s911 ro+ s912 +s912 ao+ s913 +s913 ro- s914 +s914 ao- s915 +s915 ro+ s916 +s916 ao+ s917 +s917 ro- s918 +s918 ao- s919 +s919 ro+ s920 +s920 ao+ s921 +s921 ro- s922 +s922 ao- s923 +s923 ro+ s924 +s924 ao+ s925 +s925 ro- s926 +s926 ao- s927 +s927 ro+ s928 +s928 ao+ s929 +s929 ro- s930 +s930 ao- s931 +s931 ro+ s932 +s932 ao+ s933 +s933 ro- s934 +s934 ao- s935 +s935 ro+ s936 +s936 ao+ s937 +s937 ro- s938 +s938 ao- s939 +s939 ro+ s940 +s940 ao+ s941 +s941 ro- s942 +s942 ao- s943 +s943 ro+ s944 +s944 ao+ s945 +s945 ro- s946 +s946 ao- s947 +s947 ro+ s948 +s948 ao+ s949 +s949 ro- s950 +s950 ao- s951 +s951 ro+ s952 +s952 ao+ s953 +s953 ro- s954 +s954 ao- s955 +s955 ro+ s956 +s956 ao+ s957 +s957 ro- s958 +s958 ao- s959 +s959 ro+ s960 +s960 ao+ s961 +s961 ro- s962 +s962 ao- s963 +s963 ro+ s964 +s964 ao+ s965 +s965 ro- s966 +s966 ao- s967 +s967 ro+ s968 +s968 ao+ s969 +s969 ro- s970 +s970 ao- s971 +s971 ro+ s972 +s972 ao+ s973 +s973 ro- s974 +s974 ao- s975 +s975 ro+ s976 +s976 ao+ s977 +s977 ro- s978 +s978 ao- s979 +s979 ro+ s980 +s980 ao+ s981 +s981 ro- s982 +s982 ao- s983 +s983 ro+ s984 +s984 ao+ s985 +s985 ro- s986 +s986 ao- s987 +s987 ro+ s988 +s988 ao+ s989 +s989 ro- s990 +s990 ao- s991 +s991 ro+ s992 +s992 ao+ s993 +s993 ro- s994 +s994 ao- s995 +s995 ro+ s996 +s996 ao+ s997 +s997 ro- s998 +s998 ao- s999 +s999 ro+ s1000 +s1000 ao+ s1001 +s1001 ro- s1002 +s1002 ao- s1003 +s1003 ro+ s1004 +s1004 ao+ s1005 +s1005 ro- s1006 +s1006 ao- s1007 +s1007 ro+ s1008 +s1008 ao+ s1009 +s1009 ro- s1010 +s1010 ao- s1011 +s1011 ro+ s1012 +s1012 ao+ s1013 +s1013 ro- s1014 +s1014 ao- s1015 +s1015 ro+ s1016 +s1016 ao+ s1017 +s1017 ro- s1018 +s1018 ao- s1019 +s1019 ro+ s1020 +s1020 ao+ s1021 +s1021 ro- s1022 +s1022 ao- s1023 +s1023 ro+ s1024 +s1024 ao+ s1025 +s1025 ro- s1026 +s1026 ao- s1027 +s1027 ai- s0 +.marking {s0} +.end diff --git a/benchmarks/counter/stg-env.work b/benchmarks/counter/stg-env.work new file mode 100755 index 0000000..6b65121 Binary files /dev/null and b/benchmarks/counter/stg-env.work differ diff --git a/examples/counter/stg.work b/benchmarks/counter/stg.work similarity index 100% rename from examples/counter/stg.work rename to benchmarks/counter/stg.work diff --git a/examples/HLH/stg-HLH.work b/examples/HLH/stg.work similarity index 100% rename from examples/HLH/stg-HLH.work rename to examples/HLH/stg.work diff --git a/examples/OCH/stg-OCH.work b/examples/OCH/stg.work similarity index 100% rename from examples/OCH/stg-OCH.work rename to examples/OCH/stg.work diff --git a/examples/SRAM/block-diagram.work b/examples/SRAM/block-diagram.work deleted file mode 100644 index 24233a2..0000000 Binary files a/examples/SRAM/block-diagram.work and /dev/null differ diff --git a/examples/SRAM/components/master/circuit.work b/examples/SRAM/components/master/circuit.work deleted file mode 100644 index 9aae964..0000000 Binary files a/examples/SRAM/components/master/circuit.work and /dev/null differ diff --git a/examples/SRAM/components/master/spec-safe.work b/examples/SRAM/components/master/spec-safe.work deleted file mode 100644 index c3a09b6..0000000 Binary files a/examples/SRAM/components/master/spec-safe.work and /dev/null differ diff --git a/examples/SRAM/components/master/spec.work b/examples/SRAM/components/master/spec.work deleted file mode 100644 index b4b6790..0000000 Binary files a/examples/SRAM/components/master/spec.work and /dev/null differ diff --git a/examples/SRAM/components/slave-flip/circuit.work b/examples/SRAM/components/slave-flip/circuit.work deleted file mode 100644 index 72ab0d9..0000000 Binary files a/examples/SRAM/components/slave-flip/circuit.work and /dev/null differ diff --git a/examples/SRAM/components/slave-flip/spec.work b/examples/SRAM/components/slave-flip/spec.work deleted file mode 100644 index d45ba48..0000000 Binary files a/examples/SRAM/components/slave-flip/spec.work and /dev/null differ diff --git a/examples/SRAM/components/slave-read/circuit.work b/examples/SRAM/components/slave-read/circuit.work deleted file mode 100644 index 70a6df7..0000000 Binary files a/examples/SRAM/components/slave-read/circuit.work and /dev/null differ diff --git a/examples/SRAM/components/slave-read/spec.work b/examples/SRAM/components/slave-read/spec.work deleted file mode 100644 index a3e3c20..0000000 Binary files a/examples/SRAM/components/slave-read/spec.work and /dev/null differ diff --git a/examples/SRAM/multibit/block-diagram.svg b/examples/SRAM/multibit/block-diagram.svg deleted file mode 100644 index 5a9da87..0000000 --- a/examples/SRAM/multibit/block-diagram.svg +++ /dev/null @@ -1,1767 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/SRAM/multibit/components/master/circuit.work b/examples/SRAM/multibit/components/master/circuit.work deleted file mode 100644 index 5ea0e58..0000000 Binary files a/examples/SRAM/multibit/components/master/circuit.work and /dev/null differ diff --git a/examples/SRAM/multibit/components/master/spec.work b/examples/SRAM/multibit/components/master/spec.work deleted file mode 100644 index 0e8316d..0000000 Binary files a/examples/SRAM/multibit/components/master/spec.work and /dev/null differ diff --git a/examples/SRAM/multibit/components/read-completion/circuit.work b/examples/SRAM/multibit/components/read-completion/circuit.work deleted file mode 100644 index e065eb4..0000000 Binary files a/examples/SRAM/multibit/components/read-completion/circuit.work and /dev/null differ diff --git a/examples/SRAM/multibit/components/read-completion/spec.work b/examples/SRAM/multibit/components/read-completion/spec.work deleted file mode 100644 index 9533097..0000000 Binary files a/examples/SRAM/multibit/components/read-completion/spec.work and /dev/null differ diff --git a/examples/SRAM/multibit/components/slave-read/circuit.work b/examples/SRAM/multibit/components/slave-read/circuit.work deleted file mode 100644 index 8d5e014..0000000 Binary files a/examples/SRAM/multibit/components/slave-read/circuit.work and /dev/null differ diff --git a/examples/SRAM/multibit/components/slave-read/spec.work b/examples/SRAM/multibit/components/slave-read/spec.work deleted file mode 100644 index 18837c1..0000000 Binary files a/examples/SRAM/multibit/components/slave-read/spec.work and /dev/null differ diff --git a/examples/SRAM/multibit/components/write-completion/circuit.work b/examples/SRAM/multibit/components/write-completion/circuit.work deleted file mode 100644 index 685a5be..0000000 Binary files a/examples/SRAM/multibit/components/write-completion/circuit.work and /dev/null differ diff --git a/examples/SRAM/multibit/components/write-completion/spec.work b/examples/SRAM/multibit/components/write-completion/spec.work deleted file mode 100644 index c49a6c0..0000000 Binary files a/examples/SRAM/multibit/components/write-completion/spec.work and /dev/null differ diff --git a/examples/SRAM/multibit/system/Verification takes a long time in Workcraft.txt b/examples/SRAM/multibit/system/Verification takes a long time in Workcraft.txt deleted file mode 100644 index e69de29..0000000 diff --git a/examples/SRAM/multibit/system/circuit.work b/examples/SRAM/multibit/system/circuit.work deleted file mode 100644 index 5fa84af..0000000 Binary files a/examples/SRAM/multibit/system/circuit.work and /dev/null differ diff --git a/examples/SRAM/multibit/system/spec.work b/examples/SRAM/multibit/system/spec.work deleted file mode 100644 index a85b9fc..0000000 Binary files a/examples/SRAM/multibit/system/spec.work and /dev/null differ diff --git a/examples/SRAM/system/circuit.work b/examples/SRAM/system/circuit.work deleted file mode 100644 index 20baf4d..0000000 Binary files a/examples/SRAM/system/circuit.work and /dev/null differ diff --git a/examples/SRAM/system/spec.work b/examples/SRAM/system/spec.work deleted file mode 100644 index 955c889..0000000 Binary files a/examples/SRAM/system/spec.work and /dev/null differ diff --git a/examples/TC/stg-TC.work b/examples/TC/stg.work similarity index 100% rename from examples/TC/stg-TC.work rename to examples/TC/stg.work diff --git a/examples/UVH/stg-UVH.work b/examples/UVH/stg.work similarity index 100% rename from examples/UVH/stg-UVH.work rename to examples/UVH/stg.work diff --git a/examples/counter/counter-1-stage.v b/examples/counter/counter-1-stage.v deleted file mode 100644 index 9013893..0000000 --- a/examples/counter/counter-1-stage.v +++ /dev/null @@ -1,12 +0,0 @@ -// Verilog netlist generated by Workcraft 3 -- https://workcraft.org/ -module UNTITLED (ai, ro, ao, ri); - input ao, ri; - output ai, ro; - - AOI2BB2 U0 (.ON(ai), .A1N(ao), .A2N(U2_ON), .B1(ao), .B2(ri)); - AOI2BB2 U1 (.ON(ro), .A1N(ri), .A2N(U2_ON), .B1(ri), .B2(U2_ON)); - AOI2BB2 U2 (.ON(U2_ON), .A1N(ao), .A2N(U2_ON), .B1(ao), .B2(ai)); - - // signal values at the initial state: - // !ai !ro !U2_ON !ao !ri -endmodule diff --git a/examples/flat-arbiter/circuit-deadlock.v b/examples/flat-arbiter/circuit-deadlock.v new file mode 100755 index 0000000..8f38a63 --- /dev/null +++ b/examples/flat-arbiter/circuit-deadlock.v @@ -0,0 +1,22 @@ +// Verilog netlist generated by Workcraft 3 -- https://workcraft.org/ +module UNTITLED (r1, r2, r3, g1, g2, g3); + + input r1, r2, r3; + output g1, g2, g3; + + C2 c1 (.Q(g1), .A(M1a_Q), .B(M3a_Q)); + C2 c2 (.Q(g2), .A(M1b_Q), .B(M2a_Q)); + C2 c3 (.Q(g3), .A(M3b_Q), .B(M2b_Q)); + + AND2B M1a (.O(M1a_Q), .AN(M1b_Q), .B(r1)); + AND2B M1b (.O(M1b_Q), .AN(M1a_Q), .B(r2)); + + AND2B M2a (.O(M2a_Q), .AN(M2b_Q), .B(r2)); + AND2B M2b (.O(M2b_Q), .AN(M2a_Q), .B(r3)); + + AND2B M3a (.O(M3a_Q), .AN(M3b_Q), .B(r1)); + AND2B M3b (.O(M3b_Q), .AN(M3a_Q), .B(r3)); + + // signal values at the initial state: + // !g1 !g3 !g2 !M1b_Q !M1a_Q !M2a_Q !M2b_Q !M3b_Q !M3a_Q !r1 !r2 !r3 +endmodule diff --git a/examples/flat-arbiter/circuit.v b/examples/flat-arbiter/circuit.v index 8f38a63..a6bbb69 100755 --- a/examples/flat-arbiter/circuit.v +++ b/examples/flat-arbiter/circuit.v @@ -1,22 +1,34 @@ // Verilog netlist generated by Workcraft 3 -- https://workcraft.org/ module UNTITLED (r1, r2, r3, g1, g2, g3); - input r1, r2, r3; output g1, g2, g3; - C2 c1 (.Q(g1), .A(M1a_Q), .B(M3a_Q)); - C2 c2 (.Q(g2), .A(M1b_Q), .B(M2a_Q)); - C2 c3 (.Q(g3), .A(M3b_Q), .B(M2b_Q)); - + AND2B fab (.O(fab_O), .B(M1a_Q), .AN(g2)); + AND2B fac (.O(fac_O), .B(M2a_Q), .AN(g3)); + AND2B fba (.O(fba_O), .B(M1b_Q), .AN(g1)); + AND2B fbc (.O(fbc_O), .B(M3a_Q), .AN(g3)); AND2B M1a (.O(M1a_Q), .AN(M1b_Q), .B(r1)); AND2B M1b (.O(M1b_Q), .AN(M1a_Q), .B(r2)); - - AND2B M2a (.O(M2a_Q), .AN(M2b_Q), .B(r2)); + AND2B M2a (.O(M2a_Q), .AN(M2b_Q), .B(r1)); AND2B M2b (.O(M2b_Q), .AN(M2a_Q), .B(r3)); - - AND2B M3a (.O(M3a_Q), .AN(M3b_Q), .B(r1)); + AND2B M3a (.O(M3a_Q), .AN(M3b_Q), .B(r2)); AND2B M3b (.O(M3b_Q), .AN(M3a_Q), .B(r3)); + AND3 dac (.O(dac_O), .A(wA_O), .B(fca_Q), .C(fbc_O)); + AND3 dbc (.O(dbc_O), .A(fac_O), .B(wB_O), .C(fcb_Q)); + + C2 o3 (.Q(g3), .A(fca_Q), .B(fcb_Q)); + C3 o1 (.Q(g1), .A(fab_O), .B(wA_O), .C(gac_O)); + C3 o2 (.Q(g2), .A(fba_O), .B(wB_O), .C(gbc_O)); + + OR2 gac (.O(gac_O), .A(dac_O), .B(fac_O)); + OR2 gbc (.O(gbc_O), .A(dbc_O), .B(fbc_O)); + OR2 wA (.O(wA_O), .A(fab_O), .B(fac_O)); + OR2 wB (.O(wB_O), .A(fba_O), .B(fbc_O)); + + SR fca (.Q(fca_Q), .S(M2b_Q), .R(g1)); + SR fcb (.Q(fcb_Q), .S(M3b_Q), .R(g2)); + // signal values at the initial state: - // !g1 !g3 !g2 !M1b_Q !M1a_Q !M2a_Q !M2b_Q !M3b_Q !M3a_Q !r1 !r2 !r3 + // !g1 !fab_O !fba_O !fac_O !fbc_O !fca_Q !wA_O !dac_O !gac_O !g2 !g3 !dbc_O !wB_O !gbc_O !fcb_Q !M2a_Q !M3a_Q !M3b_Q !M2b_Q !M1a_Q !M1b_Q !r1 !r2 !r3 endmodule diff --git a/examples/flat-arbiter/correct.v b/examples/flat-arbiter/correct.v deleted file mode 100755 index a6bbb69..0000000 --- a/examples/flat-arbiter/correct.v +++ /dev/null @@ -1,34 +0,0 @@ -// Verilog netlist generated by Workcraft 3 -- https://workcraft.org/ -module UNTITLED (r1, r2, r3, g1, g2, g3); - input r1, r2, r3; - output g1, g2, g3; - - AND2B fab (.O(fab_O), .B(M1a_Q), .AN(g2)); - AND2B fac (.O(fac_O), .B(M2a_Q), .AN(g3)); - AND2B fba (.O(fba_O), .B(M1b_Q), .AN(g1)); - AND2B fbc (.O(fbc_O), .B(M3a_Q), .AN(g3)); - AND2B M1a (.O(M1a_Q), .AN(M1b_Q), .B(r1)); - AND2B M1b (.O(M1b_Q), .AN(M1a_Q), .B(r2)); - AND2B M2a (.O(M2a_Q), .AN(M2b_Q), .B(r1)); - AND2B M2b (.O(M2b_Q), .AN(M2a_Q), .B(r3)); - AND2B M3a (.O(M3a_Q), .AN(M3b_Q), .B(r2)); - AND2B M3b (.O(M3b_Q), .AN(M3a_Q), .B(r3)); - - AND3 dac (.O(dac_O), .A(wA_O), .B(fca_Q), .C(fbc_O)); - AND3 dbc (.O(dbc_O), .A(fac_O), .B(wB_O), .C(fcb_Q)); - - C2 o3 (.Q(g3), .A(fca_Q), .B(fcb_Q)); - C3 o1 (.Q(g1), .A(fab_O), .B(wA_O), .C(gac_O)); - C3 o2 (.Q(g2), .A(fba_O), .B(wB_O), .C(gbc_O)); - - OR2 gac (.O(gac_O), .A(dac_O), .B(fac_O)); - OR2 gbc (.O(gbc_O), .A(dbc_O), .B(fbc_O)); - OR2 wA (.O(wA_O), .A(fab_O), .B(fac_O)); - OR2 wB (.O(wB_O), .A(fba_O), .B(fbc_O)); - - SR fca (.Q(fca_Q), .S(M2b_Q), .R(g1)); - SR fcb (.Q(fcb_Q), .S(M3b_Q), .R(g2)); - - // signal values at the initial state: - // !g1 !fab_O !fba_O !fac_O !fbc_O !fca_Q !wA_O !dac_O !gac_O !g2 !g3 !dbc_O !wB_O !gbc_O !fcb_Q !M2a_Q !M3a_Q !M3b_Q !M2b_Q !M1a_Q !M1b_Q !r1 !r2 !r3 -endmodule diff --git a/examples/flat-arbiter/circuit-deadlock.work b/examples/flat-arbiter/work/arbiter-deadlock/circuit-blocklevel.work similarity index 100% rename from examples/flat-arbiter/circuit-deadlock.work rename to examples/flat-arbiter/work/arbiter-deadlock/circuit-blocklevel.work diff --git a/examples/flat-arbiter/circuit.work b/examples/flat-arbiter/work/arbiter-deadlock/circuit-gatelevel.work similarity index 100% rename from examples/flat-arbiter/circuit.work rename to examples/flat-arbiter/work/arbiter-deadlock/circuit-gatelevel.work diff --git a/examples/flat-arbiter/circuit-correct.work b/examples/flat-arbiter/work/arbiter/circuit-blocklevel.work similarity index 100% rename from examples/flat-arbiter/circuit-correct.work rename to examples/flat-arbiter/work/arbiter/circuit-blocklevel.work diff --git a/examples/flat-arbiter/circuit-correct-flat.work b/examples/flat-arbiter/work/arbiter/circuit-gatelevel.work similarity index 100% rename from examples/flat-arbiter/circuit-correct-flat.work rename to examples/flat-arbiter/work/arbiter/circuit-gatelevel.work