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

entity DFF is
  Port ( D, CLK: in std_logic;
     Q: out std_logic);
end DFF;

architecture Behavior of DFF is
begin
  process(CLK)
  begin
    if CLK'event and CLK = '1' then
      Q <= D;
    end if;
  end process;
end Behavior;

Library IEEE;
use IEEE.std_logic_1164.all;

entity top is 
  Port (
    pi0,pi1,pi2,pi3,pi4,pi5,pi6,pi7, CLK: in std_logic;
    po0,po1,po2,po3,po4,po5: inout std_logic
  );
end top;

architecture top_behav of top is
component DFF
  Port ( D, CLK: in std_logic;
     Q: out std_logic);
end component;

signal lo0,lo1,lo2,lo3,lo4,li0,li1,li2,li3,li4,n40,n41,n42,n43,n44,n45,n46,n47,n48,n49,n50,n51,n52,n53,n54,n55,n56,n57,n58,n59,n60,n61,n62,n63,n64,n65,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,n112,n113,n114,n115,n116,n117,n118,n119,n120,n121,n122,n123,n124,n125,n126,n127,n128,n129,n130,n131: std_logic;
begin
    DFF0: DFF port map (li0, CLK, lo0);
    DFF1: DFF port map (li1, CLK, lo1);
    DFF2: DFF port map (li2, CLK, lo2);
    DFF3: DFF port map (li3, CLK, lo3);
    DFF4: DFF port map (li4, CLK, lo4);
    po0 <= ( not n126 );
    po1 <= ( not n127 );
    po2 <= ( not n128 );
    po3 <= ( not n129 );
    po4 <= ( not n130 );
    po5 <= ( not n131 );
    li0 <= ( not n121 );
    li1 <= ( not n122 );
    li2 <= ( not n123 );
    li3 <= ( not n124 );
    li4 <= ( not n125 );
    n40 <= ( pi0 and not pi2 and not pi7 and lo0 and lo1 and lo2 and not lo3 and lo4 );
    n41 <= ( not pi0 and not pi1 and not pi4 and pi5 and pi7 and not lo2 and not lo3 and not lo4 );
    n42 <= ( pi0 and pi1 and pi3 and not pi4 and not lo0 and not lo1 and not lo2 and lo3 );
    n43 <= ( not pi0 and pi1 and pi3 and not pi4 and lo0 and not lo1 and lo2 );
    n44 <= ( pi1 and not pi3 and not pi4 and pi5 and pi7 and not lo2 and not lo3 and not lo4 );
    n45 <= ( pi0 and not pi2 and not pi5 and lo0 and lo1 and lo2 and not lo3 and lo4 );
    n46 <= ( pi1 and pi3 and pi4 and not pi6 and not lo1 and not lo2 and lo3 and not lo4 );
    n47 <= ( not pi0 and pi5 and pi7 and lo1 and lo2 and not lo3 and lo4 );
    n48 <= ( not pi0 and not pi4 and pi5 and pi7 and not lo3 and lo4 );
    n49 <= ( pi1 and pi3 and not pi4 and not lo0 and not lo1 and not lo2 and not lo4 );
    n50 <= ( not pi0 and pi4 and pi5 and pi7 and not lo3 and lo4 );
    n51 <= ( pi1 and pi3 and pi4 and not pi5 and not lo2 and not lo3 and not lo4 );
    n52 <= ( not pi1 and pi4 and not pi5 and pi6 and not lo2 and not lo3 and not lo4 );
    n53 <= ( pi4 and pi6 and not lo0 and not lo2 and lo3 and not lo4 );
    n54 <= ( not pi1 and not pi2 and pi4 and not pi5 and not lo2 and not lo3 and not lo4 );
    n55 <= ( pi4 and not pi6 and lo0 and lo2 and lo3 and not lo4 );
    n56 <= ( not pi1 and pi4 and pi5 and pi7 and not lo2 and not lo3 and not lo4 );
    n57 <= ( pi1 and not pi3 and not pi4 and lo0 and not lo1 and lo2 and not lo4 );
    n58 <= ( not pi0 and not pi1 and pi4 and not pi5 and not lo2 and not lo3 and not lo4 );
    n59 <= ( pi0 and not pi1 and not pi4 and not lo2 and lo3 and lo4 );
    n60 <= ( not pi1 and pi5 and pi7 and not lo2 and not lo3 and not lo4 );
    n61 <= ( pi0 and not pi1 and not pi7 and not lo2 and not lo3 and not lo4 );
    n62 <= ( not pi0 and pi5 and pi7 and not lo0 and lo1 and not lo2 );
    n63 <= ( pi0 and pi1 and pi3 and not pi4 and lo0 and not lo4 );
    n64 <= ( pi0 and not pi1 and not pi4 and not lo1 and not lo2 and not lo4 );
    n65 <= ( not pi3 and pi4 and pi5 and pi7 and not lo2 and not lo3 and not lo4 );
    n66 <= ( not pi1 and pi4 and not pi5 and not lo2 and not lo3 and not lo4 );
    n67 <= ( not pi0 and pi4 and not pi5 and lo1 and lo2 and not lo3 and lo4 );
    n68 <= ( pi5 and not pi7 and not lo0 and lo1 and not lo2 and lo4 );
    n69 <= ( pi0 and pi2 and lo0 and lo1 and not lo3 and lo4 );
    n70 <= ( pi1 and pi3 and not pi4 and not lo2 and lo3 and lo4 );
    n71 <= ( pi1 and not pi3 and pi4 and not pi5 and not lo2 and not lo3 and not lo4 );
    n72 <= ( not pi4 and not pi5 and not lo0 and lo1 and not lo2 and lo4 );
    n73 <= ( pi2 and not lo0 and not lo1 and lo2 and lo3 );
    n74 <= ( not pi3 and pi6 and lo1 and not lo3 and not lo4 );
    n75 <= ( pi1 and pi3 and pi4 and not lo2 and lo3 and lo4 );
    n76 <= ( pi4 and not pi5 and not lo0 and lo1 and not lo2 and lo4 );
    n77 <= ( pi1 and pi3 and pi5 and not lo2 and not lo3 and not lo4 );
    n78 <= ( pi5 and pi7 and not lo0 and lo2 and lo4 );
    n79 <= ( pi0 and not pi7 and not lo0 and lo1 and not lo2 );
    n80 <= ( pi2 and not lo0 and not lo1 and not lo3 and lo4 );
    n81 <= ( pi1 and pi3 and pi4 and lo0 and not lo1 and lo2 );
    n82 <= ( pi0 and not pi5 and not lo0 and lo1 and not lo2 );
    n83 <= ( pi0 and not pi4 and lo1 and lo2 and lo3 and not lo4 );
    n84 <= ( not pi2 and not pi7 and not lo1 and lo2 and not lo3 and not lo4 );
    n85 <= ( pi5 and pi7 and lo2 and lo3 and lo4 );
    n86 <= ( not pi3 and pi4 and lo0 and not lo1 and lo2 and not lo4 );
    n87 <= ( not pi2 and not pi5 and not lo1 and lo2 and not lo3 and not lo4 );
    n88 <= ( not pi1 and pi4 and lo0 and not lo1 and lo2 and not lo4 );
    n89 <= ( not pi1 and not pi4 and lo0 and not lo1 and not lo4 );
    n90 <= ( pi0 and not lo1 and not lo2 and not lo3 and lo4 );
    n91 <= ( not pi0 and not pi4 and not lo1 and lo2 and lo4 );
    n92 <= ( not pi0 and not pi4 and not lo1 and not lo2 and not lo3 and lo4 );
    n93 <= ( not pi3 and lo0 and lo1 and not lo2 and not lo4 );
    n94 <= ( pi0 and not pi4 and not lo1 and lo2 and lo4 );
    n95 <= ( not pi3 and pi4 and lo3 and lo4 );
    n96 <= ( not pi1 and lo0 and lo1 and not lo2 and not lo4 );
    n97 <= ( not pi4 and lo1 and lo2 and lo3 and not lo4 );
    n98 <= ( not pi0 and pi4 and not lo1 and not lo2 and not lo3 and lo4 );
    n99 <= ( not pi1 and pi4 and lo3 and lo4 );
    n100 <= ( pi2 and not lo1 and lo2 and not lo3 and not lo4 );
    n101 <= ( pi0 and not pi5 and not lo0 and lo1 and lo4 );
    n102 <= ( not pi0 and lo0 and not lo1 and lo2 );
    n103 <= ( pi0 and lo1 and lo2 and lo4 );
    n104 <= ( not pi6 and lo0 and not lo1 and not lo2 );
    n105 <= ( pi4 and not lo1 and not lo2 and lo3 );
    n106 <= ( pi1 and pi3 and lo0 and not lo2 and not lo4 );
    n107 <= ( pi4 and lo1 and lo2 and lo3 and not lo4 );
    n108 <= ( pi0 and not pi7 and lo1 and lo4 );
    n109 <= ( pi1 and pi3 and lo1 and not lo3 and not lo4 );
    n110 <= ( lo0 and not lo1 and not lo2 and lo4 );
    n111 <= ( pi0 and pi1 and pi3 and not lo2 and not lo3 and not lo4 );
    n112 <= ( not lo0 and not lo1 and lo2 );
    n113 <= ( pi0 and lo1 and not lo2 and lo4 );
    n114 <= ( not pi7 and lo2 and lo3 and lo4 );
    n115 <= ( not lo0 and lo1 and not lo2 and not lo4 );
    n116 <= ( not pi5 and lo2 and lo3 and lo4 );
    n117 <= ( lo1 and not lo3 and not lo4 );
    n118 <= ( lo0 and lo1 and not lo2 and lo4 );
    n119 <= ( pi4 and not lo1 and lo2 and lo4 );
    n120 <= ( lo0 and not lo1 and not lo2 and not lo4 );
    n121 <= ( not n40 and not n41 and not n42 and not n44 and not n45 and not n46 and not n47 and not n51 and not n52 and not n54 and not n55 and not n56 and not n57 and not n58 and not n62 and not n65 and not n67 and not n71 and not n73 and not n76 and not n78 and not n79 and not n80 and not n81 and not n82 and not n83 and not n84 and not n85 and not n86 and not n87 and not n88 and not n92 and not n98 and not n102 and not n104 and not n109 and not n110 and not n111 and not n115 and not n119 );
    n122 <= ( not n45 and not n46 and not n49 and not n50 and not n52 and not n54 and not n56 and not n58 and not n63 and not n65 and not n67 and not n68 and not n69 and not n70 and not n71 and not n72 and not n75 and not n77 and not n81 and not n84 and not n86 and not n87 and not n88 and not n94 and not n97 and not n98 and not n100 and not n101 and not n106 and not n107 and not n108 and not n109 and not n111 and not n113 and not n114 and not n116 and not n118 and not n119 and not n120 );
    n123 <= ( not n41 and not n42 and not n43 and not n44 and not n45 and not n46 and not n48 and not n57 and not n59 and not n61 and not n64 and not n66 and not n67 and not n69 and not n71 and not n75 and not n83 and not n84 and not n87 and not n89 and not n91 and not n92 and not n100 and not n101 and not n106 and not n107 and not n108 and not n109 and not n111 and not n114 and not n116 and not n118 and not n120 );
    n124 <= ( not n42 and not n44 and not n47 and not n51 and not n57 and not n60 and not n63 and not n65 and not n76 and not n83 and not n86 and not n88 and not n89 and not n92 and not n93 and not n94 and not n96 and not n98 and not n105 and not n106 and not n107 and not n111 and not n113 and not n117 and not n118 and not n120 );
    n125 <= ( not n43 and not n49 and not n53 and not n62 and not n68 and not n70 and not n72 and not n74 and not n77 and not n81 and not n85 and not n90 and not n91 and not n93 and not n95 and not n96 and not n97 and not n99 and not n101 and not n103 and not n111 and not n112 and not n114 and not n115 and not n116 and not n119 );
    n126 <= '1';
    n127 <= '1';
    n128 <= '1';
    n129 <= '1';
    n130 <= '1';
    n131 <= '1';
end top_behav;
