--- 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__temp_sense_s5 is 
  Port (
    , CLK: in std_logic;
    po00,po01,po02,po03,po04,po05,po06,po07,po08,po09,po10,po11,po12,po13,po14,po15: inout std_logic
  );
end Cookbook__temp_sense_s5;

architecture Cookbook__temp_sense_s5_behav of Cookbook__temp_sense_s5 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,lo68,lo69,li58,li59,n228,li60,n230,li61,n232,li62,n234,li63,n236,li64,n238,li65,n240,li66,n242,li67,n244,li68,n246,li69,li00,li01,n250,li02,n252,li03,n254,li04,n256,li05,n258,li06,n260,li07,n262,n263,n264,n265,n266,n267,n268,n269,li08,li09,li10,li11,li12,li13,li14,li15,li16,li17,n280,n281,n282,n283,n284,n285,li50,n287,n288,n289,n290,n291,li51,n293,n294,n295,n296,li52,n298,n299,n300,li53,n302,n303,li54,n305,li55,li56,li34,li35,n310,li36,n312,li37,n314,li38,n316,li39,n318,li40,n320,li41,n322,n323,n324,n325,n326,n327,n328,n329,n330,n331,n332,n333,n334,li42,n336,li43,n338,li44,n340,li45,n342,li46,n344,n345,n346,n347,n348,n349,li47,li48,n352,li49,li18,li19,li20,li21,li22,li23,li24,li25,li26,li27,li28,li29,li30,li31,li32,li33,li57: 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);
    DFF68: DFF port map (li68, CLK, lo68);
    DFF69: DFF port map (li69, CLK, lo69);
    li58 <= ( not lo58 );
    li59 <= ( not lo58 and lo59 )
      or ( lo58 and not lo59 );
    n228 <= ( lo58 and lo59 );
    li60 <= ( not n228 and lo60 )
      or ( n228 and not lo60 );
    n230 <= ( n228 and lo60 );
    li61 <= ( not n230 and lo61 )
      or ( n230 and not lo61 );
    n232 <= ( n230 and lo61 );
    li62 <= ( not n232 and lo62 )
      or ( n232 and not lo62 );
    n234 <= ( n232 and lo62 );
    li63 <= ( not n234 and lo63 )
      or ( n234 and not lo63 );
    n236 <= ( n234 and lo63 );
    li64 <= ( not n236 and lo64 )
      or ( n236 and not lo64 );
    n238 <= ( n236 and lo64 );
    li65 <= ( not n238 and lo65 )
      or ( n238 and not lo65 );
    n240 <= ( n238 and lo65 );
    li66 <= ( not n240 and lo66 )
      or ( n240 and not lo66 );
    n242 <= ( n240 and lo66 );
    li67 <= ( not n242 and lo67 )
      or ( n242 and not lo67 );
    n244 <= ( n242 and lo67 );
    li68 <= ( not n244 and lo68 )
      or ( n244 and not lo68 );
    n246 <= ( n244 and lo68 );
    li69 <= ( not n246 and lo69 )
      or ( n246 and not lo69 );
    li00 <= ( not lo00 );
    li01 <= ( not lo00 and lo01 )
      or ( lo00 and not lo01 );
    n250 <= ( lo00 and lo01 );
    li02 <= ( not n250 and lo02 )
      or ( n250 and not lo02 );
    n252 <= ( n250 and lo02 );
    li03 <= ( not n252 and lo03 )
      or ( n252 and not lo03 );
    n254 <= ( n252 and lo03 );
    li04 <= ( not n254 and lo04 )
      or ( n254 and not lo04 );
    n256 <= ( n254 and lo04 );
    li05 <= ( not n256 and lo05 )
      or ( n256 and not lo05 );
    n258 <= ( n256 and lo05 );
    li06 <= ( not n258 and lo06 )
      or ( n258 and not lo06 );
    n260 <= ( n258 and lo06 );
    li07 <= ( not n260 and lo07 )
      or ( n260 and not lo07 );
    n262 <= ( lo00 and lo01 );
    n263 <= ( lo02 and lo03 );
    n264 <= ( n262 and n263 );
    n265 <= ( lo04 and lo05 );
    n266 <= ( lo06 and lo07 );
    n267 <= ( n265 and n266 );
    n268 <= ( n264 and n267 );
    n269 <= ( not lo16 and lo17 )
      or ( lo16 and not lo17 );
    li08 <= not (( not lo08 and not n268 ));
    li09 <= ( lo09 and not n268 );
    li10 <= not (( not lo10 and not n268 ));
    li11 <= ( lo11 and not n268 );
    li12 <= ( lo12 and not n268 );
    li13 <= ( lo13 and not n268 );
    li14 <= ( lo14 and not n268 );
    li15 <= not (( not lo15 and not n268 ));
    li16 <= ( not lo16 and n268 )
      or ( lo16 and not n268 );
    li17 <= ( lo17 and not n268 )
      or ( n269 and n268 );
    n280 <= ( not lo26 and lo27 )
      or ( lo26 and not lo27 );
    n281 <= ( not lo28 and lo29 )
      or ( lo28 and not lo29 );
    n282 <= ( not n280 and n281 )
      or ( n280 and not n281 );
    n283 <= ( not lo30 and lo31 )
      or ( lo30 and not lo31 );
    n284 <= ( not lo32 and lo33 )
      or ( lo32 and not lo33 );
    n285 <= ( not n283 and n284 )
      or ( n283 and not n284 );
    li50 <= ( not n282 and n285 )
      or ( n282 and not n285 );
    n287 <= ( not lo28 and lo29 )
      or ( lo28 and not lo29 );
    n288 <= ( not lo27 and n287 )
      or ( lo27 and not n287 );
    n289 <= ( not lo30 and lo31 )
      or ( lo30 and not lo31 );
    n290 <= ( not lo32 and lo33 )
      or ( lo32 and not lo33 );
    n291 <= ( not n289 and n290 )
      or ( n289 and not n290 );
    li51 <= ( not n288 and n291 )
      or ( n288 and not n291 );
    n293 <= ( not lo29 and lo30 )
      or ( lo29 and not lo30 );
    n294 <= ( not lo28 and n293 )
      or ( lo28 and not n293 );
    n295 <= ( not lo32 and lo33 )
      or ( lo32 and not lo33 );
    n296 <= ( not lo31 and n295 )
      or ( lo31 and not n295 );
    li52 <= ( not n294 and n296 )
      or ( n294 and not n296 );
    n298 <= ( not lo29 and lo30 )
      or ( lo29 and not lo30 );
    n299 <= ( not lo32 and lo33 )
      or ( lo32 and not lo33 );
    n300 <= ( not lo31 and n299 )
      or ( lo31 and not n299 );
    li53 <= ( not n298 and n300 )
      or ( n298 and not n300 );
    n302 <= ( not lo30 and lo31 )
      or ( lo30 and not lo31 );
    n303 <= ( not lo32 and lo33 )
      or ( lo32 and not lo33 );
    li54 <= ( not n302 and n303 )
      or ( n302 and not n303 );
    n305 <= ( not lo32 and lo33 )
      or ( lo32 and not lo33 );
    li55 <= ( not lo31 and n305 )
      or ( lo31 and not n305 );
    li56 <= ( not lo32 and lo33 )
      or ( lo32 and not lo33 );
    li34 <= ( not lo50 );
    li35 <= ( not lo50 and not lo51 )
      or ( lo50 and lo51 );
    n310 <= not (( not lo50 and not lo51 ));
    li36 <= ( not n310 and lo52 )
      or ( n310 and not lo52 );
    n312 <= ( n310 and lo52 );
    li37 <= ( not n312 and not lo53 )
      or ( n312 and lo53 );
    n314 <= not (( not n312 and not lo53 ));
    li38 <= ( not n314 and not lo54 )
      or ( n314 and lo54 );
    n316 <= not (( not n314 and not lo54 ));
    li39 <= ( not n316 and not lo55 )
      or ( n316 and lo55 );
    n318 <= not (( not n316 and not lo55 ));
    li40 <= ( not n318 and not lo56 )
      or ( n318 and lo56 );
    n320 <= not (( not n318 and not lo56 ));
    li41 <= ( not n320 and lo57 )
      or ( n320 and not lo57 );
    n322 <= ( not lo36 and not lo34 and lo37 )
      or ( not lo36 and lo34 and not lo37 )
      or ( lo36 and not lo34 and not lo37 )
      or ( lo36 and lo34 and lo37 );
    n323 <= ( not lo36 and lo34 )
      or ( not lo36 and not lo37 )
      or ( lo34 and not lo37 );
    n324 <= ( not n323 and not lo35 and not lo38 )
      or ( not n323 and lo35 and lo38 )
      or ( n323 and not lo35 and lo38 )
      or ( n323 and lo35 and not lo38 );
    n325 <= ( n323 and lo35 )
      or ( n323 and not lo38 )
      or ( lo35 and not lo38 );
    n326 <= ( not n325 and not lo36 and not lo39 )
      or ( not n325 and lo36 and lo39 )
      or ( n325 and not lo36 and lo39 )
      or ( n325 and lo36 and not lo39 );
    n327 <= ( n325 and lo36 )
      or ( n325 and not lo39 )
      or ( lo36 and not lo39 );
    n328 <= ( not n327 and not lo37 and not lo40 )
      or ( not n327 and lo37 and lo40 )
      or ( n327 and not lo37 and lo40 )
      or ( n327 and lo37 and not lo40 );
    n329 <= ( n327 and lo37 )
      or ( n327 and not lo40 )
      or ( lo37 and not lo40 );
    n330 <= ( not n329 and not lo38 and not lo41 )
      or ( not n329 and lo38 and lo41 )
      or ( n329 and not lo38 and lo41 )
      or ( n329 and lo38 and not lo41 );
    n331 <= ( n329 and lo38 )
      or ( n329 and not lo41 )
      or ( lo38 and not lo41 );
    n332 <= ( not n331 and not lo39 )
      or ( n331 and lo39 );
    n333 <= not (( not n331 and not lo39 ));
    n334 <= ( not n333 and not lo40 )
      or ( n333 and lo40 );
    li42 <= ( not lo36 and lo38 )
      or ( lo36 and not lo38 );
    n336 <= ( lo36 and lo38 );
    li43 <= ( not n336 and not n322 and lo39 )
      or ( not n336 and n322 and not lo39 )
      or ( n336 and not n322 and not lo39 )
      or ( n336 and n322 and lo39 );
    n338 <= ( n336 and n322 )
      or ( n336 and lo39 )
      or ( n322 and lo39 );
    li44 <= ( not n338 and not n324 and lo40 )
      or ( not n338 and n324 and not lo40 )
      or ( n338 and not n324 and not lo40 )
      or ( n338 and n324 and lo40 );
    n340 <= ( n338 and n324 )
      or ( n338 and lo40 )
      or ( n324 and lo40 );
    li45 <= ( not n340 and not n326 and lo41 )
      or ( not n340 and n326 and not lo41 )
      or ( n340 and not n326 and not lo41 )
      or ( n340 and n326 and lo41 );
    n342 <= ( n340 and n326 )
      or ( n340 and lo41 )
      or ( n326 and lo41 );
    li46 <= ( not n342 and n328 )
      or ( n342 and not n328 );
    n344 <= ( n342 and n328 );
    n345 <= ( not n344 and n330 )
      or ( n344 and not n330 );
    n346 <= ( n344 and n330 );
    n347 <= ( not n346 and n332 )
      or ( n346 and not n332 );
    n348 <= ( n346 and n332 );
    n349 <= ( not n348 and n334 )
      or ( n348 and not n334 );
    li47 <= ( not n345 );
    li48 <= ( not n345 and n347 )
      or ( n345 and not n347 );
    n352 <= ( n345 and n347 );
    li49 <= ( not n352 and n349 )
      or ( n352 and not n349 );
    li18 <= ( lo08 );
    li19 <= ( lo09 );
    li20 <= ( lo10 );
    li21 <= ( lo11 );
    li22 <= ( lo12 );
    li23 <= ( lo13 );
    li24 <= ( lo14 );
    li25 <= ( lo15 );
    li26 <= ( lo18 );
    li27 <= ( lo19 );
    li28 <= ( lo20 );
    li29 <= ( lo21 );
    li30 <= ( lo22 );
    li31 <= ( lo23 );
    li32 <= ( lo24 );
    li33 <= ( lo25 );
    li57 <= ( lo33 );
    po00 <= ( lo41 );
    po01 <= ( lo40 );
    po02 <= ( lo39 );
    po03 <= ( lo38 );
    po04 <= ( lo37 );
    po05 <= ( lo36 );
    po06 <= ( lo35 );
    po07 <= ( lo34 );
    po08 <= ( lo49 );
    po09 <= ( lo48 );
    po10 <= ( lo47 );
    po11 <= ( lo46 );
    po12 <= ( lo45 );
    po13 <= ( lo44 );
    po14 <= ( lo43 );
    po15 <= ( lo42 );
end Cookbook__temp_sense_s5_behav;
