For a university module we have been tasked with a 'research project' whereby we need to implement an FPGA non-uniform variate generator. I've identified one possible choice for the specific distribution I was assigned - the Rayleigh distribution. I'm now trying to deduce if this design from literature will be possible for me to implement as a 16 bit version. I will be using a Terasic P0082 Cyclone IV De0-Nano which is a much simpler board than the one the authors used.
I have very limited exposure to FPGA and VHDL and so it is difficult for me to judge the complexity of implementing this design. On the surface it looks tame but the specifics of implementing the State Memory, Addressing Unit and Coefficient Memory in VHDL are unknown to me.
My question to more experienced FPGA designers is what they think of the complexity of this design. Is this something that would be easily implementable on the FPGA mentioned above for an undergraduate student or will this be a significant challenge?
The implementation from literature is based on the Box-Muller method and was implemented on a Xilinx Virtex-55VFX200TFF1738 FPGA. The design comes from A. Alimohammad, S. F. Fard, and B. F. Cockburn and their paper titled "Hardware Implementation of Rayleigh and Ricean Variate Generators". In the paper they give the design as: