--- 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 Cookbook__two_to_one 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,pi40,pi41,pi42,pi43,pi44,pi45,pi46,pi47,pi48,pi49,pi50,pi51,pi52,pi53,pi54,pi55,pi56,pi57,pi58,pi59,pi60,pi61,pi62,pi63,pi64,pi65,pi66,pi67, 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,po22,po23,po24,po25,po26,po27,po28,po29,po30,po31,po32,po33,po34: inout std_logic
  );
end Cookbook__two_to_one;

architecture Cookbook__two_to_one_behav of Cookbook__two_to_one 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,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,lo51,lo52,lo53,lo54,lo55,lo56,lo57,lo58,lo59,lo60,lo61,lo62,lo63,lo64,lo65,lo66,lo67,n307,n308,n309,n312,n313,n314,n315,n316,n317,n318,n319,n320,n321,n322,n323,n324,n325,n326,n327,n328,n329,n330,n331,n332,n333,n334,n335,n336,n337,n338,n339,n340,n341,n342,n343,n344,n345,n346,n347,n348,n349,n350,n351,n352,n353,n354,n355,n356,n357,n358,n359,n360,n361,n362,n363,n364,n365,n366,n367,n368,n369,n370,n371,n372,n373,n374,n375,n376,n377,n378,n379,n380,n381,n382,li02,li03,li04,li05,li06,li07,li08,li09,li10,li11,li12,li13,li14,li15,li16,li17,li18,li19,li20,li21,li22,li23,li24,li25,li26,li27,li28,li29,li30,li31,li32,li33,li34,li35,li36,li37,li38,li39,li40,li41,li42,li43,li44,li45,li46,li47,li48,li49,li50,li51,li52,li53,li54,li55,li56,li57,li58,li59,li60,li61,li62,li63,li64,li65,li66,li67,li00,li01: 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);
    DFF22: DFF port map (li22, CLK, lo22);
    DFF23: DFF port map (li23, CLK, lo23);
    DFF24: DFF port map (li24, CLK, lo24);
    DFF25: DFF port map (li25, CLK, lo25);
    DFF26: DFF port map (li26, CLK, lo26);
    DFF27: DFF port map (li27, CLK, lo27);
    DFF28: DFF port map (li28, CLK, lo28);
    DFF29: DFF port map (li29, CLK, lo29);
    DFF30: DFF port map (li30, CLK, lo30);
    DFF31: DFF port map (li31, CLK, lo31);
    DFF32: DFF port map (li32, CLK, lo32);
    DFF33: DFF port map (li33, CLK, lo33);
    DFF34: DFF port map (li34, CLK, lo34);
    DFF35: DFF port map (li35, CLK, lo35);
    DFF36: DFF port map (li36, CLK, lo36);
    DFF37: DFF port map (li37, CLK, lo37);
    DFF38: DFF port map (li38, CLK, lo38);
    DFF39: DFF port map (li39, CLK, lo39);
    DFF40: DFF port map (li40, CLK, lo40);
    DFF41: DFF port map (li41, CLK, lo41);
    DFF42: DFF port map (li42, CLK, lo42);
    DFF43: DFF port map (li43, CLK, lo43);
    DFF44: DFF port map (li44, CLK, lo44);
    DFF45: DFF port map (li45, CLK, lo45);
    DFF46: DFF port map (li46, CLK, lo46);
    DFF47: DFF port map (li47, CLK, lo47);
    DFF48: DFF port map (li48, CLK, lo48);
    DFF49: DFF port map (li49, CLK, lo49);
    DFF50: DFF port map (li50, CLK, lo50);
    DFF51: DFF port map (li51, CLK, lo51);
    DFF52: DFF port map (li52, CLK, lo52);
    DFF53: DFF port map (li53, CLK, lo53);
    DFF54: DFF port map (li54, CLK, lo54);
    DFF55: DFF port map (li55, CLK, lo55);
    DFF56: DFF port map (li56, CLK, lo56);
    DFF57: DFF port map (li57, CLK, lo57);
    DFF58: DFF port map (li58, CLK, lo58);
    DFF59: DFF port map (li59, CLK, lo59);
    DFF60: DFF port map (li60, CLK, lo60);
    DFF61: DFF port map (li61, CLK, lo61);
    DFF62: DFF port map (li62, CLK, lo62);
    DFF63: DFF port map (li63, CLK, lo63);
    DFF64: DFF port map (li64, CLK, lo64);
    DFF65: DFF port map (li65, CLK, lo65);
    DFF66: DFF port map (li66, CLK, lo66);
    DFF67: DFF port map (li67, CLK, lo67);
    n307 <= not (( not lo00 and not lo01 ));
    n308 <= not (( lo00 and not lo01 ));
    n309 <= ( not n308 and pi67 );
    po00 <= not (( n307 and not n309 ));
    po34 <= not (( not lo00 and not lo01 ));
    n312 <= ( po00 and pi66 );
    n313 <= ( po34 and pi67 );
    n314 <= ( not lo00 and not lo01 )
      or ( lo00 and lo01 );
    n315 <= ( not lo00 and n313 )
      or ( lo00 and not n313 );
    n316 <= ( lo01 and not n313 )
      or ( n314 and n313 );
    n317 <= ( lo02 and not n313 )
      or ( lo35 and n313 );
    n318 <= ( lo03 and not n313 )
      or ( lo36 and n313 );
    n319 <= ( lo04 and not n313 )
      or ( lo37 and n313 );
    n320 <= ( lo05 and not n313 )
      or ( lo38 and n313 );
    n321 <= ( lo06 and not n313 )
      or ( lo39 and n313 );
    n322 <= ( lo07 and not n313 )
      or ( lo40 and n313 );
    n323 <= ( lo08 and not n313 )
      or ( lo41 and n313 );
    n324 <= ( lo09 and not n313 )
      or ( lo42 and n313 );
    n325 <= ( lo10 and not n313 )
      or ( lo43 and n313 );
    n326 <= ( lo11 and not n313 )
      or ( lo44 and n313 );
    n327 <= ( lo12 and not n313 )
      or ( lo45 and n313 );
    n328 <= ( lo13 and not n313 )
      or ( lo46 and n313 );
    n329 <= ( lo14 and not n313 )
      or ( lo47 and n313 );
    n330 <= ( lo15 and not n313 )
      or ( lo48 and n313 );
    n331 <= ( lo16 and not n313 )
      or ( lo49 and n313 );
    n332 <= ( lo17 and not n313 )
      or ( lo50 and n313 );
    n333 <= ( lo18 and not n313 )
      or ( lo51 and n313 );
    n334 <= ( lo19 and not n313 )
      or ( lo52 and n313 );
    n335 <= ( lo20 and not n313 )
      or ( lo53 and n313 );
    n336 <= ( lo21 and not n313 )
      or ( lo54 and n313 );
    n337 <= ( lo22 and not n313 )
      or ( lo55 and n313 );
    n338 <= ( lo23 and not n313 )
      or ( lo56 and n313 );
    n339 <= ( lo24 and not n313 )
      or ( lo57 and n313 );
    n340 <= ( lo25 and not n313 )
      or ( lo58 and n313 );
    n341 <= ( lo26 and not n313 )
      or ( lo59 and n313 );
    n342 <= ( lo27 and not n313 )
      or ( lo60 and n313 );
    n343 <= ( lo28 and not n313 )
      or ( lo61 and n313 );
    n344 <= ( lo29 and not n313 )
      or ( lo62 and n313 );
    n345 <= ( lo30 and not n313 )
      or ( lo63 and n313 );
    n346 <= ( lo31 and not n313 )
      or ( lo64 and n313 );
    n347 <= ( lo32 and not n313 )
      or ( lo65 and n313 );
    n348 <= ( lo33 and not n313 )
      or ( lo66 and n313 );
    n349 <= ( lo34 and not n313 )
      or ( lo67 and n313 );
    n350 <= ( lo35 and not n313 );
    n351 <= ( lo36 and not n313 );
    n352 <= ( lo37 and not n313 );
    n353 <= ( lo38 and not n313 );
    n354 <= ( lo39 and not n313 );
    n355 <= ( lo40 and not n313 );
    n356 <= ( lo41 and not n313 );
    n357 <= ( lo42 and not n313 );
    n358 <= ( lo43 and not n313 );
    n359 <= ( lo44 and not n313 );
    n360 <= ( lo45 and not n313 );
    n361 <= ( lo46 and not n313 );
    n362 <= ( lo47 and not n313 );
    n363 <= ( lo48 and not n313 );
    n364 <= ( lo49 and not n313 );
    n365 <= ( lo50 and not n313 );
    n366 <= ( lo51 and not n313 );
    n367 <= ( lo52 and not n313 );
    n368 <= ( lo53 and not n313 );
    n369 <= ( lo54 and not n313 );
    n370 <= ( lo55 and not n313 );
    n371 <= ( lo56 and not n313 );
    n372 <= ( lo57 and not n313 );
    n373 <= ( lo58 and not n313 );
    n374 <= ( lo59 and not n313 );
    n375 <= ( lo60 and not n313 );
    n376 <= ( lo61 and not n313 );
    n377 <= ( lo62 and not n313 );
    n378 <= ( lo63 and not n313 );
    n379 <= ( lo64 and not n313 );
    n380 <= ( lo65 and not n313 );
    n381 <= ( lo66 and not n313 );
    n382 <= ( lo67 and not n313 );
    li02 <= ( n317 and not n312 )
      or ( pi65 and n312 );
    li03 <= ( n318 and not n312 )
      or ( pi64 and n312 );
    li04 <= ( n319 and not n312 )
      or ( pi63 and n312 );
    li05 <= ( n320 and not n312 )
      or ( pi62 and n312 );
    li06 <= ( n321 and not n312 )
      or ( pi61 and n312 );
    li07 <= ( n322 and not n312 )
      or ( pi60 and n312 );
    li08 <= ( n323 and not n312 )
      or ( pi59 and n312 );
    li09 <= ( n324 and not n312 )
      or ( pi58 and n312 );
    li10 <= ( n325 and not n312 )
      or ( pi57 and n312 );
    li11 <= ( n326 and not n312 )
      or ( pi56 and n312 );
    li12 <= ( n327 and not n312 )
      or ( pi55 and n312 );
    li13 <= ( n328 and not n312 )
      or ( pi54 and n312 );
    li14 <= ( n329 and not n312 )
      or ( pi53 and n312 );
    li15 <= ( n330 and not n312 )
      or ( pi52 and n312 );
    li16 <= ( n331 and not n312 )
      or ( pi51 and n312 );
    li17 <= ( n332 and not n312 )
      or ( pi50 and n312 );
    li18 <= ( n333 and not n312 )
      or ( pi49 and n312 );
    li19 <= ( n334 and not n312 )
      or ( pi48 and n312 );
    li20 <= ( n335 and not n312 )
      or ( pi47 and n312 );
    li21 <= ( n336 and not n312 )
      or ( pi46 and n312 );
    li22 <= ( n337 and not n312 )
      or ( pi45 and n312 );
    li23 <= ( n338 and not n312 )
      or ( pi44 and n312 );
    li24 <= ( n339 and not n312 )
      or ( pi43 and n312 );
    li25 <= ( n340 and not n312 )
      or ( pi42 and n312 );
    li26 <= ( n341 and not n312 )
      or ( pi41 and n312 );
    li27 <= ( n342 and not n312 )
      or ( pi40 and n312 );
    li28 <= ( n343 and not n312 )
      or ( pi39 and n312 );
    li29 <= ( n344 and not n312 )
      or ( pi38 and n312 );
    li30 <= ( n345 and not n312 )
      or ( pi37 and n312 );
    li31 <= ( n346 and not n312 )
      or ( pi36 and n312 );
    li32 <= ( n347 and not n312 )
      or ( pi35 and n312 );
    li33 <= ( n348 and not n312 )
      or ( pi34 and n312 );
    li34 <= ( n349 and not n312 )
      or ( pi33 and n312 );
    li35 <= ( n350 and not n312 )
      or ( pi32 and n312 );
    li36 <= ( n351 and not n312 )
      or ( pi31 and n312 );
    li37 <= ( n352 and not n312 )
      or ( pi30 and n312 );
    li38 <= ( n353 and not n312 )
      or ( pi29 and n312 );
    li39 <= ( n354 and not n312 )
      or ( pi28 and n312 );
    li40 <= ( n355 and not n312 )
      or ( pi27 and n312 );
    li41 <= ( n356 and not n312 )
      or ( pi26 and n312 );
    li42 <= ( n357 and not n312 )
      or ( pi25 and n312 );
    li43 <= ( n358 and not n312 )
      or ( pi24 and n312 );
    li44 <= ( n359 and not n312 )
      or ( pi23 and n312 );
    li45 <= ( n360 and not n312 )
      or ( pi22 and n312 );
    li46 <= ( n361 and not n312 )
      or ( pi21 and n312 );
    li47 <= ( n362 and not n312 )
      or ( pi20 and n312 );
    li48 <= ( n363 and not n312 )
      or ( pi19 and n312 );
    li49 <= ( n364 and not n312 )
      or ( pi18 and n312 );
    li50 <= ( n365 and not n312 )
      or ( pi17 and n312 );
    li51 <= ( n366 and not n312 )
      or ( pi16 and n312 );
    li52 <= ( n367 and not n312 )
      or ( pi15 and n312 );
    li53 <= ( n368 and not n312 )
      or ( pi14 and n312 );
    li54 <= ( n369 and not n312 )
      or ( pi13 and n312 );
    li55 <= ( n370 and not n312 )
      or ( pi12 and n312 );
    li56 <= ( n371 and not n312 )
      or ( pi11 and n312 );
    li57 <= ( n372 and not n312 )
      or ( pi10 and n312 );
    li58 <= ( n373 and not n312 )
      or ( pi09 and n312 );
    li59 <= ( n374 and not n312 )
      or ( pi08 and n312 );
    li60 <= ( n375 and not n312 )
      or ( pi07 and n312 );
    li61 <= ( n376 and not n312 )
      or ( pi06 and n312 );
    li62 <= ( n377 and not n312 )
      or ( pi05 and n312 );
    li63 <= ( n378 and not n312 )
      or ( pi04 and n312 );
    li64 <= ( n379 and not n312 )
      or ( pi03 and n312 );
    li65 <= ( n380 and not n312 )
      or ( pi02 and n312 );
    li66 <= ( n381 and not n312 )
      or ( pi01 and n312 );
    li67 <= ( n382 and not n312 )
      or ( pi00 and n312 );
    li00 <= ( n315 and not n312 );
    li01 <= not (( not n316 and not n312 ));
    po01 <= ( lo34 );
    po02 <= ( lo33 );
    po03 <= ( lo32 );
    po04 <= ( lo31 );
    po05 <= ( lo30 );
    po06 <= ( lo29 );
    po07 <= ( lo28 );
    po08 <= ( lo27 );
    po09 <= ( lo26 );
    po10 <= ( lo25 );
    po11 <= ( lo24 );
    po12 <= ( lo23 );
    po13 <= ( lo22 );
    po14 <= ( lo21 );
    po15 <= ( lo20 );
    po16 <= ( lo19 );
    po17 <= ( lo18 );
    po18 <= ( lo17 );
    po19 <= ( lo16 );
    po20 <= ( lo15 );
    po21 <= ( lo14 );
    po22 <= ( lo13 );
    po23 <= ( lo12 );
    po24 <= ( lo11 );
    po25 <= ( lo10 );
    po26 <= ( lo09 );
    po27 <= ( lo08 );
    po28 <= ( lo07 );
    po29 <= ( lo06 );
    po30 <= ( lo05 );
    po31 <= ( lo04 );
    po32 <= ( lo03 );
    po33 <= ( lo02 );
end Cookbook__two_to_one_behav;
