# edf2bench v0.8
#   (!) 1997-2003 Giovanni Squillero <giovanni.squillero@polito.it>
#
# Edf source: "b07/b07.edf"
# 1 input
# 8 outputs
# 49 D-type flipflops
# 61 inverters
# 380 gates (21 and, 291 nand, 9 or, 1 nor, 61 not)


INPUT(START)

OUTPUT(PUNTI_RETTA_REG_7_)
OUTPUT(PUNTI_RETTA_REG_6_)
OUTPUT(PUNTI_RETTA_REG_5_)
OUTPUT(PUNTI_RETTA_REG_4_)
OUTPUT(PUNTI_RETTA_REG_3_)
OUTPUT(PUNTI_RETTA_REG_2_)
OUTPUT(PUNTI_RETTA_REG_1_)
OUTPUT(PUNTI_RETTA_REG_0_)

PUNTI_RETTA_REG_7_ = DFF(U358)
PUNTI_RETTA_REG_6_ = DFF(U357)
PUNTI_RETTA_REG_5_ = DFF(U356)
PUNTI_RETTA_REG_4_ = DFF(U355)
PUNTI_RETTA_REG_3_ = DFF(U354)
PUNTI_RETTA_REG_2_ = DFF(U353)
PUNTI_RETTA_REG_1_ = DFF(U352)
PUNTI_RETTA_REG_0_ = DFF(U351)
CONT_REG_7_ = DFF(U350)
CONT_REG_6_ = DFF(U349)
CONT_REG_5_ = DFF(U348)
CONT_REG_4_ = DFF(U347)
CONT_REG_3_ = DFF(U346)
CONT_REG_2_ = DFF(U345)
CONT_REG_1_ = DFF(U344)
CONT_REG_0_ = DFF(U343)
MAR_REG_7_ = DFF(U342)
MAR_REG_6_ = DFF(U341)
MAR_REG_5_ = DFF(U340)
MAR_REG_4_ = DFF(U339)
MAR_REG_3_ = DFF(U388)
MAR_REG_2_ = DFF(U389)
MAR_REG_1_ = DFF(U390)
MAR_REG_0_ = DFF(U391)
X_REG_7_ = DFF(U338)
X_REG_6_ = DFF(U337)
X_REG_5_ = DFF(U336)
X_REG_4_ = DFF(U335)
X_REG_3_ = DFF(U334)
X_REG_2_ = DFF(U333)
X_REG_1_ = DFF(U332)
X_REG_0_ = DFF(U331)
Y_REG_3_ = DFF(U330)
Y_REG_1_ = DFF(U394)
Y_REG_5_ = DFF(U329)
T_REG_3_ = DFF(U395)
T_REG_5_ = DFF(U396)
T_REG_1_ = DFF(U397)
T_REG_0_ = DFF(U398)
T_REG_4_ = DFF(U399)
T_REG_6_ = DFF(U400)
T_REG_2_ = DFF(U401)
Y_REG_4_ = DFF(U328)
Y_REG_0_ = DFF(U402)
Y_REG_2_ = DFF(U403)
Y_REG_6_ = DFF(U327)
STATO_REG_2_ = DFF(U324)
STATO_REG_1_ = DFF(U325)
STATO_REG_0_ = DFF(U326)

R182_U98 = NAND(U316, R182_U5)
U300 = AND(U412, STATO_REG_2_)
U301 = AND(STATO_REG_2_, U375)
U302 = AND(U300, U373)
U303 = AND(U300, U432)
U304 = AND(U393, U406)
U305 = AND(U393, U368)
U306 = AND(U376, U371)
U307 = AND(STATO_REG_0_, START)
U308 = AND(MAR_REG_3_, U362)
U309 = AND(CONT_REG_7_, U536)
U310 = NAND(U539, U538)
U311 = NAND(U541, U540)
U312 = NAND(U543, U542)
U313 = NAND(U545, U544)
U314 = NAND(U547, U546)
U315 = NAND(U549, U548)
U316 = NAND(U551, U550)
U317 = NAND(U516, U517, U515)
U318 = NAND(U519, U520, U518)
U319 = NAND(U522, U523, U521)
U320 = NAND(U525, U526, U524)
U321 = NAND(U528, U529, U527)
U322 = NAND(U531, U532, U530)
U323 = NAND(U535, U534, U533, U370)
U324 = NAND(U407, U422)
U325 = NAND(U553, U552, U387)
U326 = NAND(U406, U385, U429)
U327 = NAND(U414, U514)
U328 = NAND(U414, U513)
U329 = NAND(U414, U512)
U330 = NAND(U414, U511)
U331 = NAND(U509, U507, U508)
U332 = NAND(U504, U502, U503)
U333 = NAND(U498, U496, U497)
U334 = NAND(U493, U413, U492)
U335 = NAND(U491, U413, U490)
U336 = NAND(U489, U413, U488)
U337 = NAND(U487, U413, U486)
U338 = NAND(U485, U413, U484)
U339 = AND(MAR_REG_4_, U477)
U340 = AND(MAR_REG_5_, U477)
U341 = AND(MAR_REG_6_, U477)
U342 = AND(MAR_REG_7_, U477)
U343 = NAND(U475, U474)
U344 = NAND(U473, U472)
U345 = NAND(U471, U470)
U346 = NAND(U469, U468)
U347 = NAND(U467, U466)
U348 = NAND(U465, U464)
U349 = NAND(U463, U462)
U350 = NAND(U461, U460)
U351 = NAND(U455, U454, U456)
U352 = NAND(U452, U453, U451)
U353 = NAND(U449, U450, U448)
U354 = NAND(U446, U447, U445)
U355 = NAND(U443, U444, U442)
U356 = NAND(U440, U441, U439)
U357 = NAND(U437, U438, U436)
U358 = NAND(U434, U435, U433)
U359 = NOT(MAR_REG_1_)
U360 = NOT(MAR_REG_0_)
U361 = NAND(MAR_REG_0_, MAR_REG_1_)
U362 = NOT(MAR_REG_2_)
U363 = NAND(MAR_REG_2_, U417)
U364 = NOT(MAR_REG_3_)
U365 = NAND(U404, U418)
U366 = NOT(START)
U367 = NOT(STATO_REG_1_)
U368 = NOT(STATO_REG_2_)
U369 = NOT(STATO_REG_0_)
U370 = NAND(STATO_REG_2_, STATO_REG_1_)
U371 = OR(STATO_REG_1_, STATO_REG_2_)
U372 = NAND(U431, U366)
U373 = NAND(X_REG_1_, U384, U382, U381, U405)
U374 = NAND(U415, U365)
U375 = NAND(U458, U457)
U376 = NAND(U407, U476, U374)
U377 = NOT(MAR_REG_7_)
U378 = NOT(MAR_REG_6_)
U379 = NOT(MAR_REG_5_)
U380 = NOT(MAR_REG_4_)
U381 = NOT(X_REG_3_)
U382 = NOT(X_REG_2_)
U383 = NAND(U567, U494)
U384 = NOT(X_REG_0_)
U385 = OR(STATO_REG_1_, STATO_REG_0_)
U386 = NAND(U408, STATO_REG_2_)
U387 = NAND(STATO_REG_0_, STATO_REG_2_)
U388 = NAND(U555, U554)
U389 = NAND(U557, U556)
U390 = NAND(U559, U558)
U391 = NAND(U561, U560)
U392 = NAND(U566, U565)
U393 = NAND(U563, U562)
U394 = NAND(U569, U568)
U395 = NAND(U571, U570)
U396 = NAND(U573, U572)
U397 = NAND(U575, U574)
U398 = NAND(U577, U576)
U399 = NAND(U579, U578)
U400 = NAND(U581, U580)
U401 = NAND(U583, U582)
U402 = NAND(U585, U584)
U403 = NAND(U587, U586)
U404 = AND(U378, U377, U379, MAR_REG_3_, U380)
U405 = NOR(X_REG_7_, X_REG_6_, X_REG_5_, X_REG_4_)
U406 = OR(STATO_REG_0_, STATO_REG_2_)
U407 = NAND(STATO_REG_0_, STATO_REG_1_)
U408 = NOT(U385)
U409 = NOT(U387)
U410 = NOT(U374)
U411 = NAND(U415, U419)
U412 = NOT(U372)
U413 = NAND(U305, U392)
U414 = NAND(U510, U392)
U415 = NOT(U370)
U416 = NOT(U407)
U417 = NOT(U361)
U418 = NOT(U363)
U419 = NOT(U365)
U420 = NAND(START, U419)
U421 = NAND(STATO_REG_1_, U420)
U422 = NAND(STATO_REG_2_, U421)
U423 = NOT(U406)
U424 = NAND(U419, U366)
U425 = NAND(U424, U369)
U426 = NAND(U406, U425)
U427 = NOT(U371)
U428 = NAND(U411, U371)
U429 = NAND(U428, U366)
U430 = NAND(U427, STATO_REG_0_)
U431 = NAND(U411, U430)
U432 = NOT(U373)
U433 = NAND(R182_U30, U303)
U434 = NAND(CONT_REG_7_, U302)
U435 = NAND(PUNTI_RETTA_REG_7_, U372)
U436 = NAND(R182_U31, U303)
U437 = NAND(CONT_REG_6_, U302)
U438 = NAND(PUNTI_RETTA_REG_6_, U372)
U439 = NAND(R182_U33, U303)
U440 = NAND(CONT_REG_5_, U302)
U441 = NAND(PUNTI_RETTA_REG_5_, U372)
U442 = NAND(R182_U35, U303)
U443 = NAND(CONT_REG_4_, U302)
U444 = NAND(PUNTI_RETTA_REG_4_, U372)
U445 = NAND(R182_U37, U303)
U446 = NAND(CONT_REG_3_, U302)
U447 = NAND(PUNTI_RETTA_REG_3_, U372)
U448 = NAND(R182_U39, U303)
U449 = NAND(CONT_REG_2_, U302)
U450 = NAND(PUNTI_RETTA_REG_2_, U372)
U451 = NAND(R182_U20, U303)
U452 = NAND(CONT_REG_1_, U302)
U453 = NAND(PUNTI_RETTA_REG_1_, U372)
U454 = NAND(R182_U21, U303)
U455 = NAND(CONT_REG_0_, U302)
U456 = NAND(PUNTI_RETTA_REG_0_, U372)
U457 = NAND(U427, U307)
U458 = NAND(U410, U432)
U459 = NOT(U375)
U460 = NAND(U301, R182_U30)
U461 = NAND(U459, CONT_REG_7_)
U462 = NAND(U301, R182_U31)
U463 = NAND(U459, CONT_REG_6_)
U464 = NAND(U301, R182_U33)
U465 = NAND(U459, CONT_REG_5_)
U466 = NAND(U301, R182_U35)
U467 = NAND(U459, CONT_REG_4_)
U468 = NAND(U301, R182_U37)
U469 = NAND(U459, CONT_REG_3_)
U470 = NAND(U301, R182_U39)
U471 = NAND(U459, CONT_REG_2_)
U472 = NAND(U301, R182_U20)
U473 = NAND(U459, CONT_REG_1_)
U474 = NAND(U301, R182_U21)
U475 = NAND(U459, CONT_REG_0_)
U476 = NAND(U307, U368)
U477 = NOT(U376)
U478 = NAND(U371, U363)
U479 = NAND(U376, U478)
U480 = NAND(U371, U361)
U481 = NAND(U376, U480)
U482 = NAND(U371, U360)
U483 = NAND(U376, U482)
U484 = NAND(U304, R182_U30)
U485 = NAND(X_REG_7_, U564)
U486 = NAND(U304, R182_U31)
U487 = NAND(X_REG_6_, U564)
U488 = NAND(U304, R182_U33)
U489 = NAND(X_REG_5_, U564)
U490 = NAND(U304, R182_U35)
U491 = NAND(X_REG_4_, U564)
U492 = NAND(U304, R182_U37)
U493 = NAND(X_REG_3_, U564)
U494 = NAND(U308, U417)
U495 = NOT(U383)
U496 = NAND(U305, U383)
U497 = NAND(U304, R182_U39)
U498 = NAND(X_REG_2_, U564)
U499 = NAND(MAR_REG_0_, U359)
U500 = NAND(MAR_REG_3_, U418)
U501 = NAND(U567, U499, U500)
U502 = NAND(U305, U501)
U503 = NAND(U304, R182_U20)
U504 = NAND(U564, X_REG_1_)
U505 = OR(MAR_REG_1_, MAR_REG_2_, MAR_REG_3_)
U506 = NAND(U495, U505)
U507 = NAND(U305, U506)
U508 = NAND(U304, R182_U21)
U509 = NAND(X_REG_0_, U564)
U510 = NOT(U386)
U511 = NAND(Y_REG_3_, U386)
U512 = NAND(Y_REG_5_, U386)
U513 = NAND(Y_REG_4_, U386)
U514 = NAND(Y_REG_6_, U386)
U515 = NAND(U409, Y_REG_6_)
U516 = NAND(T_REG_6_, U408)
U517 = NAND(X_REG_6_, U368)
U518 = NAND(U409, Y_REG_5_)
U519 = NAND(T_REG_5_, U408)
U520 = NAND(X_REG_5_, U368)
U521 = NAND(U409, Y_REG_4_)
U522 = NAND(T_REG_4_, U408)
U523 = NAND(X_REG_4_, U368)
U524 = NAND(U409, Y_REG_3_)
U525 = NAND(T_REG_3_, U408)
U526 = NAND(X_REG_3_, U368)
U527 = NAND(U409, Y_REG_2_)
U528 = NAND(T_REG_2_, U408)
U529 = NAND(X_REG_2_, U368)
U530 = NAND(U409, Y_REG_1_)
U531 = NAND(T_REG_1_, U408)
U532 = NAND(X_REG_1_, U368)
U533 = NAND(U409, Y_REG_0_)
U534 = NAND(T_REG_0_, U408)
U535 = NAND(X_REG_0_, U368)
U536 = NAND(U374, U411)
U537 = NAND(STATO_REG_2_, U385, U387)
U538 = NAND(CONT_REG_6_, U536)
U539 = NAND(X_REG_6_, U537)
U540 = NAND(CONT_REG_5_, U536)
U541 = NAND(X_REG_5_, U537)
U542 = NAND(CONT_REG_4_, U536)
U543 = NAND(X_REG_4_, U537)
U544 = NAND(CONT_REG_3_, U536)
U545 = NAND(X_REG_3_, U537)
U546 = NAND(CONT_REG_2_, U536)
U547 = NAND(X_REG_2_, U537)
U548 = NAND(CONT_REG_1_, U536)
U549 = NAND(X_REG_1_, U537)
U550 = NAND(CONT_REG_0_, U536)
U551 = NAND(X_REG_0_, U537)
U552 = NAND(U307, U367)
U553 = NAND(STATO_REG_1_, U426)
U554 = NAND(MAR_REG_3_, U479)
U555 = NAND(U306, U418, U364)
U556 = NAND(MAR_REG_2_, U481)
U557 = NAND(U306, U417, U362)
U558 = NAND(MAR_REG_1_, U483)
U559 = NAND(U306, MAR_REG_0_, U359)
U560 = NAND(U306, U360)
U561 = NAND(U477, MAR_REG_0_)
U562 = NAND(STATO_REG_2_, U367)
U563 = NAND(U423, STATO_REG_1_)
U564 = NOT(U393)
U565 = NAND(U364, U362, MAR_REG_0_, U359)
U566 = NAND(U308, U360, MAR_REG_1_)
U567 = NOT(U392)
U568 = NAND(U510, U501)
U569 = NAND(Y_REG_1_, U386)
U570 = NAND(T_REG_3_, U407)
U571 = NAND(U416, R182_U37)
U572 = NAND(T_REG_5_, U407)
U573 = NAND(U416, R182_U33)
U574 = NAND(T_REG_1_, U407)
U575 = NAND(U416, R182_U20)
U576 = NAND(T_REG_0_, U407)
U577 = NAND(U416, R182_U21)
U578 = NAND(T_REG_4_, U407)
U579 = NAND(U416, R182_U35)
U580 = NAND(T_REG_6_, U407)
U581 = NAND(U416, R182_U31)
U582 = NAND(T_REG_2_, U407)
U583 = NAND(U416, R182_U39)
U584 = NAND(U510, U506)
U585 = NAND(Y_REG_0_, U386)
U586 = NAND(U510, U383)
U587 = NAND(Y_REG_2_, U386)
R182_U97 = NAND(U323, R182_U4)
R182_U4 = NOT(U316)
R182_U5 = NOT(U323)
R182_U6 = NAND(U323, U316)
R182_U7 = NOT(U315)
R182_U8 = NOT(U322)
R182_U9 = NOT(U314)
R182_U10 = NOT(U321)
R182_U11 = NOT(U313)
R182_U12 = NOT(U320)
R182_U13 = NOT(U312)
R182_U14 = NOT(U319)
R182_U15 = NOT(U311)
R182_U16 = NOT(U318)
R182_U17 = NAND(R182_U59, R182_U58)
R182_U18 = NOT(U317)
R182_U19 = NOT(U310)
R182_U20 = NAND(R182_U96, R182_U95)
R182_U21 = NAND(R182_U98, R182_U97)
R182_U22 = NAND(R182_U68, R182_U67)
R182_U23 = NAND(R182_U73, R182_U72)
R182_U24 = NAND(R182_U78, R182_U77)
R182_U25 = NAND(R182_U83, R182_U82)
R182_U26 = NAND(R182_U88, R182_U87)
R182_U27 = NAND(R182_U93, R182_U92)
R182_U28 = NOT(U309)
R182_U29 = NAND(R182_U63, R182_U62)
R182_U30 = AND(R182_U66, R182_U65)
R182_U31 = AND(R182_U71, R182_U70)
R182_U32 = NAND(R182_U55, R182_U54)
R182_U33 = AND(R182_U76, R182_U75)
R182_U34 = NAND(R182_U51, R182_U50)
R182_U35 = AND(R182_U81, R182_U80)
R182_U36 = NAND(R182_U47, R182_U46)
R182_U37 = AND(R182_U86, R182_U85)
R182_U38 = NAND(R182_U43, R182_U42)
R182_U39 = AND(R182_U91, R182_U90)
R182_U40 = NOT(R182_U6)
R182_U41 = OR(U315, U322)
R182_U42 = NAND(R182_U40, R182_U41)
R182_U43 = NAND(U322, U315)
R182_U44 = NOT(R182_U38)
R182_U45 = OR(U314, U321)
R182_U46 = NAND(R182_U45, R182_U38)
R182_U47 = NAND(U321, U314)
R182_U48 = NOT(R182_U36)
R182_U49 = OR(U313, U320)
R182_U50 = NAND(R182_U49, R182_U36)
R182_U51 = NAND(U320, U313)
R182_U52 = NOT(R182_U34)
R182_U53 = OR(U312, U319)
R182_U54 = NAND(R182_U53, R182_U34)
R182_U55 = NAND(U319, U312)
R182_U56 = NOT(R182_U32)
R182_U57 = OR(U311, U318)
R182_U58 = NAND(R182_U57, R182_U32)
R182_U59 = NAND(U318, U311)
R182_U60 = NOT(R182_U17)
R182_U61 = NAND(R182_U60, R182_U19)
R182_U62 = NAND(U317, R182_U61)
R182_U63 = NAND(U310, R182_U17)
R182_U64 = NOT(R182_U29)
R182_U65 = NAND(U309, R182_U29)
R182_U66 = NAND(R182_U64, R182_U28)
R182_U67 = NAND(U317, R182_U19)
R182_U68 = NAND(U310, R182_U18)
R182_U69 = NOT(R182_U22)
R182_U70 = NAND(R182_U69, R182_U60)
R182_U71 = NAND(R182_U22, R182_U17)
R182_U72 = NAND(U318, R182_U15)
R182_U73 = NAND(U311, R182_U16)
R182_U74 = NOT(R182_U23)
R182_U75 = NAND(R182_U56, R182_U74)
R182_U76 = NAND(R182_U23, R182_U32)
R182_U77 = NAND(U319, R182_U13)
R182_U78 = NAND(U312, R182_U14)
R182_U79 = NOT(R182_U24)
R182_U80 = NAND(R182_U52, R182_U79)
R182_U81 = NAND(R182_U24, R182_U34)
R182_U82 = NAND(U320, R182_U11)
R182_U83 = NAND(U313, R182_U12)
R182_U84 = NOT(R182_U25)
R182_U85 = NAND(R182_U48, R182_U84)
R182_U86 = NAND(R182_U25, R182_U36)
R182_U87 = NAND(U321, R182_U9)
R182_U88 = NAND(U314, R182_U10)
R182_U89 = NOT(R182_U26)
R182_U90 = NAND(R182_U44, R182_U89)
R182_U91 = NAND(R182_U26, R182_U38)
R182_U92 = NAND(U315, R182_U8)
R182_U93 = NAND(U322, R182_U7)
R182_U94 = NOT(R182_U27)
R182_U95 = NAND(R182_U94, R182_U40)
R182_U96 = NAND(R182_U27, R182_U6)

