--- VHDL generated by LogSynth framework (c) Petr Fiser
Library IEEE;
use IEEE.std_logic_1164.all;

entity top is 
  Port (
    pi00,pi01,pi02,pi03,pi04,pi05,pi06,pi07,pi08,pi09,pi10,pi11,pi12,pi13,pi14,pi15,pi16,pi17,pi18,pi19,pi20,pi21,pi22,pi23: in std_logic;
    po00,po01,po02,po03,po04,po05,po06,po07,po08,po09,po10,po11,po12,po13,po14,po15,po16,po17,po18,po19,po20: inout std_logic
  );
end top;

architecture top_behav of top is
signal n66,n67,n68,n69,n70,n71,n72,n73,n74,n75,n76,n77,n78,n79,n80,n81,n82,n83,n84,n85,n86,n87,n88,n89,n90,n91,n92,n93,n94,n95,n96,n97,n98,n99,n100,n101,n102,n103,n104,n105,n106,n107,n108,n109,n110,n111: std_logic;
begin
    po00 <= ( not pi21 and not n66 );
    po01 <= ( not pi19 and pi21 and not n69 )
      or ( pi18 and pi21 and not n69 )
      or ( not pi17 and pi21 and not n69 )
      or ( not n67 and pi21 and not n69 )
      or ( not pi19 and not n68 and not n69 )
      or ( pi18 and not n68 and not n69 )
      or ( not pi17 and not n68 and not n69 )
      or ( not n67 and not n68 and not n69 );
    po02 <= ( not pi21 and not n71 )
      or ( not n70 and not n71 );
    po03 <= ( not pi15 and not pi17 and pi21 and not n74 )
      or ( not pi15 and pi18 and pi21 and not n74 )
      or ( not pi15 and pi19 and pi21 and not n74 )
      or ( not pi17 and pi21 and not n70 and not n74 )
      or ( pi18 and pi21 and not n70 and not n74 )
      or ( pi19 and pi21 and not n70 and not n74 )
      or ( not pi15 and pi21 and not n72 and not n74 )
      or ( pi21 and not n70 and not n72 and not n74 )
      or ( not pi15 and not pi17 and pi06 and not n74 )
      or ( not pi15 and pi18 and pi06 and not n74 )
      or ( not pi15 and pi19 and pi06 and not n74 )
      or ( not pi17 and not pi21 and pi06 and not n74 )
      or ( pi18 and not pi21 and pi06 and not n74 )
      or ( pi19 and not pi21 and pi06 and not n74 )
      or ( not pi17 and not n70 and pi06 and not n74 )
      or ( pi18 and not n70 and pi06 and not n74 )
      or ( pi19 and not n70 and pi06 and not n74 )
      or ( not pi15 and not n72 and pi06 and not n74 )
      or ( not pi21 and not n72 and pi06 and not n74 )
      or ( not n70 and not n72 and pi06 and not n74 )
      or ( not pi15 and not pi17 and not n73 and not n74 )
      or ( not pi15 and pi18 and not n73 and not n74 )
      or ( not pi15 and pi19 and not n73 and not n74 )
      or ( not pi17 and not pi21 and not n73 and not n74 )
      or ( pi18 and not pi21 and not n73 and not n74 )
      or ( pi19 and not pi21 and not n73 and not n74 )
      or ( not pi17 and not n70 and not n73 and not n74 )
      or ( pi18 and not n70 and not n73 and not n74 )
      or ( pi19 and not n70 and not n73 and not n74 )
      or ( not pi15 and not n72 and not n73 and not n74 )
      or ( not pi21 and not n72 and not n73 and not n74 )
      or ( not n70 and not n72 and not n73 and not n74 );
    po04 <= ( not pi21 and not n75 );
    po05 <= ( pi20 and not pi21 and not n76 )
      or ( not pi19 and not pi21 and not n76 );
    po06 <= ( not pi09 and not pi00 );
    po07 <= ( not pi00 and not pi09 and pi10 )
      or ( not pi00 and pi09 and not pi10 and pi11 )
      or ( not pi00 and pi09 and not pi10 and not pi12 );
    po08 <= ( not pi00 and not pi09 and pi11 )
      or ( not pi00 and not pi10 and pi11 )
      or ( not pi00 and pi09 and pi10 and not pi11 );
    po09 <= ( pi12 and not n78 )
      or ( not n77 and not n78 );
    po10 <= ( not pi09 and not pi13 and pi22 and not pi00 )
      or ( pi10 and not pi13 and pi22 and not pi00 )
      or ( pi11 and not pi13 and pi22 and not pi00 )
      or ( not pi09 and pi13 and not pi22 and not pi00 )
      or ( pi10 and pi13 and not pi22 and not pi00 )
      or ( pi11 and pi13 and not pi22 and not pi00 )
      or ( not pi13 and pi22 and not n79 and not pi00 )
      or ( pi13 and not pi22 and not n79 and not pi00 )
      or ( not pi09 and not pi13 and not n80 and not pi00 )
      or ( pi10 and not pi13 and not n80 and not pi00 )
      or ( pi11 and not pi13 and not n80 and not pi00 )
      or ( not pi09 and not pi22 and not n80 and not pi00 )
      or ( pi10 and not pi22 and not n80 and not pi00 )
      or ( pi11 and not pi22 and not n80 and not pi00 )
      or ( not pi13 and not n79 and not n80 and not pi00 )
      or ( not pi22 and not n79 and not n80 and not pi00 );
    po11 <= ( pi10 and pi22 and not n83 )
      or ( not pi09 and pi22 and not n83 )
      or ( not n81 and pi22 and not n83 )
      or ( not n82 and pi22 and not n83 )
      or ( pi10 and pi14 and not n83 )
      or ( not pi09 and pi14 and not n83 )
      or ( not n81 and pi14 and not n83 )
      or ( not n82 and pi14 and not n83 )
      or ( pi10 and not n80 and not n83 )
      or ( not pi09 and not n80 and not n83 )
      or ( not n81 and not n80 and not n83 )
      or ( not n82 and not n80 and not n83 );
    po12 <= ( not pi13 and pi15 and not n85 )
      or ( not pi14 and pi15 and not n85 )
      or ( not pi13 and pi22 and not n85 )
      or ( not pi14 and pi22 and not n85 )
      or ( not pi15 and pi22 and not n85 )
      or ( not pi13 and not n80 and not n85 )
      or ( not pi14 and not n80 and not n85 )
      or ( not pi15 and not n80 and not n85 )
      or ( pi15 and not n84 and not n85 )
      or ( pi22 and not n84 and not n85 )
      or ( not n80 and not n84 and not n85 );
    po13 <= ( pi22 and not n86 and not n87 )
      or ( not n80 and not n86 and not n87 )
      or ( pi16 and not n86 and not n87 )
      or ( not pi09 and not pi13 and pi22 and not n87 )
      or ( pi10 and not pi13 and pi22 and not n87 )
      or ( not pi09 and not pi13 and not n80 and not n87 )
      or ( pi10 and not pi13 and not n80 and not n87 )
      or ( not pi09 and not pi22 and not n80 and not n87 )
      or ( pi10 and not pi22 and not n80 and not n87 )
      or ( not pi13 and pi22 and not n81 and not n87 )
      or ( not pi13 and not n80 and not n81 and not n87 )
      or ( not pi22 and not n80 and not n81 and not n87 )
      or ( not pi09 and not pi13 and pi16 and not n87 )
      or ( pi10 and not pi13 and pi16 and not n87 )
      or ( not pi09 and not pi22 and pi16 and not n87 )
      or ( pi10 and not pi22 and pi16 and not n87 )
      or ( not pi13 and not n81 and pi16 and not n87 )
      or ( not pi22 and not n81 and pi16 and not n87 );
    po14 <= ( pi14 and pi17 and not pi00 )
      or ( not pi13 and pi17 and not pi00 )
      or ( not n88 and pi17 and not pi00 )
      or ( not n84 and pi17 and not pi00 )
      or ( pi14 and not n89 and not pi00 )
      or ( not pi13 and not n89 and not pi00 )
      or ( not n88 and not n89 and not pi00 )
      or ( not n84 and not n89 and not pi00 );
    po15 <= ( not pi00 and pi18 and not n93 )
      or ( not pi00 and not n90 and not n91 and not n92 );
    po16 <= ( not pi00 and pi19 and not n97 )
      or ( not pi00 and not n94 and not n95 and not n96 );
    po17 <= ( not pi00 and pi20 and not n100 )
      or ( not pi00 and not n96 and not n98 and not n99 );
    po18 <= ( not pi19 and pi21 and not pi00 )
      or ( pi18 and pi21 and not pi00 )
      or ( not pi17 and pi21 and not pi00 )
      or ( not n67 and pi21 and not pi00 )
      or ( not pi19 and not n101 and not pi00 )
      or ( pi18 and not n101 and not pi00 )
      or ( not pi17 and not n101 and not pi00 )
      or ( not n67 and not n101 and not pi00 );
    po19 <= ( not pi00 and not pi01 and pi22 )
      or ( not pi00 and pi01 and not pi22 );
    po20 <= ( not pi00 and not pi02 and pi23 )
      or ( not pi00 and pi02 and not pi23 );
    n66 <= ( not pi03 and pi19 )
      or ( pi19 and not pi20 )
      or ( not pi03 and not pi17 and pi20 )
      or ( not pi03 and pi18 and pi20 )
      or ( not pi17 and not pi18 and not pi19 and pi20 );
    n67 <= ( not pi23 and not pi20 );
    n68 <= ( not pi20 and pi18 )
      or ( not pi04 and pi18 )
      or ( not n102 and pi18 )
      or ( not pi20 and pi17 )
      or ( not pi04 and pi17 )
      or ( not n102 and pi17 )
      or ( not pi20 and not n103 )
      or ( not pi04 and not n103 )
      or ( not n102 and not n103 );
    n69 <= ( not pi20 and pi15 )
      or ( pi21 and pi15 );
    n70 <= ( pi23 )
      or ( pi20 )
      or ( pi18 )
      or ( not pi17 );
    n71 <= ( not pi18 and not pi19 )
      or ( not pi05 and pi20 )
      or ( not pi19 and not pi20 )
      or ( not pi17 and not pi18 and not pi20 and pi23 );
    n72 <= ( not pi21 )
      or ( pi15 );
    n73 <= ( pi18 and not pi19 )
      or ( pi18 and pi20 )
      or ( pi19 and pi20 );
    n74 <= ( not pi21 and not pi20 and not pi19 )
      or ( not pi18 and not pi17 and pi15 and not n104 );
    n75 <= ( not pi18 and not pi19 )
      or ( not pi07 and pi20 )
      or ( not pi17 and not pi20 )
      or ( pi19 and not pi20 );
    n76 <= ( not pi08 and pi19 )
      or ( not pi08 and pi18 and pi20 )
      or ( pi17 and pi18 and not pi20 )
      or ( not pi17 and not pi18 and not pi19 and pi20 );
    n77 <= ( not pi11 )
      or ( not pi10 )
      or ( not pi09 );
    n78 <= ( pi00 )
      or ( pi09 and not pi10 and not pi11 )
      or ( pi09 and pi10 and pi11 and pi12 );
    n79 <= ( pi13 and pi12 );
    n80 <= ( not pi12 )
      or ( pi11 )
      or ( pi10 )
      or ( not pi09 );
    n81 <= ( pi13 and pi12 and not pi11 );
    n82 <= ( pi14 )
      or ( not pi15 and pi16 );
    n83 <= ( pi00 )
      or ( not pi13 and not pi14 )
      or ( pi13 and pi14 and pi22 )
      or ( pi13 and not pi15 and pi22 and pi16 );
    n84 <= ( pi22 )
      or ( pi09 and not pi10 and not pi11 and pi12 );
    n85 <= ( pi00 )
      or ( not pi13 and not pi15 )
      or ( not pi14 and not pi15 );
    n86 <= ( not pi14 and not pi15 )
      or ( pi14 and pi15 and pi16 );
    n87 <= ( pi00 )
      or ( not pi13 and not pi16 )
      or ( not pi14 and not pi16 )
      or ( not pi15 and not pi16 );
    n88 <= ( pi17 and pi16 and not pi15 );
    n89 <= ( pi14 )
      or ( not pi13 )
      or ( not n105 )
      or ( not n84 );
    n90 <= ( pi14 )
      or ( not pi13 );
    n91 <= ( pi18 )
      or ( not pi17 )
      or ( not pi16 )
      or ( pi15 );
    n92 <= ( not pi22 and not n106 )
      or ( pi20 and not pi19 );
    n93 <= ( pi22 and not pi14 and not n107 )
      or ( not n80 and not pi14 and not n107 );
    n94 <= ( pi15 )
      or ( pi14 )
      or ( not pi13 );
    n95 <= ( pi19 )
      or ( not pi18 )
      or ( not pi17 )
      or ( not pi16 );
    n96 <= ( not pi09 and not pi22 )
      or ( pi10 and not pi22 )
      or ( pi11 and not pi22 )
      or ( not pi12 and not pi22 );
    n97 <= ( pi22 and not pi14 and not pi15 and not n108 )
      or ( not n80 and not pi14 and not pi15 and not n108 );
    n98 <= ( not pi16 )
      or ( pi15 )
      or ( pi14 )
      or ( not pi13 );
    n99 <= ( pi20 )
      or ( not pi19 )
      or ( not pi18 )
      or ( not pi17 );
    n100 <= ( pi22 and not pi14 and not pi15 and not n109 )
      or ( not n80 and not pi14 and not pi15 and not n109 );
    n101 <= ( not pi19 )
      or ( pi18 )
      or ( pi17 )
      or ( not n111 );
    n102 <= ( pi19 )
      or ( pi18 );
    n103 <= ( not pi19 and pi20 )
      or ( pi19 and not pi20 and pi23 );
    n104 <= ( not pi23 )
      or ( pi20 );
    n105 <= ( pi16 and not pi15 );
    n106 <= ( pi12 and not pi11 and not pi10 and pi09 );
    n107 <= ( not pi17 )
      or ( not pi16 )
      or ( pi15 )
      or ( not pi13 );
    n108 <= ( not pi18 )
      or ( not pi17 )
      or ( not pi16 )
      or ( not pi13 );
    n109 <= ( not pi13 )
      or ( not n110 );
    n110 <= ( pi18 and pi19 and pi17 and pi16 )
      or ( not pi18 and not pi19 and pi17 and pi16 );
    n111 <= ( pi23 and not pi20 );
end top_behav;
