What's the minimum number of electronic components per bit needed for a shift register?
This post has only a very indirect connection to FPGAs, but I don't know where else to post it, so I'm posting it here. If you can tell me where I can find a forum where the subject is more appropriate, that is just fine with me.
I'm trying to design a hardware sorting machine, with a number of processors proportional to the logarithm of the size of the data. The processors will be implemented as FPGAs, at least until I've got all the bugs worked out. The main data structures that the processors are going to work with will be shift registers. What I need at the most basic level is an array of z bits (where z is some power of two) and two input signals, a control bit and a data bit. If the control bit is low, then each bit in the array retains its previous value. If the control bit is high, then for each bit i where 0 < i < z, the bit at position i takes on the previous value of the bit at i-1, all in parallel in one clock cycle. The bit at position 0 takes on the single data input to the shift register. Whether the control bit is high or low, the output from the shift register is always the value of bit z-1.
Can I use an FPGA to implement this shift register too? Maybe I can, but I'm trying to look ahead to the way, way future day when I implement this shift register with as few transistors as possible. As I understand it, a DRAM lets you store data with one transistor and one capacitor per bit, which is a pretty impressive density. But due to the fact that when the control bit is high each bit in my shift register has to take on the value of the bit immediately adjacent to it, something it looks to me like a DRAM really can't do, I'm guessing I'm going to need to have more than one transistor plus one capacitor per bit. Can anyone tell me what the bare minimum of transistors would be that I would need per bit to build this shift register? A circuit diagram might be helpful too if you could include it.