Pages:
Author

Topic: FPGA development board "Icarus" - DisContinued/ important announcement - page 14. (Read 207285 times)

rjk
sr. member
Activity: 448
Merit: 250
1ngldh

for a large chain, i support CAN or RS485 for the linkage specification.


Not a good idea in my opinion.

RS-485 is the same old-school as RS-232, it is slow (115200), unreliable, etc, but it may be kilometers long (at 2400 baud, this option definitely not for Icarus Smiley
CAN is definitely faster and reliable but is very complicated, I've worked with CAN node programming about a decade ago and it was a hell.

And both are not supported by Raspberry Pi.

All we need - fast synchronous addressed shift register (SPI). No overhead to FPGA design, easy to implement and debug, also we will reduce overall rig stale rate due to fast syncronous data exchange between master CPU and FPGAs.

And Raspberry PI has 3 SPI ports (I hope it is true).
RS-485 has more than enough speed to support bitcoin mining, and you can daisy-chain it fine. CAN bus sounds interesting, but I dunno how well it would work with all the devices chattering at once.
donator
Activity: 1218
Merit: 1079
Gerald Davis



I think the ideal solution to reduce core temps would be to look for a heatpipe cooling solution. I'm not sure if there is a small enough heatpipe solution out there, but maybe you can get one custom built? Also some sort of heatsinking on the underside of the board at the fpga core would be ideal. But it's a shame that the lx150 doesn't have a metal heat spreader on it as the way I see it the major limitation to better cooling is the plastic top.

yes, the reality is negative.
"any" attempt to reduce the core temperature by enhance cooling the chip's top is absolute useless. the LX150 FGG484 use a high - thermal resistance plastic package. the core temperature is much higher than the package surface. a heatpipe will not help at all.

there are some solutions now, but we still need to do some measurement.  Grin



I'm thinking harder about immersion cooling with dielectric fluid due to FPGA package complications and desire to protect investment.

With a water chiller to keep fluid at <25C. Smiley
legendary
Activity: 1302
Merit: 1008

for a large chain, i support CAN or RS485 for the linkage specification.


Not a good idea in my opinion.

RS-485 is the same old-school as RS-232, it is slow (115200), unreliable, etc, but it may be kilometers long (at 2400 baud, this option definitely not for Icarus Smiley
CAN is definitely faster and reliable but is very complicated, I've worked with CAN node programming about a decade ago and it was a hell.

And both are not supported by Raspberry Pi.

All we need - fast synchronous addressed shift register (SPI). No overhead to FPGA design, easy to implement and debug, also we will reduce overall rig stale rate due to fast syncronous data exchange between master CPU and FPGAs.

And Raspberry PI has 3 SPI ports (I hope it is true).
legendary
Activity: 3080
Merit: 1080
Quote
but certainly, we will use a more simple way.... 

Care to give us some clues  Tongue?
hero member
Activity: 592
Merit: 501
We will stand and fight.
I just saw this today. Liquid submerged servers.

http://www.hardcorecomputer.com/liquid-blade-video/index.html



why not put this money to buy some more cards?  Huh
hero member
Activity: 489
Merit: 500
Immersionist
hero member
Activity: 592
Merit: 501
We will stand and fight.



I think the ideal solution to reduce core temps would be to look for a heatpipe cooling solution. I'm not sure if there is a small enough heatpipe solution out there, but maybe you can get one custom built? Also some sort of heatsinking on the underside of the board at the fpga core would be ideal. But it's a shame that the lx150 doesn't have a metal heat spreader on it as the way I see it the major limitation to better cooling is the plastic top.

yes, the reality is negative.
"any" attempt to reduce the core temperature by enhance cooling the chip's top is absolute useless. the LX150 FGG484 use a high - thermal resistance plastic package. the core temperature is much higher than the package surface. a heatpipe will not help at all.

there are some solutions now, but we still need to do some measurement.  Grin



I'm thinking harder about immersion cooling with dielectric fluid due to FPGA package complications and desire to protect investment.

some complex ways are:

1, use semiconductor refrigeration chip.
2, use Compressor refrigeration.
3, use liquid nitrogen or dry ice.


but certainly, we will use a more simple way....  Grin
sr. member
Activity: 252
Merit: 250
Inactive



I think the ideal solution to reduce core temps would be to look for a heatpipe cooling solution. I'm not sure if there is a small enough heatpipe solution out there, but maybe you can get one custom built? Also some sort of heatsinking on the underside of the board at the fpga core would be ideal. But it's a shame that the lx150 doesn't have a metal heat spreader on it as the way I see it the major limitation to better cooling is the plastic top.

yes, the reality is negative.
"any" attempt to reduce the core temperature by enhance cooling the chip's top is absolute useless. the LX150 FGG484 use a high - thermal resistance plastic package. the core temperature is much higher than the package surface. a heatpipe will not help at all.

there are some solutions now, but we still need to do some measurement.  Grin



I'm thinking harder about immersion cooling with dielectric fluid due to FPGA package complications and desire to protect investment.
hero member
Activity: 592
Merit: 501
We will stand and fight.

the speed adjust  feature should build in the bitsteam it self. the FPGA will automatically sample its temperature (with out a independent sensor device, just "it self" ) and rise and down the operation speed continuously.
why need to read the temperature, calculate, then adjust by sending a command from PC?  Huh


For large rig with 12-16 boards packaged in the suitable case, it will be better to use two big fans instead of dozen smaller ones. Their rotation speed (and thus consumed power and noise level) may be adjusted by cgminer depending on highest temperature readout of all FPGAs (as cgminer does for GPU).
So please consider FPGA temperature readout in your future design if possible, regardless of sensor type you will use.

Will be very nice if you support SPI in the future bitstream.
I'm going to start developing such carrier board, but we should agree with daisy-chaining protocol details and pinout first.

for a large chain, i support CAN or RS485 for the linkage specification.

As I said, I prefer to have my hardware run a little bit below suggested - and the software would simply reduce the amount of work or stop sending work.
Just like cgminer now does with GPU cards - you can decide on the temperature limit - the GPU cards themselves also have an internal shutdown - but few if anyone lets the cards go that high.

If there is only hardware control and no software control, then ALL boards would have to work exactly the same and have exactly the same limitations - and the hardware control would have to always be correct.

Just like my comments about being able to adjust the MHz of the board, in that case I'd have it err on the side of safety - others may prefer to risk and gain a little more performance.
I want my hardware to last a long time - so I'll prefer to have it run a little lower than some who may prefer to gain that extra performance.

i understand your meaning.

next bitsteam we will set the frequency to let the core temperature below 85C. this can let the device work for ever. this means the frequency will adjust by core temperature but error rate.
the miner may report the frequency and core temperature, but not software adjustable.
because it's hard to realize when neither DCM or PLL enabled. they consumption too much power. we will use another way to adjust frequency.

and next bitsteam will really take some time to release...




I think the ideal solution to reduce core temps would be to look for a heatpipe cooling solution. I'm not sure if there is a small enough heatpipe solution out there, but maybe you can get one custom built? Also some sort of heatsinking on the underside of the board at the fpga core would be ideal. But it's a shame that the lx150 doesn't have a metal heat spreader on it as the way I see it the major limitation to better cooling is the plastic top.

yes, the reality is negative.
"any" attempt to reduce the core temperature by enhance cooling the chip's top is absolute useless. the LX150 FGG484 use a high - thermal resistance plastic package. the core temperature is much higher than the package surface. a heatpipe will not help at all.

there are some solutions now, but we still need to do some measurement.  Grin

legendary
Activity: 3080
Merit: 1080
Hi ngzhang,

I've heard you are developing next hardware revision of Icarus board.
Below is my 0.02$, comments are welcome.

One necessary thing is FPGA temperature sensors. For example TI digital sensors with serial output will be OK but I have no idea how to mechanically put them to the chips (why FPGA manufacturer didn't place one directly to the die?)

Second idea (which can be easily implemented with current revision boards btw) is simple but fast SPI interface using some DIMM connector pins. SPI address and SPI/USB interface selection can be done with existing DIP switches. The goal is to develop neat carrier board with 12-16 Icarus slots, ARM/MIPS/ATOM/etc CPU board slot and good 250-350W PSU behind. We can install several big 200mm fans for the whole rack and adjust their rotation speed according to temperature sensors output.



i will add a temperature sensor on the next design, but IMHO, it's useless.
because it can't be installed inside the FPGA package, and the temperature read out is just a board temp. the response time is not quick enough for protection purpose.

board interconnect can be done now, only need a bitsteam modify. this feature is still under development.

BTW,

the most challenge for the design is to reduce the core temperature.

I think the ideal solution to reduce core temps would be to look for a heatpipe cooling solution. I'm not sure if there is a small enough heatpipe solution out there, but maybe you can get one custom built? Also some sort of heatsinking on the underside of the board at the fpga core would be ideal. But it's a shame that the lx150 doesn't have a metal heat spreader on it as the way I see it the major limitation to better cooling is the plastic top.
legendary
Activity: 1302
Merit: 1008

the speed adjust  feature should build in the bitsteam it self. the FPGA will automatically sample its temperature (with out a independent sensor device, just "it self" ) and rise and down the operation speed continuously.
why need to read the temperature, calculate, then adjust by sending a command from PC?  Huh


For large rig with 12-16 boards packaged in the suitable case, it will be better to use two big fans instead of dozen smaller ones. Their rotation speed (and thus consumed power and noise level) may be adjusted by cgminer depending on highest temperature readout of all FPGAs (as cgminer does for GPU).
So please consider FPGA temperature readout in your future design if possible, regardless of sensor type you will use.

Will be very nice if you support SPI in the future bitstream.
I'm going to start developing such carrier board, but we should agree with daisy-chaining protocol details and pinout first.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
...

i will add a temperature sensor on the next design, but IMHO, it's useless.
because it can't be installed inside the FPGA package, and the temperature read out is just a board temp. the response time is not quick enough for protection purpose.

board interconnect can be done now, only need a bitsteam modify. this feature is still under development.
The temperature sensor would not be for the sake of a microsecond shut down - but more for noting a trend to reduce the work to help reduce the temperature.
I don't run my GPU cards near the limits - I set them below those limits to promote a longer life Smiley

There is, however, a rather simple need for it: if the fan should fail, you would see a temperature rise and possibly have the software notice this and reduce the amount of work or even stop it from processing.
It may not be fast enough - but I guess only experimentation would tell?

Different subject ...
Actually one thing I've not asked or found written anywhere yet: is it possible to upload a new bitsteam using USB?
Or do you need the extra developer hardware to do that?

the speed adjust  feature should build in the bitsteam it self. the FPGA will automatically sample its temperature (with out a independent sensor device, just "it self" ) and rise and down the operation speed continuously.
why need to read the temperature, calculate, then adjust by sending a command from PC?  Huh
...
As I said, I prefer to have my hardware run a little bit below suggested - and the software would simply reduce the amount of work or stop sending work.
Just like cgminer now does with GPU cards - you can decide on the temperature limit - the GPU cards themselves also have an internal shutdown - but few if anyone lets the cards go that high.

If there is only hardware control and no software control, then ALL boards would have to work exactly the same and have exactly the same limitations - and the hardware control would have to always be correct.

Just like my comments about being able to adjust the MHz of the board, in that case I'd have it err on the side of safety - others may prefer to risk and gain a little more performance.
I want my hardware to last a long time - so I'll prefer to have it run a little lower than some who may prefer to gain that extra performance.
hero member
Activity: 592
Merit: 501
We will stand and fight.
...

i will add a temperature sensor on the next design, but IMHO, it's useless.
because it can't be installed inside the FPGA package, and the temperature read out is just a board temp. the response time is not quick enough for protection purpose.

board interconnect can be done now, only need a bitsteam modify. this feature is still under development.
The temperature sensor would not be for the sake of a microsecond shut down - but more for noting a trend to reduce the work to help reduce the temperature.
I don't run my GPU cards near the limits - I set them below those limits to promote a longer life Smiley

There is, however, a rather simple need for it: if the fan should fail, you would see a temperature rise and possibly have the software notice this and reduce the amount of work or even stop it from processing.
It may not be fast enough - but I guess only experimentation would tell?

Different subject ...
Actually one thing I've not asked or found written anywhere yet: is it possible to upload a new bitsteam using USB?
Or do you need the extra developer hardware to do that?

the speed adjust  feature should build in the bitsteam it self. the FPGA will automatically sample its temperature (with out a independent sensor device, just "it self" ) and rise and down the operation speed continuously.
why need to read the temperature, calculate, then adjust by sending a command from PC?  Huh

about the bitsteam update: 

icarus need a platform cable to update the bitsteam. next product will have some changes.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
...

i will add a temperature sensor on the next design, but IMHO, it's useless.
because it can't be installed inside the FPGA package, and the temperature read out is just a board temp. the response time is not quick enough for protection purpose.

board interconnect can be done now, only need a bitsteam modify. this feature is still under development.
The temperature sensor would not be for the sake of a microsecond shut down - but more for noting a trend to reduce the work to help reduce the temperature.
I don't run my GPU cards near the limits - I set them below those limits to promote a longer life Smiley

There is, however, a rather simple need for it: if the fan should fail, you would see a temperature rise and possibly have the software notice this and reduce the amount of work or even stop it from processing.
It may not be fast enough - but I guess only experimentation would tell?

Different subject ...
Actually one thing I've not asked or found written anywhere yet: is it possible to upload a new bitsteam using USB?
Or do you need the extra developer hardware to do that?
hero member
Activity: 592
Merit: 501
We will stand and fight.
Hi ngzhang,

I've heard you are developing next hardware revision of Icarus board.
Below is my 0.02$, comments are welcome.

One necessary thing is FPGA temperature sensors. For example TI digital sensors with serial output will be OK but I have no idea how to mechanically put them to the chips (why FPGA manufacturer didn't place one directly to the die?)

Second idea (which can be easily implemented with current revision boards btw) is simple but fast SPI interface using some DIMM connector pins. SPI address and SPI/USB interface selection can be done with existing DIP switches. The goal is to develop neat carrier board with 12-16 Icarus slots, ARM/MIPS/ATOM/etc CPU board slot and good 250-350W PSU behind. We can install several big 200mm fans for the whole rack and adjust their rotation speed according to temperature sensors output.



i will add a temperature sensor on the next design, but IMHO, it's useless.
because it can't be installed inside the FPGA package, and the temperature read out is just a board temp. the response time is not quick enough for protection purpose.

board interconnect can be done now, only need a bitsteam modify. this feature is still under development.

BTW,

the most challenge for the design is to reduce the core temperature.
sr. member
Activity: 265
Merit: 250
Football President
what miner software is best for icarus ?

If you using linux I suggest you using cgminer for single or multi icaurs :-), latest commit from upstream
  https://github.com/ckolivas/cgminer
configure with --disable-opencl --disable-adl --enable-icarus

Here is mine:(Thanks kanoi. it's read only now. code is here:https://github.com/kanoi/cgminer)
 http://downloads.openmobilefree.net/Icarus/

Xiangfu


Thank  but I use windows
My git ( https://github.com/kanoi/cgminer ) has the windows change required.
(and a pull request to ckolivas of that change also)
So if you can compile cgminer - my git should work on windows.



I don't know how to complile cgminer
I will look on the forum to if i can find a tutorial on how to compile
I had hoped to find a miner that was compiled and works

Thanks for the information
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
what miner software is best for icarus ?

If you using linux I suggest you using cgminer for single or multi icaurs :-), latest commit from upstream
  https://github.com/ckolivas/cgminer
configure with --disable-opencl --disable-adl --enable-icarus

Here is mine:(Thanks kanoi. it's read only now. code is here:https://github.com/kanoi/cgminer)
 http://downloads.openmobilefree.net/Icarus/

Xiangfu


Thank  but I use windows
My git ( https://github.com/kanoi/cgminer ) has the windows change required.
(and a pull request to ckolivas of that change also)
So if you can compile cgminer - my git should work on windows.
donator
Activity: 532
Merit: 501
We have cookies
Second idea (which can be easely implemented with current revision boards btw) is simple but fast SPI interface using some DIMM connector pins. SPI address and SPI/USB interface selection can be done with existing DIP switches.
Why use SPI and SPI2USB if you can just connect 1Wire thermal sensor and use separate MCU for temperature control ?
Of course it's possible to include 1Wire and fan control block into the FPGA firmware, but that would be more suitable for individual mining units, not multiboard farms.

The idea is to use SPI for connecting Icarus boards inside the rig (not just temp sensors). SPI will be used instead of USB, it is easy to implement on FPGA and fast serial interface. For individual use USB will remain (interface selection can be done by user with DIP switch).
Oh, I was thinking that you are talking about just temperature control.
Actually there are special connectors for daisy-chaining, but it's not supported yet.
legendary
Activity: 1302
Merit: 1008
Second idea (which can be easely implemented with current revision boards btw) is simple but fast SPI interface using some DIMM connector pins. SPI address and SPI/USB interface selection can be done with existing DIP switches.
Why use SPI and SPI2USB if you can just connect 1Wire thermal sensor and use separate MCU for temperature control ?
Of course it's possible to include 1Wire and fan control block into the FPGA firmware, but that would be more suitable for individual mining units, not multiboard farms.

The idea is to use SPI for connecting Icarus boards inside the rig (not just temp sensors). SPI will be used instead of USB, it is easy to implement on FPGA and fast serial interface. For individual use USB will remain (interface selection can be done by user with DIP switch).
donator
Activity: 532
Merit: 501
We have cookies
Second idea (which can be easely implemented with current revision boards btw) is simple but fast SPI interface using some DIMM connector pins. SPI address and SPI/USB interface selection can be done with existing DIP switches.
Why use SPI and SPI2USB if you can just connect 1Wire thermal sensor and use separate MCU for temperature control ?
Of course it's possible to include 1Wire and fan control block into the FPGA firmware, but that would be more suitable for individual mining units, not multiboard farms.
Pages:
Jump to: