I wonder if is necessary to put a buffer before a FFT block. I want to do a fft, with N = 16 (samples). Is necessary to design a temporal memory system to save 16 samples before loading into FFT or the FFT block has it´s own internal buffer to save these values? Thank you so much for your help.
It depends on your implementation whether you need to explicitly define a buffer first, but yes, FFT always requires some kind of buffer, since it operates on the samples out of order from the time those samples occurred. It can't just run on each individual sample as they come in.
It needs to either store a section of data for working on, or predict the future. I don't know of any machines that can predict the future.