Pages:
Author

Topic: Cairnsmore1 - Quad XC6SLX150 Board - page 16. (Read 286370 times)

hero member
Activity: 686
Merit: 564
September 23, 2012, 05:39:30 PM
Glasswalker,

Why should I use the hashvoodoo bitstream over Makomk's bitstream?
Well, I'm not really going to encourage anyone to use mine on new boards going forward - bitstreams without dynamic clocking are probably unnecessarily risky now we have one that actually supports it. Aside from that, some people have been seeing a speed increase I think, particularly on more difficult older boards? Your mileage may vary.
sr. member
Activity: 407
Merit: 250
September 23, 2012, 05:16:58 PM
Glasswalker,

Why should I use the hashvoodoo bitstream over Makomk's bitstream?

Up to you really. Makomk's is performing about equal to this one. Try them both see which ones perform better on your particular boards.

Right now this just gets hashvoodoo up to par with makomk's latest. So now my attention can shift to getting the "real" HashVoodoo core working, (the sea of hashers one) which should push me well beyond any other opensource bitstream available in performance (I hope) lol. Wink

So it's totally up to you. (basically a personal preference thing, combined with how your particular boards like each bitstream)

Right now the dynamic clocking does provide some benefits, in that it will tune each chip individually to it's optimal clock. But if you're already seeing 220Mhz from all 4 chips with makomk, then you're likely better sticking there.

I'm not claiming mine's "better", only that it's a different approach Smiley

makomk and myself did collaborate after all so many of the performance benefits are similar between the 2 bitstreams. The main difference is makomk's is still fairly close to the original icarus, focusing on pure performance tweaking, where mine is almost a complete rewrite, working towards a platform to support the sea of hashers core. (and currently using the icarus/ztex core, now with a bunch of modifications, as a stand-in until the other core is ready)
sr. member
Activity: 476
Merit: 250
Keep it Simple. Every Bit Matters.
September 23, 2012, 05:11:13 PM
Latest HashVoodoo Release is up at https://github.com/pmumby/hashvoodoo-fpga-bitcoin-miner/downloads

This one uses dynamic clocking (so far to my knowledge only officially supported in MPBM, waiting for word from Kano if he is working on support for cgminer).

I have been looking forward to this, Thank you Glasswalker, I've always liked your dedication to a stable bitstream.
Downloaded it, will take a look over it, but give it a while before installing to it has it's full support.
I've always used Cgminer, it's what I'm use to. Would like to give a bit of time, but hopefully cgminer will support your protocol soon.
sr. member
Activity: 349
Merit: 250
September 23, 2012, 04:36:56 PM
Glasswalker,

Why should I use the hashvoodoo bitstream over Makomk's bitstream?
hero member
Activity: 556
Merit: 500
September 23, 2012, 03:15:34 PM
glasswalker you are my hero!
sr. member
Activity: 407
Merit: 250
September 23, 2012, 02:16:57 PM
Latest HashVoodoo Release is up at https://github.com/pmumby/hashvoodoo-fpga-bitcoin-miner/downloads

This one uses dynamic clocking (so far to my knowledge only officially supported in MPBM, waiting for word from Kano if he is working on support for cgminer).

It still supports icarus protocol, but only at 150Mhash, the enhanced protocol is required to get beyond that.

Included in the zip are the NCD/PCF files needed to use fpga_editor. If anyone wants to tweak it (ie adjust the "default" frequency by hand, or whatever).

This release has been tested for over 24h on my boards, and is seeing speeds over 200Mhash/s on all 4 chips with stability. It does take a bit of time to reach that speed, as it ramps up. And it may appear invalids are higher at first, (as high as 5%) but that's just the averages being skewed by the rampup process. It will stabilize at around 1% approximately using the defaults in MPBM. (After 24h I'm seeing speeds totalling 840MHash/s for a single CM1 board, with U value of about 11.5, and invalids (for the whole board) at about 0.3%)

Due to the dynamic clocking, this one will vary from board to board. It will find the optimal clock with minimal invalids for each chip individually. So it should be highly efficient.

NOTE: I reccomend putting a limit in MPBM of 200MHz per chip, until we have confirmation from Enterpoint if the power draw and temperatures on this bitstream at higher clocks are "safe". I'm running it higher for testing, but I don't "reccomend" you do it. Do so at your own risk! Hopefully Yohan will chime in soon on this.

Let me know your comments, and if you have any success.

Here is the readme:
Code:
Woohoo! Dynamic Clocking!

This bitstream is now mining stable on all 4 slots on both the old (pre-50) and newer CM1 boards.

For me this bitstream is stable, and doesn't suffer from the unfortunate longterm stability problems of the last release. (it's been tested for the past 24h stable on my dev boards)

I no longer need to include multiple speeds. As the dynamic clocking allows this chip to run at any speed the software chooses. It will automatically hone in on an optimal clock speed.

NOTE ON DYNAMIC CLOCKING:
The bitstream only adds a new command to the enhanced protocol. It allows the mining software (mpbm, cgminer, whatever) to send a command to set the clock multiplier to X. This allows stepping up/down the clock speed in 2.5Mhz incriments. I have put hard limits of 50Mhz - 220Mhz in the bitstream (which could be unlocked with fpga editor, I'm not telling you how though lol). For safety. That said, MPBM's feature allows you to set a soft cap on the clock speed. Which it will not clock above. I reccomend setting this limit to 200Mhz for longterm use. As Enterpoint has expressed concerns about pushing the clock higher. On my tests it worked fine up to 220Mhz, but it did increase the external temperature. Enterpoint has been sent a sample of this bitstream for validation, I would reccomend waiting on their response before pushing the chips higher.

Also, be aware, dynamic clocking will take about 30Min - 1Hour to reach the initial peak speed. Then it could take up to 24h total to fully stabilize all your stats. (using MPBMs features, since it's in the software, others may do it differently).

I've also measured the thermals on this one, on my dev board with an IR thermometer, sampled across wide area, over 10 seconds, taking peak reading. After the board is running for 24h on the bitstream (while under solid mining load).

On the previous 175oc Release which has been the stable one up until now:
Ambient Room Temperature 23.5C
Heatsinks 32.1C
Bottom of board 46.5C

On the current release with limits set to 220Mhz to do thermal testing, after 24h of runtime:
Ambient Room Temperature 25.1C
Heatsinks 34.8C
Bottom of board 49.1C

This controller is the same as the previous releases. If you aren't already running a HashVoodoo controller, you must install it. Otherwise you can leave the controller alone.

The controller generates a 25Mhz comm clock, and a 25Mhz LVDS source clock, which is then stepped up. We'll be cleaning that up in a future release, which may improve stability a little more due to less noise.

The LEDs on the array FPGAs work as follows:
RED: Heartbeat (clock blinker) blinks on a divider of the hashing clock, also lights solid in the event of DCM failure
GREEN: Found Nonce (lights up and fades out)
BLUE: Serial Activity LED (lights on RX or TX, then fades out)
AMBER: Idle, lights when the FPGA is not currently busy hashing.
The heartbeat will also light SOLID if the DCM has lost it's lock or the clock is somehow "invalid"

Note: This will work with any Icarus compatible Miner. BUT it will not allow the dynamic clocking feature to work unless the miner supports the new HashVoodoo enhanced protocol. Without dynamic clocking this bitstream will end up locked at it's "safe" clock speed of 150Mhz.

Currently the only "confirmed" supported miner is MPBM. Using the latest version of the "testing" branch from:
https://github.com/TheSeven/Modular-Python-Bitcoin-Miner
Using the cairnsmore worker module.

For those who want to tinker, I've included the appropriate build files (NCD and PCF files) allowing you to use the Xilinx FPGA Editor utility to poke around at the bitstream. Please only do this if you know what you're doing. If you fry your board I can not be held responsible!

For Flashing:
I have included both the normal bit and the MCS file (for flashing the SPI in Impact) in this release.
Only the bit is included for the controller, as an MCS is not needed for it.

NOTE: When programming via either method, you should follow the following suggestions closely, these have been tried on a number of "troublesome" boards, and have helped in every case, so this is now the "official" reccomended method of flashing the SPI:
- Always disconnect power AND USB from the board, THEN set dip switches for programming
- Once dip switches set, re-apply power
- Wait until the FPGAs have all settled before plugging in JTAG or USB
- When programming, first WIPE all 4 SPI chips, starting with chip 0, working up to chip 3
- After all chips are wiped, you can begin programming
- Program the chips one at a time, in reverse order (starting with chip 3, working back to chip 0)
- When done do a full power cycle, allowing chips to settle again before connecting USB
 
To flash via USB use the instructions provided by enterpoint. Attached is a JPG with the dip switch diagram, and here is a table of what the dip switches do:
SWITCH1 - Manual Reset when OFF (default is ON)
SWITCH2 - Override Fan Speed Sense when OFF (default is ON)
SWITCH3 - USB Programming Enable when OFF (default is ON)
SWITCH4 - MUST BE ON ALWAYS!
SWITCH5 - MUST BE ON ALWAYS!
SWITCH6 - Controller USB SPI Flash Enable when OFF (default is ON)
SWITCH7 - NOT USED CURRENTLY
SWITCH8 - JTAG Select (ON=Internal USB) (OFF=External JTAG)

For mining all switches should be in the ON state.

To flash via Xilinx ISE Impact with a supported JTAG cable:
Flash the controller first:
- Plug into controller jtag
- Let impact create a new file, and scan the jtag.
- It will identify the Spartan3, and prompt if you wish to pick a configuration file
- Choose the controller bit file.
- In the actions menu choose the option to program FLASH and FPGA.

Then do the array FPGAs:
- Plug into array jtag
- Let impact create a new file and scan the jtag
- when prompted, choose the hashvoodoo bit file for configuration file
- When prompted to add an SPI flash, say yes
- Choose the MCS file provided
- When prompted for the type of SPI PROM choose the M25P128
- Repeat for the other 3 chips
- When done a dialog with some settings will pop up, accept the defaults.
- Select one of the SPI Flash chips in the graphical display. It will turn green
- In the action menu choose Program.
- Repeat for the other chips. (no need to do the FPGAs themselves they program from the SPI on power cycle)
- Power cycle the board

When done programming, please do a FULL power cycle of the board before mining with it.

Please share your results with this bitstream on the forums.

Upcoming features:
- HashVoodoo Core (when the REAL performance should start happening!)
sr. member
Activity: 476
Merit: 250
Keep it Simple. Every Bit Matters.
September 22, 2012, 12:54:30 PM
@Lethos  Thanks for the advice. After modified some parameter it working fine now!

Based on the default setting of CM1 it gave 760 to 763Mh/s(avg) with bfgminer. Should it be enhanced after tweak the DIP switches or updating the Controller FPGA firmware and array FPGAs firmware? How could I know the version of my CM1 board's currently firmware for determine the necessity of updating?

Test it for stability first, sounds like Enterpoint (Yohan) is starting to putting fully working bitstreams into them for you.
Most of us posting here, did not get them in this state so we well use to having to update the bitstream firmware ourselves.

If it ends up being stable ask about the mak 200+ bitsteam or hashvoodoo if it is not stable.
sr. member
Activity: 476
Merit: 250
September 22, 2012, 11:59:21 AM
-- post deleted --

yohan beat me to the answer. Smiley
sr. member
Activity: 462
Merit: 251
September 22, 2012, 11:59:07 AM
@Lethos  Thanks for the advice. After modified some parameter it working fine now!

Based on the default setting of CM1 it gave 760 to 763Mh/s(avg) with bfgminer. Should it be enhanced after tweak the DIP switches or updating the Controller FPGA firmware and array FPGAs firmware? How could I know the version of my CM1 board's currently firmware for determine the necessity of updating?

Generally it's not easy to tell but anything recently sent out will most likely have Controller 1.5 and a 190 bitstream. Controller 1.6 when it releases will have a flash code to indicate what it is.
full member
Activity: 234
Merit: 100
September 22, 2012, 11:08:15 AM
@Lethos  Thanks for the advice. After modified some parameter it working fine now!

Based on the default setting of CM1 it gave 760 to 763Mh/s(avg) with bfgminer. Should it be enhanced after tweak the DIP switches or updating the Controller FPGA firmware and array FPGAs firmware? How could I know the version of my CM1 board's currently firmware for determine the necessity of updating?
sr. member
Activity: 462
Merit: 251
September 21, 2012, 03:46:22 AM
The cooling solution we have on CM1 is good but fundamentially the FPGA package is the main limitation to extracting heat given the performance of what we have in cooling. If room temperature is cold that will help a little and conversely if the room is hot.

Does the rev 1.5 controller firmware supply temperature information in some way?

To use the temperature sensors it will need bitstream support as these each temperature sensor hang off their respective adjacent FPGA. Even with such support the accuracy of these won't be great or even very responsive as they will effectively be measuring the PCB temperature and or the air temperature under the heatsink. That's a lot of delay/variation between actual die temperature and what is measured. It is one weakness in using Spartan-6 for Bitcoin mining that they don't have internal diodes for temperature measurement that more expensive parts do have. Otherwise we would be using that feature and have a much better measurement.

However they are not totally useless in thermal management and it is our intention to add some Controller support once we have the support in bitstreams. Until the bitstreams have the support and we know how to access them in there isn't much we can do.

When we designed CM1 we did obviously knew about these temperature measurement limitations so that is why we put so much work into the heatsink and fan solution. You might ask why we didn't use the CSG package for the Spartan-6. It is a bit better than the FGG that we use in transferring heat from the silicon die to the case surface. The biggest reason we didn't use the CSG was that we couldn't offer the price we did. The second big reason is that the project would have been 2 months later than it was. The FGG also wins over the CSG in some other respects in the PCB design. We would have had to use a lighter copper weight on the power planes with a CSG package and most likely the PCB would have been more expensive again affecting the product cost. The copper weight does have some bearing on the thermal solution as well but probably more importantly the electrical performance on the power supply side. So in summary it's a toss up designers choice of which is actually best. For a first attempt, in a new market, I don't think we did too bad as a product.

If we had the luxary of maybe 2-4 more months development time we might have done 2 or 3 prototype levels and established the better of the 2 package options but CM1 probably wouldn't have happened at all then.
sr. member
Activity: 476
Merit: 250
September 20, 2012, 08:11:48 PM
@LazyOtto are you using an USB hub?
Yes.

One which has operated reliably for years with a variety of devices.
donator
Activity: 543
Merit: 500
September 20, 2012, 08:07:58 PM
@LazyOtto are you using an USB hub?
sr. member
Activity: 476
Merit: 250
September 20, 2012, 07:54:04 PM
OK, with this new announcement about warrentee voiding, I have now dropped both my boards to makomk's 200mhz bitstream.

Previously, with both of them running at 210mhz, one of them was generating about 0.15% / 0.25% invalids and the other around 1.1% / 2.65%.

With the two boards in a master/slave setup and the USB cable connected to the 'better' one, I still had a 'USB fail' event after about seven days of running. (Had two failures within 24hrs with a USB cable connected to both / the 'worse' one.)

Hoping for even more stability/duration with the reduced MH/s flash.

I want to be able to go on a vacation without worries that they dropped offline on the first day I wasn't watching. Smiley

-- edit --

Oh, and possibly relevant, ambient temperature currently, over the last two weeks, hits a high of 80f where they are sitting.
full member
Activity: 562
Merit: 100
September 20, 2012, 06:56:17 PM
The cooling solution we have on CM1 is good but fundamentially the FPGA package is the main limitation to extracting heat given the performance of what we have in cooling. If room temperature is cold that will help a little and conversely if the room is hot.

Does the rev 1.5 controller firmware supply temperature information in some way?
sr. member
Activity: 462
Merit: 251
September 20, 2012, 04:57:28 PM
@yohan : when the Cairnsmore1 won't be profitable anymore (probably during 2013 depending on actual ASIC deliveries), lots of us will either try to use them for something else or sell them.

Is Enterpoint interested in setting up a buy-back program? Even if the board itself doesn't interest you, I suppose cheap Spartans would? Any thought on this?

To do anything we would need a market to sell them into or their processing power and whilst we have heard of a couple of small customers that might take a few CM1s at the right price there is nothing currently that we know of that would take that many boards.

The chips themselves don't really have a resale market unless they become obsolete and hard to get. That's about a 15-20 years wait. The costs in time and money to recover FPGAs from boards is very large and they would be hard to sell because of "quality" issues related to recovery process. The recovery costs would almost certainly exceed whatever resale value there might be in the chips.
donator
Activity: 543
Merit: 500
September 20, 2012, 03:23:13 PM
The number that can be used as good or bad can be debated. It is only an indicator and I doubt totally accurate.
ztex boards don't have temperatur sensors, so the invalid rate is used as overheat protection (invalids rising too fast => board shut down). Furthermore, dynamic clocking is also attached too the invalid rate, i.e. the clock is rising unless as certain level of invalids is reached. Many ztex boards run at 220 Mhz or even faster and you don't hear any problems. So my guess would be that the invalid rate *is* a good indicator whether you are pushing the fpga too much, IOW 220 Mhz and low invalids => no problem. (?)
sr. member
Activity: 397
Merit: 500
September 20, 2012, 03:16:24 PM
@yohan : when the Cairnsmore1 won't be profitable anymore (probably during 2013 depending on actual ASIC deliveries), lots of us will either try to use them for something else or sell them.

Is Enterpoint interested in setting up a buy-back program? Even if the board itself doesn't interest you, I suppose cheap Spartans would? Any thought on this?
+1

Interessting question.
hero member
Activity: 896
Merit: 1000
September 20, 2012, 03:12:13 PM
@yohan : when the Cairnsmore1 won't be profitable anymore (probably during 2013 depending on actual ASIC deliveries), lots of us will either try to use them for something else or sell them.

Is Enterpoint interested in setting up a buy-back program? Even if the board itself doesn't interest you, I suppose cheap Spartans would? Any thought on this?
sr. member
Activity: 462
Merit: 251
September 20, 2012, 02:58:11 PM
yohan, unless invalid (i.e. difficulty < 1) shares are below a certain level (5%?) using high-performance bitstreams should not be an issue. Do you disagree on that?

The number that can be used as good or bad can be debated. It is only an indicator and I doubt totally accurate. I would suggest a slow bitstream with less invalids might be a better earner anyway if you were at 5% invalids. The invalid number also has it's own debate here about what it actually means.

In CGminer I would think the U value will also give an indication of this.

We are doing more work on this and should know more as we gather more data about what causes an issue.
Pages:
Jump to: