Author

Topic: Klondike - 16 chip ASIC Open Source Board - Preliminary - page 177. (Read 435369 times)

sr. member
Activity: 322
Merit: 250
I gues using 0402, 0603, 0805 doesnt make too much difference to the design, other than the bigger, the easier for the DIY'er?

Yeah, I was thinking this too - any reason those can't be all 0603 or larger?



Also, what supplier is ES?  I'm not familiar with that abbreviation.

man i can't wait to get my hands on the cad files.. i'm going to have to play around with kicad in the mean time to get used to it
full member
Activity: 562
Merit: 100

Roadmap

(snip)
What I want to know most is can you offer a service placing the asics on PCB and heatpaste and solder them, because of the diligence needed with regards to cooling, you being the board designer and all? I can get the rest done elsewhere...

If you've said something that covers this my apologies Smiley Information overload :S

Project is looking good so far btw Smiley
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
It will be interresting to see how the encapsulation of these chips are, some say the QFN are plastic, that would be interresting with hot-air?

I gues using 0402, 0603, 0805 doesnt make too much difference to the design, other than the bigger, the easier for the DIY'er?

If you go that route, stencils + pcb's, that's very interresting, but, could you adopt the stencil8 system?
http://www.hoektronics.com/2012/10/27/super-simple-smt-stencil8/
https://www.tindie.com/products/arachnidlabs/pcb-fixture-block-for-solder-paste-stencilling/
supereasy system for DIY usage, only needs 2.5mm holes, on an 10mm grid at clever places.
Pretty much all electronics parts now are designed to withstand reflow oven processes. So even if they say "plastic" it's plastic that can take the heat, at least for a suitable period. If you blow hot air on it for too long you'll toast it so caution is required.

Smaller is harder but I'm not sure it matters. One of those magnifying circular light dealies is recommended. Parts count is the killer. I just finished the prelim parts list and pushed it to github. There's 320 parts on that 10x10cm board. Ouch!

(Someone please send me a Pick n Place machine)

That's a sweet looking registration rig and oven at hoektronics but I'll just be using the Sparkfun method - tape some boards to the table and tape the stencil to the boards. Oh, and a toaster oven.

newbie
Activity: 35
Merit: 0
Once I have a working board with or without ASICs I'll work on some DIY docs to help people put these together themselves using a home reflow process.

It will be interresting to see how the encapsulation of these chips are, some say the QFN are plastic, that would be interresting with hot-air?

Keep in mind that each board has 250 odd parts, mostly tiny 0402 capacitors that will need to be placed with tweezers. You don't want to make a lot of these by hand.
I gues using 0402, 0603, 0805 doesnt make too much difference to the design, other than the bigger, the easier for the DIY'er?

My plan is to offer a kit for DIY users including board, stencil, parts, docs that they fill with their own ASICs. Whether this plan works out I don't know but I will be making mine and will use that process to give others a head start. Those who don't want that hassle will surely find that assemblers pop up to satisfy their needs. I'll probably set up one of these "instant free bitcoinstore" deals to offer the kits and other nice things for either bitcoin or paypal (or ASIC chips traded in lieu of bitcoin, because you can never have too many).

If you go that route, stencils + pcb's, that's very interresting, but, could you adopt the stencil8 system?
http://www.hoektronics.com/2012/10/27/super-simple-smt-stencil8/
https://www.tindie.com/products/arachnidlabs/pcb-fixture-block-for-solder-paste-stencilling/
supereasy system for DIY usage, only needs 2.5mm holes, on an 10mm grid at clever places.


legendary
Activity: 1358
Merit: 1001
https://gliph.me/hUF
I am sure you heard of the CM1 by Enterpoint http://www.enterpoint.co.uk/cairnsmore/cairnsmore1.html . Some things I like about that one and hopefully you consider integrating in Klondike (me being a layman):

Ability to stack and have an USB up/down link via flat ribbon cable. Saves on USB cables.

With their power distribution board it is very easy to power the boards via the green Phoenix connectors. Not saying you should design a distribution board, but a way to power them via Phoenix or similar connector block would be great.

Their cooling solution is very effective with the fans blowing in the heat sinks. I realise you don't want to provide fans, but could you include some holes on the PCB, so fans could be mounted in a similar way?

hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
Chaining: The I2C protocol have a 128 devices limit. The chain connection will be between Pics? or 1 pic will controll all asic chips?  (this limit to 8 boards per PIC connect to the host)
Well, in theory 1024 boards should be doable and later on I'll make a PIC "hub" that can extend the bus. One PIC controls it's 16 chips. It gets work from the I2C bus and sends results back that way. The USB connected PIC will pass info to the I2C bus and control it's own 16 chips. The real limit is the bus capacitance and I'd say 8 boards is probably doable if they are not far apart. Some users with LED units report they run 25 boards at 14" intervals without problems but I wouldn't count on that being true until tests have been run.

The PIC will connect to usb bus? Have you consider the RJ45 circuit of your old FPGA design?
I was going to originally do Ethernet only but reading thru the cgminer code made me realize that some hashing would need to be done in the miner code. I didn't want to get into that stuff on the PIC (rewwrite the entire miner code) so I back tracked and decided to keep the PIC code simple and have it just co-ordinate work.

The fan control circuit will be integrated? or will be an external module? (if it`s integrated the pic can shutdown the miner if overheating, if it`s external we can replace it with a homebrew cooling system).
The fan control is handled by the PIC on each board. There may be an API to get/set status/control values from cgminer. It will be optional and since the firmware will be open source you will be able to modify it to work with something other than a plain old 3-pin fan.

About asic chip failure debug: maybe 4 leds for show the number of damaged chip?
I'm not going to put LEDs on board, except maybe for power ON status. I'm assuming that the USB will work and that any status/debugging info can be shown easily on the user interface, or be queried via an API with console commands. The cgminer driver should also allow for debug info to be logged as I'll likely need that anyway.


BkkCoins
I also have a couple of questions.
Will the work be divided between the group of 16 chips Each chip does 1/16 range of nonce?
What if Avalon chip can't divide the work this way?
That is the way the Avalon works now judging from reading the cgminer driver. If for some reason I'm wrong about this then the PIC will be smart enough to send the ASIC the correct data. Currently the cgminer driver calculates the range based on chips per board and sends a start value for each chip shifted out serially. But I expect to change this so the cgminer driver sends the master nonce once for each board and the PIC masks the upper 4 bits and shifts it into the ASIC chain. This should be less work for cgminer and only minor changes in the current driver. We'll see.
sr. member
Activity: 378
Merit: 250
BkkCoins
I also have a couple of questions.
Will the work be divided between the group of 16 chips Each chip does 1/16 range of nonce?
What if Avalon chip can't divide the work this way?
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
So, I think I'll post an update and clear up confusion about where I'm headed.

Status
I've completed the conversion to Kicad. This was a 2-3 day set back and I'm still figuring how to work around Kicad's shortcomings. While I did use a converter program it messed up a lot of stuff that meant having to redo net names, some part foot prints and layout. I feel like I'm now making progress again.

Roadmap
In a couple days I'll have a preliminary board based on my deductions (guesses) about chip pinout. This means that I hope I'll only have to lay tracks for data signals when the docs are released, unless I get too much wrong but I'll have saved a copy with no chip connections to fall back on. I'm expecting to put some images, parts lists and cad files up on github at this point. The choices I make, like which PIC and I2C instead of CAN, are based on me being familiar with them and not wanting to spend time learning new things to get it done.

Once I have docs I'll finish the board and triple check paper copies before sending it off to be made at a low-cost but professional Chinese board shop. Expect 1-2 weeks wait after doc release.

During this waiting I'll have PIC chips and proto-boards on hand to make a mock-up controller and start coding/debugging the firmware. Hopefully by the time the boards arrive I'll have all parts and a programmed PIC that I can drop in and check. If I'm real lucky someone will forward me sample ASICs to test as well, but if not I'll program some 8pin PICs to act as ASIC stand ins and wire them to the pads manually.

Once I have a working board with or without ASICs I'll work on some DIY docs to help people put these together themselves using a home reflow process. For those who want assembled boards I'll only be offering that if I can work with a local assembled/factory who has pick/place equipment and production experience. Keep in mind that each board has 250 odd parts, mostly tiny 0402 capacitors that will need to be placed with tweezers. You don't want to make a lot of these by hand. I don't really want to get into the business of accepting people's ASICs and converting them into boards - not unless they're willing to pay the costs that a professional assembler will charge (there are many in Thailand, as it's an Asian hub for hard disks and many other computer products, but it's also hard to set up the needed contacts and trust to execute this properly). Several people have contacted me offering to make finished boards and I'm open to working with others.

My plan is to offer a kit for DIY users including board, stencil, parts, docs that they fill with their own ASICs. Whether this plan works out I don't know but I will be making mine and will use that process to give others a head start. Those who don't want that hassle will surely find that assemblers pop up to satisfy their needs. I'll probably set up one of these "instant free bitcoinstore" deals to offer the kits and other nice things for either bitcoin or paypal (or ASIC chips traded in lieu of bitcoin, because you can never have too many).

My goal is to reach this endpoint before chips start shipping so people can decide what to tell their chip group. If I reach this goal early I'll explore arrangements with assemblers to offer pre-made boards. I'm hesitant about this because I don't really want to be in the warranty business.

I hope people understand this is a best-effort type deal. I could have just made boards for myself and not shared my efforts with everyone who will soon be competing as miners. So far I've had good response from many who have committed to help and even sent money for chips so that I can do more mining later for my work. Hopefully this will all be a win-win process for all.

If I've not replied to your PM or posts here it's not because I'm ignoring you to be nasty. It's because I want to work on the board and each of these queries takes time away from that. Thank You to those who have offered to help - I'll contact you when I'm ready.
newbie
Activity: 14
Merit: 0
BKKCoins
Just a few questions.

Chaining: The I2C protocol have a 128 devices limit. The chain connection will be between Pics? or 1 pic will controll all asic chips?  (this limit to 8 boards per PIC connect to the host)

The PIC will connect to usb bus? Have you consider the RJ45 circuit of your old FPGA design?

The fan control circuit will be integrated? or will be an external module? (if it`s integrated the pic can shutdown the miner if overheating, if it`s external we can replace it with a homebrew cooling system).

About asic chip failure debug: maybe 4 leds for show the number of damaged chip?

Just that for now.
full member
Activity: 378
Merit: 100
I should get a couple of sample chips this month.  If we want to prototype the concept with a simple 2 sided board, I can make one here at work on the pcb x-y plotter and do some testing here. Maybe just a one chip prototype.
full member
Activity: 309
Merit: 100
So out of curiosity if someone wanted to build these boards themselves, will that be included or just the physical boards?




kosta
sr. member
Activity: 322
Merit: 250
I just saw that zefir was posting something about "sample" chips that get sent by the factory in May before the final chips. First I heard about this.

He said that he would distribute them to buyers in proportion to their order qty. I don't think he knows yet what qty of samples may be due.

So if anyone interested in my board has large chip orders with him you may be able to get some sample qty. in May. If so, it would be very, very, very helpful to try and arrange for those samples to be sent on to me for early board testing so that I can debug and once we know the board works, we can order a large batch in time for final chip deliveries.

BTW I'm moving the power connector down to the end and turning it so that a right angle connector could be used. A little better for those who want to stack boards.
Could you get something that 'emulates' the function of the Avalon chips, populate a PCB or two with all the other components,  just to see that everything else works first?  Then you know it there's problems its because of the avalon chip and not something else

I see now you're already doing that, nice!


Couple other thoughts offhand..

* good ole fashioned 63/37 lead solder is going to be the easiest to work with and reflow at the lowest temp.  do you see any reason NOT to get that?  (Maybe the default cheap deals from boardhouses use RoHS HASL now..)
* I'm guessing your OP pic was when you were trying for a 2 layer board (plane fill on top layer) - aye, forget that.  you can also get somewhat better heatsinking by tieing all the thermal vias on the ground pad of the QFN to the ground plane with no thermal relief.  I will have to check, i once saw an appnote about SMT heatsinking with copper planes (both internal and external) and they calculated the degrees C/W of various configuratins of plane size, plane thickness (e.g. 1oz copper up to 10oz copper, etc).  May prove useful for these little QFN buggers.  Who knows, maybe it could keep the heat down and allow for a little OC headroom.

* what are your overall dimensions roughly?  it looks like this will panalize very nicely.  i'm assuming 0.062" FR4.
* what board house were you looking to get this from?

I have a few tweaks and ideas i'd like to try, i plan to mill out some initial test pcbs (only 2 layer but just to confirm some thermodynamics and mechanical fit) and order some 4 layer boards

It just kind of sucks these are all QFN with a thermal pad for the heatsinking, makes it difficult to DIY.    Seems like this is the sort of thing you really have to pick & replace + reflow.
sr. member
Activity: 434
Merit: 250
Very nice work! Are you'll underestimating the heat though? Those avalons got a thick ass heatsink.
sr. member
Activity: 462
Merit: 250
I like this too..  I can go for 2 boards
hero member
Activity: 700
Merit: 500
This looks good, I added Klondike to my list of ASIC projects at http://minr.info/
sr. member
Activity: 367
Merit: 250
Wouldn't it just be the one not giving off the same amount of heat?

Chips can fail in a number of different way. There is simply no binary state for this (1 for working, 0 for not working). For instance, chip can give out same amount of hashes therefore showing similar heat signature, but producing only invalid shares? I don't have access nor funds to get high-res thermal camera!

I'm not sure heat signature is the way to go to detect faulty chips. However, if that's what you wanted to do, I think a simple laser-guided IR thermometer would suffice. They are not very expensive, you can even find them on Bitmit.
full member
Activity: 378
Merit: 100
Do you have a pinout for these ASICs yet? They are 48 pin devices.
I have a tentative one I'm using that is missing data signals. I created this by looking at the board and deducing what I could. I know which lines are likely data but not which one is which.

The little PIC I'm using doesn't support CAN bus. I think only the 32 bit ones have that. I'm not sure about the merits of dedicated debug pins. Maybe you can explain. I've been assuming that as a minimum I'd have the USB lines working and from that any PIC pin can be accessed for debugging use if need be. It supports a USB boot loader so that new firmware could be loaded that had some debugging functions. But other than serial I/O to the ASICs there's nothing much to debug.

There's actually not much that happens on the board. Data is received by USB and sent via serial to the ASICs. The ASIC serial output is monitored for results, received and sent back via USB. I'll have a logic analyser handy so I can check the serial and clocks.

A secondary PIC function is to receive data via USB and relay it by I2C to other boards. If no USB is connected it detects this and switches to I2C mode for data.

I stuck a FET on board for PWM fan control using the PIC's temp sensor.

Which PIC are you looking at using? As for CAN, I like to use it if it is available. You can dedicate one port just to debug messages and commands. But if it isn't there, the USB will have to do.

I will have 720 chips on order.
legendary
Activity: 1358
Merit: 1001
https://gliph.me/hUF
I stuck a FET on board for PWM fan control using the PIC's temp sensor.
Very nice!
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
Do you have a pinout for these ASICs yet? They are 48 pin devices.
I have a tentative one I'm using that is missing data signals. I created this by looking at the board and deducing what I could. I know which lines are likely data but not which one is which.

The little PIC I'm using doesn't support CAN bus. I think only the 32 bit ones have that. I'm not sure about the merits of dedicated debug pins. Maybe you can explain. I've been assuming that as a minimum I'd have the USB lines working and from that any PIC pin can be accessed for debugging use if need be. It supports a USB boot loader so that new firmware could be loaded that had some debugging functions. But other than serial I/O to the ASICs there's nothing much to debug.

There's actually not much that happens on the board. Data is received by USB and sent via serial to the ASICs. The ASIC serial output is monitored for results, received and sent back via USB. I'll have a logic analyser handy so I can check the serial and clocks.

A secondary PIC function is to receive data via USB and relay it by I2C to other boards. If no USB is connected it detects this and switches to I2C mode for data.

I stuck a FET on board for PWM fan control using the PIC's temp sensor.
Jump to: