Can someone explain how does a BlockRam in FPGA work. I was creating a memory for 128k and could not figure out how would I create a memory module for it.
There are two ways to create block RAM in FPGAs. One is explicit instantiation, where you instantiate a block RAM primitive. The other is implicit instantiation, where you write HDL code that behaves like a memory and then the synthesizer infers a block RAM (or multiple block RAMs) with the required characteristics. If your synthesizer is smart enough, I highly recommend using inferred memories. They are more portable (not tied to a specific chip or toolchain) and they are usually easier to parametrize and debug.
Can you provide some more information on what language, toolchain, and chip you are using?