--- 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 (
    pi00,pi01,pi02,pi03,pi04,pi05,pi06,pi07,pi08,pi09,pi10,pi11, 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,li0,li1,li2,li3,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: 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);
    po0 <= ( not n40 );
    po1 <= ( not n41 );
    po2 <= ( not n42 );
    po3 <= ( not n43 );
    po4 <= ( not n44 );
    po5 <= ( not n45 );
    li0 <= ( not n46 );
    li1 <= ( not n47 );
    li2 <= ( not n48 );
    li3 <= ( not n49 );
    n40 <= ( not pi08 and not lo0 );
    n41 <= ( not n106 and not n107 and not n110 and not n116 and not n118 and not n119 and not n120 );
    n42 <= ( not n66 and not n71 and not n72 and not n73 and not n74 and not n75 and not n77 and not n81 and not n82 and not n83 and not n86 and not n87 and not n88 and not n89 and not n90 and not n91 and not n92 and not n94 and not n95 and not n96 and not n103 and not n108 and not n109 and not n111 and not n112 and not n113 );
    n43 <= ( not n50 and not n121 and not n122 and not n123 and not n124 );
    n44 <= ( not n51 and not n52 and not n53 and not n54 and not n55 and not n56 and not n57 and not n58 and not n59 and not n60 and not n61 and not n62 and not n63 and not n76 and not n79 and not n80 and not n97 and not n98 and not n99 and not n100 );
    n45 <= ( not n64 and not n65 and not n67 and not n68 and not n69 and not n70 );
    n46 <= ( not n78 and not n85 and not n105 and not n117 );
    n47 <= ( not n84 and not n104 and not n105 and not n115 );
    n48 <= ( not n50 and not n67 and not n68 and not n69 and not n70 and not n78 and not n104 and not n114 );
    n49 <= ( not n50 and not n67 and not n68 and not n69 and not n70 and not n84 and not n85 and not n93 and not n101 and not n102 and not n104 );
    n50 <= ( not pi02 and not pi03 and pi04 and not pi05 and not pi08 and not lo0 and lo1 and lo2 and lo3 );
    n51 <= ( pi01 and not pi02 and not pi05 and pi10 and pi11 and lo0 and not lo1 and lo2 and lo3 );
    n52 <= ( not pi01 and pi02 and not pi05 and pi10 and pi11 and lo0 and not lo1 and lo2 and lo3 );
    n53 <= ( not pi01 and not pi02 and pi03 and not pi05 and pi10 and pi11 and lo0 and not lo3 );
    n54 <= ( pi01 and pi02 and pi03 and not pi05 and pi10 and pi11 and lo0 and not lo2 );
    n55 <= ( pi01 and pi02 and pi03 and not pi05 and pi10 and pi11 and lo0 and not lo3 );
    n56 <= ( pi01 and pi02 and pi03 and not pi05 and pi10 and pi11 and lo0 and lo1 );
    n57 <= ( pi03 and not pi05 and pi10 and pi11 and not lo0 and not lo1 and lo3 );
    n58 <= ( not pi01 and not pi02 and pi03 and not pi05 and pi10 and pi11 and not lo2 );
    n59 <= ( pi02 and not pi03 and not pi05 and pi10 and pi11 and not lo0 and lo1 );
    n60 <= ( not pi01 and not pi02 and pi03 and not pi05 and pi10 and pi11 and lo1 );
    n61 <= ( not pi02 and pi03 and not pi05 and pi10 and pi11 and not lo0 and lo1 );
    n62 <= ( pi01 and not pi02 and not pi03 and not pi05 and pi10 and pi11 and lo0 );
    n63 <= ( not pi01 and pi02 and not pi03 and not pi05 and pi10 and pi11 and lo0 );
    n64 <= ( not pi10 and not lo0 and lo1 and lo2 and lo3 );
    n65 <= ( not pi11 and not lo0 and lo1 and lo2 and lo3 );
    n66 <= ( not pi01 and not pi02 and pi06 and not lo1 and lo2 and lo3 );
    n67 <= ( not pi04 and not pi08 and not lo0 and lo1 and lo2 and lo3 );
    n68 <= ( pi05 and not pi08 and not lo0 and lo1 and lo2 and lo3 );
    n69 <= ( pi02 and not pi08 and not lo0 and lo1 and lo2 and lo3 );
    n70 <= ( pi03 and not pi08 and not lo0 and lo1 and lo2 and lo3 );
    n71 <= ( pi01 and pi02 and not pi03 and pi04 and lo0 and not lo2 );
    n72 <= ( pi01 and pi02 and not pi03 and pi04 and lo0 and not lo3 );
    n73 <= ( pi01 and pi02 and not pi03 and pi04 and lo0 and lo1 );
    n74 <= ( pi01 and not pi02 and pi03 and pi04 and lo0 and not lo2 );
    n75 <= ( pi01 and not pi02 and pi03 and pi04 and lo0 and not lo3 );
    n76 <= ( not pi11 and not lo0 and not lo1 and lo2 and not lo3 );
    n77 <= ( pi01 and not pi02 and pi03 and pi04 and lo0 and lo1 );
    n78 <= ( not pi08 and not lo0 and not lo1 and lo2 and not lo3 );
    n79 <= ( pi11 and not lo0 and not lo1 and not lo2 and lo3 );
    n80 <= ( pi10 and pi11 and not lo0 and not lo1 and not lo2 );
    n81 <= ( not pi01 and not pi02 and not pi03 and pi04 and not lo2 );
    n82 <= ( not pi01 and not pi02 and not pi03 and pi04 and not lo3 );
    n83 <= ( not pi01 and not pi02 and not pi03 and pi04 and lo1 );
    n84 <= ( not pi08 and lo0 and not lo1 and lo2 and lo3 );
    n85 <= ( not pi08 and lo0 and not lo1 and not lo2 and not lo3 );
    n86 <= ( not pi01 and not pi02 and not pi03 and pi06 and lo0 );
    n87 <= ( not pi01 and pi02 and pi03 and pi04 and not lo2 );
    n88 <= ( not pi01 and pi02 and pi03 and pi04 and not lo3 );
    n89 <= ( not pi01 and pi02 and pi03 and pi04 and lo1 );
    n90 <= ( pi01 and pi03 and pi06 and lo0 and not lo2 );
    n91 <= ( pi01 and pi03 and pi06 and lo0 and not lo3 );
    n92 <= ( pi02 and pi03 and pi06 and lo0 and not lo2 );
    n93 <= ( not pi08 and pi09 and not lo0 and not lo3 );
    n94 <= ( pi01 and pi03 and pi06 and lo0 and lo1 );
    n95 <= ( pi02 and pi03 and pi06 and lo0 and not lo3 );
    n96 <= ( pi02 and pi03 and pi06 and lo0 and lo1 );
    n97 <= ( pi00 and not pi10 and pi11 and lo0 );
    n98 <= ( pi07 and pi10 and not pi11 and lo0 );
    n99 <= ( pi06 and pi09 and not pi11 and lo0 );
    n100 <= ( pi05 and pi06 and pi09 and lo0 );
    n101 <= ( not pi08 and pi10 and not lo0 and not lo3 );
    n102 <= ( not pi08 and pi11 and not lo0 and not lo3 );
    n103 <= ( not pi02 and not pi03 and pi04 and not lo0 );
    n104 <= ( not pi08 and lo1 and lo2 and not lo3 );
    n105 <= ( not pi08 and lo0 and lo2 and not lo3 );
    n106 <= ( pi01 and pi03 and lo0 and not lo2 );
    n107 <= ( pi01 and pi03 and lo0 and not lo3 );
    n108 <= ( pi02 and pi03 and pi04 and not lo0 );
    n109 <= ( pi04 and pi06 and lo0 and not lo2 );
    n110 <= ( pi01 and pi03 and lo0 and lo1 );
    n111 <= ( pi04 and pi06 and lo0 and not lo3 );
    n112 <= ( pi04 and pi06 and lo0 and lo1 );
    n113 <= ( pi01 and pi02 and pi06 and lo0 );
    n114 <= ( not pi08 and not lo2 and lo3 );
    n115 <= ( not pi08 and lo1 and not lo2 );
    n116 <= ( pi02 and pi03 and not lo2 );
    n117 <= ( not pi08 and lo0 and lo3 );
    n118 <= ( pi02 and pi03 and not lo3 );
    n119 <= ( pi02 and pi03 and lo1 );
    n120 <= ( pi01 and pi02 and lo0 );
    n121 <= ( pi05 and not lo1 );
    n122 <= ( pi05 and not lo2 );
    n123 <= ( pi05 and not lo3 );
    n124 <= ( pi05 and lo0 );
end top_behav;
