// Xilinx APP 052 July 7, 1996, ver. 1.1 function psrg_func; input integer N; input [31:0] sr; case (N) 32 : psrg_func = sr[31] ^ sr[21] ^ sr[ 1] ^ sr[ 0]; 31 : psrg_func = sr[30] ^ sr[27]; 30 : psrg_func = sr[29] ^ sr[ 5] ^ sr[ 3] ^ sr[ 0]; 29 : psrg_func = sr[28] ^ sr[26]; 28 : psrg_func = sr[27] ^ sr[24]; 27 : psrg_func = sr[26] ^ sr[ 4] ^ sr[ 1] ^ sr[ 0]; 26 : psrg_func = sr[25] ^ sr[ 5] ^ sr[ 1] ^ sr[ 0]; 25 : psrg_func = sr[24] ^ sr[21]; 24 : psrg_func = sr[23] ^ sr[22] ^ sr[21] ^ sr[16]; 23 : psrg_func = sr[22] ^ sr[17]; 22 : psrg_func = sr[21] ^ sr[20]; 21 : psrg_func = sr[20] ^ sr[18]; 20 : psrg_func = sr[19] ^ sr[16]; 19 : psrg_func = sr[18] ^ sr[ 5] ^ sr[ 1] ^ sr[ 0]; 18 : psrg_func = sr[17] ^ sr[10]; 17 : psrg_func = sr[16] ^ sr[13]; 16 : psrg_func = sr[15] ^ sr[14] ^ sr[12] ^ sr[ 3]; 15 : psrg_func = sr[14] ^ sr[13]; 14 : psrg_func = sr[13] ^ sr[ 4] ^ sr[ 2] ^ sr[ 0]; 13 : psrg_func = sr[12] ^ sr[ 3] ^ sr[ 2] ^ sr[ 0]; 12 : psrg_func = sr[11] ^ sr[ 5] ^ sr[ 3] ^ sr[ 0]; 11 : psrg_func = sr[10] ^ sr[ 8]; 10 : psrg_func = sr[ 9] ^ sr[ 6]; 9 : psrg_func = sr[ 8] ^ sr[ 4]; 8 : psrg_func = sr[ 7] ^ sr[ 5] ^ sr[ 4] ^ sr[ 3]; 7 : psrg_func = sr[ 6] ^ sr[ 5]; 6 : psrg_func = sr[ 5] ^ sr[ 4]; 5 : psrg_func = sr[ 4] ^ sr[ 2]; 4 : psrg_func = sr[ 3] ^ sr[ 2]; default : psrg_func = sr[ 2] ^ sr[ 1]; endcase endfunction