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

entity Cookbook__pipeline_add is 
  Port (
    pi00,pi01,pi02,pi03,pi04,pi05,pi06,pi07,pi08,pi09,pi10,pi11,pi12,pi13,pi14,pi15,pi16,pi17,pi18,pi19,pi20,pi21,pi22,pi23,pi24,pi25,pi26,pi27,pi28,pi29,pi30,pi31,pi32,pi33,pi34,pi35,pi36,pi37,pi38,pi39,lo00,lo01,lo02,lo03,lo04,lo05,lo06,lo07,lo08,lo09,lo10,lo11,lo12,lo13,lo14,lo15,lo16,lo17,lo18,lo19,lo20,lo21,lo22,lo23,lo24,lo25,lo26,lo27,lo28,lo29,lo30,lo31,lo32,lo33,lo34,lo35,lo36,lo37,lo38,lo39,lo40,lo41,lo42,lo43,lo44,lo45,lo46,lo47,lo48,lo49,lo50: in std_logic;
    po00,po01,po02,po03,po04,po05,po06,po07,po08,po09,po10,po11,po12,po13,po14,po15,po16,po17,po18,po19,n121,n126,n131,n136,n141,n146,n151,n156,n161,n166,n171,n176,n181,n186,n191,n196,n201,n206,n211,n216_1,n221,n226_1,n231,n236_1,n241,n246_1,n251,n256,n261,n266,n271,n276,n281,n286,n291,n296,n301,n306,n311,n316,n321,n326,n331,n336,n341,n346,n351,n356,n361,n366,n371: inout std_logic
  );
end Cookbook__pipeline_add;

architecture Cookbook__pipeline_add_behav of Cookbook__pipeline_add is
signal n214,n216,n218,n220,n222,n224,n226,n228,n230,n234,n236,n238,n240,n242,n244,n246,n248,n250: std_logic;
begin
    n321 <= ( not pi19 and pi39 )
      or ( pi19 and not pi39 );
    n214 <= ( pi19 and pi39 );
    n326 <= ( not n214 and not pi18 and pi38 )
      or ( not n214 and pi18 and not pi38 )
      or ( n214 and not pi18 and not pi38 )
      or ( n214 and pi18 and pi38 );
    n216 <= ( n214 and pi18 )
      or ( n214 and pi38 )
      or ( pi18 and pi38 );
    n331 <= ( not n216 and not pi17 and pi37 )
      or ( not n216 and pi17 and not pi37 )
      or ( n216 and not pi17 and not pi37 )
      or ( n216 and pi17 and pi37 );
    n218 <= ( n216 and pi17 )
      or ( n216 and pi37 )
      or ( pi17 and pi37 );
    n336 <= ( not n218 and not pi16 and pi36 )
      or ( not n218 and pi16 and not pi36 )
      or ( n218 and not pi16 and not pi36 )
      or ( n218 and pi16 and pi36 );
    n220 <= ( n218 and pi16 )
      or ( n218 and pi36 )
      or ( pi16 and pi36 );
    n341 <= ( not n220 and not pi15 and pi35 )
      or ( not n220 and pi15 and not pi35 )
      or ( n220 and not pi15 and not pi35 )
      or ( n220 and pi15 and pi35 );
    n222 <= ( n220 and pi15 )
      or ( n220 and pi35 )
      or ( pi15 and pi35 );
    n346 <= ( not n222 and not pi14 and pi34 )
      or ( not n222 and pi14 and not pi34 )
      or ( n222 and not pi14 and not pi34 )
      or ( n222 and pi14 and pi34 );
    n224 <= ( n222 and pi14 )
      or ( n222 and pi34 )
      or ( pi14 and pi34 );
    n351 <= ( not n224 and not pi13 and pi33 )
      or ( not n224 and pi13 and not pi33 )
      or ( n224 and not pi13 and not pi33 )
      or ( n224 and pi13 and pi33 );
    n226 <= ( n224 and pi13 )
      or ( n224 and pi33 )
      or ( pi13 and pi33 );
    n356 <= ( not n226 and not pi12 and pi32 )
      or ( not n226 and pi12 and not pi32 )
      or ( n226 and not pi12 and not pi32 )
      or ( n226 and pi12 and pi32 );
    n228 <= ( n226 and pi12 )
      or ( n226 and pi32 )
      or ( pi12 and pi32 );
    n361 <= ( not n228 and not pi11 and pi31 )
      or ( not n228 and pi11 and not pi31 )
      or ( n228 and not pi11 and not pi31 )
      or ( n228 and pi11 and pi31 );
    n230 <= ( n228 and pi11 )
      or ( n228 and pi31 )
      or ( pi11 and pi31 );
    n366 <= ( not n230 and not pi10 and pi30 )
      or ( not n230 and pi10 and not pi30 )
      or ( n230 and not pi10 and not pi30 )
      or ( n230 and pi10 and pi30 );
    n371 <= ( n230 and pi10 )
      or ( n230 and pi30 )
      or ( pi10 and pi30 );
    n271 <= ( not lo50 and not lo00 and lo10 )
      or ( not lo50 and lo00 and not lo10 )
      or ( lo50 and not lo00 and not lo10 )
      or ( lo50 and lo00 and lo10 );
    n234 <= ( lo50 and lo00 )
      or ( lo50 and lo10 )
      or ( lo00 and lo10 );
    n276 <= ( not n234 and not lo01 and lo11 )
      or ( not n234 and lo01 and not lo11 )
      or ( n234 and not lo01 and not lo11 )
      or ( n234 and lo01 and lo11 );
    n236 <= ( n234 and lo01 )
      or ( n234 and lo11 )
      or ( lo01 and lo11 );
    n281 <= ( not n236 and not lo02 and lo12 )
      or ( not n236 and lo02 and not lo12 )
      or ( n236 and not lo02 and not lo12 )
      or ( n236 and lo02 and lo12 );
    n238 <= ( n236 and lo02 )
      or ( n236 and lo12 )
      or ( lo02 and lo12 );
    n286 <= ( not n238 and not lo03 and lo13 )
      or ( not n238 and lo03 and not lo13 )
      or ( n238 and not lo03 and not lo13 )
      or ( n238 and lo03 and lo13 );
    n240 <= ( n238 and lo03 )
      or ( n238 and lo13 )
      or ( lo03 and lo13 );
    n291 <= ( not n240 and not lo04 and lo14 )
      or ( not n240 and lo04 and not lo14 )
      or ( n240 and not lo04 and not lo14 )
      or ( n240 and lo04 and lo14 );
    n242 <= ( n240 and lo04 )
      or ( n240 and lo14 )
      or ( lo04 and lo14 );
    n296 <= ( not n242 and not lo05 and lo15 )
      or ( not n242 and lo05 and not lo15 )
      or ( n242 and not lo05 and not lo15 )
      or ( n242 and lo05 and lo15 );
    n244 <= ( n242 and lo05 )
      or ( n242 and lo15 )
      or ( lo05 and lo15 );
    n301 <= ( not n244 and not lo06 and lo16 )
      or ( not n244 and lo06 and not lo16 )
      or ( n244 and not lo06 and not lo16 )
      or ( n244 and lo06 and lo16 );
    n246 <= ( n244 and lo06 )
      or ( n244 and lo16 )
      or ( lo06 and lo16 );
    n306 <= ( not n246 and not lo07 and lo17 )
      or ( not n246 and lo07 and not lo17 )
      or ( n246 and not lo07 and not lo17 )
      or ( n246 and lo07 and lo17 );
    n248 <= ( n246 and lo07 )
      or ( n246 and lo17 )
      or ( lo07 and lo17 );
    n311 <= ( not n248 and not lo08 and lo18 )
      or ( not n248 and lo08 and not lo18 )
      or ( n248 and not lo08 and not lo18 )
      or ( n248 and lo08 and lo18 );
    n250 <= ( n248 and lo08 )
      or ( n248 and lo18 )
      or ( lo08 and lo18 );
    n316 <= ( not n250 and not lo09 and lo19 )
      or ( not n250 and lo09 and not lo19 )
      or ( n250 and not lo09 and not lo19 )
      or ( n250 and lo09 and lo19 );
    n121 <= ( pi09 );
    n126 <= ( pi08 );
    n131 <= ( pi07 );
    n136 <= ( pi06 );
    n141 <= ( pi05 );
    n146 <= ( pi04 );
    n151 <= ( pi03 );
    n156 <= ( pi02 );
    n161 <= ( pi01 );
    n166 <= ( pi00 );
    n171 <= ( pi29 );
    n176 <= ( pi28 );
    n181 <= ( pi27 );
    n186 <= ( pi26 );
    n191 <= ( pi25 );
    n196 <= ( pi24 );
    n201 <= ( pi23 );
    n206 <= ( pi22 );
    n211 <= ( pi21 );
    n216_1 <= ( pi20 );
    n221 <= ( lo40 );
    n226_1 <= ( lo41 );
    n231 <= ( lo42 );
    n236_1 <= ( lo43 );
    n241 <= ( lo44 );
    n246_1 <= ( lo45 );
    n251 <= ( lo46 );
    n256 <= ( lo47 );
    n261 <= ( lo48 );
    n266 <= ( lo49 );
    po00 <= ( lo39 );
    po01 <= ( lo38 );
    po02 <= ( lo37 );
    po03 <= ( lo36 );
    po04 <= ( lo35 );
    po05 <= ( lo34 );
    po06 <= ( lo33 );
    po07 <= ( lo32 );
    po08 <= ( lo31 );
    po09 <= ( lo30 );
    po10 <= ( lo29 );
    po11 <= ( lo28 );
    po12 <= ( lo27 );
    po13 <= ( lo26 );
    po14 <= ( lo25 );
    po15 <= ( lo24 );
    po16 <= ( lo23 );
    po17 <= ( lo22 );
    po18 <= ( lo21 );
    po19 <= ( lo20 );
end Cookbook__pipeline_add_behav;
