--- Quote Start ---
My problem is how to make the software (C program in PC) and hardware part (fpga) communicate with each other so that the LUT can be updated after certain interval (1ms).
--- Quote End ---
Every 1ms? Unless you have custom hardware at the PC side, it doesn't sound like an easy task, latency will kill you.
If you can pipeline the transfer, i.e., send one packet at an
average rate of 1ms, without waiting for a reply from the FPGA side, then that is feasible. Again, the problem is not the FPGA, but the PC. PC hardware is designed for high bandwidth but slow latency. If the bandwidth required is very small, then you might use the PC parallel (or even serial) port. These ports have no significant latency, but of course, their bandwidth is limited.
"Normal" PC operating systems are not real-time, so there is a system software issue as well. You might need a real-time OS, and not standard Windows/Linux. Plain old DOS might be good enough.
First check your requirements and the PC side, then the FPGA side is (relatively) easy.