--- 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__approx_fp_div__part1 is 
  Port (
    pi08,pi07,pi06,pi05,pi04,pi03,pi02,pi01,pi17,pi16,pi15,pi14,pi13,pi12,pi11,pi10, CLK: in std_logic;
    po01,po02,po03,po04,po05,po06,po07,po08: inout std_logic
  );
end Cookbook__approx_fp_div__part1;

architecture Cookbook__approx_fp_div__part1_behav of Cookbook__approx_fp_div__part1 is
component DFF
  Port ( D, CLK: in std_logic;
     Q: out std_logic);
end component;

signal lo00,lo01,lo02,lo03,lo04,lo05,lo06,lo07,lo09,lo10,lo11,lo12,lo13,lo14,lo15,lo16,lo18,lo19,lo20,lo21,lo22,lo23,lo24,lo25,lo29,lo30,lo31,lo32,lo33,lo34,lo35,lo36,lo37,lo38,lo39,lo40,lo41,lo42,lo43,lo44,lo45,lo46,lo47,lo48,lo49,lo50,lo51,lo52,lo76,lo77,lo78,lo79,lo80,lo81,lo82,lo83,n309,n310,n311,n312,n313,n314,n315,n316,n317,n318,n319,li18,n321,li19,n323,li20,n325,li21,n327,li22,n329,li23,n331,li24,n333,li25,li76,li77,li78,li79,li80,li81,li82,li83,li00,li01,li02,li03,li04,li05,li06,li07,li09,li10,li11,li12,li13,li14,li15,li16,li29,li30,li31,li32,li33,li34,li35,li36,li37,li38,li39,li40,li41,li42,li43,li44,li45,li46,li47,li48,li49,li50,li51,li52: 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 (li09, CLK, lo09);
    DFF9: DFF port map (li10, CLK, lo10);
    DFF10: DFF port map (li11, CLK, lo11);
    DFF11: DFF port map (li12, CLK, lo12);
    DFF12: DFF port map (li13, CLK, lo13);
    DFF13: DFF port map (li14, CLK, lo14);
    DFF14: DFF port map (li15, CLK, lo15);
    DFF15: DFF port map (li16, CLK, lo16);
    DFF16: DFF port map (li18, CLK, lo18);
    DFF17: DFF port map (li19, CLK, lo19);
    DFF18: DFF port map (li20, CLK, lo20);
    DFF19: DFF port map (li21, CLK, lo21);
    DFF20: DFF port map (li22, CLK, lo22);
    DFF21: DFF port map (li23, CLK, lo23);
    DFF22: DFF port map (li24, CLK, lo24);
    DFF23: DFF port map (li25, CLK, lo25);
    DFF24: DFF port map (li29, CLK, lo29);
    DFF25: DFF port map (li30, CLK, lo30);
    DFF26: DFF port map (li31, CLK, lo31);
    DFF27: DFF port map (li32, CLK, lo32);
    DFF28: DFF port map (li33, CLK, lo33);
    DFF29: DFF port map (li34, CLK, lo34);
    DFF30: DFF port map (li35, CLK, lo35);
    DFF31: DFF port map (li36, CLK, lo36);
    DFF32: DFF port map (li37, CLK, lo37);
    DFF33: DFF port map (li38, CLK, lo38);
    DFF34: DFF port map (li39, CLK, lo39);
    DFF35: DFF port map (li40, CLK, lo40);
    DFF36: DFF port map (li41, CLK, lo41);
    DFF37: DFF port map (li42, CLK, lo42);
    DFF38: DFF port map (li43, CLK, lo43);
    DFF39: DFF port map (li44, CLK, lo44);
    DFF40: DFF port map (li45, CLK, lo45);
    DFF41: DFF port map (li46, CLK, lo46);
    DFF42: DFF port map (li47, CLK, lo47);
    DFF43: DFF port map (li48, CLK, lo48);
    DFF44: DFF port map (li49, CLK, lo49);
    DFF45: DFF port map (li50, CLK, lo50);
    DFF46: DFF port map (li51, CLK, lo51);
    DFF47: DFF port map (li52, CLK, lo52);
    DFF48: DFF port map (li76, CLK, lo76);
    DFF49: DFF port map (li77, CLK, lo77);
    DFF50: DFF port map (li78, CLK, lo78);
    DFF51: DFF port map (li79, CLK, lo79);
    DFF52: DFF port map (li80, CLK, lo80);
    DFF53: DFF port map (li81, CLK, lo81);
    DFF54: DFF port map (li82, CLK, lo82);
    DFF55: DFF port map (li83, CLK, lo83);
    n309 <= ( not lo01 and not lo02 )
      or ( lo01 and lo02 );
    n310 <= not (( not lo01 and not lo02 ));
    n311 <= ( not n310 and not lo03 )
      or ( n310 and lo03 );
    n312 <= not (( not n310 and not lo03 ));
    n313 <= ( not n312 and not lo04 )
      or ( n312 and lo04 );
    n314 <= not (( not n312 and not lo04 ));
    n315 <= ( not n314 and not lo05 )
      or ( n314 and lo05 );
    n316 <= not (( not n314 and not lo05 ));
    n317 <= ( not n316 and not lo06 )
      or ( n316 and lo06 );
    n318 <= not (( not n316 and not lo06 ));
    n319 <= ( not n318 and lo07 )
      or ( n318 and not lo07 );
    li18 <= ( not lo00 and lo09 )
      or ( lo00 and not lo09 );
    n321 <= not (( not lo00 and lo09 ));
    li19 <= ( not n321 and not lo01 and lo10 )
      or ( not n321 and lo01 and not lo10 )
      or ( n321 and not lo01 and not lo10 )
      or ( n321 and lo01 and lo10 );
    n323 <= ( n321 and not lo01 )
      or ( n321 and not lo10 )
      or ( not lo01 and not lo10 );
    li20 <= ( not n323 and not n309 and not lo11 )
      or ( not n323 and n309 and lo11 )
      or ( n323 and not n309 and lo11 )
      or ( n323 and n309 and not lo11 );
    n325 <= ( n323 and n309 )
      or ( n323 and not lo11 )
      or ( n309 and not lo11 );
    li21 <= ( not n325 and not n311 and not lo12 )
      or ( not n325 and n311 and lo12 )
      or ( n325 and not n311 and lo12 )
      or ( n325 and n311 and not lo12 );
    n327 <= ( n325 and n311 )
      or ( n325 and not lo12 )
      or ( n311 and not lo12 );
    li22 <= ( not n327 and not n313 and not lo13 )
      or ( not n327 and n313 and lo13 )
      or ( n327 and not n313 and lo13 )
      or ( n327 and n313 and not lo13 );
    n329 <= ( n327 and n313 )
      or ( n327 and not lo13 )
      or ( n313 and not lo13 );
    li23 <= ( not n329 and not n315 and not lo14 )
      or ( not n329 and n315 and lo14 )
      or ( n329 and not n315 and lo14 )
      or ( n329 and n315 and not lo14 );
    n331 <= ( n329 and n315 )
      or ( n329 and not lo14 )
      or ( n315 and not lo14 );
    li24 <= ( not n331 and not n317 and not lo15 )
      or ( not n331 and n317 and lo15 )
      or ( n331 and not n317 and lo15 )
      or ( n331 and n317 and not lo15 );
    n333 <= ( n331 and n317 )
      or ( n331 and not lo15 )
      or ( n317 and not lo15 );
    li25 <= ( not n333 and not n319 and not lo16 )
      or ( not n333 and n319 and lo16 )
      or ( n333 and not n319 and lo16 )
      or ( n333 and n319 and not lo16 );
    li76 <= ( lo45 );
    li77 <= ( lo46 );
    li78 <= ( lo47 );
    li79 <= ( lo48 );
    li80 <= ( lo49 );
    li81 <= ( lo50 );
    li82 <= ( lo51 );
    li83 <= ( lo52 );
    li00 <= ( pi08 );
    li01 <= ( pi07 );
    li02 <= ( pi06 );
    li03 <= ( pi05 );
    li04 <= ( pi04 );
    li05 <= ( pi03 );
    li06 <= ( pi02 );
    li07 <= ( pi01 );
    li09 <= ( pi17 );
    li10 <= ( pi16 );
    li11 <= ( pi15 );
    li12 <= ( pi14 );
    li13 <= ( pi13 );
    li14 <= ( pi12 );
    li15 <= ( pi11 );
    li16 <= ( pi10 );
    li29 <= ( lo18 );
    li30 <= ( lo19 );
    li31 <= ( lo20 );
    li32 <= ( lo21 );
    li33 <= ( lo22 );
    li34 <= ( lo23 );
    li35 <= ( lo24 );
    li36 <= ( lo25 );
    li37 <= ( lo29 );
    li38 <= ( lo30 );
    li39 <= ( lo31 );
    li40 <= ( lo32 );
    li41 <= ( lo33 );
    li42 <= ( lo34 );
    li43 <= ( lo35 );
    li44 <= ( lo36 );
    li45 <= ( lo37 );
    li46 <= ( lo38 );
    li47 <= ( lo39 );
    li48 <= ( lo40 );
    li49 <= ( lo41 );
    li50 <= ( lo42 );
    li51 <= ( lo43 );
    li52 <= ( lo44 );
    po01 <= ( lo83 );
    po02 <= ( lo82 );
    po03 <= ( lo81 );
    po04 <= ( lo80 );
    po05 <= ( lo79 );
    po06 <= ( lo78 );
    po07 <= ( lo77 );
    po08 <= ( lo76 );
end Cookbook__approx_fp_div__part1_behav;
