基于FPGA的随机数发生器?

这是一个用verilog写的元胞自动机和LFSR组合的伪随机数发生器,在通过综合之后,对它进行了综合后仿真,每一个时钟周期产生一个32bit的随机数,我对其输出的随机数的第16位数据进行采集并进行随机性测试,用的是NIST随机性测试套件,结果发现15种测试中有一半左右的测试是不通过的,请问这种情况下这个伪随机数发生器可以往什么方面去进行改良呢?

**************************************************************************

monobit_test 0.0537138903011863 PASS

frequency_within_block_test 0.08432664728599683 PASS

runs_test 0.08992493198620435 PASS

longest_run_ones_in_a_block_test 0.35773878938163944 PASS

binary_matrix_rank_test 2.1331676332718892e-303 FAIL

dft_test 0.0 FAIL

non_overlapping_template_matching_test 1.000000063392551 PASS

overlapping_template_matching_test 0.0 FAIL

maurers_universal_test 0.1269647687647943 PASS

linear_complexity_test 1.1806997748754854e-05 FAIL

serial_test 0.3413355428251408 PASS

approximate_entropy_test 0.3397665458725882 PASS

cumulative_sums_test 0.07009660450546384 PASS

random_excursion_test 0.3070033206976203 PASS

random_excursion_variant_test 0.290660982359728 PASS