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

entity Espresso__shift is 
  Port (
    pi00,pi01,pi02,pi03,pi04,pi05,pi06,pi07,pi08,pi09,pi10,pi11,pi12,pi13,pi14,pi15,pi16,pi17,pi18: in std_logic;
    po00,po01,po02,po03,po04,po05,po06,po07,po08,po09,po10,po11,po12,po13,po14,po15: inout std_logic
  );
end Espresso__shift;

architecture Espresso__shift_behav of Espresso__shift is
begin
    po00 <= ( pi00 and pi01 and pi02 and pi03 )
      or ( not pi00 and pi01 and pi02 and pi03 )
      or ( pi00 and not pi01 and pi02 and pi03 )
      or ( not pi00 and not pi01 and pi02 and pi03 )
      or ( pi00 and pi01 and not pi02 and pi03 )
      or ( not pi00 and pi01 and not pi02 and pi03 )
      or ( pi00 and not pi01 and not pi02 and pi03 )
      or ( not pi00 and not pi01 and not pi02 and pi03 );
    po01 <= ( pi00 and pi01 and pi02 and pi03 )
      or ( not pi00 and pi01 and pi02 and pi03 )
      or ( pi00 and not pi01 and pi02 and pi03 )
      or ( not pi00 and not pi01 and pi02 and pi03 )
      or ( pi00 and pi01 and not pi02 and pi03 )
      or ( not pi00 and pi01 and not pi02 and pi03 )
      or ( pi00 and not pi01 and not pi02 and pi03 )
      or ( not pi00 and not pi01 and not pi02 and pi04 );
    po02 <= ( pi00 and pi01 and pi02 and pi03 )
      or ( not pi00 and pi01 and pi02 and pi03 )
      or ( pi00 and not pi01 and pi02 and pi03 )
      or ( pi00 and pi01 and not pi02 and pi03 )
      or ( not pi00 and pi01 and not pi02 and pi03 )
      or ( pi00 and not pi01 and not pi02 and pi03 )
      or ( not pi00 and not pi01 and pi02 and pi04 )
      or ( not pi00 and not pi01 and not pi02 and pi05 );
    po03 <= ( pi00 and pi01 and pi02 and pi03 )
      or ( not pi00 and pi01 and pi02 and pi03 )
      or ( pi00 and not pi01 and pi02 and pi03 )
      or ( pi00 and pi01 and not pi02 and pi03 )
      or ( pi00 and not pi01 and not pi02 and pi03 )
      or ( not pi00 and pi01 and not pi02 and pi04 )
      or ( not pi00 and not pi01 and pi02 and pi05 )
      or ( not pi00 and not pi01 and not pi02 and pi06 );
    po04 <= ( pi00 and pi01 and pi02 and pi03 )
      or ( pi00 and not pi01 and pi02 and pi03 )
      or ( pi00 and pi01 and not pi02 and pi03 )
      or ( pi00 and not pi01 and not pi02 and pi03 )
      or ( not pi00 and pi01 and pi02 and pi04 )
      or ( not pi00 and pi01 and not pi02 and pi05 )
      or ( not pi00 and not pi01 and pi02 and pi06 )
      or ( not pi00 and not pi01 and not pi02 and pi07 );
    po05 <= ( pi00 and pi01 and pi02 and pi03 )
      or ( pi00 and not pi01 and pi02 and pi03 )
      or ( pi00 and pi01 and not pi02 and pi03 )
      or ( pi00 and not pi01 and not pi02 and pi04 )
      or ( not pi00 and pi01 and pi02 and pi05 )
      or ( not pi00 and pi01 and not pi02 and pi06 )
      or ( not pi00 and not pi01 and pi02 and pi07 )
      or ( not pi00 and not pi01 and not pi02 and pi08 );
    po06 <= ( pi00 and pi01 and pi02 and pi03 )
      or ( pi00 and pi01 and not pi02 and pi03 )
      or ( pi00 and not pi01 and pi02 and pi04 )
      or ( pi00 and not pi01 and not pi02 and pi05 )
      or ( not pi00 and pi01 and pi02 and pi06 )
      or ( not pi00 and pi01 and not pi02 and pi07 )
      or ( not pi00 and not pi01 and pi02 and pi08 )
      or ( not pi00 and not pi01 and not pi02 and pi09 );
    po07 <= ( pi00 and pi01 and pi02 and pi03 )
      or ( pi00 and pi01 and not pi02 and pi04 )
      or ( pi00 and not pi01 and pi02 and pi05 )
      or ( pi00 and not pi01 and not pi02 and pi06 )
      or ( not pi00 and pi01 and pi02 and pi07 )
      or ( not pi00 and pi01 and not pi02 and pi08 )
      or ( not pi00 and not pi01 and pi02 and pi09 )
      or ( not pi00 and not pi01 and not pi02 and pi10 );
    po08 <= ( pi00 and pi01 and pi02 and pi04 )
      or ( pi00 and pi01 and not pi02 and pi05 )
      or ( pi00 and not pi01 and pi02 and pi06 )
      or ( pi00 and not pi01 and not pi02 and pi07 )
      or ( not pi00 and pi01 and pi02 and pi08 )
      or ( not pi00 and pi01 and not pi02 and pi09 )
      or ( not pi00 and not pi01 and pi02 and pi10 )
      or ( not pi00 and not pi01 and not pi02 and pi11 );
    po09 <= ( pi00 and pi01 and pi02 and pi05 )
      or ( pi00 and pi01 and not pi02 and pi06 )
      or ( pi00 and not pi01 and pi02 and pi07 )
      or ( pi00 and not pi01 and not pi02 and pi08 )
      or ( not pi00 and pi01 and pi02 and pi09 )
      or ( not pi00 and pi01 and not pi02 and pi10 )
      or ( not pi00 and not pi01 and pi02 and pi11 )
      or ( not pi00 and not pi01 and not pi02 and pi12 );
    po10 <= ( pi00 and pi01 and pi02 and pi06 )
      or ( pi00 and pi01 and not pi02 and pi07 )
      or ( pi00 and not pi01 and pi02 and pi08 )
      or ( pi00 and not pi01 and not pi02 and pi09 )
      or ( not pi00 and pi01 and pi02 and pi10 )
      or ( not pi00 and pi01 and not pi02 and pi11 )
      or ( not pi00 and not pi01 and pi02 and pi12 )
      or ( not pi00 and not pi01 and not pi02 and pi13 );
    po11 <= ( pi00 and pi01 and pi02 and pi07 )
      or ( pi00 and pi01 and not pi02 and pi08 )
      or ( pi00 and not pi01 and pi02 and pi09 )
      or ( pi00 and not pi01 and not pi02 and pi10 )
      or ( not pi00 and pi01 and pi02 and pi11 )
      or ( not pi00 and pi01 and not pi02 and pi12 )
      or ( not pi00 and not pi01 and pi02 and pi13 )
      or ( not pi00 and not pi01 and not pi02 and pi14 );
    po12 <= ( pi00 and pi01 and pi02 and pi08 )
      or ( pi00 and pi01 and not pi02 and pi09 )
      or ( pi00 and not pi01 and pi02 and pi10 )
      or ( pi00 and not pi01 and not pi02 and pi11 )
      or ( not pi00 and pi01 and pi02 and pi12 )
      or ( not pi00 and pi01 and not pi02 and pi13 )
      or ( not pi00 and not pi01 and pi02 and pi14 )
      or ( not pi00 and not pi01 and not pi02 and pi15 );
    po13 <= ( pi00 and pi01 and pi02 and pi09 )
      or ( pi00 and pi01 and not pi02 and pi10 )
      or ( pi00 and not pi01 and pi02 and pi11 )
      or ( pi00 and not pi01 and not pi02 and pi12 )
      or ( not pi00 and pi01 and pi02 and pi13 )
      or ( not pi00 and pi01 and not pi02 and pi14 )
      or ( not pi00 and not pi01 and pi02 and pi15 )
      or ( not pi00 and not pi01 and not pi02 and pi16 );
    po14 <= ( pi00 and pi01 and pi02 and pi10 )
      or ( pi00 and pi01 and not pi02 and pi11 )
      or ( pi00 and not pi01 and pi02 and pi12 )
      or ( pi00 and not pi01 and not pi02 and pi13 )
      or ( not pi00 and pi01 and pi02 and pi14 )
      or ( not pi00 and pi01 and not pi02 and pi15 )
      or ( not pi00 and not pi01 and pi02 and pi16 )
      or ( not pi00 and not pi01 and not pi02 and pi17 );
    po15 <= ( pi00 and pi01 and pi02 and pi11 )
      or ( pi00 and pi01 and not pi02 and pi12 )
      or ( pi00 and not pi01 and pi02 and pi13 )
      or ( pi00 and not pi01 and not pi02 and pi14 )
      or ( not pi00 and pi01 and pi02 and pi15 )
      or ( not pi00 and pi01 and not pi02 and pi16 )
      or ( not pi00 and not pi01 and pi02 and pi17 )
      or ( not pi00 and not pi01 and not pi02 and pi18 );
end Espresso__shift_behav;
