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

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

architecture Cookbook__arbiter_behav of Cookbook__arbiter is
signal n48,n49,n50,n51,n52,n53,n54,n55,n56,n57,n58,n59,n60,n61,n62,n63,n64,n65,n66,n67,n68,n69,n70,n71,n72,n73,n74,n75,n76,n77,n78,n79,n80,n81,n82,n83,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: std_logic;
begin
    n48 <= ( not pi15 and pi31 )
      or ( pi15 and not pi31 );
    n49 <= not (( not pi15 and pi31 ));
    n50 <= ( not n49 and not pi14 and not pi30 )
      or ( not n49 and pi14 and pi30 )
      or ( n49 and not pi14 and pi30 )
      or ( n49 and pi14 and not pi30 );
    n51 <= ( n49 and pi14 )
      or ( n49 and not pi30 )
      or ( pi14 and not pi30 );
    n52 <= ( not n51 and not pi13 and not pi29 )
      or ( not n51 and pi13 and pi29 )
      or ( n51 and not pi13 and pi29 )
      or ( n51 and pi13 and not pi29 );
    n53 <= ( n51 and pi13 )
      or ( n51 and not pi29 )
      or ( pi13 and not pi29 );
    n54 <= ( not n53 and not pi12 and not pi28 )
      or ( not n53 and pi12 and pi28 )
      or ( n53 and not pi12 and pi28 )
      or ( n53 and pi12 and not pi28 );
    n55 <= ( n53 and pi12 )
      or ( n53 and not pi28 )
      or ( pi12 and not pi28 );
    n56 <= ( not n55 and not pi11 and not pi27 )
      or ( not n55 and pi11 and pi27 )
      or ( n55 and not pi11 and pi27 )
      or ( n55 and pi11 and not pi27 );
    n57 <= ( n55 and pi11 )
      or ( n55 and not pi27 )
      or ( pi11 and not pi27 );
    n58 <= ( not n57 and not pi10 and not pi26 )
      or ( not n57 and pi10 and pi26 )
      or ( n57 and not pi10 and pi26 )
      or ( n57 and pi10 and not pi26 );
    n59 <= ( n57 and pi10 )
      or ( n57 and not pi26 )
      or ( pi10 and not pi26 );
    n60 <= ( not n59 and not pi09 and not pi25 )
      or ( not n59 and pi09 and pi25 )
      or ( n59 and not pi09 and pi25 )
      or ( n59 and pi09 and not pi25 );
    n61 <= ( n59 and pi09 )
      or ( n59 and not pi25 )
      or ( pi09 and not pi25 );
    n62 <= ( not n61 and not pi08 and not pi24 )
      or ( not n61 and pi08 and pi24 )
      or ( n61 and not pi08 and pi24 )
      or ( n61 and pi08 and not pi24 );
    n63 <= ( n61 and pi08 )
      or ( n61 and not pi24 )
      or ( pi08 and not pi24 );
    n64 <= ( not n63 and not pi07 and not pi23 )
      or ( not n63 and pi07 and pi23 )
      or ( n63 and not pi07 and pi23 )
      or ( n63 and pi07 and not pi23 );
    n65 <= ( n63 and pi07 )
      or ( n63 and not pi23 )
      or ( pi07 and not pi23 );
    n66 <= ( not n65 and not pi06 and not pi22 )
      or ( not n65 and pi06 and pi22 )
      or ( n65 and not pi06 and pi22 )
      or ( n65 and pi06 and not pi22 );
    n67 <= ( n65 and pi06 )
      or ( n65 and not pi22 )
      or ( pi06 and not pi22 );
    n68 <= ( not n67 and not pi05 and not pi21 )
      or ( not n67 and pi05 and pi21 )
      or ( n67 and not pi05 and pi21 )
      or ( n67 and pi05 and not pi21 );
    n69 <= ( n67 and pi05 )
      or ( n67 and not pi21 )
      or ( pi05 and not pi21 );
    n70 <= ( not n69 and not pi04 and not pi20 )
      or ( not n69 and pi04 and pi20 )
      or ( n69 and not pi04 and pi20 )
      or ( n69 and pi04 and not pi20 );
    n71 <= ( n69 and pi04 )
      or ( n69 and not pi20 )
      or ( pi04 and not pi20 );
    n72 <= ( not n71 and not pi03 and not pi19 )
      or ( not n71 and pi03 and pi19 )
      or ( n71 and not pi03 and pi19 )
      or ( n71 and pi03 and not pi19 );
    n73 <= ( n71 and pi03 )
      or ( n71 and not pi19 )
      or ( pi03 and not pi19 );
    n74 <= ( not n73 and not pi02 and not pi18 )
      or ( not n73 and pi02 and pi18 )
      or ( n73 and not pi02 and pi18 )
      or ( n73 and pi02 and not pi18 );
    n75 <= ( n73 and pi02 )
      or ( n73 and not pi18 )
      or ( pi02 and not pi18 );
    n76 <= ( not n75 and not pi01 and not pi17 )
      or ( not n75 and pi01 and pi17 )
      or ( n75 and not pi01 and pi17 )
      or ( n75 and pi01 and not pi17 );
    n77 <= ( n75 and pi01 )
      or ( n75 and not pi17 )
      or ( pi01 and not pi17 );
    n78 <= ( not n77 and not pi00 and not pi16 )
      or ( not n77 and pi00 and pi16 )
      or ( n77 and not pi00 and pi16 )
      or ( n77 and pi00 and not pi16 );
    n79 <= ( n77 and pi00 )
      or ( n77 and not pi16 )
      or ( pi00 and not pi16 );
    n80 <= ( not n79 and not pi15 )
      or ( n79 and pi15 );
    n81 <= not (( not n79 and not pi15 ));
    n82 <= ( not n81 and not pi14 )
      or ( n81 and pi14 );
    n83 <= not (( not n81 and not pi14 ));
    n84 <= ( not n83 and not pi13 )
      or ( n83 and pi13 );
    n85 <= not (( not n83 and not pi13 ));
    n86 <= ( not n85 and not pi12 )
      or ( n85 and pi12 );
    n87 <= not (( not n85 and not pi12 ));
    n88 <= ( not n87 and not pi11 )
      or ( n87 and pi11 );
    n89 <= not (( not n87 and not pi11 ));
    n90 <= ( not n89 and not pi10 )
      or ( n89 and pi10 );
    n91 <= not (( not n89 and not pi10 ));
    n92 <= ( not n91 and not pi09 )
      or ( n91 and pi09 );
    n93 <= not (( not n91 and not pi09 ));
    n94 <= ( not n93 and not pi08 )
      or ( n93 and pi08 );
    n95 <= not (( not n93 and not pi08 ));
    n96 <= ( not n95 and not pi07 )
      or ( n95 and pi07 );
    n97 <= not (( not n95 and not pi07 ));
    n98 <= ( not n97 and not pi06 )
      or ( n97 and pi06 );
    n99 <= not (( not n97 and not pi06 ));
    n100 <= ( not n99 and not pi05 )
      or ( n99 and pi05 );
    n101 <= not (( not n99 and not pi05 ));
    n102 <= ( not n101 and not pi04 )
      or ( n101 and pi04 );
    n103 <= not (( not n101 and not pi04 ));
    n104 <= ( not n103 and not pi03 )
      or ( n103 and pi03 );
    n105 <= not (( not n103 and not pi03 ));
    n106 <= ( not n105 and not pi02 )
      or ( n105 and pi02 );
    n107 <= not (( not n105 and not pi02 ));
    n108 <= ( not n107 and not pi01 )
      or ( n107 and pi01 );
    n109 <= not (( not n107 and not pi01 ));
    n110 <= ( not n109 and not pi00 )
      or ( n109 and pi00 );
    n111 <= ( pi15 and not n48 );
    n112 <= ( pi14 and not n50 );
    n113 <= ( pi13 and not n52 );
    n114 <= ( pi12 and not n54 );
    n115 <= ( pi11 and not n56 );
    n116 <= ( pi10 and not n58 );
    n117 <= ( pi09 and not n60 );
    n118 <= ( pi08 and not n62 );
    n119 <= ( pi07 and not n64 );
    n120 <= ( pi06 and not n66 );
    n121 <= ( pi05 and not n68 );
    n122 <= ( pi04 and not n70 );
    n123 <= ( pi03 and not n72 );
    n124 <= ( pi02 and not n74 );
    n125 <= ( pi01 and not n76 );
    n126 <= ( pi00 and not n78 );
    n127 <= ( pi15 and not n80 );
    n128 <= ( pi14 and not n82 );
    n129 <= ( pi13 and not n84 );
    n130 <= ( pi12 and not n86 );
    n131 <= ( pi11 and not n88 );
    n132 <= ( pi10 and not n90 );
    n133 <= ( pi09 and not n92 );
    n134 <= ( pi08 and not n94 );
    n135 <= ( pi07 and not n96 );
    n136 <= ( pi06 and not n98 );
    n137 <= ( pi05 and not n100 );
    n138 <= ( pi04 and not n102 );
    n139 <= ( pi03 and not n104 );
    n140 <= ( pi02 and not n106 );
    n141 <= ( pi01 and not n108 );
    n142 <= ( pi00 and not n110 );
    po15 <= not (( not n111 and not n127 ));
    po14 <= not (( not n112 and not n128 ));
    po13 <= not (( not n113 and not n129 ));
    po12 <= not (( not n114 and not n130 ));
    po11 <= not (( not n115 and not n131 ));
    po10 <= not (( not n116 and not n132 ));
    po09 <= not (( not n117 and not n133 ));
    po08 <= not (( not n118 and not n134 ));
    po07 <= not (( not n119 and not n135 ));
    po06 <= not (( not n120 and not n136 ));
    po05 <= not (( not n121 and not n137 ));
    po04 <= not (( not n122 and not n138 ));
    po03 <= not (( not n123 and not n139 ));
    po02 <= not (( not n124 and not n140 ));
    po01 <= not (( not n125 and not n141 ));
    po00 <= not (( not n126 and not n142 ));
end Cookbook__arbiter_behav;
