<div>š</div><div>š</div><div>17.02.2015, 15:40, "Fredrik Thulin" <<a href="mailto:fredrik@thulin.net">fredrik@thulin.net</a>>:</div><blockquote type="cite"><p><br /><br />I made a wiki page with the things I think we've agreed on earlier, or on this <br />call. If you are interested in the Alpha board then please have a look at this <br />page and let me know if you think it will fly with these plans or not.<br /><br />šš<a href="https://trac.cryptech.is/wiki/AlphaBoardStrategy">https://trac.cryptech.is/wiki/AlphaBoardStrategy</a><br /><br /><br /></p></blockquote><div>š</div><div>Hello,</div><div>š</div><div>I have a few things to note about the Alpha Board strategy.</div><div>š</div><div>1. CPU</div><div>The deciding factor for the CPU should not be the FPGA interface. It took me <2 weeks to develop EIM arbiter from scratch. Basically we can use any CPU with external SRAM-like data bus, I can modify EIM arbiter accordingly, it is not a problem. i.MX seems to be an overkill (do we need 2D/3D graphics, HDMI, audio codec, PCI, etc?). The deciding factor should be the person who will program the CPU. Right now we have a stable running base system for i.MX. If we choose something different, will someone be able to port this system to the new CPU in some reasonable time? If yes, then I suggest that we try to select something smaller. If no, then let's stick with i.MX so far.</div><div>š</div><div>2. FPGA</div><div>2.1) I advice against using two FPGAs on the same board. At least for the first version of Alpha Board. Having two FPGAs will complicate the layout, moreover debugging two FPGAs requires much effort and will require development of master/slave arbiters to handle data transfer between FPGAs. In our current FPGA design we have conditional synthesis flags. End users can simply comment USE_CORE_XXX lines and rebuild the project to exclude unnecessary stuff from the design and make fit into available amount of logic. Another option is to use a pair of two Alpha Boards if one is not enough, the first board can contain hashes and the second board can contain ciphers. Yet another option is to provide an expansion connector in our Alpha Board and place second FPGA on a separate small extension PCB, that we will develop later when we have Alpha Board running.</div><div>š</div><div>2.2) I don't know why bunnie chose LX45 in Novena, we can use LX75 which is two times larger with free ISE license: <a href="http://www.xilinx.com/publications/matrix/Software_matrix.pdf">http://www.xilinx.com/publications/matrix/Software_matrix.pdf</a></div><div><a href="http://www.xilinx.com/publications/matrix/Software_matrix.pdf"></a><br />2.3) Why have you chosen Altera C7 device? C7 implies that we are talking about GX variant of Cyclone V. All the G- variants have built-in transceivers. Do we actually need them? If we don't, then E device (A7/A9) is more appropriate, it is basically equivalent to GX/GS without transceivers. Why pay for something that we will never need?</div><div>š</div><div>2.4) To compare Spartan-6 and Cyclone-V capacity we need to understand what Xilinx's Slice and Altera's LE are. I've attached a table with corresponding calculations. Fundamental elements of an FPGA are LUTs and FFs, so we can convert from slices and LEs and compare. I was able to fit five instances of SHA-512 core in Novena's LX45 device. Joachim, could you please try the same say in Altera's A5 device (roughly equivalent to Xilinx's LX45) to compare?</div><div>š</div><div>2.5) I suggest that we use 484-pin devices, because in this package both Altera A7/A9 and Xilinx LX75 and LX150 are pin-compatible. We can have one board that will accept both the largest available FPGA with free license and the largest available in the entire family.</div><div>š</div><div>2.6) Despite largest Xilinx device is smaller than largest Altera device, I vote for Xilinx, because I'm much more familiar with it. I have developed several boards based on LX75 and LX100, so I can help you with schematics and layout. If you want me to help with Altera devices, I will have to read the handbook once again and remember how to use Quartus, which will take some time.</div><div>š</div><div>-- <br />With best regards,</div><div>Pavel Shatov</div><div>š</div>