--- 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__s499 is 
  Port (
    pi0, CLK: in std_logic;
    po00,po01,po02,po03,po04,po05,po06,po07,po08,po09,po10,po11,po12,po13,po14,po15,po16,po17,po18,po19,po20,po21: inout std_logic
  );
end ISCAS__s499;

architecture ISCAS__s499_behav of ISCAS__s499 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,lo21,li00,li01,li02,li03,li04,li05,li06,li07,li08,li09,li10,li11,li12,li13,li14,li15,li16,li17,li18,li19,li20,li21,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: 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);
    DFF21: DFF port map (li21, CLK, lo21);
    li00 <= not (( n143 and n206 ));
    li01 <= not (( n140 and n142 and n206 ));
    li02 <= not (( n144 and not n117 ));
    li03 <= not (( n134 and n141 and n136 ));
    li04 <= not (( n131 and n137 and n133 ));
    li05 <= not (( n128 and n135 and n130 ));
    li06 <= not (( n132 and n125 and n127 ));
    li07 <= not (( n129 and n122 and n124 ));
    li08 <= not (( n126 and not n119 ));
    li09 <= not (( n123 and not n118 ));
    li10 <= not (( n155 and n149 and n151 ));
    li11 <= not (( n146 and n152 and n148 ));
    li12 <= not (( n150 and n173 and n145 ));
    li13 <= not (( n147 and n170 and n172 ));
    li14 <= not (( n174 and n167 and n169 ));
    li15 <= not (( n171 and not n120 ));
    li16 <= not (( n161 and n168 and n163 ));
    li17 <= not (( n158 and n164 and n160 ));
    li18 <= not (( n162 and n179 and n157 ));
    li19 <= not (( n176 and n159 and n178 ));
    li20 <= not (( n180 and n207 and n175 ));
    li21 <= not (( n177 and n207 ));
    n111 <= ( not lo04 and not lo05 );
    n112 <= ( not lo21 and not lo20 );
    n113 <= ( not lo08 and not lo07 );
    n114 <= ( not n189 and not n187 );
    n115 <= not (( n186 and n193 ));
    n116 <= not (( not n115 and lo13 and n185 ));
    n117 <= not (( n138 and n139 ));
    n118 <= not (( n153 and n154 ));
    n119 <= not (( n156 and n121 ));
    n120 <= not (( n165 and n166 ));
    n121 <= not (( not lo06 and n196 and lo08 ));
    n122 <= not (( not pi0 and not n121 ));
    n123 <= not (( pi0 and not n121 ));
    n124 <= not (( n196 and lo06 and not lo08 ));
    n125 <= not (( not pi0 and not n124 ));
    n126 <= not (( pi0 and not n124 ));
    n127 <= not (( lo06 and not lo04 and n197 ));
    n128 <= not (( not pi0 and not n127 ));
    n129 <= not (( pi0 and not n127 ));
    n130 <= not (( lo04 and n197 and not lo06 ));
    n131 <= not (( not pi0 and not n130 ));
    n132 <= not (( pi0 and not n130 ));
    n133 <= not (( lo04 and not lo02 and n198 ));
    n134 <= not (( not pi0 and not n133 ));
    n135 <= not (( pi0 and not n133 ));
    n136 <= not (( not lo04 and lo02 and n198 ));
    n137 <= not (( pi0 and not n136 ));
    n138 <= not (( not pi0 and not n136 ));
    n139 <= not (( not lo00 and lo02 and n199 ));
    n140 <= not (( not pi0 and not n139 ));
    n141 <= not (( pi0 and not n139 ));
    n142 <= not (( lo00 and not lo02 and n199 ));
    n143 <= not (( not pi0 and not n142 ));
    n144 <= not (( pi0 and not n142 ));
    n145 <= not (( not lo10 and n200 and lo12 ));
    n146 <= not (( not pi0 and not n145 ));
    n147 <= not (( pi0 and not n145 ));
    n148 <= not (( n200 and not lo12 and lo10 ));
    n149 <= not (( not pi0 and not n148 ));
    n150 <= not (( pi0 and not n148 ));
    n151 <= not (( not lo08 and n201 and lo10 ));
    n152 <= not (( pi0 and not n151 ));
    n153 <= not (( not pi0 and not n151 ));
    n154 <= not (( n201 and not lo10 and lo08 ));
    n155 <= not (( pi0 and not n154 ));
    n156 <= not (( not pi0 and not n154 ));
    n157 <= not (( not lo16 and n203 and lo18 ));
    n158 <= not (( not pi0 and not n157 ));
    n159 <= not (( pi0 and not n157 ));
    n160 <= not (( not lo18 and lo16 and n203 ));
    n161 <= not (( not pi0 and not n160 ));
    n162 <= not (( pi0 and not n160 ));
    n163 <= not (( lo16 and n204 and not lo14 ));
    n164 <= not (( pi0 and not n163 ));
    n165 <= not (( not pi0 and not n163 ));
    n166 <= not (( lo14 and not lo16 and n204 ));
    n167 <= not (( not pi0 and not n166 ));
    n168 <= not (( pi0 and not n166 ));
    n169 <= not (( not lo12 and not n116 and lo14 ));
    n170 <= not (( not pi0 and not n169 ));
    n171 <= not (( pi0 and not n169 ));
    n172 <= not (( not lo14 and not n116 and lo12 ));
    n173 <= not (( not pi0 and not n172 ));
    n174 <= not (( pi0 and not n172 ));
    n175 <= not (( n208 and not lo18 and lo20 ));
    n176 <= not (( not pi0 and not n175 ));
    n177 <= not (( pi0 and not n175 ));
    n178 <= not (( lo18 and n208 and not lo20 ));
    n179 <= not (( not pi0 and not n178 ));
    n180 <= not (( pi0 and not n178 ));
    n181 <= not (( not lo12 and not lo11 ));
    n182 <= not (( not lo08 and not lo09 ));
    n183 <= not (( not lo19 and not lo18 ));
    n184 <= not (( not lo00 and not lo01 ));
    n185 <= ( not n183 and n112 );
    n186 <= ( not lo16 and not lo15 and not lo17 );
    n187 <= not (( not lo14 and n185 and n186 and not lo13 ));
    n188 <= ( not lo02 and not n184 and not lo03 );
    n189 <= not (( n188 and not lo07 and n111 and not lo06 ));
    n190 <= ( not lo10 and not n181 and not lo09 and not n187 );
    n191 <= not (( n188 and n190 ));
    n192 <= not (( not lo06 and n113 and not lo05 and n190 ));
    n193 <= ( not lo10 and not n182 and not lo11 and not n189 );
    n194 <= ( not lo13 and not lo12 );
    n195 <= not (( n112 and n193 and n194 and not lo19 ));
    n196 <= ( lo07 and n111 and not n191 );
    n197 <= ( n113 and not n191 and lo05 );
    n198 <= ( lo03 and not n192 and not n184 );
    n199 <= ( not n192 and lo01 and not lo03 and not lo04 );
    n200 <= ( not n182 and lo11 and n114 );
    n201 <= ( lo09 and not n181 and n114 );
    n202 <= not (( not n115 and not lo14 and n194 ));
    n203 <= ( not n195 and not lo15 and lo17 and not lo14 );
    n204 <= ( lo15 and not n195 and not lo17 and not lo18 );
    n205 <= ( not n202 and not n183 );
    n206 <= not (( pi0 and n112 and n205 ));
    n207 <= not (( lo20 and not pi0 and lo21 and n205 ));
    n208 <= ( not lo21 and lo19 and not n202 );
    po00 <= ( lo21 );
    po01 <= ( lo20 );
    po02 <= ( lo19 );
    po03 <= ( lo18 );
    po04 <= ( lo17 );
    po05 <= ( lo16 );
    po06 <= ( lo15 );
    po07 <= ( lo14 );
    po08 <= ( lo13 );
    po09 <= ( lo12 );
    po10 <= ( lo11 );
    po11 <= ( lo10 );
    po12 <= ( lo09 );
    po13 <= ( lo08 );
    po14 <= ( lo07 );
    po15 <= ( lo06 );
    po16 <= ( lo05 );
    po17 <= ( lo04 );
    po18 <= ( lo03 );
    po19 <= ( lo02 );
    po20 <= ( lo01 );
    po21 <= ( lo00 );
end ISCAS__s499_behav;
