Author

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

cp1
hero member
Activity: 616
Merit: 500
Stop using branwallets
My pickit is finikcy too -- sometimes it seems erasing the pic's menory and restarting mplab helps, but I think it's just random when it works and doesn't.
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
Glad you got it to work. You said a full work push takes 385 us. How many bytes is this transfer ?
108 bytes. Each bit is typically 166nS low and 249nS high, but there is a gap between 32 bit words as well. I push 32 bits rolled out in asm and loop each data section in asm. Also, this is to both banks simultaneously, so really I push 216 bytes with most being the same to each bank but the nonces being bit-split. (My term for splitting the ranges during the push)

There is a way to get to 83nS low and 166nS high, but it's more involved, and with a further trick I think I can get exactly 125nS low (as specified by ASIC), and 250nS high (seems acceptable depending on spec reading). But this is only in bursts, with idle between and overall isn't as fast due to time to setup data.
sr. member
Activity: 378
Merit: 250
Woke up this morn and started messing with the PICKit3 again. It still didn't work. But after trying many things I decided to try the Programmer To Go mode (where it stores a bin image in it's memory so you can program without USB to PC). This didn't work either, but when switched back to regular mode it magically started working again. Great! So I'm off on new work again but with the fear hanging over me that it could crap out any time. Grrr.

(BTW back in the day I had a couple of those parallel PIC programmers, and a USB programmer made in Thailand later on, and then a PICKit2. Unfortunately none of those methods now have support for this new chip and I even had to buy the PICKit3 despite having my PICKit2 on hand. Though, apparently the PICKit2 may be useful for re-programming the PICKit3.)
Glad you got it to work. You said a full work push takes 385 us. How many bytes is this transfer ?
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
Woke up this morn and started messing with the PICKit3 again. It still didn't work. But after trying many things I decided to try the Programmer To Go mode (where it stores a bin image in it's memory so you can program without USB to PC). This didn't work either, but when switched back to regular mode it magically started working again. Great! So I'm off on new work again but with the fear hanging over me that it could crap out any time. Grrr.

(BTW back in the day I had a couple of those parallel PIC programmers, and a USB programmer made in Thailand later on, and then a PICKit2. Unfortunately none of those methods now have support for this new chip and I even had to buy the PICKit3 despite having my PICKit2 on hand. Though, apparently the PICKit2 may be useful for re-programming the PICKit3.)
sr. member
Activity: 378
Merit: 250
Just received my PicKit3 and PI. The PI is smaller than I thought but cool.
Wish there was some way I could help.
full member
Activity: 224
Merit: 100
Now it seems my PICKit3 has gone dead.

BKK - I think I have at least 2 collecting dust at home - if you're in the US just PM your address and I'll mail them to you Smiley

Also - a few years ago I wrote a very simple PIC pcorgrammer using the serial port and connecting to the PIC directly (via 1k resistors) - it really needs just a few pins for programming. You get 3 output pins (and a bunch of inputs) on the RS232 which is exactly as many as what you need for programming the PIC. I usually design my boards to share the programming pins with the TX/RX ones (or just implement software UART using the same pins) and/or use a jumper or two to switch them.
He is not in the us sadly.  First time posting been following this thread for a while.

He's got a U.S. address that gets forwarded to him, however. Wink
full member
Activity: 168
Merit: 100
Now it seems my PICKit3 has gone dead.

BKK - I think I have at least 2 collecting dust at home - if you're in the US just PM your address and I'll mail them to you Smiley

Also - a few years ago I wrote a very simple PIC pcorgrammer using the serial port and connecting to the PIC directly (via 1k resistors) - it really needs just a few pins for programming. You get 3 output pins (and a bunch of inputs) on the RS232 which is exactly as many as what you need for programming the PIC. I usually design my boards to share the programming pins with the TX/RX ones (or just implement software UART using the same pins) and/or use a jumper or two to switch them.
He is not in the us sadly.  First time posting been following this thread for a while.
vs3
hero member
Activity: 622
Merit: 500
Now it seems my PICKit3 has gone dead.

BKK - I think I have at least 2 collecting dust at home - if you're in the US just PM your address and I'll mail them to you Smiley

Also - a few years ago I wrote a very simple PIC pcorgrammer using the serial port and connecting to the PIC directly (via 1k resistors) - it really needs just a few pins for programming. You get 3 output pins (and a bunch of inputs) on the RS232 which is exactly as many as what you need for programming the PIC. I usually design my boards to share the programming pins with the TX/RX ones (or just implement software UART using the same pins) and/or use a jumper or two to switch them.
newbie
Activity: 29
Merit: 0
My pickit had bad soldering, try opening it up and see if you see something!
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
Now it seems my PICKit3 has gone dead. It's not programming any more and causes MPLAB-X to go to 100% CPU. I'm tired now so will have to try again tomorrow. It'll be a real pain if it has indeed crapped out after only a couple days.

Reading the Microchip forums it seems these are pretty flaky units that lots of people have trouble with. Mine was failing to work about 1 in 8 times, and that gradually got worse until 1 in 3 times, and finally not even that. I've read that some people have to re-program the firmware on the programmer. Seems pretty crappy to me if it only works for 2 days.
member
Activity: 110
Merit: 10
Circuit porn! love it
sr. member
Activity: 350
Merit: 250
thank you sir
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
There querying the pin headers...

Quote
the pin headers from 4UCONN I have looked at there data sheets and one of the parts is 90 deg instead of vertical as listed on bom but because I don't know where it is fitted I cant see if it is a typo or is the wrong part.

Ill just tell them there vert and send them that file..

thx bkk
Checking my diagrams I downloading I find,

14112 is the 2x2 vertical SMD pin header
and
11182 is the horz SMD 3 pin fan header

I believe the Part List has an old version part number instead of 14112.
I've fixed that and will upload now.
sr. member
Activity: 350
Merit: 250
There querying the pin headers...

Quote
the pin headers from 4UCONN I have looked at there data sheets and one of the parts is 90 deg instead of vertical as listed on bom but because I don't know where it is fitted I cant see if it is a typo or is the wrong part.

Ill just tell them there vert and send them that file..

thx bkk
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
Ive had the following request from one of the assembly places :-
Quote
Could you ask if they can send you a set of idents for the board so I can check things more accurately.

Is this in the github, if so, can you point me at which file/s it is please
The file you want is,
https://github.com/bkkcoins/klondike/blob/master/kicad/k16/plots/k16-F_SilkS.gto

But that has been greatly reduced to make it less cluttered and more readable. It just has the main ICs and a few components users need to know. I can probably output one with all the caps/resistors as well because I think I went thru and oriented them and reduced their text size at one point but even so it was a big mish mash of text.

I was planning to make a multi-page step by step map of parts for the kits so it's not as overwhelming. I haven't done that and won't until the board is finalized and I start making the kit docs.

sr. member
Activity: 350
Merit: 250
Ive had the following request from one of the assembly places :-
Quote
Could you ask if they can send you a set of idents for the board so I can check things more accurately.

Is this in the github, if so, can you point me at which file/s it is please

member
Activity: 95
Merit: 10
Status Update.

I have the firmware working in a PIC chip and communicating with a test program. I can read Identity info, Status info, and send Config values that all work fine. I've also tested pushing work to ASIC and that works, mostly fine. It is pushing data out that looks right, but I don't yet know if the Precalc Hash values are 100% correct. I'll need to do some verification data sets to know and then compare.

Currently a full work push to ASIC takes 385uS. Here's a screen grab of the logic analyzer capturing the P and N signals. And the top line is the PWM output for the Fan at ~47kHz @ 25% duty cycle, which I've adjusted with by sending new config values.


You can actually make out the various data parts above: roughly 30uS of clk cfg, 40uS of merkle data, 80uS of precalc, 110uS of midstate, 20uS 2nd precalc, and finally about 110uS of nonce start values.

ktest is a Python serial app I wrote that allows poking various cmds and data in K protocol. I'll be working on enhancing it tonight so that I can do more extensive testing tomorrow.

Right now a couple items are not working: ASIC chip count detection, I2C chaining. I haven't verified the temperature sensor yet or the Fan tachometer measurement but the code is there. ASIC chip detection is there but I haven't run it yet, since there's no chip to detect, but maybe soon I can rig up a fake ASIC to detect. Lots of fun here.

BkkCoins:

When it is time for you to start packaging and selling, please think of the asicminer model. All they send is the board. Miners buy the brick, build box, etc. Simple, cheaper for you and fastest to produce and ship. I got 2 blades in one week. Still waiting on Avalon! BFL forget it! I am into this for the long haul which means need cheapest possible blades so I can continue increasing hashing power over difficulty or I will drown. Same for all miners. I don't care about pretty. I want it simple and fast. Please keep that in mind.

I am following this blog. Whenever you are close to producing I'll order from you.

J/
member
Activity: 85
Merit: 10
If you can't do something smart,do something right
Dudes... PM stuff to him about BFL. Stop cluttering the thread!

This is for development of the Klondike boards not questions about BFL chip group buys. Such a snaky way to plug BFL crap in this thread stop it.

My apologies for the OT. I aim to stop the BFL crap using our GB deal and 100% escrow leverage.

(I was only asking Chris if he would be interested in 65 nm chip board developement/sample chips/docs. We communicate through PMs now.)
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
Status Update.

I have the firmware working in a PIC chip and communicating with a test program. I can read Identity info, Status info, and send Config values that all work fine. I've also tested pushing work to ASIC and that works, mostly fine. It is pushing data out that looks right, but I don't yet know if the Precalc Hash values are 100% correct. I'll need to do some verification data sets to know and then compare.

Currently a full work push to ASIC takes 385uS. Here's a screen grab of the logic analyzer capturing the P and N signals. And the top line is the PWM output for the Fan at ~47kHz @ 25% duty cycle, which I've adjusted with by sending new config values.


You can actually make out the various data parts above: roughly 30uS of clk cfg, 40uS of merkle data, 80uS of precalc, 110uS of midstate, 20uS 2nd precalc, and finally about 110uS of nonce start values.

ktest is a Python serial app I wrote that allows poking various cmds and data in K protocol. I'll be working on enhancing it tonight so that I can do more extensive testing tomorrow.

Right now a couple items are not working: ASIC chip count detection, I2C chaining. I haven't verified the temperature sensor yet or the Fan tachometer measurement but the code is there. ASIC chip detection is there but I haven't run it yet, since there's no chip to detect, but maybe soon I can rig up a fake ASIC to detect. Lots of fun here.
Jump to: