--- 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, CLK: in std_logic;
    po0,po1,po2: 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,n28,n29,n30,n31,n32,n33,n34,n35,n36,n37,n38,n39,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: 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 n28 );
    po1 <= ( not n29 );
    po2 <= ( not n30 );
    li0 <= ( not n31 );
    li1 <= ( not n32 );
    li2 <= ( not n33 );
    li3 <= ( not n34 );
    li4 <= ( not n35 );
    n28 <= ( not n41 and not n42 and not n43 and not n53 and not n55 and not n58 and not n60 and not n71 and not n73 and not n87 and not n88 );
    n29 <= ( not n37 and not n40 and not n44 and not n46 and not n47 and not n51 and not n52 and not n61 and not n64 and not n76 and not n77 and not n89 and not n91 and not n92 and not n104 and not n106 );
    n30 <= ( not n85 and not n93 and not n98 and not n103 );
    n31 <= ( not n36 and not n39 and not n41 and not n45 and not n49 and not n63 and not n67 and not n70 and not n74 and not n75 and not n78 and not n86 and not n98 and not n104 );
    n32 <= ( not n48 and not n50 and not n59 and not n62 and not n65 and not n68 and not n69 and not n71 and not n75 and not n76 and not n77 and not n78 and not n79 and not n80 and not n82 and not n93 and not n94 );
    n33 <= ( not n39 and not n40 and not n46 and not n49 and not n51 and not n54 and not n56 and not n57 and not n67 and not n68 and not n69 and not n70 and not n73 and not n74 and not n79 and not n80 and not n90 and not n100 and not n101 and not n104 and not n105 and not n106 );
    n34 <= ( not n37 and not n45 and not n47 and not n48 and not n54 and not n56 and not n57 and not n62 and not n66 and not n69 and not n72 and not n74 and not n80 and not n81 and not n82 and not n83 and not n84 and not n86 and not n95 and not n96 and not n104 and not n106 );
    n35 <= ( not n37 and not n38 and not n39 and not n40 and not n42 and not n43 and not n44 and not n50 and not n52 and not n62 and not n67 and not n68 and not n70 and not n74 and not n80 and not n81 and not n83 and not n84 and not n86 and not n90 and not n97 and not n99 and not n102 and not n104 and not n106 );
    n36 <= ( not pi0 and pi1 and lo0 and not lo1 and lo2 and lo3 );
    n37 <= ( not pi0 and pi1 and not lo0 and lo1 and not lo2 and lo3 and not lo4 );
    n38 <= ( pi0 and not lo0 and not lo1 and not lo2 and lo3 and not lo4 );
    n39 <= ( pi0 and pi1 and not lo0 and not lo1 and lo2 and lo3 and lo4 );
    n40 <= ( not pi0 and pi1 and not lo0 and not lo1 and lo2 and lo3 and not lo4 );
    n41 <= ( pi0 and pi1 and lo0 and lo2 and lo3 and lo4 );
    n42 <= ( not pi0 and not pi1 and lo1 and not lo2 and not lo3 and not lo4 );
    n43 <= ( not pi1 and not lo0 and lo1 and not lo2 and lo3 and not lo4 );
    n44 <= ( pi0 and not pi1 and lo0 and lo1 and not lo2 and not lo3 );
    n45 <= ( pi0 and not pi1 and not lo0 and not lo1 and lo3 and not lo4 );
    n46 <= ( pi0 and pi1 and lo0 and lo1 and not lo2 and not lo3 );
    n47 <= ( not pi0 and pi1 and lo1 and not lo2 and not lo3 and not lo4 );
    n48 <= ( pi1 and lo0 and not lo1 and lo2 and not lo3 and not lo4 );
    n49 <= ( pi0 and not pi1 and not lo0 and not lo1 and lo2 and not lo3 );
    n50 <= ( not pi0 and not pi1 and not lo0 and not lo2 and not lo3 and not lo4 );
    n51 <= ( not pi0 and pi1 and lo1 and not lo3 and lo4 );
    n52 <= ( not pi0 and pi1 and lo0 and lo2 and lo3 and lo4 );
    n53 <= ( pi0 and lo0 and lo1 and lo3 and not lo4 );
    n54 <= ( not pi0 and pi1 and not lo0 and not lo2 and not lo3 and not lo4 );
    n55 <= ( pi0 and not lo0 and lo1 and not lo2 and not lo4 );
    n56 <= ( not pi0 and pi1 and not lo1 and lo2 and lo3 and lo4 );
    n57 <= ( not pi0 and pi1 and not lo0 and lo1 and lo2 and not lo3 );
    n58 <= ( pi0 and lo1 and lo2 and lo3 and lo4 );
    n59 <= ( pi0 and not pi1 and lo0 and not lo1 and not lo3 );
    n60 <= ( pi0 and not pi1 and not lo0 and not lo2 and not lo3 );
    n61 <= ( not pi0 and not pi1 and lo2 and lo3 and not lo4 );
    n62 <= ( not pi0 and not pi1 and lo0 and lo2 and lo3 and lo4 );
    n63 <= ( pi1 and not lo0 and lo1 and lo3 and lo4 );
    n64 <= ( not pi0 and pi1 and lo1 and lo2 and lo4 );
    n65 <= ( pi0 and not lo0 and lo1 and lo2 and lo3 );
    n66 <= ( pi0 and not pi1 and not lo0 and not lo3 and not lo4 );
    n67 <= ( pi0 and pi1 and not lo0 and not lo2 and not lo3 and not lo4 );
    n68 <= ( not pi0 and not pi1 and not lo0 and lo1 and lo2 and not lo3 );
    n69 <= ( pi0 and pi1 and not lo0 and lo2 and lo3 and not lo4 );
    n70 <= ( pi0 and pi1 and not lo0 and lo1 and lo2 and not lo3 );
    n71 <= ( not pi1 and lo1 and lo2 and lo3 and lo4 );
    n72 <= ( pi0 and not lo0 and not lo1 and lo2 and not lo3 );
    n73 <= ( not pi1 and lo0 and lo2 and lo3 and lo4 );
    n74 <= ( not pi0 and not pi1 and lo0 and not lo1 and not lo3 and not lo4 );
    n75 <= ( pi0 and not lo0 and lo1 and lo3 and lo4 );
    n76 <= ( not lo0 and not lo1 and not lo2 and lo3 and not lo4 );
    n77 <= ( not pi0 and pi1 and lo0 and not lo3 and lo4 );
    n78 <= ( pi1 and not lo0 and lo1 and lo2 and lo3 );
    n79 <= ( not pi0 and pi1 and lo0 and lo1 and lo2 );
    n80 <= ( not pi0 and pi1 and lo0 and not lo1 and not lo3 and not lo4 );
    n81 <= ( pi0 and not pi1 and not lo1 and not lo2 and lo4 );
    n82 <= ( not pi0 and pi1 and not lo1 and not lo2 and lo3 );
    n83 <= ( not pi0 and pi1 and not lo1 and not lo2 and lo4 );
    n84 <= ( not pi0 and not pi1 and not lo0 and not lo1 and lo2 );
    n85 <= ( not lo0 and lo2 and not lo3 and not lo4 );
    n86 <= ( not pi0 and not pi1 and lo0 and not lo1 and not lo2 );
    n87 <= ( not lo1 and not lo2 and not lo3 and lo4 );
    n88 <= ( not lo0 and not lo1 and not lo3 and not lo4 );
    n89 <= ( not pi0 and lo0 and lo1 and lo2 );
    n90 <= ( pi1 and not lo0 and not lo1 and lo2 and not lo3 );
    n91 <= ( pi0 and not lo1 and lo3 and not lo4 );
    n92 <= ( lo1 and lo2 and not lo3 and lo4 );
    n93 <= ( not pi1 and not lo1 and not lo2 and lo4 );
    n94 <= ( not pi0 and not lo0 and not lo2 and lo4 );
    n95 <= ( pi0 and not pi1 and lo3 and lo4 );
    n96 <= ( pi0 and not pi1 and lo2 and lo4 );
    n97 <= ( pi0 and not pi1 and lo0 and lo3 );
    n98 <= ( pi1 and not lo1 and not lo2 and lo4 );
    n99 <= ( pi1 and lo0 and not lo2 and lo4 );
    n100 <= ( pi1 and lo0 and not lo1 and lo3 );
    n101 <= ( pi0 and pi1 and lo1 and lo3 );
    n102 <= ( not pi0 and pi1 and lo0 and not lo2 );
    n103 <= ( not lo0 and not lo1 and not lo3 );
    n104 <= ( pi0 and pi1 and lo0 and not lo3 and lo4 );
    n105 <= ( not pi0 and not pi1 and not lo2 );
    n106 <= ( not pi1 and lo0 and not lo3 and lo4 );
end top_behav;
