--- 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__s820 is 
  Port (
    pi00,pi01,pi02,pi03,pi04,pi05,pi06,pi07,pi08,pi09,pi10,pi11,pi12,pi13,pi14,pi15,pi16,pi17, CLK: in std_logic;
    po00,po01,po02,po03,po04,po05,po06,po07,po08,po09,po10,po11,po12,po13,po14,po15,po16,po17,po18: inout std_logic
  );
end ISCAS__s820;

architecture ISCAS__s820_behav of ISCAS__s820 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,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,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,n219,n220,n221,n222,n223,n224,n225,n226,n227,n228,n229,n230,n231,n232,n233,n234,n235,n236,n237,n238,n239,n240,n241,n242,n243,n244,n245,n246,n247,n248,n249,n250,n251,n252,n253,n254,n255,n256,n257,n258,n259,n260,n261,n262,n263,n264,n265,n266,n267,n268,n269,n270,n271,n272,n273,n274,n275,n276,n277,n278,n279,n280,n281,n282,n283,n284,n285,n286,n287,n288,n289,n290,n291,n292,n293,n294,n295,n296,n297,n298,n299,n300,n301,n302,n303,n304,n305,n306,n307: 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);
    po00 <= ( not lo4 and not n268 );
    po01 <= ( lo4 and not n269 );
    po02 <= ( not lo4 and not lo3 and not n270 );
    po03 <= ( not lo4 and not lo3 and not n271 );
    po04 <= ( not lo4 and not n272 );
    po05 <= ( not lo4 and not n273 );
    po06 <= ( lo4 and not n274 );
    po07 <= ( lo4 and lo3 and not n275 );
    po08 <= ( lo4 and not n276 );
    po09 <= ( not lo4 and not lo3 and not lo2 and not n278 );
    po10 <= ( not lo4 and lo3 and not n279 );
    po11 <= ( not lo4 and not n280 );
    po12 <= ( not lo4 and lo3 and not lo2 and not n282 );
    po13 <= not (( n228 and n213 ));
    po14 <= ( not lo3 and not lo0 and pi01 and not n303 );
    po15 <= not (( n230 and n295 ));
    po16 <= ( not lo4 and lo3 and lo2 and not n289 );
    po17 <= ( not n157 and lo4 and not n267 );
    po18 <= not (( n244 and n226 and n239 and n292 ));
    li0 <= ( n173 and not pi17 );
    li1 <= ( n174 and not pi17 );
    li2 <= ( n175 and not pi17 );
    li3 <= ( n176 and not pi17 );
    li4 <= ( n177 and not pi17 );
    n76 <= ( lo2 and pi04 );
    n77 <= ( pi03 and lo4 );
    n78 <= ( pi01 and lo4 );
    n79 <= ( lo3 and lo4 );
    n80 <= ( pi03 and lo4 );
    n81 <= ( pi01 and lo4 );
    n82 <= ( lo3 and lo4 );
    n83 <= ( lo3 and lo4 );
    n84 <= ( lo3 and lo4 );
    n85 <= ( lo1 and lo2 and lo4 );
    n86 <= ( lo1 and lo2 and lo4 );
    n87 <= ( not pi00 and lo0 and lo1 );
    n88 <= ( not pi00 and lo0 and lo4 );
    n89 <= ( not pi00 and lo0 and lo4 );
    n90 <= ( not pi10 and not pi11 );
    n91 <= ( not pi11 and not pi12 );
    n92 <= ( lo1 and not lo2 );
    n93 <= ( not lo2 and not pi15 );
    n94 <= ( lo2 and not pi16 );
    n95 <= ( not pi16 and lo4 );
    n96 <= ( not lo3 and lo0 );
    n97 <= ( lo4 and not lo3 );
    n98 <= ( not pi04 and lo0 and not lo3 );
    n99 <= ( lo4 and not lo3 );
    n100 <= ( not pi04 and lo0 and not lo3 );
    n101 <= ( not pi15 and pi16 );
    n102 <= ( pi15 and lo2 and not lo3 and lo4 );
    n103 <= ( not lo2 and not lo3 );
    n104 <= ( not lo4 and not lo3 );
    n105 <= ( not lo2 and pi16 and not pi01 and n104 );
    n106 <= ( lo0 and lo1 and not lo3 and not lo4 );
    n107 <= ( pi05 and not lo3 and not lo4 );
    n108 <= ( pi05 and not lo3 and not lo4 );
    n109 <= ( pi11 and not lo4 );
    n110 <= ( pi10 and not lo4 );
    n111 <= ( pi16 and not lo3 and not lo4 );
    n112 <= ( not lo2 and not lo4 );
    n113 <= ( lo2 and lo3 and not lo4 );
    n114 <= ( not lo4 and not pi15 );
    n115 <= ( pi00 and lo0 and not lo4 );
    n116 <= ( not lo2 and not lo4 );
    n117 <= ( pi01 and lo1 and not lo3 );
    n118 <= ( not pi01 and not pi16 and not lo0 );
    n119 <= ( not lo0 and lo4 );
    n120 <= ( not lo1 and not lo2 and not lo4 );
    n121 <= ( not lo0 and not lo1 and lo2 );
    n122 <= ( lo0 and not lo1 );
    n123 <= ( pi15 and not lo1 );
    n124 <= ( not lo1 and not lo3 );
    n125 <= ( not lo1 and not lo2 );
    n126 <= ( not lo4 and lo3 and not lo2 );
    n127 <= ( not lo1 and pi15 and pi14 and n126 );
    n128 <= ( lo4 and lo3 and lo2 );
    n129 <= ( lo1 and lo0 and not pi00 and n128 );
    n130 <= not (( lo3 and not pi04 ));
    n131 <= ( not lo1 and n130 );
    n132 <= not (( lo4 and lo3 and not lo0 and pi15 ));
    n133 <= ( not lo2 and n132 );
    n134 <= ( lo0 and pi15 and pi09 );
    n135 <= ( pi08 and pi07 and pi06 and n134 );
    n136 <= not (( n192 and not lo2 ));
    n137 <= ( lo1 and lo0 and n136 );
    n138 <= ( not lo0 and pi16 and pi15 );
    n139 <= ( not lo4 and lo3 and lo2 and not lo1 );
    n140 <= ( not n91 and not n90 );
    n141 <= ( not pi04 and n138 and n139 and n140 );
    n142 <= ( not n107 and not n77 and not n78 and not n79 );
    n143 <= ( not lo0 and n142 );
    n144 <= ( not n108 and not n80 and not n81 and not n82 );
    n145 <= ( not lo0 and n144 );
    n146 <= ( not n109 and not n110 );
    n147 <= ( lo3 and lo2 and pi15 and n146 );
    n148 <= ( not n111 and not n101 and not n84 );
    n149 <= ( not lo2 and lo1 and not pi04 and n148 );
    n150 <= ( not n102 and not n112 );
    n151 <= ( pi16 and n150 );
    n152 <= ( not n116 and not n103 );
    n153 <= ( not lo1 and pi04 and n152 );
    n154 <= not (( n202 and n206 and n184 and lo2 ));
    n155 <= ( not lo1 and n154 );
    n156 <= not (( pi08 and pi07 and pi06 and n286 ));
    n157 <= ( pi16 and n156 );
    n158 <= ( not n115 and not n118 and not n119 and not n95 );
    n159 <= ( not lo3 and not lo2 and not lo1 and n158 );
    n160 <= ( not lo3 and not pi03 );
    n161 <= not (( n210 and n190 ));
    n162 <= ( pi02 and not pi01 and n160 and n161 );
    n163 <= ( not n113 and not n86 and not n124 and not n125 );
    n164 <= ( lo0 and pi16 and not pi04 and n163 );
    n165 <= not (( n220 and n200 and n187 ));
    n166 <= ( lo2 and lo1 and n165 );
    n167 <= not (( n224 and n181 and n201 ));
    n168 <= ( not lo1 and not lo0 and n167 );
    n169 <= ( not n151 and not n284 );
    n170 <= ( not lo1 and n169 );
    n171 <= ( not n137 and not n155 and not n93 );
    n172 <= ( lo3 and n171 );
    n173 <= not (( not n141 and not n164 and not n159 and not n252 ));
    n174 <= not (( n242 and n222 and n256 and n297 ));
    n175 <= not (( n251 and n259 and n258 and n290 ));
    n176 <= not (( n218 and n254 and n263 and n299 ));
    n177 <= not (( n246 and n261 and n265 and n294 ));
    n178 <= not (( not pi10 and not pi11 ));
    n179 <= not (( not pi11 and not pi12 ));
    n180 <= not (( not pi10 and not pi12 ));
    n181 <= not (( not lo3 and not lo2 and not pi01 ));
    n182 <= not (( not pi16 and not lo3 ));
    n183 <= not (( not pi05 and not lo3 ));
    n184 <= not (( not pi15 and not lo4 ));
    n185 <= not (( not pi16 and not lo4 ));
    n186 <= not (( not lo2 and not lo3 and not lo4 ));
    n187 <= not (( not lo4 and not pi05 ));
    n188 <= not (( not lo1 and not lo4 ));
    n189 <= not (( not lo0 and not lo1 and not lo3 ));
    n190 <= not (( not pi16 and not lo1 and not lo2 ));
    n191 <= not (( not pi04 and not lo1 ));
    n192 <= not (( pi06 and pi07 and pi08 and pi09 ));
    n193 <= not (( pi10 and not pi11 and not pi12 and not lo4 ));
    n194 <= not (( not pi10 and pi11 and not pi12 and not lo4 ));
    n195 <= not (( not pi14 and pi15 and not lo0 and not lo1 ));
    n196 <= not (( not pi14 and pi15 and not lo2 and not lo4 ));
    n197 <= not (( pi04 and lo2 ));
    n198 <= not (( not pi04 and pi16 ));
    n199 <= not (( not lo1 and lo3 ));
    n200 <= not (( not lo4 and lo3 ));
    n201 <= not (( lo4 and not pi15 ));
    n202 <= not (( pi13 and pi15 and lo4 ));
    n203 <= not (( pi04 and lo3 and lo4 ));
    n204 <= not (( not lo3 and lo4 ));
    n205 <= not (( pi16 and lo4 ));
    n206 <= not (( lo0 and not lo4 ));
    n207 <= not (( lo0 and not lo4 ));
    n208 <= not (( lo0 and not lo2 ));
    n209 <= not (( pi15 and lo1 and lo4 ));
    n210 <= not (( lo1 and lo2 and lo4 ));
    n211 <= not (( pi00 and lo1 ));
    n212 <= not (( lo4 and lo3 ));
    n213 <= not (( lo2 and lo1 and not lo0 and not n212 ));
    n214 <= ( not pi16 and not pi03 and pi02 and not pi01 );
    n215 <= not (( not lo3 and not n214 ));
    n216 <= not (( lo4 and lo3 and lo2 ));
    n217 <= ( pi16 and pi15 and pi13 );
    n218 <= not (( not lo1 and not pi04 and not n216 and not n217 ));
    n219 <= not (( lo4 and not lo3 ));
    n220 <= not (( not pi03 and not pi02 and not pi01 and not n219 ));
    n221 <= not (( n185 and n182 ));
    n222 <= not (( not lo2 and lo1 and not pi04 and not n221 ));
    n223 <= not (( not lo4 and lo2 and pi15 and pi09 ));
    n224 <= not (( not pi08 and not pi07 and pi06 and not n223 ));
    n225 <= ( lo4 and lo3 );
    n226 <= not (( not lo2 and lo1 and not pi16 and not n225 ));
    n227 <= not (( not lo4 and not lo3 ));
    n228 <= not (( not lo2 and not lo1 and not lo0 and not n227 ));
    n229 <= ( not lo2 and lo0 );
    n230 <= not (( lo4 and lo3 and not lo1 and not n229 ));
    n231 <= ( not lo4 and not lo3 and lo0 );
    n232 <= not (( lo2 and not n231 ));
    n233 <= ( not lo4 and not lo3 and lo0 );
    n234 <= not (( lo2 and not n233 ));
    n235 <= not (( pi09 and pi08 ));
    n236 <= not (( lo0 and pi15 ));
    n237 <= not (( pi07 and pi06 and not n235 and not n236 ));
    n238 <= ( not n105 and not n94 and not n76 );
    n239 <= not (( not lo1 and not lo0 and not n238 ));
    n240 <= not (( lo3 and lo2 and not lo1 and pi16 ));
    n241 <= not (( n193 and n194 and n207 ));
    n242 <= not (( pi15 and not pi04 and not n240 and not n241 ));
    n243 <= not (( n208 and n198 ));
    n244 <= not (( lo4 and lo3 and not lo1 and not n243 ));
    n245 <= not (( n191 and lo0 and n211 ));
    n246 <= not (( lo4 and lo3 and lo2 and not n245 ));
    n247 <= ( not n83 and lo0 );
    n248 <= not (( not n147 and not n133 and not n247 ));
    n249 <= not (( lo4 and lo3 and not lo2 ));
    n250 <= ( not n135 and pi16 );
    n251 <= not (( lo1 and not pi04 and not n249 and not n250 ));
    n252 <= ( not n96 and lo4 and lo2 and not n302 );
    n253 <= not (( n237 and n298 ));
    n254 <= not (( not lo2 and pi16 and not pi04 and not n253 ));
    n255 <= ( not n143 and not n304 );
    n256 <= not (( lo2 and lo1 and not n255 ));
    n257 <= ( not n145 and not n305 );
    n258 <= not (( lo2 and lo1 and not n257 ));
    n259 <= not (( not lo1 and pi16 and not pi04 and not n248 ));
    n260 <= ( not n127 and not n153 and not n166 );
    n261 <= not (( not lo0 and not n260 ));
    n262 <= ( not n162 and not n170 and not n306 );
    n263 <= not (( not lo0 and not n262 ));
    n264 <= ( not n168 and not n172 and not n307 );
    n265 <= not (( pi16 and not n264 ));
    n266 <= not (( n179 and n180 and n178 and not pi04 ));
    n267 <= not (( lo3 and not lo2 and lo1 and not pi04 ));
    n268 <= not (( not lo3 and not lo2 and lo1 and pi15 ));
    n269 <= not (( not lo3 and not lo2 and lo1 and pi15 ));
    n270 <= not (( lo2 and lo1 and not lo0 and not pi05 ));
    n271 <= not (( lo2 and lo1 and not lo0 and pi05 ));
    n272 <= not (( not lo3 and lo2 and lo1 and not lo0 ));
    n273 <= not (( lo3 and lo2 and lo1 and not lo0 ));
    n274 <= not (( not lo3 and lo2 and lo1 and not lo0 ));
    n275 <= not (( lo2 and lo1 and not lo0 and pi16 ));
    n276 <= not (( not lo3 and lo2 and lo1 and not lo0 ));
    n277 <= ( not lo1 and not lo0 );
    n278 <= not (( not pi16 and pi03 and not pi01 and n277 ));
    n279 <= not (( not lo2 and not lo1 and not lo0 and pi15 ));
    n280 <= not (( lo3 and not lo2 and not lo1 and not lo0 ));
    n281 <= not (( not lo1 and not lo0 and not pi16 ));
    n282 <= not (( not lo1 and not lo0 and pi15 and pi14 ));
    n283 <= not (( n195 and n189 ));
    n284 <= not (( n196 and n186 and n203 and n197 ));
    n285 <= not (( n204 and n183 and n205 and lo2 ));
    n286 <= ( lo0 and pi15 and pi09 );
    n287 <= not (( n209 and n188 and n199 and not lo2 ));
    n288 <= ( pi15 and not n266 );
    n289 <= not (( not lo1 and not lo0 and pi16 and n288 ));
    n290 <= not (( n215 and not lo4 and not lo2 and n283 ));
    n291 <= ( lo1 and pi04 );
    n292 <= not (( n232 and n291 ));
    n293 <= ( lo1 and pi04 );
    n294 <= not (( n234 and n293 ));
    n295 <= ( not n106 and not n121 and not n92 );
    n296 <= ( not pi03 and pi02 and not pi01 and not n281 );
    n297 <= not (( not lo4 and not lo3 and not lo2 and n296 ));
    n298 <= ( lo3 and not n122 and not n123 );
    n299 <= ( not n129 and not n149 );
    n300 <= ( not n88 and not n98 );
    n301 <= ( not n89 and not n100 );
    n302 <= ( not n117 and not n87 );
    n303 <= ( not n85 and not n120 );
    n304 <= ( not n97 and not n300 );
    n305 <= ( not n99 and not n301 );
    n306 <= ( not n131 and not n285 );
    n307 <= ( not n114 and not n287 );
end ISCAS__s820_behav;
