--- 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 ISCAS__s526 is 
  Port (
    pi0,pi1,pi2, CLK: in std_logic;
    po0,po1,po2,po3,po4,po5: inout std_logic
  );
end ISCAS__s526;

architecture ISCAS__s526_behav of ISCAS__s526 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,lo12,lo13,lo14,lo15,lo16,lo17,lo18,lo19,lo20,li00,li01,li02,li03,li04,li05,li06,li07,li08,li09,li10,li11,li12,li13,li14,li15,li16,li17,li18,li19,li20,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,n162,n163,n164,n165,n166,n167,n168,n169,n170,n171,n172,n173,n174,n175,n176,n177,n178,n179,n180,n181,n182,n183,n184,n185,n186,n187,n188,n189,n190,n191,n192,n193,n194,n195,n196,n197,n198,n199,n200,n201,n202,n203,n204,n205,n206,n207,n208,n209,n210,n211,n212,n213,n214,n215,n216,n217,n218: 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);
    DFF12: DFF port map (li12, CLK, lo12);
    DFF13: DFF port map (li13, CLK, lo13);
    DFF14: DFF port map (li14, CLK, lo14);
    DFF15: DFF port map (li15, CLK, lo15);
    DFF16: DFF port map (li16, CLK, lo16);
    DFF17: DFF port map (li17, CLK, lo17);
    DFF18: DFF port map (li18, CLK, lo18);
    DFF19: DFF port map (li19, CLK, lo19);
    DFF20: DFF port map (li20, CLK, lo20);
    po0 <= ( lo15 );
    po1 <= ( lo17 );
    po2 <= ( lo13 );
    po3 <= ( lo16 );
    po4 <= ( lo18 );
    po5 <= ( lo14 );
    li00 <= ( not lo00 and not pi0 );
    li01 <= ( not n118 and not n119 and not n120 and not pi0 );
    li02 <= not (( n181 and n183 ));
    li03 <= not (( n185 and n187 ));
    li04 <= ( not n121 and not n122 and not n123 and not pi0 );
    li05 <= ( not n125 and not n210 );
    li06 <= ( not n127 and not n128 and not n216 );
    li07 <= ( not n131 and not n132 and not n211 );
    li08 <= ( not n134 and not n135 and not n217 );
    li09 <= ( not n137 and not n138 and not n139 and not n218 );
    li10 <= ( not n141 and not n142 and not n144 and not pi0 );
    li11 <= not (( n191 and n193 ));
    li12 <= ( not n146 and not n148 and not pi0 );
    li13 <= ( not n153 and not n154 and not n155 and not n99 );
    li14 <= ( not n156 and not n157 and not n212 );
    li15 <= ( not n158 and not n213 );
    li16 <= ( not n160 and not n214 );
    li17 <= ( not n162 and not n163 );
    li18 <= ( not n164 and not n215 );
    li19 <= ( not n165 and not n166 and not pi0 );
    li20 <= ( not n167 and not n168 and not pi0 );
    n99 <= ( not n149 and not n150 );
    n100 <= not (( lo05 and not lo04 and not lo01 and lo00 ));
    n101 <= ( not lo20 and n100 );
    n102 <= ( lo00 and not lo01 and not lo04 and lo05 );
    n103 <= ( not lo20 and n100 );
    n104 <= ( not lo20 and n100 );
    n105 <= ( not lo02 and lo11 );
    n106 <= ( lo02 and not lo11 );
    n107 <= ( not pi0 and not lo06 );
    n108 <= ( not lo20 and not pi0 );
    n109 <= ( not lo07 and not lo09 );
    n110 <= ( not lo07 and lo08 );
    n111 <= ( not pi0 and lo06 and lo07 );
    n112 <= ( not pi0 and lo08 );
    n113 <= ( lo07 and not lo08 );
    n114 <= ( not lo07 and lo08 );
    n115 <= ( lo07 and not lo09 );
    n116 <= ( not pi0 and lo06 and lo07 and lo08 );
    n117 <= ( not pi0 and lo09 );
    n118 <= ( lo00 and not lo04 and lo05 );
    n119 <= ( lo00 and lo01 );
    n120 <= ( not lo00 and not lo01 );
    n121 <= ( lo00 and lo01 and lo04 );
    n122 <= ( not lo00 and not lo04 );
    n123 <= ( not lo01 and not lo04 );
    n124 <= not (( lo04 and lo01 and lo00 ));
    n125 <= ( not lo05 and n124 );
    n126 <= ( lo06 and lo05 );
    n127 <= ( not lo04 and not lo01 and lo00 and n126 );
    n128 <= ( not lo06 and not lo20 and n100 );
    n129 <= ( lo06 and lo05 and not lo04 );
    n130 <= ( not n109 and not n110 );
    n131 <= ( not lo01 and lo00 and n129 and n130 );
    n132 <= ( not lo07 and not lo20 and n100 );
    n133 <= not (( n177 and not lo20 ));
    n134 <= ( lo08 and lo07 and lo06 and n133 );
    n135 <= ( not lo08 and not lo20 and n100 );
    n136 <= ( not n113 and not n114 and not n115 );
    n137 <= ( not lo01 and lo00 and n129 and n136 );
    n138 <= ( not lo09 and not lo20 and n100 );
    n139 <= ( lo06 and lo20 and n136 );
    n140 <= ( lo10 and lo09 and not lo08 );
    n141 <= ( not lo07 and lo06 and n140 and n133 );
    n142 <= ( not lo10 and not lo20 and n100 );
    n143 <= not (( lo09 and not lo08 and not lo07 and lo06 ));
    n144 <= ( not lo10 and n143 );
    n145 <= ( not lo03 and lo02 );
    n146 <= ( not lo11 and lo10 and not lo19 and n145 );
    n147 <= not (( not lo11 and not lo10 and lo19 and n145 ));
    n148 <= ( not lo12 and n147 );
    n149 <= ( not lo11 and lo10 and not lo19 and n145 );
    n150 <= ( not lo12 and n147 );
    n151 <= ( lo11 and lo03 and lo16 );
    n152 <= ( not lo10 and not lo11 and lo03 );
    n153 <= ( lo03 and not lo13 );
    n154 <= ( not lo02 and not lo03 );
    n155 <= ( not lo11 and not lo02 );
    n156 <= ( not lo14 and lo02 );
    n157 <= ( not lo03 and lo02 );
    n158 <= ( not lo15 and lo03 and lo11 );
    n159 <= ( not n151 and not n152 );
    n160 <= ( not lo02 and not n99 and n159 );
    n161 <= not (( n197 and n198 and n199 and lo03 ));
    n162 <= ( not n99 and n161 );
    n163 <= ( lo08 and n99 );
    n164 <= ( not lo18 and lo03 );
    n165 <= ( not pi2 and not lo19 );
    n166 <= ( pi2 and lo19 );
    n167 <= ( not pi1 and not lo20 );
    n168 <= ( pi1 and lo20 );
    n169 <= ( lo05 and not lo04 and not lo01 and lo00 );
    n170 <= not (( not lo20 and not n169 ));
    n171 <= not (( lo03 and not lo02 ));
    n172 <= not (( lo00 and lo01 and lo04 and lo05 ));
    n173 <= not (( lo00 and not lo01 and not lo04 ));
    n174 <= not (( lo20 and lo06 and not lo08 and lo09 ));
    n175 <= not (( lo20 and lo06 and lo07 ));
    n176 <= not (( not lo06 and not lo07 ));
    n177 <= not (( lo00 and not lo01 and not lo04 and lo05 ));
    n178 <= not (( not lo08 and not lo07 and lo06 ));
    n179 <= not (( not lo02 and lo11 and lo10 and lo09 ));
    n180 <= ( not n102 and not lo20 );
    n181 <= not (( not pi0 and not n178 and not n179 and not n180 ));
    n182 <= ( not n103 and lo11 and lo10 and not n143 );
    n183 <= not (( lo02 and not pi0 and not n182 ));
    n184 <= not (( not lo03 and lo02 and lo11 and lo10 ));
    n185 <= not (( not pi0 and not n143 and not n184 and not n180 ));
    n186 <= ( not n104 and not n105 and not n106 and not n209 );
    n187 <= not (( lo03 and not pi0 and not n186 ));
    n188 <= not (( not lo07 and lo06 ));
    n189 <= not (( not lo11 and lo10 and lo09 and not lo08 ));
    n190 <= not (( n170 and n171 ));
    n191 <= not (( not pi0 and not n188 and not n189 and not n190 ));
    n192 <= ( not n101 and lo10 and not n143 );
    n193 <= not (( lo11 and not pi0 and not n192 ));
    n194 <= not (( not lo10 and not lo11 and not lo02 and lo03 ));
    n195 <= not (( lo02 and not lo15 ));
    n196 <= not (( lo02 and not lo03 ));
    n197 <= not (( lo10 and not lo11 and not lo02 ));
    n198 <= not (( lo11 and not lo17 ));
    n199 <= not (( lo02 and not lo17 ));
    n200 <= not (( not n99 and lo02 and lo03 and not lo16 ));
    n201 <= not (( n99 and lo08 ));
    n202 <= not (( lo02 and not lo03 ));
    n203 <= not (( not lo10 and not lo03 ));
    n204 <= not (( not lo11 and not lo02 ));
    n205 <= not (( not lo10 and not lo11 and not lo02 and lo03 ));
    n206 <= not (( lo10 and lo11 and not lo03 ));
    n207 <= not (( lo11 and lo03 and not lo14 ));
    n208 <= ( lo10 and lo09 );
    n209 <= not (( not lo08 and not lo07 and lo06 and n208 ));
    n210 <= not (( n172 and n173 and not pi0 ));
    n211 <= not (( n174 and n175 and n176 and not pi0 ));
    n212 <= not (( n205 and n206 and n207 and not n99 ));
    n213 <= not (( n194 and n195 and n196 and not n99 ));
    n214 <= not (( n200 and n201 ));
    n215 <= not (( n202 and n203 and n204 and not n99 ));
    n216 <= ( not n107 and not n108 );
    n217 <= ( not n111 and not n112 );
    n218 <= ( not n116 and not n117 );
end ISCAS__s526_behav;
