--- VHDL generated by LogSynth framework (c) Petr Fiser
Library IEEE;
use IEEE.std_logic_1164.all;

entity Cookbook__cntr_updn is 
  Port (
    pi00,pi01,pi02,pi03,pi04,pi05,pi06,pi07,pi08,pi09,pi10,pi11,pi12,pi13,pi14,pi15,pi16,pi17,pi18,pi19,lo00,lo01,lo02,lo03,lo04,lo05,lo06,lo07,lo08,lo09,lo10,lo11,lo12,lo13,lo14,lo15: in std_logic;
    po00,po01,po02,po03,po04,po05,po06,po07,po08,po09,po10,po11,po12,po13,po14,po15,n73,n78,n83,n88_1,n93_1,n98_1,n103_1,n108_1,n113_1,n118_1,n123_1,n128_1,n133_1,n138_1,n143_1,n148: inout std_logic
  );
end Cookbook__cntr_updn;

architecture Cookbook__cntr_updn_behav of Cookbook__cntr_updn is
signal 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: std_logic;
begin
    n84 <= ( not lo00 and not lo01 and not pi19 )
      or ( not lo00 and lo01 and pi19 )
      or ( lo00 and not lo01 and pi19 )
      or ( lo00 and lo01 and not pi19 );
    n85 <= ( lo00 and lo01 )
      or ( lo00 and not pi19 )
      or ( lo01 and not pi19 );
    n86 <= ( not n85 and not lo02 and not pi19 )
      or ( not n85 and lo02 and pi19 )
      or ( n85 and not lo02 and pi19 )
      or ( n85 and lo02 and not pi19 );
    n87 <= ( n85 and lo02 )
      or ( n85 and not pi19 )
      or ( lo02 and not pi19 );
    n88 <= ( not n87 and not lo03 and not pi19 )
      or ( not n87 and lo03 and pi19 )
      or ( n87 and not lo03 and pi19 )
      or ( n87 and lo03 and not pi19 );
    n89 <= ( n87 and lo03 )
      or ( n87 and not pi19 )
      or ( lo03 and not pi19 );
    n90 <= ( not n89 and not lo04 and not pi19 )
      or ( not n89 and lo04 and pi19 )
      or ( n89 and not lo04 and pi19 )
      or ( n89 and lo04 and not pi19 );
    n91 <= ( n89 and lo04 )
      or ( n89 and not pi19 )
      or ( lo04 and not pi19 );
    n92 <= ( not n91 and not lo05 and not pi19 )
      or ( not n91 and lo05 and pi19 )
      or ( n91 and not lo05 and pi19 )
      or ( n91 and lo05 and not pi19 );
    n93 <= ( n91 and lo05 )
      or ( n91 and not pi19 )
      or ( lo05 and not pi19 );
    n94 <= ( not n93 and not lo06 and not pi19 )
      or ( not n93 and lo06 and pi19 )
      or ( n93 and not lo06 and pi19 )
      or ( n93 and lo06 and not pi19 );
    n95 <= ( n93 and lo06 )
      or ( n93 and not pi19 )
      or ( lo06 and not pi19 );
    n96 <= ( not n95 and not lo07 and not pi19 )
      or ( not n95 and lo07 and pi19 )
      or ( n95 and not lo07 and pi19 )
      or ( n95 and lo07 and not pi19 );
    n97 <= ( n95 and lo07 )
      or ( n95 and not pi19 )
      or ( lo07 and not pi19 );
    n98 <= ( not n97 and not lo08 and not pi19 )
      or ( not n97 and lo08 and pi19 )
      or ( n97 and not lo08 and pi19 )
      or ( n97 and lo08 and not pi19 );
    n99 <= ( n97 and lo08 )
      or ( n97 and not pi19 )
      or ( lo08 and not pi19 );
    n100 <= ( not n99 and not lo09 and not pi19 )
      or ( not n99 and lo09 and pi19 )
      or ( n99 and not lo09 and pi19 )
      or ( n99 and lo09 and not pi19 );
    n101 <= ( n99 and lo09 )
      or ( n99 and not pi19 )
      or ( lo09 and not pi19 );
    n102 <= ( not n101 and not lo10 and not pi19 )
      or ( not n101 and lo10 and pi19 )
      or ( n101 and not lo10 and pi19 )
      or ( n101 and lo10 and not pi19 );
    n103 <= ( n101 and lo10 )
      or ( n101 and not pi19 )
      or ( lo10 and not pi19 );
    n104 <= ( not n103 and not lo11 and not pi19 )
      or ( not n103 and lo11 and pi19 )
      or ( n103 and not lo11 and pi19 )
      or ( n103 and lo11 and not pi19 );
    n105 <= ( n103 and lo11 )
      or ( n103 and not pi19 )
      or ( lo11 and not pi19 );
    n106 <= ( not n105 and not lo12 and not pi19 )
      or ( not n105 and lo12 and pi19 )
      or ( n105 and not lo12 and pi19 )
      or ( n105 and lo12 and not pi19 );
    n107 <= ( n105 and lo12 )
      or ( n105 and not pi19 )
      or ( lo12 and not pi19 );
    n108 <= ( not n107 and not lo13 and not pi19 )
      or ( not n107 and lo13 and pi19 )
      or ( n107 and not lo13 and pi19 )
      or ( n107 and lo13 and not pi19 );
    n109 <= ( n107 and lo13 )
      or ( n107 and not pi19 )
      or ( lo13 and not pi19 );
    n110 <= ( not n109 and not lo14 and not pi19 )
      or ( not n109 and lo14 and pi19 )
      or ( n109 and not lo14 and pi19 )
      or ( n109 and lo14 and not pi19 );
    n111 <= ( n109 and lo14 )
      or ( n109 and not pi19 )
      or ( lo14 and not pi19 );
    n112 <= ( not n111 and not lo15 and not pi19 )
      or ( not n111 and lo15 and pi19 )
      or ( n111 and not lo15 and pi19 )
      or ( n111 and lo15 and not pi19 );
    n113 <= ( not lo00 and not pi01 )
      or ( pi17 and pi01 );
    n114 <= ( n84 and not pi01 )
      or ( pi16 and pi01 );
    n115 <= ( n86 and not pi01 )
      or ( pi15 and pi01 );
    n116 <= ( n88 and not pi01 )
      or ( pi14 and pi01 );
    n117 <= ( n90 and not pi01 )
      or ( pi13 and pi01 );
    n118 <= ( n92 and not pi01 )
      or ( pi12 and pi01 );
    n119 <= ( n94 and not pi01 )
      or ( pi11 and pi01 );
    n120 <= ( n96 and not pi01 )
      or ( pi10 and pi01 );
    n121 <= ( n98 and not pi01 )
      or ( pi09 and pi01 );
    n122 <= ( n100 and not pi01 )
      or ( pi08 and pi01 );
    n123 <= ( n102 and not pi01 )
      or ( pi07 and pi01 );
    n124 <= ( n104 and not pi01 )
      or ( pi06 and pi01 );
    n125 <= ( n106 and not pi01 )
      or ( pi05 and pi01 );
    n126 <= ( n108 and not pi01 )
      or ( pi04 and pi01 );
    n127 <= ( n110 and not pi01 )
      or ( pi03 and pi01 );
    n128 <= ( n112 and not pi01 )
      or ( pi02 and pi01 );
    n129 <= ( n113 and not pi18 );
    n130 <= ( n114 and not pi18 );
    n131 <= ( n115 and not pi18 );
    n132 <= ( n116 and not pi18 );
    n133 <= ( n117 and not pi18 );
    n134 <= ( n118 and not pi18 );
    n135 <= ( n119 and not pi18 );
    n136 <= ( n120 and not pi18 );
    n137 <= ( n121 and not pi18 );
    n138 <= ( n122 and not pi18 );
    n139 <= ( n123 and not pi18 );
    n140 <= ( n124 and not pi18 );
    n141 <= ( n125 and not pi18 );
    n142 <= ( n126 and not pi18 );
    n143 <= ( n127 and not pi18 );
    n144 <= ( n128 and not pi18 );
    n73 <= ( lo00 and not pi00 )
      or ( n129 and pi00 );
    n78 <= ( lo01 and not pi00 )
      or ( n130 and pi00 );
    n83 <= ( lo02 and not pi00 )
      or ( n131 and pi00 );
    n88_1 <= ( lo03 and not pi00 )
      or ( n132 and pi00 );
    n93_1 <= ( lo04 and not pi00 )
      or ( n133 and pi00 );
    n98_1 <= ( lo05 and not pi00 )
      or ( n134 and pi00 );
    n103_1 <= ( lo06 and not pi00 )
      or ( n135 and pi00 );
    n108_1 <= ( lo07 and not pi00 )
      or ( n136 and pi00 );
    n113_1 <= ( lo08 and not pi00 )
      or ( n137 and pi00 );
    n118_1 <= ( lo09 and not pi00 )
      or ( n138 and pi00 );
    n123_1 <= ( lo10 and not pi00 )
      or ( n139 and pi00 );
    n128_1 <= ( lo11 and not pi00 )
      or ( n140 and pi00 );
    n133_1 <= ( lo12 and not pi00 )
      or ( n141 and pi00 );
    n138_1 <= ( lo13 and not pi00 )
      or ( n142 and pi00 );
    n143_1 <= ( lo14 and not pi00 )
      or ( n143 and pi00 );
    n148 <= ( lo15 and not pi00 )
      or ( n144 and pi00 );
    po00 <= ( lo15 );
    po01 <= ( lo14 );
    po02 <= ( lo13 );
    po03 <= ( lo12 );
    po04 <= ( lo11 );
    po05 <= ( lo10 );
    po06 <= ( lo09 );
    po07 <= ( lo08 );
    po08 <= ( lo07 );
    po09 <= ( lo06 );
    po10 <= ( lo05 );
    po11 <= ( lo04 );
    po12 <= ( lo03 );
    po13 <= ( lo02 );
    po14 <= ( lo01 );
    po15 <= ( lo00 );
end Cookbook__cntr_updn_behav;
