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

entity f51m is 
  Port (
    pi0,pi1,pi2,pi3,pi4,pi5,pi6,pi7: in std_logic;
    po0,po1,po2,po3,po4,po5,po6,po7: inout std_logic
  );
end f51m;

architecture f51m_behav of f51m is
signal n24,n25,n26,n27,n28,n29,n30,n31: std_logic;
begin
    po0 <= ( n24 );
    po1 <= ( n25 );
    po2 <= ( n26 );
    po3 <= ( n27 );
    po4 <= ( n28 );
    po5 <= ( n29 );
    po6 <= ( n30 );
    po7 <= ( n31 );
    n24 <= ( pi0 and pi1 and pi2 and pi3 )
      or ( not pi0 and pi1 and not pi2 and pi3 )
      or ( not pi0 and not pi1 and pi2 and not pi3 )
      or ( pi0 and not pi1 and not pi2 and not pi3 )
      or ( pi0 and pi1 and pi2 and pi4 )
      or ( pi0 and pi2 and pi3 and pi4 )
      or ( pi0 and not pi1 and not pi2 and not pi4 )
      or ( pi0 and not pi2 and not pi3 and not pi4 )
      or ( pi0 and pi2 and pi3 and pi5 )
      or ( pi0 and not pi2 and not pi3 and not pi5 )
      or ( not pi0 and not pi2 and pi3 and pi4 and pi5 )
      or ( not pi0 and pi2 and not pi3 and not pi4 and not pi5 )
      or ( not pi0 and not pi2 and pi3 and pi4 and pi6 )
      or ( not pi0 and pi2 and not pi3 and not pi4 and not pi6 )
      or ( pi0 and not pi1 and not pi2 and not pi5 and not pi6 )
      or ( pi0 and pi2 and pi3 and pi6 and pi7 )
      or ( not pi0 and pi2 and not pi3 and not pi4 and not pi7 )
      or ( pi0 and not pi2 and not pi3 and not pi6 and not pi7 )
      or ( not pi0 and pi1 and not pi2 and pi4 and pi5 and pi6 )
      or ( not pi0 and not pi1 and pi2 and not pi4 and not pi5 and not pi6 )
      or ( not pi0 and pi1 and not pi2 and pi4 and pi5 and pi7 )
      or ( pi0 and pi1 and pi2 and pi5 and pi6 and pi7 )
      or ( not pi0 and not pi1 and pi2 and not pi4 and not pi5 and not pi7 );
    n25 <= ( pi1 and pi2 and pi3 and pi4 )
      or ( not pi1 and pi2 and not pi3 and pi4 )
      or ( not pi1 and not pi2 and pi3 and not pi4 )
      or ( pi1 and not pi2 and not pi3 and not pi4 )
      or ( pi1 and pi2 and pi3 and pi5 )
      or ( pi1 and pi3 and pi4 and pi5 )
      or ( pi1 and not pi2 and not pi3 and not pi5 )
      or ( pi1 and pi3 and pi4 and pi6 )
      or ( pi1 and not pi3 and not pi4 and not pi6 )
      or ( pi1 and not pi3 and not pi4 and not pi7 )
      or ( not pi1 and not pi3 and pi4 and pi5 and pi6 )
      or ( not pi1 and not pi2 and pi3 and not pi5 and not pi6 )
      or ( not pi1 and pi3 and not pi4 and not pi5 and not pi6 )
      or ( not pi1 and not pi3 and pi4 and pi5 and pi7 )
      or ( not pi1 and pi3 and not pi4 and not pi5 and not pi7 )
      or ( pi1 and not pi2 and not pi3 and not pi6 and not pi7 )
      or ( not pi1 and pi2 and not pi3 and pi5 and pi6 and pi7 )
      or ( pi1 and pi2 and not pi4 and not pi5 and pi6 and pi7 );
    n26 <= ( pi2 and pi3 and pi4 and pi5 )
      or ( not pi2 and pi3 and not pi4 and pi5 )
      or ( not pi2 and not pi3 and pi4 and not pi5 )
      or ( pi2 and not pi3 and not pi4 and not pi5 )
      or ( pi2 and pi3 and pi4 and pi6 )
      or ( pi2 and pi4 and pi5 and pi6 )
      or ( not pi2 and pi4 and not pi5 and not pi6 )
      or ( pi2 and not pi4 and not pi5 and not pi6 )
      or ( pi2 and not pi3 and not pi4 and not pi7 )
      or ( pi2 and not pi4 and not pi5 and not pi7 )
      or ( not pi2 and pi3 and not pi4 and pi6 and pi7 )
      or ( not pi2 and not pi4 and pi5 and pi6 and pi7 )
      or ( pi2 and not pi3 and pi5 and not pi6 and pi7 )
      or ( not pi2 and not pi3 and pi4 and not pi6 and not pi7 );
    n27 <= ( pi3 and not pi5 and not pi6 )
      or ( pi3 and pi4 and pi5 and pi6 )
      or ( not pi3 and pi4 and not pi5 and pi6 )
      or ( not pi3 and not pi4 and pi5 and not pi6 )
      or ( pi3 and pi5 and pi6 and pi7 )
      or ( not pi3 and not pi5 and pi6 and pi7 )
      or ( pi3 and pi4 and not pi6 and pi7 )
      or ( not pi3 and not pi4 and pi5 and not pi7 )
      or ( pi3 and not pi4 and not pi5 and not pi7 )
      or ( not pi3 and pi5 and not pi6 and not pi7 );
    n28 <= ( pi4 and not pi5 and not pi6 )
      or ( pi4 and pi6 and pi7 )
      or ( not pi4 and pi6 and not pi7 )
      or ( pi4 and not pi6 and not pi7 )
      or ( not pi4 and pi5 and not pi6 and pi7 );
    n29 <= ( pi5 and pi6 )
      or ( pi5 and not pi7 )
      or ( not pi5 and not pi6 and pi7 );
    n30 <= ( not pi6 and pi7 )
      or ( pi6 and not pi7 );
    n31 <= ( not pi7 );
end f51m_behav;
