--- 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 IWLS93__mm4a is 
  Port (
    pi0,pi1,pi2,pi3,pi4,pi5,pi6, CLK: in std_logic;
    po0,po1,po2,po3: inout std_logic
  );
end IWLS93__mm4a;

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

signal lo00,lo01,lo02,lo03,lo04,lo05,lo06,lo07,lo08,lo09,lo10,lo11,li00,li01,li02,li03,li04,li05,li06,li07,li08,li09,li10,li11,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,n132,n133,n134,n135,n136,n137,n138,n139,n140,n141,n142,n143,n144,n145,n146,n147,n148,n149,n150,n151,n152,n153,n154,n155,n156,n157,n158,n159,n160,n161: std_logic;
begin
    DFF0: DFF port map (li00, CLK, lo00);
    DFF1: DFF port map (li01, CLK, lo01);
    DFF2: DFF port map (li02, CLK, lo02);
    DFF3: DFF port map (li03, CLK, lo03);
    DFF4: DFF port map (li04, CLK, lo04);
    DFF5: DFF port map (li05, CLK, lo05);
    DFF6: DFF port map (li06, CLK, lo06);
    DFF7: DFF port map (li07, CLK, lo07);
    DFF8: DFF port map (li08, CLK, lo08);
    DFF9: DFF port map (li09, CLK, lo09);
    DFF10: DFF port map (li10, CLK, lo10);
    DFF11: DFF port map (li11, CLK, lo11);
    li00 <= ( not n75 and n79 );
    li01 <= ( n134 )
      or ( n75 );
    li02 <= ( n146 )
      or ( n75 );
    li03 <= ( n150 )
      or ( n75 );
    li04 <= ( n65 and not n75 );
    li05 <= ( pi4 and n74 );
    li06 <= ( pi5 and n74 );
    li07 <= ( pi6 and n74 );
    li08 <= ( n131 )
      or ( n75 );
    li09 <= ( pi3 and n74 );
    li10 <= ( not n75 and n76 );
    li11 <= ( not n75 and n81 );
    po0 <= ( n149 )
      or ( n148 )
      or ( n157 )
      or ( n154 )
      or ( n161 )
      or ( n155 );
    po1 <= ( n99 )
      or ( n106 )
      or ( n158 )
      or ( n95 )
      or ( n159 )
      or ( n112 );
    po2 <= ( n87 )
      or ( n89 )
      or ( n83 )
      or ( n84 )
      or ( n116 )
      or ( n64 );
    po3 <= ( n69 )
      or ( n70 )
      or ( n71 )
      or ( n72 )
      or ( n73 );
    n63 <= ( n91 )
      or ( n97 );
    n64 <= ( n63 and not n75 and not n78 and not n81 );
    n65 <= ( n110 )
      or ( n147 );
    n66 <= ( n133 )
      or ( n132 )
      or ( n135 )
      or ( n136 )
      or ( n137 )
      or ( n138 )
      or ( n90 )
      or ( n96 )
      or ( n139 )
      or ( n140 )
      or ( n141 )
      or ( n142 )
      or ( n143 )
      or ( n130 )
      or ( n115 );
    n67 <= ( n66 and not n75 );
    n68 <= ( n105 )
      or ( n109 )
      or ( n145 );
    n69 <= ( n82 and lo07 );
    n70 <= ( n63 and not n75 and n78 );
    n71 <= ( li11 and n78 );
    n72 <= ( li11 and n63 );
    n73 <= ( pi2 and li07 );
    n74 <= ( not pi0 and pi1 );
    n75 <= ( pi0 )
      or ( n82 )
      or ( n88 );
    n76 <= ( n92 )
      or ( n93 );
    n77 <= ( not pi2 and not n66 );
    n78 <= ( n100 )
      or ( n101 )
      or ( n102 );
    n79 <= ( n107 )
      or ( n103 );
    n80 <= ( not n75 and not n85 );
    n81 <= ( n144 )
      or ( n160 );
    n82 <= ( not pi0 and not pi1 );
    n83 <= ( n82 and lo06 );
    n84 <= ( not li03 and not n78 and n81 );
    n85 <= ( n117 )
      or ( n118 )
      or ( n119 )
      or ( n120 )
      or ( n113 )
      or ( n121 )
      or ( n122 )
      or ( n123 )
      or ( n124 )
      or ( n114 )
      or ( n125 )
      or ( n126 )
      or ( n127 )
      or ( n128 )
      or ( n129 );
    n86 <= ( not pi2 and n85 );
    n87 <= ( not li03 and n78 and not n81 );
    n88 <= ( not pi0 and pi2 );
    n89 <= ( n63 and li11 and n78 );
    n90 <= ( not lo01 and li06 and li07 and not lo08 and li09 and not n75 );
    n91 <= ( n67 and lo03 );
    n92 <= ( n80 and lo10 );
    n93 <= ( n86 and li06 );
    n94 <= ( n67 and lo08 );
    n95 <= ( pi2 and li05 and n74 );
    n96 <= ( li05 and li06 and li07 and not lo08 and li09 and not n75 );
    n97 <= ( n77 and li07 );
    n98 <= ( n77 and li09 );
    n99 <= ( li10 and n74 and not n78 );
    n100 <= ( n111 and n68 );
    n101 <= ( n111 and n76 );
    n102 <= ( n76 and n68 );
    n103 <= ( n86 and li05 );
    n104 <= ( n94 )
      or ( n98 );
    n105 <= ( n65 and n104 and n79 );
    n106 <= ( not li02 and n68 and n74 and not n78 );
    n107 <= ( n80 and lo00 );
    n108 <= ( n151 )
      or ( n152 );
    n109 <= ( n65 and n104 and n108 );
    n110 <= ( n80 and lo04 );
    n111 <= ( n156 )
      or ( n153 );
    n112 <= ( n74 and n111 and li10 and n68 );
    n113 <= ( li07 and not lo11 and not n75 );
    n114 <= ( not lo00 and not lo04 and li07 and li09 and not lo10 and not n75 );
    n115 <= ( not lo01 and li05 and li06 and li07 and not n75 );
    n116 <= ( pi2 and li06 );
    n117 <= ( not lo00 and li05 and not lo10 and not lo11 and not n75 );
    n118 <= ( not lo00 and li05 and li06 and not lo11 and not n75 );
    n119 <= ( li06 and not lo10 and not lo11 and not n75 );
    n120 <= ( li06 and li07 and not lo10 and not n75 );
    n121 <= ( not lo04 and li05 and li07 and li09 and not lo10 and not n75 );
    n122 <= ( not lo00 and not lo04 and li06 and li07 and li09 and not n75 );
    n123 <= ( not lo04 and li05 and li06 and li07 and li09 and not n75 );
    n124 <= ( not lo04 and li05 and li06 and li09 and not lo11 and not n75 );
    n125 <= ( not lo00 and not lo04 and li06 and li09 and not lo11 and not n75 );
    n126 <= ( not lo00 and not lo04 and li09 and not lo10 and not lo11 and not n75 );
    n127 <= ( not lo04 and li05 and li09 and not lo10 and not lo11 and not n75 );
    n128 <= ( not lo00 and li05 and li07 and not lo10 and not n75 );
    n129 <= ( not lo00 and li05 and li06 and li07 and not n75 );
    n130 <= ( not lo01 and not lo02 and li05 and li07 and not n75 );
    n131 <= ( not pi0 and n104 );
    n132 <= ( not lo01 and not lo03 and li05 and li06 and not n75 );
    n133 <= ( not lo01 and not lo02 and not lo03 and li05 and not n75 );
    n134 <= ( not pi0 and n108 );
    n135 <= ( not lo02 and not lo03 and li06 and not n75 );
    n136 <= ( not lo02 and li06 and li07 and not n75 );
    n137 <= ( not lo03 and li07 and not n75 );
    n138 <= ( not lo02 and li05 and li07 and not lo08 and li09 and not n75 );
    n139 <= ( not lo03 and li05 and li06 and not lo08 and li09 and not n75 );
    n140 <= ( not lo01 and not lo02 and li07 and not lo08 and li09 and not n75 );
    n141 <= ( not lo01 and not lo03 and li06 and not lo08 and li09 and not n75 );
    n142 <= ( not lo01 and not lo02 and not lo03 and not lo08 and li09 and not n75 );
    n143 <= ( not lo02 and not lo03 and li05 and not lo08 and li09 and not n75 );
    n144 <= ( n80 and lo11 );
    n145 <= ( n108 and n79 );
    n146 <= ( not pi0 and n111 );
    n147 <= ( n86 and li09 );
    n148 <= ( li04 and not n68 and n74 and n104 );
    n149 <= ( li00 and not n68 and n74 );
    n150 <= ( not pi0 and n63 );
    n151 <= ( n67 and lo01 );
    n152 <= ( n77 and li05 );
    n153 <= ( n77 and li06 );
    n154 <= ( pi2 and li09 and n74 );
    n155 <= ( li00 and n74 and n65 and n104 and n108 );
    n156 <= ( n67 and lo02 );
    n157 <= ( not n68 and not n75 and n108 );
    n158 <= ( not n75 and not n78 and n111 );
    n159 <= ( n82 and lo05 );
    n160 <= ( n86 and li07 );
    n161 <= ( n82 and lo09 );
end IWLS93__mm4a_behav;
