Спасибо, товарищи!
Мы как следует нажрались всей нашей организацией ;-) Собрались реально все! Кроме китайцев :-)
Большое спасибо всем за поздравления, особенно скептикам (naima53).
Чипы Тимуру передадим :-) Сможете исследовать их на производительность :-) Очень будем рады услышать результаты! Лешек организует работы по тестированию.
Я уже основательно датый, так что можете порадоваться за результаты! За брынзу спасибо :-) жрем брынзу и виски :-) и это очень радует однако :-)))) как приятно еб*нуть по 500 после столького времени работы... эээ... :-)
От Метабанка: Поздравляю всех кто оставил предзаказ! По текущему состоянию подтверждаю, что мы укладываемся в срок и устройства будут поставлены вовремя. Для тех кто доверял - огромное спасибо! Для скептиков - рады очередной раз подтвердить слова делом. Ваше доверие дорого нам. Будем рады видеть вас в наших дальнейших проектах.
|
|
|
Can't write comments on bitbet.us site... It would be great if they're copy this as well in comments... Sent payouts: http://bitbet.us/bet/450/bitfurys-asic-will-work-with-power-1/DATE (2013-06-19 02:08:28) FOR BLOCKCHAIN LOOKUPS: BET OUTGOING WALLET PAID AMOUNT (WIN) 0.1 1CvadbWnVotoUhrrepxEGqESakmuqHtwnE 0.2 1.0 1NxPnXyN4XmxjysUxLXVXgNGFhYCEGFASV 1.9 10.0 19d6exSEyAPDXLLe3W3ucexpVXUABFeFsy 18.6 1.0 1HP9pTD9ueGYnkEA7Wj7D4SBCesTxXVsNb 1.9 0.044 1GnK5jZxzhFnKCu2yu89XP2JKvBME1em6A 0.1 5.0 16dQP7Nr1irruUTAbiiwYgNB7jQ8NpEVQ3 9.3 1.0 1DEVgggHwKngXf6YSn8ZNBvESTzCDiQWE2 1.9 0.002 1MoaWWXfSFWv6wYpKJEQiRjkmn8gHKBieK 0.1 0.052 19XHbghMRS9HhvWMoKhW8zKFYBSLVz69gB 0.1 4.0 1FzPgqnBrkBZanZwHaAmnd5wRxeDarwr9b 7.4 0.5 1CUanrri8gqXnU8e6bP2Tq8j2DSeBt5Tym 0.9 27.0 1MXf4cFD7EETFQEqD7QdLHbJeGVZfLnbaV 50.2 1.0 1DUv9KXp5CVaEdjvwg5GRUEZ5AhPVy8mnV 1.9 1.5 17xHzsvibCp9SKHParBaHVNZ5yykcjiRTk 2.8 0.05 13ZCqhVuvGL5RqF8WhUdiSFKDScZLZ7Jcz 0.1 0.01 1JCKtVk5W2LVsJiSHGXAcHeRMbZW6RXDAf 0.1 6 13X6T4iGWNHwPstvda7J1XDHbdiugio3j9 11.2
|
|
|
Первое, хочу сказать что чип работает, за поздравления спасибо. Полное подтверждение с использованием боевых тест-векторов (ранее найденные блоки) - решение валидируется на контроллере raspi. Второе - там помнится naima53 что-то обещал, чип-то я лично делал, и у меня свидетелей много ? ;-)))))) https://mega.co.nz/#!yVMTTCSA!SFsVTAWeMSnxwUeuRnwR0Wm_d74xVyOdxkL5LEI_LsQ Выше находится SPI-код который можно скачать, посмотреть чем тестировалось, и повторить тесты. Измерения ошибок и настоящего хеш-рейта производилось использовав 100 первых тестовых векторов (как разрешены в коде), плата не охлаждалась принудительно (впечатляет - работает на ПАССИВНОЙ 2-слойной борде сделанной Рене - intron - кстати большое ему СПАСИБО, единственное что пришлось INCLK и OUTMISO заземлить). Итак результаты: 0.596 V, 125 Mhz, 100 tasks sent, 122 solutions got, COP is 0.84 (122/145), Ideal 1.45 GH/s, Real 1.22 Gh/s 0.596 V, 150 Mhz, 100 tasks sent, 19 solutions got, COP is 0.13 (19/145), Ideal 1.74 Gh/s, Real 0.23 Gh/s 0.596 V, 78 Mhz, 0.6 Amps, 0.36 W, 100 tasks sent, 145 solutions got, COP is 1.0, Ideal 0.91 GH/s, Real 0.91 GH/s, 0.39 W/Gh/s 0.596 V, 45 Mhz, 0.39 Amps, 0.23 W, 100 tasks sent, 145 solutions got, COP is 1.0, Ideal 0.52 Gh/s, Real 0.52 Gh/s, 0.44 W / Gh/s 0.596 V, 96 Mhz, 0.725 Amps, 0.43 W, 100 tasks sent, 143 solutions got, COP is 0.986, Ideal 1.12 Gh/s, Real 1.1 Gh/s, 0.39 W / Gh/s Прошу обратить внимание что 96 Mhz выглядит очень близким к лучшему решению... После я начал поднимать напряжения, НЕ ИЗМЕНЯЯ настройки осциллятора - он преднамерянно не стабилизирован по питанию, и его частота осцилляция должна следовать за напряжением питания. Что самое интересное- что когда увеличивается частота осцилляций, то error-rate практически не изменяется, благодаря соответствию характеристик транзисторов осциллятора и транзисторов логики в пределах одного кристалла. 0.7 V 140 Mhz 1.2 Amps 0.84 W 100 tasks, 143 solutions got, COP is 0.986, Ideal 1.63 Gh/s, Real 1.6 Gh/s, 0.52 W / GH/s 0.8 V 180 Mhz 1.87 Amps 1.49 W 100 tasks, 139 solutions got, COP is 0.958, Ideal 2.093 Gh/s, Real 2 Gh/s, 0.75 W / GH/s 0.9 V 214 Mhz 2.62 Amps 2.36 W 100 tasks, 132 solutions got, COP is 0.91, Ideal 2.48 Gh/s, Real 2.26 Gh/s, 1.04 W / Gh/s. Далее не тестировал - похоже не хватает охлаждения. Нам более подтверждений не нужно, но мы расширим тестирования и все-же разошлем тестовые чипы. Более детальные условия будут после координирования тестирования с Лешеком. Возможно какое-то соревнование будет - аля на лучший USB-стик, на самую высокую скорость хеширования и так далее... Платежи по спору тем кто ставил на ДА сейчас проведу... Жалко конечно что не всадили тем кто ставил на НЕТ... ну это такое дело... С моей стороны было-бы жлобством не проплатить... PS. Теперь мы реально начинаем считать сколько-же надо пластин и чипов заказать и готовимся к исполнению устройств. Цифры в реальности очень порадовали, эксцессов аля в 10 раз нет... Более того - именно потребляемая мощность позволяет защитить по цене нас и наших клиентов от "враждебных" подвижек конкурентов на 28nm ))) Так что им творческих успехов тоже, но мы пока и с 55 нм неплохо поживем. А вот любители бабочек пожалуй будут работать на откорм энергокомпаний :-) Они ведь любят модные кулера ?! ;-) какой-же майнер без кулера ... майнер на пассивной платке это-ж не серьезно... ыыы... должен быть сендвич из платок, обязательно ляп термоклея, много USB-шнуров, LOL ;-))) ну для солидности и внушительности, сами понимаете ;-))) PPS. Для тех кто хочет купить и долбает меня закупками - я продажами категорически __заниматься не хочу__ (!!) - не для того у меня столько партнеров чтобы заниматься торговлей (!!), поэтому спрашивать лучше цену у меня "напрямую" бессмысленно - хуже - легко, с учетом стоимости моего времени... В ближайшее время все наладят как положено и надеюсь такие затеи перестанут иметь место.
|
|
|
First I would like to say that chip is working. Complete confirmation using test-vectors. https://mega.co.nz/#!yVMTTCSA!SFsVTAWeMSnxwUeuRnwR0Wm_d74xVyOdxkL5LEI_LsQ Here is SPI code to download and test code. Then - measurements of error rates and real hash rates were performed using 100 first test vectors (as enabled in code), no board cooling (that's pretty impressive - it works on PASSIVE board made by Rene - great thanks BTW - you may use code I provided to perform same tests... Maybe just oscillator should be adjusted - on OUTCLK you'll see clock and you should bring INCLK and OUTMISO to ground while testing). Results so far 0.596 V, 125 Mhz, 100 tasks sent, 122 solutions got, COP is 0.84 (122/145), Ideal 1.45 GH/s, Real 1.22 Gh/s 0.596 V, 150 Mhz, 100 tasks sent, 19 solutions got, COP is 0.13 (19/145), Ideal 1.74 Gh/s, Real 0.23 Gh/s 0.596 V, 78 Mhz, 0.6 Amps, 0.36 W, 100 tasks sent, 145 solutions got, COP is 1.0, Ideal 0.91 GH/s, Real 0.91 GH/s, 0.39 W/Gh/s 0.596 V, 45 Mhz, 0.39 Amps, 0.23 W, 100 tasks sent, 145 solutions got, COP is 1.0, Ideal 0.52 Gh/s, Real 0.52 Gh/s, 0.44 W / Gh/s 0.596 V, 96 Mhz, 0.725 Amps, 0.43 W, 100 tasks sent, 143 solutions got, COP is 0.986, Ideal 1.12 Gh/s, Real 1.1 Gh/s, 0.39 W / Gh/s Please note that it seems that 96 Mhz is close to _BEST_ solution... Then I started to increase voltage, while not changing internal oscillator settings - it is not power-stabiized and its oscillation frequency should follow and grow up. What is most interesting (and this should be confirmed later - this is INTENDED operation) - that oscillating frequency increases, while error rate remains the same as transistor strength in oscillator and interconnect variances within same die are less. 0.7 V 140 Mhz 1.2 Amps 0.84 W 100 tasks, 143 solutions got, COP is 0.986, Ideal 1.63 Gh/s, Real 1.6 Gh/s, 0.52 W / GH/s 0.8 V 180 Mhz 1.87 Amps 1.49 W 100 tasks, 139 solutions got, COP is 0.958, Ideal 2.093 Gh/s, Real 2 Gh/s, 0.75 W / GH/s 0.9 V 214 Mhz 2.62 Amps 2.36 W 100 tasks, 132 solutions got, COP is 0.91, Ideal 2.48 Gh/s, Real 2.26 Gh/s, 1.04 W / Gh/s. Not tested more... And likely latter was worse due to not enough cooling. We do not need more just confirmation testing that it works, but we need more extended testing like that. So I'll discuss tomorrow with Leszek and we'll send test chips, and will ask to perform tests and post your results. Also we likely will make some contest for say - best USB-stick (most of hashing power with smallest form-factor), highest hashing rate (real, not ideal, crunching clocks is not a problem), etc. I would like to note that THIS design thanks to much effort spent in Monte-Carlo sims with flip-flops works really well at low voltages :-) Small error rates and no flip-flop losses like it may happen with logic cells unqualified for low voltages. It scales almost like it should in theory, not like it does in practice when cells are unsuitable and you simply can't go lower because frequency will drop DRAMATICALLY. This enables application of this chip for different kind of heating devices where voltage can be changed in dynamics to adjust produced heat to requirements, etc etc etc. Also I am preparing to execute payments to all betters, because it is clearly our fault that we failed to meet deadlines. It is too cumbersome to calculate actual bet amount, so I would pay off using averaged multiplication value about 1.86 or so (I don't remember exactly have to look in my calculations). Thanks that we ordered more wafer count - we now can fulfill say 100 Th/s operations, etc :-) So there's nothing to worry. And we can start planning for further testing and production.
|
|
|
Ну что - следующая новость :-) Чип таки может и самостоятельно работать, БЕЗ вспомогательных FPGA... Всего-то делов: unsigned decnonce(unsigned in) { unsigned out;
/* First part load */ out = (in & 0xFF) << 24; in >>= 8;
/* Byte reversal */ in = (((in & 0xaaaaaaaa) >> 1) | ((in & 0x55555555) << 1)); in = (((in & 0xcccccccc) >> 2) | ((in & 0x33333333) << 2)); in = (((in & 0xf0f0f0f0) >> 4) | ((in & 0x0f0f0f0f) << 4));
out |= (in >> 2)&0x3FFFFF;
/* Extraction */ if (in & 1) out |= (1 << 23); if (in & 2) out |= (1 << 22);
out -= 0x800004; return out; }
.... if (non-0x400000 == orig) { nmatched ++; continue; } if (non-0x800000 == orig) { nmatched ++; continue; } if (non+0x2800000 == orig) { nmatched ++; continue; } if (non+0x2C00000 == orig) { nmatched ++; continue; } if (non+0x400000 == orig) { nmatched ++; continue; } ....
:-) 5 раз проверяем.... и практически 99.9% совпадений )))) Так что можно сказать что ядра считают именно то, что нужно им считать :-) Осталось теперь нагрузить работой и посмотреть error rate. Для начала тестовой работой нагрузим, потом, после тестовых векторов, можно уже пускать на пул и смотреть хешрейт :-) Плюс тут я обязательно форкну исходник на два варианта - один локальный тест, а другой уже с майнером... Плюс думаю после этого момента будет пора измерить производительность реальную ну и я уже расчехлил кошелек оплатить тем кто там спорил за нас... Увы 3 дня просрали :-( Эхх... Бывает однако ;-)
|
|
|
[18.06.13, 17:09:27] Leszek Rychlewski: I will do this [18.06.13, 17:39:31] Leszek Rychlewski: Rows are result bits [18.06.13, 17:39:44] Leszek Rychlewski: Columns are nonce bits [18.06.13, 17:39:56] Leszek Rychlewski: [rows] second column from Niko [18.06.13, 17:40:16] Leszek Rychlewski: 6 6 7 7 7 6 7 4 11 13 9 9 7 7 6 6 9 7 7 6 4 5 8 10 016 8 4 9 8 7 10 5 4 4 4 7 7 6 5 4 7 8 4 7 6 6 6 6 6 5 5 2 5 7 7 8 8 013 3 6 6 6 8 5 2 3 4 5 3 4 5 2 4 5 3 4 4 5 2 3 2 3 2 2 3 2 3 4 4 3 008 6 4 4 5 2 7 6 6 9 6 7 10 6 11 11 7 8 8 6 6 8 7 5 8 6 6 4 7 8 9 6 6 016 6 5 10 6 6 7 5 5 8 5 3 3 5 9 6 9 3 3 5 6 9 2 7 1 5 5 3 5 6 5 3 5 013 3 7 9 5 3 5 8 6 3 4 4 7 9 4 5 7 6 5 6 5 6 2 5 4 4 4 6 8 5 5 5 5 009 7 3 6 8 7 7 7 5 4 7 10 11 5 8 7 6 7 9 9 5 8 6 4 8 5 7 9 8 2 7 8 6 9 5 5 7 8 10 8 7 9 5 11 12 7 8 12 9 8 8 7 8 7 8 8 7 10 10 9 7 6 8 4 9 10 3 5 8 7 5 8 9 8 2 11 10 8 9 7 6 5 8 9 6 11 7 9 5 7 12 9 6 2 8 9 4 7 8 7 9 9 12 7 6 9 7 11 12 5 9 10 6 7 10 10 9 10 5 7 8 7 10 7 6 4 9 8 5 11 7 5 4 4 7 4 3 3 010 8 7 2 5 7 4 7 7 6 3 5 3 3 6 4 2 4 4 2 6 3 5 8 5 5 3 6 8 6 5 013 3 8 9 5 6 5 6 5 6 3 5 8 3 5 4 8 9 7 5 5 10 4 4 8 5 2 7 3 4 7 014 5 3 9 9 3 7 7 8 5 7 7 6 7 6 5 7 8 11 6 6 4 7 6 4 5 7 7 6 6 7 016 7 6 4 6 13 5 8 8 7 10 10 7 5 6 5 8 9 6 8 7 7 3 6 9 6 10 7 6 5 7 016 7 4 8 7 9 13 5 7 10 7 8 9 8 6 6 4 6 8 6 8 7 7 5 9 6 8 11 6 4 6 013 7 6 3 6 4 7 10 7 5 9 5 5 8 6 6 6 4 4 6 3 7 7 4 4 6 6 5 10 5 4 014 6 5 6 7 3 4 9 8 5 9 7 5 6 7 9 5 9 6 6 6 4 9 6 4 3 6 8 4 8 5 012 4 4 6 7 2 5 5 6 9 6 7 5 3 6 7 8 4 5 5 5 6 3 4 6 4 2 7 7 4 7 6 7 7 8 9 10 7 6 7 9 13 6 8 10 9 6 017 7 8 7 6 8 10 7 9 6 6 3 8 8 5 9 10 6 6 5 8 10 5 5 7 9 12 3 6 8 6 014 6 6 3 5 5 7 9 6 6 6 6 2 6 5 7 10 5 3 5 5 7 7 8 6 4 11 10 6 5 7 014 6 9 4 7 4 6 7 6 9 11 7 6 5 6 5 6 6 4 5 7 9 10 8 7 5 7 10 13 7 4 016 7 8 10 9 8 6 8 6 8 6 7 7 6 4 8 4 8 10 6 7 9 5 7 8 7 6 5 9 10 6 016 4 5 6 8 8 5 10 4 7 6 6 9 9 7 4 8 10 5 11 6 6 5 7 5 5 3 5 2 8 9 013 6 7 6 3 6 7 5 5 6 6 2 3 7 9 4 3 7 7 4 6 6 9 7 9 12 13 9 9 7 12 021 8 10 12 10 12 13 11 8 8 8 8 11 9 11 12 8 4 11 10 8 12 9 5 9 8 10 5 9 8 8 018 12 8 8 11 11 8 9 10 9 10 8 6 8 10 12 11 7 5 10 7 8 10 8 4 10 6 7 9 10 8 1 11 11 6 9 6 10 7 8 6 8 8 6 7 8 9 015 10 7 5 7 8 6 8 6 5 5 4 9 6 6 6 4 10 12 7 5 8 8 7 7 9 7 5 6 5 6 9 9 8 6 2 7 6 5 7 6 3 8 7 4 5 6 4 3 7 7 7 7 6 5 4 5 8 4 7 6 4 4 6 9 9 5 3 6 5 5 9 3 7 8 9 10 8 9 8 7 13 14 7 9 10 7 7 9 12 7 10 6 0 10 8 11 12 8 5 10 9 7 12 9 5 6 4 4 5 6 3 3 9 8 6 4 8 6 5 6 7 5 5 011 5 4 4 7 6 2 2 6 3 5 5 2 5 9 6 6 6 7 8 5 11 8 5 10 6 4 5 7 9 5 015 5 5 5 7 8 7 5 2 8 7 4 10 7 [18.06.13, 17:40:38] Leszek Rychlewski: You see clear signal on the diagonals Так что уже почти :-))) Это я так пишу, чтобы лишний раз сказать, что и Лешек у нас толковый, да и вся команда хороша ;-) Пока я тут присматривал уже все и сделано ;-) Сейчас закодирую преобразование и можно будет посмотреть error-rate ;-) Ну и майнер докрутить.
|
|
|
TEST VECTOR > CHIP SOLUTION FOUND
08c8c265 > c490a509 ad43857c > 7068c0ad 301e28a4 > 1e450531 b598026f > 069033b6 0ae5b4c5 > 69cba40b 2d072f80 > 387d082e 4acda229 > 6c11ed4b 9a04d3bf > c8f2b09a 715b1cf4 > 36ce4772 0088ad63 > 44ad7901 75765400 > 9b0a0876 18d26091 > 9241aa19 11d3855f > 72a8b112 c7ce2cf6 > 1ccdd7c8 58846300 > 88310859 91dda6ad > 6e596392 13ea96c3 > 55dab814 430cbcba > 4c4f1f44 052c7cd6 > 8dcfd605 0162ba78 > 51970f02 d37267d5 > 93f9e6d3 b7d1ebe2 > e2f559b8 c391096d > 22a423c4 ce06d2a4 > d85285ce 8185558a > a86a9c82 c5d61af1 > 1ad66bc6 0a777285 > bb53240b d62334c4 > 31cb04d7 989c19f0 > 0ee60b99 fa288a4d > 4594a2fa c888039c > 047081c9 96636dde > b1edd196
и так далее....
|
|
|
Никто еще ничего не тестит - надо ДЕШИФРОВАТЬ ответы. [18.06.13, 14:43:12] bitfury.org bitfury.org: JOB 0 MS0 dacb9f4d NONCE 94175a32 RESULTS JOB 1 MS0 d5bfb0ae NONCE 6d710841 RESULTS ba169b94 c06433e0 JOB 0 MS0 dfec60d2 NONCE 0aabaaaa RESULTS 6e08cb91 2384e86d [18.06.13, 14:43:24] bitfury.org bitfury.org: look - 94175a32 matches ba169b94 [18.06.13, 14:43:36] bitfury.org bitfury.org: 6d710841 matches 2384e86d ? [18.06.13, 14:43:54] bitfury.org bitfury.org: JOB 1 MS0 8877e516 NONCE 2656edef RESULTS 0cbc3e76 75555d0b JOB 0 MS0 074c36f2 NONCE f328d6a5 RESULTS daed7327 [18.06.13, 14:43:59] bitfury.org bitfury.org: 26 -- 27 [18.06.13, 14:44:09] bitfury.org bitfury.org: JOB 0 MS0 b0e72d8e NONCE f0c4e61f RESULTS JOB 1 MS0 c42948f7 NONCE 410548fd RESULTS c819f1f1 [18.06.13, 14:44:11] bitfury.org bitfury.org: f0 --> f1 Вот к примеру... Старшие 10 бит нонса - это номер ядра... видите совпадения ? NONCE 94175a32 и ba169b94 ... вот и разбираемся в итоге. Ответы после нескольких преобразований по интерфейсам приходят несколько в другом формате. Потиху занимаемся, как добьем - пойдут хешить. Совпадений много, если внимательно глянуть - т.е. хешим правильно, иначе по ядрам не было-бы такого количества совпадений. Однако салом чип поделиться не хочет даже с его создателем Жадная микросхема
|
|
|
Прогон тест-векторов показал что ответы приходят в перемешанном состоянии: https://mega.co.nz/#!CMcjxD4B!D5NxaCIHIFA96dTZpeXCd29RKdwh7mkSXz-n9Yzxqt4 см. results.txt и исходник spitest.c собственно осталось последнее - разобраться в чем дело и запустить майн :-) как так получилось я похоже уже понял - роутинг вручную требовал уменьшения усилий и биты там идут несколько не обычно :-))) как пофиксить - в процессе еще с вчерашней ночи. На BC817-40 сделал level шифтер вчера 1.8 -> 3.3V - работает, но паршиво... скорость устойчивая SPI - 100 кГц (ну может еще 200 потянет...).
|
|
|
Congrats bitfury, that looks promising!! A Hip Hip Hoorray for the most transparently communicating asic dev that I read of on this forum! Can you roughly estimate how much more power consumation there would be when doing real SHA256 computation? This is REAL sha256 computation. Just no read-back, so there may be high error rate and frequency should be decreased. So there should be no MORE power consumption, question now is only about PERFORMANCE. Also despite what galaxyASIC said seems that I have mastered to design $10 million-worth logic cell library (he claimed that such research costs in range of $10 million USD). If that job is really that complex and chip works, then this technology costs more than $10 million ALONE. But - need to wait of course to check error rates. Without real hashing and reading error rates it can be overestimated and real hash rate can be twice less (clock). Well - and also of course there may be minor bug that ruins whole thing, because development time was very short - that are current questions, not power consumption.
|
|
|
Это внутренний осцилятор?
Да, внутренний _медленный_. Быстрый похоже нахрен вообще не нужен, гигагерца там походу не будет на таких напряжениях, а на меньших клоках duty cycle покалечится... Этот дает без делителя пополам 52-53% НА ВЫХОДЕ. Маловероятно что с внешним будет лучше. Питание надо КАЧЕСТВЕННО делать. Улучшив качество питания может стать лучше.
|
|
|
Raspi driver is about 50 Ohm pmos transistor resistor - with 1kohm you'll get shitty waveform. Just terminate with 50 Ohm and it will work! Inputs are CMOS, but currents goes in of course when you recharge capacitors. However input levels are sampled using buffer amplifiers (like operational/differential amplifiers), so logic levels may be any you like, just sharp enough edges. Somewhat similar to SSTL... This was built to be able to level-shift using just STRINGS! You can build devices! GREEN LIGHT! Code that I posted works. Garbage computation (internal logic misconfigured): 0.596 V 0.541 A 87 Mhz 1 GH/s 0.32 W 0.31 W / GH/s 0.596 V 0.326 A 44 Mhz 0.5 GH/s 0.2 W 0.38 W / GH/s 0.596 V 0.502 A 80 Mhz 0.93 GH/s 0.29 W 0.32 W / Gh/s 0.596 V 0.853 A 155 Mhz 1.8 GH/s 0.5 W 0.282 W / GH/s Please note that garbage computation consumes LESS POWER than when we compute SHA256 (right now I do not read data FROM chip as have to solder level shifter, but can have conclusions based just on power consumptions. So I can estimate frequency when it falls down: 0.596 V 0.673 A 86 Mhz 1 GH/s 0.4 W 0.4 W / Gh/s 0.596 V 1.049 A 145 Mhz 1.68 Gh/s 0.62 W 0.37 W / Gh/s 0.596 V 1.516 A 235 Mhz 2.73 Gh/s 0.9 W 0.33 W / Gh/s 0.596 V 2 A 320 Mhz 3.72 Gh/s 1.19 W 0.32 W / Gh/s 0.596 V 1.931 A 400 Mhz 4.65 Gh/s 1.15 W 0.24 W / GH/s (please note - HERE WE DO NOT COMPUTE USEFUL HASHES LIKELY!) Then - voltage sweep (limited to 3 Amps now): 0.65 V 2.56 A 410 Mhz 4.77 Gh/s 1.67 W 0.35 W / Gh/s 0.687 V 2.997 A 467 Mhz 5.43 Gh/s 2.06 W 0.38 W / Gh/s 0.545 V 1.52 A 280 Mhz 3.26 Gh/s 0.83 W 0.25 W / Gh/s 0.5 V 1.07 A 216 Mhz 2.5 Gh/s 0.54 W 0.21 W / Gh/s Clock is set by using internal SLOW oscillator programmed with code: {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f}; - with code 0x1f not works But clock likely would be different. Now I have to test read-back and test real error-rates, as there can be up to 30% and it won't be noticed just with power consumption, however 80% error would. That's it... Very little chances still exists that we fail (as models match with practice is very close, close to measurement limitations of my equipment, I am amazed really), but real life differs from theory (i.e. I wouldn't loose bet if everything would go as expected :-). By the way board isn't bad at all - with 1 W we had 46 degrees board temperature with 26 degrees in a room... and it lives USB-stick could be nice product with these chips!
|
|
|
В Голландии не рассылали - там просто лично из рук в руки обменяли платы на чипы. Разослать - долго слишком - самолетом слетать быстрее увы.
Код который я выкладывал походу рабочий, чип программируется нормально, полет следующий:
Мусорный расчет (расчетчик не инициализирован, клок идет, хеши аппроксимируются по клоку): 0.596 V 0.541 A 87 Mhz 1 GH/s 0.32 W 0.31 W / GH/s 0.596 V 0.326 A 44 Mhz 0.5 GH/s 0.2 W 0.38 W / GH/s 0.596 V 0.502 A 80 Mhz 0.93 GH/s 0.29 W 0.32 W / Gh/s 0.596 V 0.853 A 155 Mhz 1.8 GH/s 0.5 W 0.282 W / GH/s
прошу обратить внимание что когда считаем мусор - жрем мы меньше чем когда считаем SHA256 - я пока данные от чипа еще не получаю, но уже могу оценить например частоту на которой он уже не считает (это цифры для нормального SHA256): 0.596 V 0.673 A 86 Mhz 1 GH/s 0.4 W 0.4 W / Gh/s 0.596 V 1.049 A 145 Mhz 1.68 Gh/s 0.62 W 0.37 W / Gh/s 0.596 V 1.516 A 235 Mhz 2.73 Gh/s 0.9 W 0.33 W / Gh/s 0.596 V 2 A 320 Mhz 3.72 Gh/s 1.19 W 0.32 W / Gh/s 0.596 V 1.931 A 400 Mhz 4.65 Gh/s 1.15 W 0.24 W / GH/s (обращаю внимание - ТУТ УЖЕ НЕ СЧИТАЕТ!)
Далее по напряжениям: 0.65 V 2.56 A 410 Mhz 4.77 Gh/s 1.67 W 0.35 W / Gh/s 0.687 V 2.997 A 467 Mhz 5.43 Gh/s 2.06 W 0.38 W / Gh/s 0.545 V 1.52 A 280 Mhz 3.26 Gh/s 0.83 W 0.25 W / Gh/s 0.5 V 1.07 A 216 Mhz 2.5 Gh/s 0.54 W 0.21 W / Gh/s
Клок установлен путем включения медленного внутреннего осциллятора с запрограмированным кодом: {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f}; - с кодом в конце 0x1f уже не работает.
Теперь осталось протестировать работает-ли вычитка ответов (там асинхра и я ее наспех вобщем-то делал), и какой реально error-rate в расчетах - грубо может быть еще около 30%, но не 80%, когда такие данные по потреблению. Ну и вобщем-то все! Хотя шансов и мало обломаться (поскольку практика совпадает с моделями ПРАКТИЧЕСКИ в погрешности моей измерительной техники!), но это жизнь как говориться гладко было на бумаге, да забыли про овраги - если респин и будет, то только металлов, а это быстрее. Интрон, можете паять, с нормальным SPI все оказалось ровнее чем я думал! Плюс еще интересно проделать то-же но прокачав мощность вверх.... кстати на 1 W у нас перегрев 46 градусов на платке против 26 градусов в помещении :-) живет :-))) можно стик делать тоже думаю.
|
|
|
................. сделать их оказалось конкретно для распи очень просто - достаточно линии затерминировать на _50_ Ом - в итоге напряжение аккурат 1.8V остается, при этом конечно больше жрет распи - но он уже как полчаса нормально шлет данные на 50 Ом, получаются фронты около 3 ns, плюс форма сигналов очень хорошая.
Сейчас собственно ВМЕСТО зенеров на плату Интрона станут два 50 Ом резистора, распа провода законнекчены будут на эти два резистора, а последовательных резисторов там не будет, чтобы они не валили фронты.
После этого план - проверить работу программирования всей логики управления, проверить внутренние осцилляторы и увидеть внутренний клок.
После того как клок будет, посмотреть на его стабильность и попробовать уже залить задание и получить ответ... Тут конечно-же придется левел-шифтер в обратную сторону реализовать.
Ура! Двигается прогресс))) Всё, личку можете не читаь (я тоже про низкоомники там писал, только делитель, и побольше Ом))) Молодцы! Как вычислили 50ом? Я хотел тоже попробывать, но боялся за RasPi Кстати теперь попробуйте подать INMISO прямо на RasPi, примет она уровень 1v8 как единичку? или эмиттерный повторитель (схема в личке) Дико извиняюсь что лезу "поперек Батьки" )))) Я-бы не лез с советами - если у меня чип был (рука левая зачесалась, значит чипы выслали)))) Очень просто - поставил 100 Ом и 50 Ом, поставил щупы и посмотрел уровень. Так совпало :-) 100 Ом - 2.6 V , 50 Ом - 1.81 V :-) Как говориться "выстрел в небо сбил ворону" :-) За распи я не боялся - у меня 2 лежит, плюс у Нико еще один есть, если-бы сожгли - подумали-бы что-то другое. Все еще работает расп. Выходные драйвера не дохнут. Эмиттерный повторитель работать не будет - сигнал на выходе по уровню БОЛЬШЕ чем напряжение базы никак получиться не может, подумайте, будет-ли открыт транзистор когда там напряжение даже не то что больше а хотя-бы равно... Не верите - скачайте ltspice с linear.com и проверьте (я кроме того что писать еще и проверил) - это 2 минуты заняло всего. Насчет того почему на расп сигнал на 1.8 V может не пойти так просто на вход - зависит от исполнения буфера входного - если такой как у меня - то пофиг ему уровень. Если-же классический CMOS INPUT - то будет короткое внутри драйвера :-( Размеры транзисторов я не знаю - они при длительном таком уровне и выгореть могут.... По хорошему надо или найти спецификацию, или самим аккуратно измерить зависимость тока от напряжения на входном пине - тогда будет понятно более менее как там выполнена схема. Их там может быть МНОГО разновидностей - начиная от тупого CMOS, продолжая вариациями цепей с гистерезисами, заканчивая схемами с усилителями и компараторами - они имеют разные уровни срабатывания и разные побочные эффекты от нестандартных сигнальных уровней. Ну и естественно как правило производитель ничего не гарантирует относительно повторяемости подобных эффектов
|
|
|
For raspberry pi solution was pretty straightforward - just load output with 50 Ohms and you'll get voltage divided to about 1.8 V, nice sharp edges and no ringing!!!
This is what should be done instead of series resistor and zeners. This likely may be reason why Taiwan test failed.
Zeners were choosen to provide for ESD protection and to allow for variable input voltages. The voltage levels of the control processor where unknown during the design, could be 3V3, 5V or even 2V7. Will use a voltage divider also now. Use zeners as input protection all the time, never had issues. intron Well - that's not exactly voltage divider! As it is formed not with two resistors, but with internal pmos resistance of raspi driver and external termination 50 Ohm resistor mounted on PCB. Zeners for ESD... hmm... 2 kV HBM model is a 100 pF resistor charged to 2 kV passing through 1500 Ohm resistor... current can be pretty high - amperes... This is what should be passed by built-in ESD diodes actually well.
|
|
|
Well... First results...
Board seems to be good enough at least for lower-power test! We placed 15 1uF murata capacitors. We placed also 10 uF kemet capacitors where tantalum capacitors were expected and into input vdd we placed 1000 uF electrolytic cap. Connected this to lab power supply. Should be good enough.
Connected power to IOVDD as well. IOREF was tied to VDD (sorry no 0402 resistors at hand).
Before applying power - I've used multimeter and checked all ESD diodes - good way also to check that all connections are in place - on every pin there's path to IOVDD and path to GND - you can check it - say there's diode between GND |>| INCLK and diode between INCLK |>| IOVDD - by checking them you'll know that chip ESD not broken at that all connections are in place.
Then - checked buffer issues... Well with 100 mV hysteresis they're sensitive bitches. So DO NOT APPLY SLOW RISING SIGNALS.
For raspberry pi solution was pretty straightforward - just load output with 50 Ohms and you'll get voltage divided to about 1.8 V, nice sharp edges and no ringing!!!
This is what should be done instead of series resistor and zeners. This likely may be reason why Taiwan test failed.
|
|
|
У ребят с чипами прогресс есть, Punin отписал в английской ветке что подавили резонанс 620MHz танталом 1мкФ Мне сейчас интересен ответ по SPI... (когда-ж мне фишки пришлют поиграть))))
to Bitfury: прочтите пожалуйста личку, я про стыкование с RasPi написал. Извините что лезу с советами....
Итак что сделано было вчера: 1. Поизмерял плату - в чистом виде было два резонанса, запаяв 15 кондеров 1 мкф - остался неееебольшой резонансик задавленный. 2. Запаял чип, измерил ESD-защиту - все живое - этот момент рекомендую всем - ПЕРЕД включением прозвонить все диоды ESD-защиты по всем пинам input и output - должны звониться как диоды - если звонятся как КЗ - чип в мусорник и брать следующий чип - хотя нам еще не пришлось, первый-же и прозвонился, плюс этим-же способом можно прозвонить возможные непропаи QFN48 - я такой корпус термовоздушкой паял первый раз, но запаялся хорошо - по науке - пинцетом его сдвигаешь, а он на место из-за сил поверхностного натяжения становится; 3. Дальше пошли спать, потому как устали :-) Что сделано сегодня: 1. Включил питание, расп не подключал, подключил генератор сигналов на INCLK и щупы на INCLK и OUTCLK. По умолчанию после старта чипа он INCLK форвардит на OUTCLK - это как раз и заработало. Это-же означает что входые-выходные буфера и переход с высокого на низкое напряжение и обратно РАБОТАЕТ (там цепь получается - resistor - bufamp(усилитель с -IOREF и +INPUT) - гистерезисный элемент - hv2lv - MUX (от vdd core) - lv2hv - bufamp - output amplifier - pin). Цепь эта кстати беспокоила несколько потому как тот-же усилитель - аналоговый девайс... Но получился неплохо. 2. При подаче sine wave 10 мГц - все четко - на выходе OUTCLK меандр, при подаче синуса 1 мгц - жопа - на OUTCLK пульсня. Причина - буфера по входу чувствительные, гистерезис всего 100 милливольт. Это как раз оказалось плохо, надо было 300 мВ делать, на следующие дизайны сделал вывод... 3. Мораль - по SPI - НУЖНЫ rise/fall относительно резкие. И сделать их оказалось конкретно для распи очень просто - достаточно линии затерминировать на _50_ Ом - в итоге напряжение аккурат 1.8V остается, при этом конечно больше жрет распи - но он уже как полчаса нормально шлет данные на 50 Ом, получаются фронты около 3 ns, плюс форма сигналов очень хорошая. Сейчас собственно ВМЕСТО зенеров на плату Интрона станут два 50 Ом резистора, распа провода законнекчены будут на эти два резистора, а последовательных резисторов там не будет, чтобы они не валили фронты. После этого план - проверить работу программирования всей логики управления, проверить внутренние осцилляторы и увидеть внутренний клок. После того как клок будет, посмотреть на его стабильность и попробовать уже залить задание и получить ответ... Тут конечно-же придется левел-шифтер в обратную сторону реализовать. Плюс еще софт дописать - у меня с предыдущих работ ~1000 тест-векторов надерганных с блокчейна - как раз можно их зарядить и отмаркировать какие ядра работают внутри чипа, какие нет. Можно еще будет майнер докрутить и поставить его катать - однако реальную скорость по майнеру не так быстро видно как по тест-векторам (когда ядро битое - оно может просто не находить ответов..............).
|
|
|
Ok. got chips. they're nice! first I'll start with measurements of board...
|
|
|
Так-с :-) Чипы-с есть и плата есть... Ща буду измерять плату Интрона :-)
Насчет денег еще не смотрел таблицы, сорри - это пока-что не главное.
|
|
|
Скоро уже поеду за первыми чипами... Рад что интересно :-) Значит не зря пишу. Попробую сегодня что-то уже получить. Борды из Голландии забрали - вот эти: http://imgur.com/K30DoxD - и они-же получили уже первые чипы :-)))) Однако мы настоятельно рекомендовали не паять первыми, по крайней мере не все чипы, поскольку там неприятные ньюансы могут быть. Edited: Эхх - я только писать, а они уже впаялись..... :-) Мы просили не торопиться Надо было сначала импеданс power-plane измерить, кондеры напаять, проверить что все ок с питанием, а уже потом туда чип...
|
|
|
|