Currently there are no known specific hardware requirements for FPGA mining beyond basic requirements for GPUs. That is, a basic CPU, minimal RAM, minimal disk, and x1 PCI-E 3.0 connectivity.
There may be other hardware needs in the future for specific bitstreams. Some developers may opt to use the PCI-E bandwidth to communicate between cards or offload some processing from the FPGA to the CPU. In these instances, those developers will make known these hardware requirements. You may opt to upgrade or change your infrastructure then to support those bitstreams.
The FPGA present a new way of doing things and there are countless possibilities for how various resources could be used in mining. Because this is an open but new development environment it will take some time for things to mature and the most efficient way of doing things to become evident.
At launch we are planning only Linux support.
When you're mining, even in Windows, all that's really necessary is for you to be able to edit a file and run a command line interface application. We do not see using Linux as a blocking point for the operation for miners. Detailed setup and installation instructions will be provided. We're also planning integration into some mining-specific Linux distributions which will allow easy web interface management. However, even without the web management it should not be difficult for someone who's operated a GPU miner or ASIC miner to also operate a FPGA miner.
Yes! The FPGA can use resources however is needed for the developer to achieve their goal. It would be possible to mine several different algorithms at the same time on these devices. There are situations where some resources are more optimally used for one thing than another. Using the FPGA it's possible to mix and match algorithms and designs to achieve the best mix of resource utilization for profitability.
An example of this, CN7 has a better hashrate using block RAM. It would be possible to use CN7 on block RAM, Lyra2z on the UltraRAM and using the rest of the logic space for a small Tribus or other logic algorithm mix. Going forward with future generations of devices as they become larger we'd expect even greater variation of mining. It's becoming clear that the most profitable bitstreams will be multi-algorithm bitstreams.
"The Shell" fundamentally is a wrapper around any mining bitstream that will run on your FPGA. The wrapper provides a common set of communication and programming functionality to allow anyone's bitstream or design to operate on your FPGA without reprogramming the FPGA using the USB cable. We're able to provide this because we've burned an encryption key onto every FPGA shipped. This encryption key is what enables the creation of our secure shell environment. Some examples of functionality that the shell provides are:
For Developers: It allows developers an easier time to get started without needing to build their own software, communications, or worry about secure their development fee. They can focus solely on producing the best possible bitstream designs for maximum profitability. Due to the secure nature of the bitstreams it will enable developers who previously may have not released their designs, to release their designs, as they won't fear people attempting to cut out the developer fee and diminish their work.
For Miners: Miners will get a wider selection of bitstreams, an easier and faster way to switch between them (over PCI-e instead of USB), and easier management of their miners with our online configuration builder and management system. As of now, if you want to switch from one bitstream to another it would take possibly hours of reprogramming depending on the number of FPGA you have. Using our shell it will take seconds to switch bitstreams and starting mining a new one. This creates a better environment for profit switching and increased gains. In addition, the shell and software provide user-side control of clocking and overclocking. The user can define their own parameters for what they find to be desirable for voltage, clock, temperature, etc. Or, if desired, tell the software to overclock to the maximum of the safety limits.