Pipelining vs Caching in an FPGA design
Your understanding is incorrect.
What you described is called multiplexing. 

Pipelining is when you have multiple things to do, and this things can be done in parallel, but sequentially at the same time. For example, in factory some machine creates PCB, and passes it to those, that solder some elements, and then maybe to someone who pack it. When new PCBs are made, then at the same time elements are soldered on previous ones.

Caching is when you have to check something, for example ask via phone (this is reading RAM), but cannot remember it for the future. Then, instead of calling multiple times, you take piece of paper (your cache memory), and write it down. Next time you can just look at this piece of paper, and save time.