fpga snipped-for-privacy@yahoo.com wrote:
Umm yes, I disagree. I've got several designs that are 90%+ packed and are being clocked at clock rates well beyond typical design clock rates. Many of these have active cooling, but it is certainly possible to fill up and use a device.
You won't get the density and performance without handcrafting to meet both the density and performance limits. The typical user is going to run into place and route issues before he even gets close to the high density, high clock rate corner. I don't care if it is an RC application or not, you just don't get into that corner unless you do a considerable amount of handcrafting on the design. BTW, the handcrafting also helps tremendously with power, as a significant percentage of the power is dissipated in the routing rather than in the logic. If you keep the routing short and the design is maximally pipelined (stops lgitch propagation), the power dissipated by the routing can be kept relatively small. you can look at the designs on my gallery page for some older examples of designs that are dense and running near the limits of clock rate. My point is, you'll probably need to derate for shortcomings of an RTL synthesis tool flow before derating for a full device, and as for derating for a full device the power dissipation is so dependent on the design and PAR solution that there is no way to accurately predict it.
Worst case numbers are totally meaningless in this scenario as well. You could generate a design that purposely toggles every ff and intentionally congests the routing by forcing poor placement, and have something that could easily melt the balls right off. With proper cooling and attention to I/O switching, you have a shot at making it actually work in silicon. So where do you set the max based on circuit configuration? The answer is you can't. Instead, the best one can do is give the thermal characteristics of the package/die combo, maximum die temperature and provide the tools to allow someone to simulate this if they are concerned about it (like I said, the simulation is also meaningless unless it accurately models the data in the operational deisgn). If you are using the spread sheet estimator, you may be setting it up wrong to get meaningful answers. The routing complexity knobs have a lot of influence over the result, and are difficult to set in a meaningful way. For a floorplanned design, setting those to low complexity often still gets power estimates that are 2-4x higher than what is measured on the board. For a design with poor placement, and multiple levels of logic, I've seen the estimator come in with much less margin. Again, for data designs, you will rarely see greater than a 15% average toggle rate, and as I said, that is a function of the number system more than of the design itself. Anything much above that can be considered high toggle rates, not modest toggle rates as you propose.
A reminder too, it doesn't take many watts to make a chip without a heatsink feel hot to the touch. 5 watts is enough to burn your finger if the heat isn't dissipated. The same chip can handle 30 watts or more with a decent heatsink without excessive effort spent on cooling. The fact you burnt your fingers on an FPGA without a heatsink tells you very little about how close you were to the design corners for the FPGA, nor does the fact a device with a heatsink got warm to the touch. All it tells you is that in the first case, you probably didn't have adequate cooling for the design, and in the second case not even that (a chip cooled to 105F will feel warm to the touch, even though the silicon will run at nearly double that (85C) without any derating).