generate random numbers using LFSR
Regarding the general idea of use LFSRs to generate pseudo-random numbers:

As a digital designer, I can say that it's rather common to see LFSRs used to generate "low quality" random numbers.  It's a perfectly acceptable approach for many designs.  

The biggest problem I see with your fundamental approach is that you want a 5-bit random number, but you're just using a 5-bit LFSR.  That design will produce values which are no more random than a counter that counts from 1-31 and repeats--you'll never see the same value twice without first seeing all the other possible values. 

The better approach would be to create an LFSR that is much wider than 5 bits, and just take the low 5 bits as your "random" value.

On a side note, Xilinx has an App Note which includes list of taps for various widths of LFSR counters from 3 to 168 bits.