#milkymist IRC log for Sunday, 2011-07-17

Vaati_aw yeah  ;)02:14
awVaati_, hi morning. ;-)02:15
wolfspraulaw: good morning :-) I guess you are reading up on Werner's and Sebastien's latest findings already.03:34
wolfspraul10k pullup, diode, remove r6003:34
awwolfspraul, keep reading...I'll do experiment after I interpret solutions well. ;-)03:35
awphel~read finished...;-) some background knowledge may not understand..but it's okay...preparing to do this solution now. ;-) stay tuned.05:02
wolfspraulfully tuned :-)05:04
wolfspraulmy mind is just wandering into marketing land. if we see m1 in the continuum of computers, what are its ancestors?05:05
wolfspraul(aw - no worry, I'm not asking you :-))05:05
wolfspraulI'm trying to think of a chart of the history of computing basically, and where m1 would show up05:06
awhmm..R157 sit at bottom side. hehe not bit deal.05:08
wolfspraulhow big is the component you need to add there? remember we have very little space on the bottom side05:11
wolfspraulessentially nothing, maybe 1mm height only would be best :-)05:11
awsmall 0402 only, which not influence05:11
wolfspraulok05:12
awback soon,lunch05:12
wolfspraulso I think we need to explain m1's relationship to earlier computers, whether that's the workstation/desktop/notebook/pda/smartphone/tablet line, or video synthesizers, or embedded computers (which?)05:15
wolfspraulI will talk with Jon about it05:15
wolfspraulm1 is the successor of ?05:16
wolfspraul"the employees didn't get a paycheck. in fact, they contributed 5 dollars each month to buy parts"06:00
wolfspraulthat sounds familiar06:00
wolfspraulhttp://www.youtube.com/watch?v=SGF0Okaee1o06:00
awh/w patches on rc3: R30(10K), R157(10K), R60(remove), reset IC(stay), D16(stay), added a new diode which same as D16: negtive terminal to reset ic's output06:31
awresults: reconfiguration ok, can't boot up. But can still boot when I used prober(1:1) at program_b pin.06:33
awnext: changed my prober to 1:10 and take scopes. ;-)06:33
wolfspraulI'm also still curious whether your rc2+reset ic+diode can boot or not (fully boot to gui/rendering)06:42
awhmm...seems I can't use 1:10 scale to take scope @ div/50mV06:43
awwolfspraul, yes...good idea...let's try my rc2 now and also let without D16 to see if several times work well. my last rc2 with 0x2c mac has reset + diode, that one is done with reconfiguration 1000 times.06:45
wolfspraulplease no tests without D1606:46
wolfspraulwe've said this many times now, it's a waste of time and just completely random test that makes no sense at all. then we could also try dozens of other random ideas.06:46
awsure, my current rc2 0x1e can do this test again...second though. ;-)06:46
awyes06:46
wolfspraulD16 in correct polarity always stays on, always, 100%06:46
wolfspraulunless we have a real analysis/idea/theory that says we should remove it06:47
awand keep rc2 with the same value R30(4.7K) and R60(4.7K) to try to compare.06:48
wolfspraulkeep rc2 exactly as it was before, no changes at all06:48
wolfspraulthat was the basis of our design decision for rc306:48
wolfspraulso we must have overlooked something there06:48
awyeah...second06:48
wolfspraullet's go back to rc2 and verify06:48
wolfsprauldon't even reflash it, just power-on and boot06:49
awsorry the rc2 R60 is 10K (that I wrote wrong above)06:52
wolfspraulwhatever it is, don't change, just boot :-)06:55
wolfspraulaw: and?07:15
awadded, results: ten times with reconfiguration success without boot up at all, then once everytimes I put prober at program_b after let reconfiguration done firstly then all can goes to boot up.07:19
awi am wondering to put an equivalent capacitor at C238 which rc2 & rc3 is not mounted.07:20
wolfspraulwait wait07:20
awCan this C238 be activated as an prober's equivalent capacitor?07:21
awokay ...wait..go on07:21
wolfspraulwe really have to slow down and think more07:21
wolfspraulso let me confirm: when you go back to your rc2, with reset ic + diode, you now find that you actually cannot boot it at all?07:22
wolfspraul(without any probes attached, just a regular boot)07:22
awyes, now seems to be that.07:22
awyes, regular boot, but ten times i just tested.07:22
wolfsprauldo you remember whether in the past it may have booted fully to gui/rendering, even when reset_ic+diode were already there?07:22
wolfspraulor maybe in the past you always had a probe connected so you didn't see the problem?07:22
awseems no, because my boards are different one. the 1000 times with h/w patches on rc2, that one eventually i can't let it even recofiguration was because I suddently used a 'fast' power cycling..then 'dead'07:24
wolfspraulI cannot follow07:25
awyes, that 1000 times, I always & remembered to use a prober to count 1000 times at that time.07:25
awcan follow? or ?07:25
wolfspraullet's try to answer this precise question, even if the answer is "don't remember"07:26
wolfspraulhere is my question:07:26
awgo on07:26
wolfspraulDo you remember whether you ever saw an rc2+reset ic+diode, without probes attached, do a full boot to GUI?07:26
awno,07:27
wolfspraulok07:27
awi only used no h/w patches on rc2.07:27
wolfsprauland if you now test with such a board, you can consistently _not_ boot it07:27
wolfspraulwell at least that's stable07:27
wolfspraulso that means when we verified the reset ic + diode improvement on rc2, we didn't test well. we didn't test whether the board can actually boot.07:28
awyes, now i feel rc2 & rc3 are consistently from reset ic & diode patches.07:28
wolfsprauland we see the exact same behavior on rc3 now07:28
wolfspraulyes, perfect07:29
awexactly07:29
awi didn't test if can boot up. :(07:29
wolfspraulyes :-)07:29
wolfspraulbut instead you did a mostly irrelevant test 1000 times07:30
awwell...no excuses.07:30
wolfspraulbut that can happen07:30
wolfspraulin hindsight vision is always 20/2007:30
wolfspraulaw: do you know that expression?07:30
wolfspraul"in hindsight vision is always 20/20"07:30
wolfspraulfor me it's more important that we stay in control of the project and our discoveries07:30
wolfspraulso now... back to rc307:30
awthat 1000 times is for reconfiguration, was think it's no problem at all.07:30
wolfspraulyes07:30
wolfspraulbut if you would have tried to boot even once, you would have seen the problem :-)07:30
wolfspraulbut that's ok now, we understand it now and are trying to recover07:31
awyes, exactly i should have tested for boot up and the results will be the same.07:31
wolfspraulso the latest is, in rc3, even with the new fixes (10k, second diode, remove r60), we cannot boot07:31
wolfsprauland you are unable to take a scope picture?07:31
wolfspraulmeanwhile when you connect a probe, you can boot07:32
wolfsprauluntil lekernel or wpwrak_ get back and read the results, I am wondering what we can do to collect some interesting data points07:32
awi must to use 1:1 prober to capture but this seems not react as actually pulse we want.07:32
wolfspraulfirst of all - please - do not experiment with removing D1607:32
wolfspraulI think that's clear now07:32
awbut I still can scope 1:1 to see if big difference there.07:33
wolfspraulif you want you can try the C238 idea, it sounds a bit hacky though :-)07:33
wolfspraulthat idea does not seem to come from an understanding of the circuit and how to design that well, but rather trying to imitate the probe's effects :-)07:33
wolfspraulbut ok, fine. probably it cannot damage the board, I think.07:34
awbecause that C238 is exactly stay at program_b there, seems can be acted as a prober's equivalent capacitor.07:34
wolfspraulyou can also do the tests on the rc2 board, why not07:34
wolfspraulsince it shows the same problem07:34
wolfspraulI mean the rc2 board with reset_ic + diode07:34
wolfspraulmaybe test on the rc2 board first? so in case anything goes wrong the only rc3 we have is safe07:36
wolfspraultry C238, why not, we have to wait for new ideas from Werner or Sebastien anyway07:36
wolfsprauland try to find a way to take scope pictures, I'm sure they would want to look at them07:36
wolfspraulthat's probably all07:36
wolfspraulwhat do you think?07:37
awyes it indeedly I just feel C238 is a good chance with h/w patches. even I have no hard knowledge now. ;-) second...07:39
wolfspraulare you testing this on rc2 or rc3 now?07:40
wolfspraulsince we have the exact same behavior on rc2, I suggest we move all further experiments to rc207:40
wolfspraulup to you though...07:41
awyes, i am now using rc2 board07:41
awchecking my prober's data about input capacitance. :-)07:42
wolfspraulremember to first apply the other changes from rc2, 10k/second diode/remove r6007:42
wolfspraulsorry I meant "the other changes from rc3"07:42
wolfspraulso that the rc2 board exactly implements our latest best bet for a correct circuit07:42
awit said about 10pF, compensation range is 10 ~ 35pF07:43
awumm..also inlcudes a 10M ohm there in a parallel with 10F...way to try this.07:44
awhmmm...wrong data, that is for X10,07:44
awfor X1 is 1M ohm with 47pF07:45
lekernelaw, what delay did you use for the test in rc2?08:45
lekernel(reset ic delay)08:45
lekernelthe same as now, or a smaller delay?08:45
awhi same delay with 200ms08:49
wolfspraullekernel: rc2 with reset_ic+diode never booted, ever08:49
wolfspraulso we shot ourselves in the foot assuming that what we had there was what we would want for rc3 :-) Now we have to fix it after the fact...08:50
wolfspraulaw: did you test the C238 idea?08:51
awsecond..rc2 doesn't have footprints place for reset ic and diode...and else...a little difficulty. ;-)08:55
lekernelsorry, bad connection ...09:01
wolfspraulsometimes I think your German DSL connection is worse than my openvpn tunnel through the Chinese firewall09:02
wolfspraul:-)09:02
wolfspraullekernel: when you weren't online yet, we had the idea of trying to simulate the probe by putting a capacitor on C23809:02
lekernelyeah it doesn't work at all atm... i'm connecting via GSM09:02
wolfspraulthat's not systematic at all of course, but better than just wait and do nothing09:02
wolfspraulwhenever Adam connects the probe, the board will boot09:03
lekernelwhere does it connect the probe?09:03
lekernelprogram_b?09:03
wolfspraulyes, 1:1 probe on program_b09:03
wolfspraulwill make it boot09:04
lekernelok09:04
lekernelthat (pesky) diode has 115pF capacitance09:04
lekernelcould be enough to glitch PROGRAM_B when the flash reset goes low ...09:04
lekernelI'm starting to see the good sides of the logic gates Werner recommended09:05
lekernelconnecting a 1:1 probe likely adds some 200pF capacitance which compensates and filters out the glitch09:05
lekernelaw, would it be difficult to cut the trace between the reset IC and PROGRAM_B (leaving its 4.7k pullup)?09:08
lekernelthat's the clean way to fix it... otherwise using some 1nF on C238 should also get it to work09:09
awlekernel, no problems I just reworks on rc2 boards. ;-) and also I have really really good NEWs. :-)09:15
lekernelyeah, the time constant with 115pF and 4.7k is 540ns... enough to cause problems...09:15
lekernelwe'll use the logic gates09:15
awrc2 with h/w patches: R30(10K), R60(remove), R157(10K), reset ic + 2 diodes(one is for flash reset, one is for init_b)09:16
awand C238 footprint ( with 1M ohm & 47pF in parallel)09:17
awnow I tested 10 times can boot up09:17
awso here's my feedback:09:17
lekernelin the meantime, maybe it's best to use 1nF on PROGRAM_B - which would block glitches on flash reset from INIT_B going low09:17
lekerneldo not use 1M resistor and use more capacitance09:17
lekernel1nF09:18
wolfspraullekernel: do you still want to do the cut trace experiment?09:18
lekernelno, forget about that09:18
lekernelit's a bit hard to do and it would only solve half of the problem09:18
aw1. before I go for further h/w patches on rc3, we need to analysis on why an equivalent capacitance (1M ohm + 47pF) can make this okay.09:19
wolfspraulalready done09:19
awno no...09:19
wolfspraulplus, you can remove the resistor and try 1nF instead09:19
wolfspraulbut go on, write first...09:20
awsurely i can reduce those its value and 1M ohm which I just made them as a prober though. ;-)09:20
lekernelthe 1M resistor is unnecessary. 1nF gives more safety margin than 47pF.09:21
aw2. I'll go for directly rework those h/w patches on rc3 boards09:21
awalright . ;-)09:21
wolfspraulwait wait. first let's do the test again without resistor and with 1nF09:21
awokay...09:21
lekernelwith 47pF you probably are close to the limit of the "working" zone09:21
lekernel1nF is one order of magnitude larger than the diode's capacitance, so the latter can no longer cause any trouble09:22
wolfspraulI don't want to speculate about the next steps now, let's verify this first.09:22
awalright09:23
lekernelbtw, the capacitance of a 1:1 probe is typically a lot more than 47pF, since you have to take into account the capacitance of the coaxial cable that goes to the scope as well09:25
wolfspraullekernel: have you heard of the Scanimate computer? http://www.youtube.com/watch?v=SGF0Okaee1o09:25
lekernelit's more like hundreds of pF09:25
wolfspraulI discovered it today in my video synthesizer surfing09:26
wolfspraulso much fun this thing, analog from the 70's09:26
lekernelyeah I just watched it09:26
lekernelcool, heh :)09:26
wolfspraulI emailed the one guy who still has a running one09:26
wolfspraulhttp://scanimate.zfx.com/09:26
wolfsprauljust for fun, whether he replies or not I just said hello and pointed him to Milkymist One :-)09:26
lekernel"In all only eight machines were ever produced."09:27
lekernelwow09:27
wolfspraulyeah well09:27
wolfsprauleconomically I hope there will be no parallels to our endeavor09:27
wolfspraulI think I need to develop a routine of writing random mails/tweets to people from the visual field, or journalists, to introduce m1. just a few a day or so, it's actually fun to find people doing this or that...09:28
wolfspraulbtw Adam sent me a PM because he's taking a short break, so the test results will come in a little later09:35
wolfspraulI may go for a run as well...09:35
wolfspraullekernel: do you think program_b/r30 should be 4.7k or 10k?09:36
lekernel10k09:36
wolfspraulwe iterated between those two a number of times09:36
wolfspraulok09:36
wolfspraulso if the 1nF test works, that would be the solution for rc3 then09:37
wolfspraulfor rc4 we can either continue to use it then, or switch to the gate09:37
wolfspraulI hope those manual rc3 fixes will not look too ugly, but it sounds like they should not...09:38
awno, after test with 1 nF, i power nap. ;-) moment.09:44
awwith 1nF on C238, can boot up but when starts to rendering a couple seconds, D2/D3 dimly lit..then screen is OFF. :(09:50
wolfspraulhe :-)09:50
lekernel_amazing ...09:51
aw:(09:51
wolfspraulaw: you also removed the resistor, right?09:52
awyes, removed 1M ohm09:52
lekernel_aw, but PROGRAM_B still has its 10k pull-up, right?09:52
lekernel_and same for INIT_B?09:52
awyes, R30(10K), R157(10K)09:53
lekernel_aw, can you cut the trace between the reset IC and PROGRAM_B?09:53
lekernel_PROGRAM_B should be connected only to the 10K resistor to 3.3V09:53
lekernel_and the output of the reset IC, to INIT_B and its pull-up directly (no diode) and to the diode that goes to the flash reset09:54
awlet me think a little to how arrange my rework. ;-)09:55
wolfspraulaw: from now on, when doing a bootup test, always let it render for a minute or two09:56
wolfspraulonce we have a solution we believe works, we let it render for an hour or longer, just in case :-)09:56
wolfsprauljust saying09:56
wolfspraulbut for now - always let it render for a full minute, as part of the 'boot' test09:57
lekernel_if we need to test this ~1000 times to check reliability, this will take forever09:58
wolfspraulno no09:58
awafter cut connection between reset ic and program_b, reconfiguration normally then D2 goes ON couples seconds then start to dimly lit... :(10:09
awthen I power cycle again...then can't reconfigure more. ..now 'dead' . :(10:09
awjust listed my rework in details:10:10
wolfspraullekernel_: (you saw this? - checking whether your connection is up...)10:12
aw1. R30(10K) 2. R60(remove) 3. R157(10K), reset ic's output directly connected to an negative diode then its positive to init_b(thus the R157's pad), reset ic's out directly connected to an negtive diode then its positve terminal to flash reset pin(which is thus R60's pad)10:14
wolfspraulaw: I think for these tests now, when you can't reconfigure anymore, you just reflash the entire software. That's because if the flash does get corrupted, there is no point to analyze this until we have a stable boot circuit.10:14
wolfspraulafter we have that, yes, we should watch and if it cannot reconfigure anymore that's a serious issue10:15
wolfspraulbut until we have that, I think you can always just reflash everything10:15
aw4. no connection between reset ic's output and program_b.10:15
awthere's one strange thing is:10:15
awwhy has connection between reset ic's output and program_b and this connection is also connected to the negative terminal of diode then init_b, also 47pF can boot up 10 times though. I think that I saw it was rendering at least maybe 3 ~ 5 seconds each time.10:18
lekernel_aw, connect directly the reset IC to INIT_B (no diode)10:21
lekernel_and what's the deal with 47pF? do not add a capacitor10:21
awman! i was wrong!10:21
awdo again.10:22
wolfspraullekernel_: I think he wanted to say that when he had 47pF on C238 (and a resistor too), it did boot10:22
wolfspraulhey sorry this is off-topic, but I just saw it and laughed http://www.bonkersworld.net/2011/06/27/organizational-charts/10:23
wolfspraulI'm wondering which orgchart fits Milkymist :-)10:23
lekernel_hm, the google ones? but with fewer nodes10:26
lekernel_well, if it works with 47pF, and if a proper fix takes more than inordinate amounts of time, use 47pF10:27
lekernel_also try 100pF...10:27
awlekernel_, i am now really confusing about adding diode. ;-)10:28
awin your email confirmed: 2) add diode between output of reset_ic and init_b10:29
aw 3) remove r6010:29
aw<lekernel> (2) with negative terminal towards the reset IC10:29
awso correct me now again, sorry. :-)10:29
lekernel_aw, that was before we disconnected PROGRAM_B10:30
lekernel_now that PROGRAM_B is disconnected there should be no diode between reset IC and INIT_B10:30
wpwrak_wolfspraul: (scanimate) great ! i think going from harnesses with hot girls inside to key frames was a big mistake, though :)10:31
wpwrak_(current analog design) scary :) this wants simulating10:31
awthus forget email's mentions though. right? but still have total only ONE diode not two diodes. ;-)10:32
lekernel_http://milkymist.org/fix1.png10:33
lekernel_your connections should be exactly that10:33
awso is this like you wanted?10:34
lekernel_do this http://milkymist.org/fix1.png10:34
lekernel_period :)10:34
awhehe...now i got it. totally let's forget about previous email's connections. ;-)10:35
awgood...now do again.10:35
wpwrak_lekernel_: so PROGRAM_B_2 is completely unnecessary ?10:36
lekernel_wpwrak_, it's only there to clear FPGA _after_ configuration, from my current understanding it reacts to falling edges10:36
lekernel_INIT_B should be used to delay configuration; PROGRAM_B cannot be used for this purpose10:37
wpwrak_lekernel_: okay, so it's more a case for one of these "reset holes" you find on some devices10:37
lekernel_and it may seem that because of the diode's capacitance, when the flash is reset at SoC boot, there is a glitch on PROGRAM_B that clears the FPGA10:38
lekernel_so we added a 47pF capacitor, which seems to work10:38
lekernel_but it seemed too small, so we tried 1nF, which causes an unexplained configuration loss several seconds after boot (maybe this has to do with slow rise time on PROGRAM_B which the FPGA doesn't like..?)10:38
wpwrak_yeah, 1 nF seems uncomfortably large. that can cause all sorts of weird things10:39
lekernel_i've read all sorts of horror stories about INIT_B, PROGRAM_B, etc. now I'm experiencing them first hand10:39
lekernel_nice10:39
wpwrak_heh ;-)10:40
wpwrak_what i didn't get was why adam can't use the scope with 1:10. apparently, that didn't change the system's behaviour, did it ?10:40
lekernel_no, 1:10 doesn't cause problems10:40
lekernel_Adam made a mistake and used a 1:1 proble10:41
lekernel_if all else fails, we'll use 47pF. done :)10:41
wpwrak_but he also said he can't use 1:10 "for 50 mV". and it sounded as if this made 1:10 a complete no-go. not sure what he meant10:41
lekernel_the diode's capacitance is 115pF btw10:42
wpwrak_yeah, saw it. quite the sucker10:42
wpwrak_maybe the next project should be the making of some active probes ;-)10:42
lekernel_and the fall time on the flash reset is very small... I can also make it larger10:42
wpwrak_i have some resistive probes. they're great, but of course suck evil amounts of current10:43
lekernel_we already have SN74LVC1G17 gates10:47
lekernel_but they're push pull... oh well10:48
wpwrak_and they're no AND ...10:49
lekernel_AND?10:50
lekernel_ah10:50
lekernel_right, you want to do it entirely with gates...10:50
lekernel_I thought of them as switching diodes without irritating leakage current or capacitance10:51
wpwrak_you can get most of the 74xx logic family as 1G. some 40xx as well. all the old stuff is coming back ;-)10:51
awtoo bad! can't restore now.10:51
aweven can't reflash though.10:52
wpwrak_have we killed JTAG ?10:52
lekernel_aw, what happens?10:52
lekernel_is your JTAG connector correctly inserted? I got all sorts of weird behaviours which simply originated from a poorly inserted JTAG dongle ...10:53
awfrom my lastest wrong rework on adding second diode to init_b. when power on , D2D3 stay dimly lit. then i tried to reflash then stop at:10:54
awBitstream information:10:54
awDesign: system-routed.ncd;UserID=0xFFFFFFFF10:54
awPart name: 6slx45fgg48410:54
awDate: 2011/02/2410:54
awTime: 22:33:2610:54
awBitstream length: 148440410:54
lekernel_I'd guess your JTAG dongle isn't inserted correctly10:54
awhum...no10:55
lekernel_what is the output of the "detect" command?10:55
lekernel_on JTAG?10:55
awi always keep my JTAG daughter board inserted my m1. ;-)10:55
awmoment10:55
lekernel_yes but it can move10:55
lekernel_"from my lastest wrong rework on adding second diode to init_b" wtf?10:55
lekernel_you should REMOVE the diode to INIT_B10:55
awjtag> detect10:57
awIR length: 610:57
awChain length: 110:57
awDevice Id: 00100100000000001000000010010011 (0x24008093)10:57
aw  Manufacturer: Xilinx (0x093)10:57
aw  Part(0):      xc6slx45 (0x4008)10:57
lekernel_ok10:57
aw  Stepping:     210:57
aw  Filename:     /usr/local/share/urjtag/xilinx/xc6slx45/xc6slx4510:57
lekernel_good10:57
lekernel_well10:57
lekernel_the only explanation I see is that INIT_B is pulled low by the FPGA and holds flash in reset10:57
lekernel_grmbl10:57
lekernel_ok10:57
lekernel_well10:57
lekernel_time's up10:57
lekernel_use a fucking 47pf capacitor10:57
awwell..my experience is i need to let rc2 board to stay for a period to see if later it can restore.10:57
lekernel_no this is most probably not the same problem10:58
awso l'll do same reworks on rc3 after dinner.10:58
lekernel_if you want to check, measure the voltage on flash_reset, it's probably 010:58
wpwrak_maybe it's time for a few pictures of the board ? there have been a number of conflicting reworks. not sure if we're all still in sync ?10:58
wolfsprauldo we want the trace cut or not?10:58
awno10:59
awi think this http://milkymist.org/fix1.png is clear enough10:59
wpwrak_aw: is this what you have now ? http://milkymist.org/fix1.png10:59
awwpwrak_,10:59
wpwrak_apparently yes :)10:59
awbut before this, i already made wrong reworks on the email I replied to you guys. ;-)11:00
wpwrak_wolfspraul, aw: (trace cut) it seems yes. the trace between reset IC (and diode and cable to INIT_B) and PROGRAM_B_211:01
awno problem...just need to do the same rework about fix.png on rc3.11:01
wolfspraulwhy can't we get this to work on the rc2 board?11:01
awbe noticed that I was all using rc2 board not rc3. ;-)11:01
wolfspraulhow come when I ask "do we want the trace cut" that Adam says 'no' but Werner says 'yes'?11:02
awso I already did this reworks about fix1.png for surely11:02
awwolfspraul, i guessed werner said that is for rc3 board. ;-)11:02
wpwrak_wolfspraul: phase effects ;-) the trace was cut, then not cut, then cut again :)11:03
wolfspraulrc2 and rc3 should be the same11:03
wolfspraulwell OK :-) I just wait and see how it settles...11:03
wolfspraulI would first try to make it work on rc2, unless we believe that for some reason the reworks damaged rc2 beyond repair.11:03
wpwrak_(rc2 vs. rc3) i would also think they should be the same. but i don't know rc2 well enough to tell if this makes sense.11:04
lekernel_this is what we had with the 1nF capacitor and was the closest to working: http://milkymist.org/fix2.png11:04
wolfspraulall the same11:04
awwolfspraul, werner is right on instructions on rc3 board with fix1.png lekernel_ sent. ;-)11:04
awthen I am using rc2 boards with h/w reworks patches. ;-)11:04
lekernel_aw, go back to http://milkymist.org/fix2.png but try using a smaller capacitor to avoid configuration loss when rendering11:05
awwell... i go for dinner first then I back to work on rc3.11:05
lekernel_(between 47pF and 1nF)11:05
wpwrak_lekernel_: i think we should let the dust settle first. make sure adam has exactly fix1 implemented, etc. then see how things go11:06
awlekernel_, man! go back... ;-)11:06
wolfspraulyes I agree, I think fix1 hasn't even been tried yet11:06
wpwrak_lekernel_: if you put half a dozen rework variants in his pipeline, you'll never know what he's actually testing and he'll just wear down the board11:07
wolfspraul"smaller capacitor to avoid configuration loss when rendering" sounds scary, just on the surface. If people report that after an hour of rendering the board suddenly turned off, you will forever suspect an issue with that capacitor.11:07
awhey guys no problems...pls figure which .png i need to use when i back. meanwhile you can discuss a bit though. ;-)11:08
awi do need to do 'power nap';11:08
wolfspraulthat's me saying without much understanding of the circuit, it just feels like asking for trouble11:08
awsee you guys later.11:08
lekernel_aw, fix2.png11:09
wpwrak_wolfspraul: even now, we don't really know if this is even related to the reset problem, do we ? :) (i.e., has M1rc3 ever run doing rendering for some time ?)11:09
lekernel_wpwrak_, I have run mine for 6 days continously, no problem11:09
wpwrak_lekernel_: (fix2) what ?? so you want PROGRAM_B_2 back even if you think it can only get in the way ?11:10
lekernel_it should be easier to rework, maybe?11:10
wpwrak_yes, that could be. but .. :)11:10
lekernel_the proper way to fix it would be to use gates... but difficult rework11:11
wolfspraulhow can we judge on fix1 if I think we have never actually tried it? (just read the backlog again, I do not believe Adam actually tried fix1 yet)11:11
wpwrak_agreed, also about the difficulty11:11
wpwrak_has M1rc3 ever done rendering beyond the point where adam saw it fail now ?11:12
wolfspraulmost likely yes11:12
lekernel_wpwrak_, what about that: http://milkymist.org/fix3.png11:12
wolfspraulthe failure he saw must have happened within a few seconds, and I am sure he saw it rendering for longer periods already11:12
lekernel_but that piece of rework might be messy11:12
lekernel_fix2 is much easier11:12
wpwrak_fix3 looks messy, yes. cut trace, +diode, +resistor11:13
wpwrak_and plus cap11:13
wpwrak_and we don't even know you actually need the cap. if it's just to avoid a kickback on PROGRAM_B_2, fix1 would do that too11:14
wpwrak_i kinda like the idea of separating PROGRAM_B_2 from the rest. seems that INIT_B is fairly passive most of the time, so whatever evil may happen on the FLASH_RESET side, it won't be able to cause much trouble there11:15
lekernel_wpwrak_, we need the cap. there _is_ a problem without, starting the soc will deconfigure the fpga instead of resetting the flash11:16
wpwrak_wolfspraul: (rendering) let's ask him when he's back11:16
lekernel_wpwrak_, fix1 doesn't work (we just tested) because INIT_B is driven low sometimes by the FPGA and resets the flash11:16
wpwrak_lekernel_: also in fix1, where PROGRAM_B is not connected to the diode ?11:16
wpwrak_lekernel_: no, i don't think we tested fix111:16
lekernel_we tested fix111:17
wpwrak_i think adam tested some confused mixture on his rc2, but not exactly fix111:17
lekernel_this is what made Adam unable to reflash with JTAG because the FPGA kept asserting the flash reset11:17
lekernel_so INIT_B needs a diode, period11:18
wpwrak_from what adam said, in his fix1 attempt, his INIT_B may have had a diode ;-)11:18
wpwrak_i see what scenario you have in mind11:18
wpwrak_but i don't think we have a useful result for fix1 for now. it's just noise.11:19
wolfspraulwe never tested anything properly after cutting the trace11:19
wolfsprauljust read the backlog11:19
wolfspraulthere was an extra diode after cutting the trace, and after removing that Adam was unable to reflash (until now)11:20
lekernel_didn't adam do that?!?11:20
lekernel_wtf11:20
wpwrak_yes, around then adam desynchronized :)11:20
wolfspraulyou replied to it yourself11:20
wpwrak_just a bit of patience :)11:21
wpwrak_i'm also a bit suspicious when people do rework so quickly that they can hardly have time to even check the connectivity of what they've reworked :)11:21
wolfspraullekernel wrote "now that PROGRAM_B is disconnected there should be no diode between reset IC and INIT_B"11:22
wolfsprauland Adam didn't react to that yet, because right now he cannot reflash11:22
wolfspraulso from just following the thread, I propose to stay on the rc2 board for now, and to first try fix1 properly11:23
wolfspraulunless some new theory already dismisses fix1 without having tried it11:23
wolfspraulwpwrak_: do you think Adam's fix1 attempt with diode may have caused permanent damage?11:25
wolfspraulthat would be the only reason that would make me say "ok, let's try on the rc3 board". But in this style we can grind through a lot of boards quickly :-)11:25
wpwrak_pity all this isn't in kicad. otherwise, we could quickly make a schematics diff. that may help to clarify the changes11:25
wpwrak_wolfspraul: so far, i don't see a reason why the board would be permanently damaged11:25
wolfspraulok, then like I said, when Adam is back I propose to continue on rc2, and to test fix111:26
wpwrak_wolfspraul: if problems persists, we may want to get pictures, though. i don't know how messy the rework is at the moment11:26
wolfspraulyou guys vote me down if you like, I'm just following the conversation11:26
wolfsprauldoes fix1 still include a capacitor on C238?11:28
wpwrak_i don't think it should for now11:31
wpwrak_too many moving parts11:31
wolfspraulhmm. but the fix1.png is meant to bring clarity. before Sebastien posted fix1.png, there was a 47pF capacitor on C238 (and also a resistor), and then 1nF (without additional resistor).11:32
wolfspraulwith the 47pF+resistor on C238, actually everything worked fine11:33
wolfspraulbut then Sebastien thought 47pF is too small and too close on the functioning boundary, so we tried to increase it to 1nF11:34
wpwrak_wolfspraul: (cap on C238) but that was the scope, no ?11:34
wolfspraulwhich made it boot, but only last for a few seconds11:34
wolfspraulno no11:34
wolfspraulAdam tried to imitate the scope11:34
wolfspraulby putting a 47pF + 10MOhm resistor there11:34
wolfsprauland it worked, booted, rendered11:34
wolfspraulthen Sebastien came online and thought it all through properly as a circuit, rather than just imitating the scope.11:35
wolfsprauland he said 47pF is too small (and he also said to remove the resistor)11:35
wolfspraulso we increased to 1nF - it still booted - but now rendering wouldn't last11:35
wolfspraulthen the idea of cutting the trace, which adam didn't execute properly because he forgot to remove the diode11:35
wolfspraulcan you follow? he he. this is how I understood the sequence of events, at least :-)11:36
wolfspraulsorry it was 47pF + 1M Ohm resistor, that was the winning combination earlier11:39
wolfspraulan attempt to imitate the scope's probe, that's all. no circuit thinking at all.11:40
wpwrak_i think this should be the essence of fix1 (relative to the original rc3), correct ? http://downloads.qi-hardware.com/people/werner/m1/rc3/fix1.pdf11:48
wolfspraulah I got it now. Sebastien thinks the removal of the diode (after cutting the trace) is causing Adam's inability to flash.11:48
wolfspraulwhich means the entire cut-trace/remove diode idea doesn't work11:49
wpwrak_wolfspraul: (47 pF + 1 M) ah yes, right. probe simulation apparently did something good :)11:50
wpwrak_(cut trace didn't work) if adam didn't remove the diode, then i don't think lekernel's error scenario exist11:50
wolfsprauland yes, reading the backlog carefull I think fix1.png is meant to be used without any capacitor on C23811:50
wolfspraulbut now he did remove it, and cannot reflash11:51
wolfsprauland lekernel_ says that's because of the removed diode (I guess, try to follow the logic here)11:51
wolfspraulso fix1 is already impossible because it breaks flashing11:51
wpwrak_if he removed the diode on INIT_B, then that could explain the failure. but i'm not sure he did11:52
wolfspraullet's see. I become an expert at backlogs.... :-)11:52
wolfspraulha ha. if anybody has capacity for humor, look at this - Adam writing "same rework about fix.png on rc3"11:53
wolfspraulfix.png - NO NUMBER! :-)11:53
wolfspraulhuman communication...11:53
wpwrak_perhaps that was before the fixes went > 1 ? :)11:53
wolfspraulhe did remove it. 10:35 "now do again" 10:51 "can't restore now"11:55
wolfspraulin those 16 minutes he took off the diode and made sure he was exactly in line with fix1.png - maybe with the exception of C238 since I'm not sure it was clear to him to remove those, but probably he did that as well.11:56
wpwrak_yes. but did he try to restore before or after removing it ?11:56
wolfspraulwith 'restore' he means reflash, I think11:56
wpwrak_yeah, the jtag thingy11:56
wpwrak_and i also don't know what else was out of sync at that time11:56
wolfspraulso... maybe we are indeed finished with fix1.png, because we have shown it to block jtag reflashing already11:57
wolfspraulthat means we go to fix2.png, but this time with 100nF (and no resistor)11:57
wolfsprauland I still think we should do that on the rc2 board, not the rc3 one11:57
wpwrak_if fix1 was every fully applied11:57
wolfspraulwpwrak_: I'm piecing it together, I think I'm clear now :-)11:57
wpwrak_sure. burn rc2 before starting to burn rc3 :)11:57
wolfspraulit was, eventually11:57
wolfspraulwell, that's our last rc2, so it has value too11:58
wolfspraulbut we get another 89 rc3 soon11:58
lekernel_wolfspraul, btw, bearstech is totally out of stock11:58
wolfspraulbut I don't want to jump around without reason11:58
wolfspraulgreat!11:58
wolfspraullekernel_: sorry we are a bit slow here. if it's painful just ignore all the babble...11:58
wolfspraullekernel_: I think I've almost caught up with you now, logically :-)11:59
wolfspraulwe are done with fix1.png and can proceed with fix2.png, and 100nF11:59
wolfspraulsorry 100pF11:59
wolfspraul:-)11:59
wolfspraulI get something to eat before Adam is back...12:00
wolfspraull8 guys12:00
lekernel_on rc4 we'll use gates12:01
wpwrak_lekernel_: after the FPGA has configured for the first time. when you pulse PROGRAM_B_2, will INIT_B become an input then again, to allow delaying ? or is this only during the first reset ?12:01
lekernel_with proper prior testing on rc3, of course - but later12:01
lekernel_right now I want an easily applied rework so we can sell those 90 boards12:01
lekernel_wpwrak_, that's a good question, I don't know12:02
lekernel_if it behaves like the virtex4, I'd tend to think it becomes an input again, since the virtex4 reads the MODE pins again12:02
lekernel_but as far as I remember the virtex4 wouldn't configure with PROGRAM_B low, while the spartan6 does ... so, there seems to be some changes there12:03
wpwrak_good. can you command the equivalent of a PROGRAM_B_2 pulse via JTAG ? and if yes, is this something you already do before flashing ?12:04
lekernel_nah I don't want such dirty fixes12:04
wpwrak_;-))12:04
lekernel_we want to keep compatibility with the proprietary Xilinx JTAG software too12:04
wpwrak_sure. so that's not something that would already be part of the process12:04
lekernel_I don't know12:05
lekernel_apparently not12:05
wpwrak_hmm. i'm trying to construct the fix1 failure scenario. i think what you think is happening is that the FPGA tries to configure, gets a CRC failure, maybe does a few retries, then sits there with INIT_B permanently low, and then you try to flash, which doesn't work due to the reset being asserted via INIT_B and the diode, correct ?12:06
lekernel_yes12:07
lekernel_also, it can easily gets a CRC failure if INIT_B glitches low during the configuration process12:07
wpwrak_what effect does INIT_B have then ?12:08
wpwrak_btw, do you really need the 10k on the output of the reset chip in fix3 ?12:08
lekernel_reset of the flash in the middle of the configuration readout, corrupted data read by the FPGA, CRC failure, flash reset permanently asserted12:08
wpwrak_(glitch) aah, in a fix1 scenario. yes.12:09
lekernel_yeah, maybe that resistor could go12:10
wpwrak_also the 47 pF cap may be unnecessary. the theory was that the capacitance of D16 would let FLASH_RESET contaminate PROGRAM_B_2. but in fix3, this path is already closed12:13
wpwrak_and as i understand things, INIT_B doesn't mind a bit of distortion12:13
lekernel_www.milkymist.org/fix4.png12:13
mumptaimoin12:14
lekernel_no, the 47pF cap should stay12:14
lekernel_otherwise there could be INIT_B going low and glitching flash reset through the two diode's capacitances in series12:14
lekernel_crazy, heh?12:15
mumptaithat init_b must have a high slew rate12:15
wpwrak_(47 pF to de-glitch) hmm, okay12:20
wpwrak_lekernel_: (crazy) yeah, the diodes don't act much like diodes if you think of it ;-)12:21
wpwrak_lekernel_: i'm trying to draw a delta to make it clearer what the changes are. does this look right ? http://downloads.qi-hardware.com/people/werner/m1/rc3/fix4.pdf12:22
wpwrak_lekernel_: err wait12:22
wpwrak_the cap is wrong ;-)12:22
wpwrak_can the trace be cut such that the cap is on the reset side but the resistor is on the fpga side ?12:23
wpwrak_hmm, nope12:25
wpwrak_new version: http://downloads.qi-hardware.com/people/werner/m1/rc3/fix4.pdf12:28
wpwrak_note that i indicated that R30 could stay at 4k7. i think adam has it reworked now to 10k, so he'd better just leave it. but for future rework, there's no point in changing it. agreed ?12:29
lekernel_we should be able to remove the flash reset resistor too12:31
lekernel_yeah those diodes give new meaning to the word 'pesky'12:32
awhi i'm back. ;-)12:32
wpwrak_(diodes) *grin*12:32
lekernel_wpwrak_, nice diagram :)12:32
wpwrak_thanks :)12:34
awabout fix2.png this I got 10 times boot up on rc2. ;-)12:34
wpwrak_now, let's simulate those capacitances ... i don't quite trust them yet12:34
awnow check my rc2 if can restore again. ;-)12:35
lekernel_aw, and no other issues?12:35
awlekernel_, what does you mean?12:35
lekernel_wpwrak_, remove the 10K resistor on flash reset12:35
lekernel_wpwrak_, otherwise it's perfect (and even good looking)12:36
lekernel_thanks :)12:36
wpwrak_fix2 would be even a little simpler than fix412:36
lekernel_aw, you did not notice any problem?12:36
lekernel_aw, only 10 successful attempts?12:36
awthis afternoon i used fix2.png on my rc2. then can boot up 10 times and rendering.12:37
lekernel_ok12:37
wpwrak_updated http://downloads.qi-hardware.com/people/werner/m1/rc3/fix4.pdf12:37
awthen I followed to change 47uF to 1nF and remove 1M ohm (which is located with C238 in parallel)12:37
lekernel_??????12:38
lekernel_fix2 doesn't have 1M or C23812:38
lekernel_s/or C238//12:39
lekernel_and you already tried with 1nF, no? and it caused a problem after a few seconds rendering, no?12:39
awyes, i knew. ;-) fix2.png with a little difference is only I still added  1M ohm besides C238(47pF)12:39
awslow down a bit...12:40
aw1. I used fix2.png with another 1 M ohm besides C238(thus is 47pF) to simulate a prober. then I  got 10 times of rendering12:41
aw2. then followed to remove 1 M ohm and change C238 to 1nF, then rendering a couples seconds then D2/D3 dimly lit then OFF...screen is also OFF surely12:42
lekernel_ok, results are consistent then12:42
awall items 1. and 2. are done on my rc2 board. ;-)12:42
lekernel_ok12:42
aw3. then I used fix1.png on my rc2 boad, then dead...12:43
aw;-)12:43
awlet me see fix4.pdf ;-) moment.12:43
lekernel_yes, we understand how fix1 totally screws up the flash12:43
lekernel_aw, no please12:43
lekernel_aw, try fix2 without the 1M resistor and with a 100pF cap12:44
lekernel_if it works, use that12:44
lekernel_it's a simpler fix than fix412:44
lekernel_no trace to cut etc.12:44
wpwrak_lekernel_: you still want R60 gone in fix2 ?12:45
awlet me interpret fix4.pdf firstly, okay or you are still discuss on determine to use which fix?12:46
awso in fix4, R30 can be 4.7K? correct? or use 10K.12:49
wpwrak_aw: in fix4, if can be either12:49
awwpwrak_, in fix2 I didn't use R60.12:49
awwpwrak_, alright12:49
wpwrak_aw: (r30 in fix4) i.e., 4k7 would be closer to xilinx' reference design, but we think 10k will work as well, since you've already reworked it to 10k, there would be no point in reversing the change12:50
awbtw. i check if i can restore my rc2. if not , then i use rc3 with fix4.12:51
wpwrak_aw: (fix2) so did you remove r60 ? or leave it as it was ?12:51
awwpwrak_, (fix2) i removed R60.12:51
wpwrak_lekernel_: btw, fix2 variant: http://downloads.qi-hardware.com/people/werner/m1/rc3/fix2.pdf12:52
awlekernel_, ok, i go to first use a 100pF for C238. ;-)12:53
awwpwrak_, your fix4.fig is a little of difference compared to fix2.png:13:00
wpwrak_aw: yes, you should use fix2.fig ;)13:00
wpwrak_http://downloads.qi-hardware.com/people/werner/m1/rc3/fix2.pdf13:00
wpwrak_or do you mean fix2.fig vs. fix2.png ?13:01
awfix4.fig vs fix2.png13:01
wpwrak_fix4 != fix213:03
wpwrak_but if you find any differences between my fix2.fig/fix2.pdf and sebastien's fix2.png, please let us know :)13:03
awyes, they are not the same. that's what i wanted to say.13:03
wpwrak_(differences in fix2) well, except the 47 pF that were upgraded to 100 pF now13:04
awsecond13:05
wolfspraulwpwrak_: our best bet is fix2 now?13:06
wpwrak_wolfspraul: yes. it's quite a bit easier to do than fix4. and adam has seen it work :)13:06
awwolfspraul, moment. let me figure why wpwrak drawed fix4.fig13:07
lekernel_R60 should be gone everywhere13:07
wpwrak_aw: fix4 came before fix2 :)13:08
wpwrak_aw: fix4 is obsolete. i made a new picture for fix213:08
awlekernel_, exactly, i already  used without R60.13:08
wolfspraullekernel_: oh cool, the Scanimate guy already replied and wants to help us with US distributorship :-)13:08
lekernel_cool :13:09
lekernel_:)13:09
awwpwrak_, you deleted http://downloads.qi-hardware.com/people/werner/m1/rc3/fix2.pdf ? i can't download it. didn't you?13:09
wolfspraulI need to write a proper reply13:09
awwpwrak_, be watch out. http://milkymist.org/fix2.png  != http://downloads.qi-hardware.com/people/werner/m1/rc3/fix4.pdf13:12
lekernelhttp://downloads.qi-hardware.com/people/werner/m1/rc3/fix2.pdf works for me... and yes, use that13:12
wolfspraulaw: that's why they are numbered13:13
wolfspraulfix 1, fix 2, fix 3, fix 413:13
awbad...why i can't download fix2.pdf??13:13
lekernelaw, we are talking about fix2 with 100pF capacitance. not fix4.13:13
wolfspraulso of course fix2 != fix413:13
lekernelaw, i emailed it to you13:14
wolfspraulworks fine for me here, this url http://downloads.qi-hardware.com/people/werner/m1/rc3/fix2.pdf13:14
awas i know I need to use fix2.png with a C238(100pF) to rework now. ;-)13:14
wolfspraulyes13:14
wolfspraulaw: why does that URL not work for you?13:14
wolfspraulclose and restart your browser13:15
awmaybe my two roomates are using then network is bad.13:16
lekernelaw, check your inbox13:16
awlekernel, thanks, received.13:16
wolfspraulhe :-) no way your two roommates can be related to this :-)13:17
awlekernel, great . now the fix2.pdf is only the difference about 100pF. ;-)13:18
awnow..go rework...stay tuned. ;-)13:18
lekernelyes, that's what I was saying13:18
wpwrak_my simulation says that 100 pF should give us a worst-case drop of about 1.2 V (down to ~2.1 V)13:21
wpwrak_that is, if i modeled the diode correctly. the model uses a Cj0, which would be the zero-bias capacitance13:22
wpwrak_actually, it's larger than 115 pF. (fig. 5 on page 2) hmm. remodeling ...13:22
wpwrak_~1.3 V :-(13:23
lekernelwpwrak_, also, this would depend on the slew rate at the other side of the diode13:23
lekerneland driver impedance13:23
lekerneli'd tend to say that if it works on some tests with 47pF, then 100pF is safe13:24
wpwrak_what driver impedance should i use ? i have 50 Ohm right now, which is a bit aggressive13:24
lekernelphew, that's complicated... you can find IBIS models of the FPGA I/Os at the Xilinx website if you want13:24
lekernelI'm sure there are such models for regular I/Os like flash reset (they're typically used for high speed DRAM interfaces), for INIT_B and PROGRAM_B I'm not sure13:25
wpwrak_;-)13:26
wpwrak_i'll just stick with 50 Ohm then :) should be on the safe side. besides, even 100 Ohm or such wouldn't make much of a difference13:27
wpwrak_how long shall the INIT_B glitch last ? right now, it's infinite13:27
lekernelhttp://www.xilinx.com/support/download/index.htm#tab-dm13:28
lekernelI don't know. assume arbitrary.13:29
wpwrak_infinite then. that's the worst case13:30
lekernelminimum logic high voltage for the flash is 2.0V13:31
lekerneland same or better for FPGA13:32
wpwrak_http://projects.qi-hardware.com/index.php/p/wernermisc/source/tree/master/mm1rc3rst/fix2.sch13:34
wpwrak_or git clone git@projects.qi-hardware.com:wernermisc.git13:35
wpwrak_(or was that git: for non-committers ?)13:35
wpwrak_wolfspraul: feature request for projects.qi-hw.com: show both variants13:35
wolfspraulyes maybe git://projects.qi-hardware.com/wernermisc.git13:36
wolfspraulif you logout, it will show the read-only one13:36
wpwrak_wolfspraul: yeah. having to log out, reset the password i've of course long forgotten, etc., sucks :)13:37
wolfspraulgit clone git://projects.qi-hardware.com/wernermisc.git should do it13:37
wpwrak_switched to a fixed voltage scale, so it's easier to see how good or bad the upset is13:43
wpwrak_would be good to check the voltage on PROGRAM_B_2 with a scope when everything is done. that'll tell is how close the model is to reality, and let us guesstimate the parameter stability.13:45
lekernelaw, so, what's happening with 100pF?13:46
wpwrak_simulation says we drop to ~1.3 V13:47
awrc2 goes back to reflashing now. ; -)13:47
wpwrak_in real life, it'll be a bit better because i didn't model parasitic capacitances and all that13:47
awstill reflashing...13:47
wpwrak_i also don't know how accurate my diode model is. e.g., they also have a "linear capacitance" which is different from the "zero-bias junction capacitance"13:49
wolfspraulaw: ok good, so we are testing the latest idea on your rc2 board first, right?13:49
awrc2 + fix2, yes13:50
awreflashed done.13:50
awumm..no..some err shows.13:51
awwait13:51
awError: intel.c:371 intel_flash_program_buffer() flash program: unknown error while programming; command 'flashmem   0xD20000 data.flash5.bin noverify'13:51
wpwrak_here's the simulation, with result: http://downloads.qi-hardware.com/people/werner/m1/rc3/fix2-100pF.ps13:52
awi guessed maybe caused by my last 'dead' status?13:52
awand D2 and D3 is still dimly lit after reflash shows err.13:53
awi think that i need to directly use rc3 with fix2? since i don't trust my rc2 board's status. ;-)13:54
wpwrak_aw: can you show us the signal with scope on TP37 and ...13:55
wpwrak_.. TP36 (FLASH_RESET_B and PROGRAM_B_2)13:55
wpwrak_grr. FLASH_RESET_N13:55
awwell...i am not sure if this is meaningful to you to scope my rc2 board....if you still insist. ;-) because I used fix1.png then failed..not sure flash chip is completely restored though.13:57
wpwrak_maybe connecting the scope will magically fix things :)13:58
awnow I powered cycle, then D2 & D3 dimly lit so didn't reconfigure.13:58
awalright13:58
wpwrak_and of not, it'll still show how well the 100 pF cap works13:59
wolfspraulI think you should stay on that rc2 board13:59
wolfspraulyou cannot always jump around boards out of fear that 'something' may be broken13:59
awmoments13:59
wolfspraulespecially not since we are basically doing a design and design verification here13:59
wolfspraulso you stay on that rc2 board, and make sure it behaves as we think it should, on all pins/test points14:00
wolfspraulif the flash failed, just try flashing a second time first14:00
wpwrak_wolfspraul: of course, what adam isn't saying explicitly is just how badly damaged the board looks now after all the rework, cutting then restoring traces, etc. ;-)14:04
wolfspraulyes but I don't think we should base decisions on fears of "flash broken" pretty much after every work step14:04
wolfspraulwith that logic we should have a supply of 100 fresh boards, and we throw each one away after the very first work step we did on it14:05
wolfspraulso it also helps Adam to remember that we are in control of this board (in theory :-)), and we don't need to be afraid at 'breaking' something even when we run a simple flashing script (for example)14:05
wolfspraulso we want to pin this down, understand and fix the reset/reconfigure/boot behavior14:06
wolfspraulthat's even better to do on a slightly worn out board than a new one :-)14:06
wolfsprauland once we are clear, we are moving to the nicer rc3 board and hopefully it all works like a charm then14:06
wolfspraulotherwise we are simply spreading our confusion (=design work) to multiple boards. nothing gained, just more confusion.14:07
wpwrak_wolfspraul: (throw away after each test) and get a new sterilized and and vacuum-wrapped one from the freezer ;-)14:07
wolfspraulwe are in control of these boards, and this design. even if it may not look like that right now ;-)14:07
wolfspraulbut anyway I'm just sitting here, Adam is at the front line with the board14:07
wolfspraulI would try to pin this down on one board, and stay on that board.14:08
wpwrak_it's less a question of being in control of the design but just the amount of trouble you amass during rework. boards to get worse when being reworked. and at some point, you just don't trust your board anymore. maybe it's still okay and what you see is the real problem. maybe you've long ago stopped making progress and are just chasing ghosts. you basically have to trust your instincts there.14:09
wolfsprauland in my experience, sometimes the operator is worn out, not the board.14:09
wolfspraulthese kinds of reworks are more stressful on the human doing them, than the board. that's my experience.14:10
wolfspraulso it may be better to sleep over it, rather than to move the worn out operator to a new board. just my experience, that's all.14:10
wolfspraulelectrons still don't know whether they flow on a board that was reworked many times or a new one :-)14:11
wpwrak_i like to have 2-3 "identical" boards. when one acts funny, i try another. if they both do the same, i probably see a real problem. if both act differently and i can find no differences in the rework, i try on the 3rd.14:11
wolfspraulyes sure, I understand14:11
wolfspraulI am not against it, we are just chatting14:11
wolfspraulAdam will decide what he thinks is right14:11
wolfspraulbut you understand my point about fear and confusion spreading14:11
wolfspraulthat can also happen14:11
wpwrak_(tired operator) yes, human factors are important too :)14:11
wpwrak_yes yes, you can get lost for no good reason, that's true14:12
wolfspraulit's always in the last 1-2 hours of the day that the biggest mistakes are made14:12
wolfspraul"oh, let's quickly try this one last thing, on that board over here"14:12
wolfspraulwhen I hear that I already know what's going to happen next14:12
wpwrak_things will be better with a larger supply of boards from SMT. then adam can switch if he feels uncertain. we should be converging rapidly now anyway14:12
wpwrak_;-)14:12
wolfspraulboards = boards - 114:12
wolfspraulthat's what's going to happen14:13
wpwrak_;-)14:13
wpwrak_btw, the scanimate guy could perhaps also help with a by-cc* picture of that system. you could use that for talks and such. "before" and "after" :)14:14
wolfspraulwpwrak_: what is Adam doing now? :-)14:22
wolfspraulhopefully he's not distracted reading up on our chatte14:22
wolfspraulchatter14:23
wpwrak_probably connecting his scops. maybe trying to reflash again. we'll see :)14:25
wolfspraulabout the Scanimate by-cc - sure, I agree. but I'm taking this slowly. These kinds of people are into their 'thing' for decades. I will reply, maybe I will sell an m1 to him (he asked already), we start some chit chat about the Scanimate and Milkymist One.14:26
wolfspraulmaybe distributor deal? of course that'd be great14:26
wolfspraulonce those things are established, questions of 'licenses' for pictures completely disappear by themselves14:27
wpwrak_yeah. you can just ask for a picture :) i don't think the license is a big deal14:27
wolfspraulbut if I come with these nasty little things now - not good. I wouldn't want that myself. Many people rightfully think this copyrightization of everything is a disease.14:27
lekernelwpwrak_, why did you use 250pF for the diode capacitance?14:28
wolfspraulso my focus is to get to know people, what interests them, where the overlap with m1 is, how I can sell an m1 to them, and then grow from there14:28
wpwrak_no no ... the problem with licenses we have at the moment is simply that the pics you find on the net have unknown status. if you ask someone to send you a picture, they'll usually assume you do whatever you want with it (unless they're professional photographers)14:29
wpwrak_lekernel: that;s the zero bias junction capacitance. see fig. 5 on page 2 of the data sheet. it's higher than the 4V capacitance from page 114:30
wpwrak_lekernel: (i hope i got all this right. i don't know nearly enough about junction modeling for more than educated guesses :)14:30
lekernelbut bias voltage is 3V, no?14:31
lekernel3.314:31
lekernelmh14:31
lekernelin fact it depends14:31
lekernelrha, those diodes really are tiny bits of crap14:32
wpwrak_the diode model in qucs only has the zero bias capacitance. i suppose it adjusts it for the actual bias (which varies during the simulation)14:32
lekernel200pF, 2mA reverse currents at 100C, and what not14:32
wpwrak_;-)14:33
lekerneleven diodes that are _meant_ to be used as varicap have less capacitance14:33
awmy program_b and flash reset pin is all below 200mV, there's somethings wrong but D2 &D3 keep dimly lit. strange so i can't capture from trigger power up.14:33
awchecking...14:34
wpwrak_things like 1N4148 are less crazy. but schottky gets evil. and the old Si ones don't work so well at modern low voltages. that's why these clever solutions from yesteryears suddenly become trouble if you try to apply them to modern circuits.14:34
awhmm...jtag's 'detect' commands replys well.14:35
lekernelaw, if program_b stays below 200mV your circuit is not correct, period14:35
lekernelno need to use JTAG14:35
lekernelit should be below 200mV during the first 200ms then go high14:36
lekernelanything else is wrong14:36
lekernelas long as you do not get this, no need to look any further14:36
lekernelis the polarity of the diodes correct?14:37
awyes, i didn't find program_b goes high..maybe reset ic I soldered in failure. ..should not be that. ..checking.14:39
awsince my reset ic doesn't work now...so its output keeps low and the also causes init_b & flash_reset always low. bad...but it just still was reflashing ...and i can see D2 & D3 are flashed.14:45
awbad. need to replace a new reset ic again. ;-)14:46
wolfspraulwait, one second14:50
wolfspraulaw: so you think in some of the reworks or tests, the reset ic broke? and now you will replace it for a new one?14:50
wolfspraulthat sounds good! at least you keep overview.14:51
wolfspraulwe still may not know why it 'failed', but that doesn't matter, at least it's localized, we swap it for a new one, and move forward. sounds right to me so far.14:52
awnow i just disconnect my reset ic's output and program_b. Power-up, then reset ic's output is 3V3, RP# is HI, init_b also HI14:53
awand found fpga's program_b is Low though. this approves my reset ic can still work well.14:54
awso don't know why fpga's program_b can't release its pin to be HI, thus it's always pull low. :(14:55
awgot my points?14:55
wpwrak_sounds very fishy indeed14:55
awread my sentences carefully. ;-) although my english still no t good to explain.14:56
wolfspraulaw: move to rc3 board? :-)14:56
wpwrak_could C238 be shorted ?14:56
wpwrak_wolfspraul: *grin*14:56
awif there's something you still doubt, let me know14:56
awhmm..maybe...moment14:56
wpwrak_wolfspraul: see what you get for micro-managing ;-)14:56
wolfspraulAdam won't let me influence him, I'm not worried :-)14:57
wpwrak_hehe, that's also true :)14:57
awwpwrak_, i remembered I measured if C238 is short.14:58
awwell...check if short again14:58
aw40 ohm almost short. but this is not right. i did measure it's ok and also i have been reflashed it even it had have err.15:00
awbtw, now take apart C238 to see if that program_b still short to gnd. ;-)15:01
awhmm only program_b,  has 7.5K ohm..so probably C238 I soldered not good enough. go to solder a new one. ;-)15:06
awyeah...replaced a new 100pF and all good on soldering. but program_b now is only 0.5V roughly...still doesn't pull high.15:22
wpwrak_i suspect death by rework. you could try to undo the various changes, clean the board, etc. then try again. but may be faster to give fix2 a try with rc315:23
awseems fpga inside failed indeedly...now go to rc315:24
wpwrak_great minds think alike :)15:24
awyeah...too many reworks at same parts. :(15:24
awreflashing now...15:36
awrc3 + fix2 reflashed successfully. ;-)15:39
awnow to press middle btn.15:39
awboot up...15:40
awD3 ON, rendering now...15:40
awkeep more minutes...15:40
awrendering ...with my camera...;-)15:41
awenough...15:41
lekernelok, power cycle it many times now15:42
awnow go to count how many times we can power cycle15:42
awwait..15:42
awshould i go to gui to use shut down to press 'Power off' then press 'middle btn'?15:43
awi do now...wait15:43
wolfspraulevery way should work15:43
lekernelyou can try it to check it still works, yes15:43
lekernelbut also power cycle15:43
lekernelthis is the most important15:43
awgood..now  start to boot up...ing...15:43
lekernelon rc2 i've never had issues with the power button in the GUI15:43
awyeah... ;-)15:43
wolfspraulimagine you are the user. if something does not come up and render graphics, it's wrong.15:44
awgood now..also rendering...now directly power off and power on15:44
wolfspraulwpwrak_: does your simulation suggest that 100pF on C238 is safe?15:45
aw2nd  boot up...15:45
wolfspraulshould we measure any values to give you more input data?15:45
awrendering...wait...a little...15:45
wolfspraulwait 2 minutes at least15:46
aw2 minutes?15:46
awalright..;-)15:46
wolfspraulsure15:46
wolfspraullater you can let it render through the entire night15:46
wolfspraulit must still work in the morning when you get up15:46
lekernelyou can also power cycle many times and check that the LEDs go fully off (without booting)15:46
wolfspraulI want to run a 1h render test on each board of the rc3 run anyway, but that's for later...15:47
awlekernel, yes..now i am very carefully on LEDs.. ;-)15:47
aw315:48
awyes let it render through entire night.15:49
lekernelaw, wait, power cycle many times before15:49
awsure ...15:49
lekernelaw, and just check the LEDs go fully off15:49
awi am thinkging at least before i sleep to 30 times ~ 40 times...15:50
lekernelyes, do not boot, it should be fast15:50
awwait...15:51
awdo not boot? to test many times firstly?15:51
awjust reconfiguration at least 100 times. is it ok? is that your meaning?15:52
aw;-)15:52
lekernelyes, that's what i mean15:52
lekernelof course, try booting later15:52
awhmm...different to Wolfgang15:52
awalright..let count 100 times to reconfiguration now...15:53
awgood ..10 now15:55
aw2015:56
aw3015:58
aw4016:00
aw5016:01
wolfspraul100 is definitely enough, after that we do some tests where we boot all the way to rendering16:03
aw6016:03
aw7016:05
awthis test is a must i think. also testing our new DC adapter. ;-)16:05
awi actually power cycle by my power cord's switch...not to plug-in & out DC plug. ;-)16:06
aw8016:07
wolfspraulin general it's a good idea to test in the same way a user would use the product16:08
aw9016:09
aw10016:11
awgood16:11
lekernelgreat16:11
awnow we to see if still can boot up...16:11
wolfspraulyes, all the way to render, and let it render for 30 seconds.16:12
wolfspraulor 20 maybe :-)16:12
awumm...set my second alarm16:12
wolfspraulif it works 30, 40, 50 times in a row, that's definitely better than before.16:12
wolfspraulha ha :-)16:12
wolfspraulwell, I mean don't immediately turn if off again. let's try to make our test behavior at least a little closer to real users.16:13
aw416:13
wolfspraulalso I think you can try to physically unplug the DC jack, rather than flipping the switch on your lab supply16:14
awok16:14
wolfspraulwhen we can, and when we don't have a reason to not do so, we should always try to imitate real user behavior when testing16:15
wolfspraulof course if we have a programmed lab supply and let it run over night with thousands of cycles, that's another thing16:15
wolfspraulso I say "when we don't have reason to not do so", then you can imitate normal user behavior, it's better I think16:15
awyes...this sounds reasonable...user usually may turn on power adapter first then plug in...16:16
wolfsprauldepends. you can test both :-)16:16
wolfspraulbut that's exactly my point. let's try to imitate our users.16:16
wolfspraulnot just flip switches on lab supplies...16:17
aw516:17
aw616:18
lekernelsounds good so far, let's hope it's reproducible across the entire batch16:19
lekernelwhen do you get the boards back from SMT?16:19
wolfspraulI suggest Adam can do a full boot-to-render cycle let's say 100 times on this board. for the entire run, we can go down to 10 first, and if there are no problems on the first 20 boards, go down to 5, etc.16:20
aw716:20
awseems they won't be done until Tuesday evening...16:21
awi called supervisor yesterday16:21
awbut it's all fine. i'd like they do their good internal job.16:22
lekerneltuesday? good16:22
aw816:22
lekernelthis gives a little more time to test this one board16:22
awthis may means I only receive them in Wednesay16:22
wolfspraulonce Adam knows for sure which additional fixes we need (post-rc3), he can try to have the factory do it16:23
wolfspraulbut since it's not their mistake, they will ask for an extra payment and may not want or be able to do it at all (depends on their load)16:23
awnow i m thinking how a good way to rework all batch.16:23
lekernelI hope this fix2 is not too ugly... with the r158 on the bottom side16:23
wolfspraulof course we will try to have the factory do it, but they have to agree, find staff, and they will charge extra (which is OK)16:24
awit's not good idea to ask for smt factory to rework all which is we added parts and one wire need soldered from top side to bottom side.16:24
wolfspraula wire all around the board?16:24
awi couldn't answer this question now..i need to deal and ask them tomorrow.16:24
wolfspraulyes sure16:25
wolfspraulI am just explaining for Sebastien16:25
lekernelif there's a wire all around the board, we must make sure it still fits in the case16:25
wolfspraulaw: continue the boot-to-render testing until we are at 30 or so, better 5016:25
awprogram_b to init_b, this connection I used a long wire. ;-)16:25
wolfspraulthere's a wire around the whole board?16:25
wolfspraulthat's pretty gross :-)16:25
awyes16:25
aw916:25
lekernelelectrical engineering is intrinsically gross16:26
wolfspraulcan't we get rid of this wire?16:26
awcan't16:26
lekernelas long as it fits in the case, i'm fine with that wire16:26
awhttp://downloads.qi-hardware.com/hardware/milkymist_one/smt/rc3/M1_rc3_back_gerber_view_image.png16:27
awR157 at bottom side16:27
wolfspraulcan you upload a picture of the reworked rc3? both sides16:27
awwhich that pad directly go to fpga area, no pad or else i can solder from top. ;-)16:27
awyes. tomorrow I upload two pictures. ;-)16:28
aw1016:28
awso i don't think Minbo will do. surely i need to deal with them.16:29
aw1116:30
wolfspraulaw: do you have an assembled acrylic case there?16:31
lekernelother than that, it should be a simple fix16:31
aw1216:31
lekernelaw, also be careful when picking a diode, if you change it16:31
wolfspraulif not, please take one of the cases you have and assemble it, and make tests that the wire is run in such a way that it fits in the case, and that the wire goes down in a somewhat protected place, maybe between connectors or so, don't know16:31
awi currently put wire between both DMX connector which is not good.16:32
wolfspraulI take it we can't drill a new hole in the pcb? :-)16:32
wolfspraulI mean not right in the middle, but somewhere are the side maybe? don't know. maybe not a good idea.16:32
lekernelit'll definitely fit behind the front plate16:32
lekernelthere is extra space for the buttons16:32
awhaha..i checked this afternoon...16:32
lekernelwe have 4 good millimeters, more than enough for a small wire16:33
awno suitable hole to directly though this wire from top to bottom. :(16:33
wolfspraulyou mean drill a hole? don't understand what you mean with "behind the front plate"16:33
lekernelno i'm talking about using wire16:33
lekernelI don't want to drill a hole in a 6 layer PCB16:33
lekernelmessy16:33
wolfspraulyes me too. but I'm wondering whether we can drill a hole somewhere to avoid that it is running over the edge of the pcb.16:33
awme either...must not drill the pcb!16:34
wolfspraulmaybe there's an unused space somewhere on the sides... I'm just thinking.16:34
wolfspraulalright, no drill, done16:34
wolfspraul:-)16:34
aw1316:34
lekernelthere are the power planes everywhere, and it's going to be too easy to short circuit two with e.g. fillings from the drill16:34
awexactly16:34
wolfspraulunderstood16:35
aw1416:35
lekerneljust use a long wire, it's low frequency anyway... glue it in place, make it go behind the front plate of the case, done16:36
awyeah16:36
aw1516:37
aw1616:38
aw1716:40
awyou guys can keep chatting..otherwisw i am a little nervous. haha16:41
aw1816:41
wolfspraulha, superstitious16:41
wolfspraulI wanted to ask Sebastien a question about rc4, but I thought it's bad luck until the test is at least at 30 :-)16:42
wolfspraulso this time I will wait, until we have final data, and then I will proceed16:42
aw1916:42
wolfspraulyou can reduce the render time a little, 20 seconds is enough16:43
aw2016:43
wolfspraulif it stays solid, reduce to 1516:43
awha..i count 30 second...16:44
wolfspraulI just want to rule out this problem we had on the other board with the board shutting down after a few seconds.16:44
wolfspraulalright then16:44
wolfspraulit must work for hours anyway, for days16:44
wolfspraulif this is all positive now, I suggest you keep the board running overnight16:44
wolfspraultomorrow morning it should still render...16:44
aw2116:45
awalright...now reduce to 15 seconds.16:45
aw2216:46
wolfspraulyes, good [15 secs]16:46
aw2316:47
wolfspraulmaybe we do 30 today, that's enough16:47
aw2416:48
wolfspraulthen another 70 tomorrow, which brings us to 100 and is enough as a 'design verification'16:48
awwell..good is good, bad is bad16:49
aw2516:49
awa continuous test keeps boards warm. a temperature...well time here is later. ;-)16:50
aw2616:51
awok16:51
awafter 30 times, i let it rendering through whole night. ;-)16:51
aw2716:52
aw2816:53
aw2916:54
aw3016:55
awoaky..finished fisrt 30 times16:55
wolfspraulok good16:55
wolfspraulnow, here is my proposal:16:55
wolfspraul1) let it render through the whole night, check that it's still running tomorrow16:55
awput it well and rendering all night with mixing camera's source16:56
wolfspraulif it is not running tomorrow, measure some test points to try to understand in which state it is (let's hope this is not needed)16:56
wolfspraul2) if lekernel or wpwrak_ want any more measurements to verify fix2, they need to speak up. otherwise you can just measure yourself whatever you want to know to confirm or understand fix216:56
awdispalyed title and auto switch16:56
wolfspraulyes, it will do that16:57
wolfspraul3) tomorrow you do another 70 test cycles of the full power cycle, and boot to render, let it render 15 seconds or so16:57
wolfspraulif you want you can try to recover your rc2, or maybe write it off :-) your choice...16:57
awtomorrow after tests, i still need capture RP# and program_b for records.16:57
wolfspraulit's your last rc2 so a little unfortunate if we loose it16:58
wolfspraul4) if all goes well, document fix2 as rc3 known issues16:58
aw'temporarily' loose rc2. one day...don't know ..;-)16:58
wolfspraul5) think about how to best do the rework for the other 89 boards, factory and/or you16:58
wolfspraul6) for bootup testing on the other 89 boards, I propose that we start with something like 10 boot-to-render cycles on the first boards, say 10 or 20. And if that is good, we reduce the cycles to 5, then maybe 2.16:59
wolfspraulthat's about it from me, I think16:59
wolfsprauloh17:00
wolfspraul7) take pictures of your reworked rc3, both sides17:00
wolfspraulthat's all17:00
wolfspraulmakes sense?17:01
awgot it.17:01
wolfspraul1 am - thanks a lot for your great work today!17:01
awthanks a lot all of you guys here the contributions. thanks!17:03
awsee you guys tomorrow. ;-)17:04
lekernelgn817:04
wolfspraulcu17:04
awcu17:04
lekernelmh, is it possible to map read-through RAMs to block RAMs on spartan6? or does this generate extra logic (and more importantly, extra timing problems)?17:19
lekernelhttp://pastebin.com/mGMNyb2Z17:21
lekernel?! xst infers flip flop and a _asynchronous_ ramb16bwer primitive17:25
lekernelah, no, it was just for CE18:04
wpwrak_wolfspraul: (100 pF enough) according to my simulation, it's insufficient. but i'd need to see a real life scope trace to tell how close the simulation is to reality18:05
wpwrak_wolfspraul: in general, this extra cap should be as small as possible, or it could develop a life of its own18:05
Action: wpwrak_ checks the time. my, that siesta was quite long :)18:06
wolfspraulwpwrak_: scope trace of what?18:07
wpwrak_wolfspraul: of PROGRAM_B_2 when FLASH_RESET_N is driven low18:08
wolfspraulfor 'insufficient', we already know with 47pF it seems to work as well (though not extensively tested)18:08
wolfspraulso with 100 we are about twice that much18:08
wolfsprauland still far away from the 1nF we know causes a very bad 'life of its own' after a few seconds of rendering18:09
wpwrak_you could still be in the middle of the meta-stable range. that's a place you don't want to be if you can avoid it :)18:09
wolfspraulso if I just look at these numbers, no simulation, no scope traces, 47 < 100 < 1000, looks OK :-)18:09
wolfsprauloh I am totally interested in more hard calculation of the 'correct' value18:09
wolfspraulideally one would think we have a hard lower boundary, and a hard upper boundary, and with all tolerances and what not hopefully there is space between those two18:10
wpwrak_i'd also prefer 100 pF over 1 nF. but ... a real-life measurement should prove that. sometimes, we get what we want. sometimes, murphy has other plans for us :)18:10
wolfspraulwe know 1nF is bad, will cause an auto-shutdown after a few seconds of rendering (not sure this was with fix2, but with 1nF for sure)18:11
wolfspraulOK, Adam will definitely provide a scope trace for program_b_2 when flash_reset_n is low tomorrow...18:11
wpwrak_you also have to bear in mind that we don't know when exactly the rc2 board developed it fatal flaw. so a number of "this doesn't work well" results already before fix4 may be flawed as well.18:11
wolfspraulno I think the first 1nF test was on rc3 still18:12
wolfspraulcould be wrong though18:12
wolfspraullet's just take the scope trace tomorrow18:12
wolfspraulempirically, 100pF is ok right now :-)18:12
wolfspraulwe will definitely do serious boot-to-render testing on all rc3 boards, no worries18:13
wpwrak_that's a good result in any case. we know in which direction to look for a fix that doesn't appear to have any ill side-effects and that is still of acceptable complexity18:13
wolfspraulwell, a wire around the entire board is pretty ugly :-)18:14
wolfspraulbut that's ok18:14
wolfspraulit should be stable, that's the most important thing18:14
wpwrak_regarding the extra wire, you can just fix it on the board with a drip of silicone/elastic glue every few 1-2 cm. then it will be as good as any other permanent feature of the board.18:15
wpwrak_s/drip/drop/18:15
wolfspraulwpwrak_: you are right, the original 47pF and 1nF C328 tests were already done on rc2, not rc318:16
wolfspraulthat's a crazy long backlog today, but that's what it says up there...18:17
wolfspraulok we will spend some more time tomorrow to verify the 100 pF value, it's worth it I think18:18
wpwrak_i don't know how easy it is to force FLASH_RESET_N low. if it's difficult to do this from the FPGA, just touching a 47-100 Ohm resistor between ground and FLASH_RESET_N (TP37) would have the same effect18:20
wpwrak_the scope should show FLASH_RESET_N/TP37 for verification and PROGRAM_B_2 (TP36)18:21
wpwrak_probes should be all 1:10, to add as little parasitic capacitance as possible. (parasitic capacitance makes the result look better)18:21
wolfspraulok18:22
wpwrak_simulation predicts that PROGRAM_B_2 should drop from 3.3 V to ~1.7 V, with slow recovery (about 1 us until 2.5 V)18:23
wpwrak_so the scope should be set to about 100 ns/div, falling edge trigger on FLASH_RESET_N18:24
wpwrak_if the minimum in the drop stays above 2.5 V (or if no drop is visible at all), that would mean green light. 2.2-2.5 V, yellow (i.e., you're close enough to the limit that without the scope, the drop may be too deep to meet specifications). < 2.2 V, red (i.e., you're at or below)18:30
wpwrak_oh, wait. no, sorry. got the wrong spec. you have a bit more tolerance18:30
wpwrak_< 1.7 V = red, 1.7-2.0 V = yellow. > 2.0 V = green.18:32
wpwrak_if you drop below 1.65 V, you enter the unspecified zone of the chip, where it may or may not react, and its reaction may not be entirely predictable. if you drop all the way down to <= 1.1 V, you're in the specified range again, but it'll do something you don't want it to do (i.e., reset). simulation predicts that the measured drop will be around 1.4-1.6 V, while the drop without measurement would be even a little lower.18:36
wolfspraulunderstood18:48
lekernel'half reset' can be pretty nasty I guess18:48
lekernele.g. some parts of the chip get reset, other don't18:48
wolfspraulmy feeling is that the numbers we measure will be better than this (because we doubled from a value that was already known to work), but let's see18:49
wolfspraulwhat does your simulation show for 47 pF?18:49
lekernelthere can be a great amount of PVT variations on such a fix18:49
lekernelunless we get zero problem with it on the run 3, it'll be wise to switch to AND gates on run 418:50
wolfspraulsomehow I'm optimistic that we find a stable value, or that we have it already in 100 pF18:57
wolfspraulthat's a total guess of course, I understand both lekernel and wpwrak_ feel a little more uneasy...18:58
kristianpaulwpwrak_: i'm curioos, what software are you using for simulation?19:49
kristianpauland the 'fpga pins model' for the analog simulation came from...19:51
kristianpaulin any case, nice work indeed, i had learn much just reading your chat :)19:52
wpwrak_(47 pF) for 50 pF, i get a drop all the way down to 0.8 V. but that's of course not realistic, because it doesn't take into account any parasitic capacitances.19:55
wpwrak_kristianpaul: qucs19:55
wpwrak_kristianpaul: i don't have a very detailed pin model. there isn't much more than what you can actually see in http://downloads.qi-hardware.com/people/werner/m1/rc3/fix2-100pF.ps19:56
lekernel" For most individuals and most small scale technical startups, any involvement whatsoever with the patent system is virtually certain to end up as a net loss of time, energy, money, and sanity" http://www.tinaja.com/glib/hackar3.pdf21:47
lekernelbtw, is it just me, or was "hardware hacking" better in 1992?21:47
wpwrak_the good old times :)21:49
wpwrak_please remind me, how much was a decent fpga back then ? :)21:50
mumptaiand remember schematic-entry designs22:05
wpwrak_gEDA may have ben around back then. at least it feels that old :)22:05
wpwrak_and for simulation spice, of course ;-)22:06
mumptaityping in netlists .. arg22:06
lekernelwell, it's still hard to find articles on e.g. EDM today22:07
lekernelor radar modulation22:07
wpwrak_i never had the stomach to figure out spice ;)22:07
kristianpauli 1992, you can get ie, a gpsreceiver and take apart correlator from mcu, so i should said yes it was better :)22:08
mumptaiwhat do you want to know about radar modulation?22:08
kristianpaulwell, not that i did that, but i read soem gps hacker used too, and wonder what else...22:08
lekernelmumptai, atm, how I could modulate electronically the frequency of those 24GHz gunnplexers I scavenged from door openers22:09
wpwrak_mumptai: as an evil overlord, you have to know about radar. make death rays. to destroy ze enemy :)22:09
mumptaiahh22:10
lekernelthose critters have a second slot for a detection diode, I wonder if I could put another one in the slot and use it as varactor22:10
mumptaiyeah, deathrays impotant, i like lasers more22:10
lekernelmoment, let me upload some pictures22:10
kristianpaulwpwrak_: i wonder if in that time, what we're requirements in FPGA world, ie to get a soc like milkymist..or and quivalent (8/16 bits cpu i guess..)22:11
lekernelmumptai, http://lekernel.net/gunnplexer/22:12
mumptaii'm not sure if dc-bias is a good way to moudlate a gunn oscillator, i might just give very little modulation depth22:13
wpwrak_kristianpaul: well, 1992 was around the time then pentium I appeared. we bought a few PI@90Mhz in 94, so it must have come out around 93. i think i bought a laptop with a 486 in '93. my joy and pride. even had a color display ;-)22:13
lekernelon http://lekernel.net/gunnplexer/gunnplexer_ouvert.jpg you have the Gunn diode at the top, the populated detection diode at the bottom left and the empty IF slot at the right22:13
lekernelyes and I do not want to modulate the amplitude either22:14
lekernelmy plan is to drill a hole in the IF2 placeholder on http://lekernel.net/gunnplexer/gunnplexer_if2.jpg22:14
mumptaithat thing is self-mixing for detector?22:14
lekernelthen take a detection diode from the IF1 of one gunnplexer (I have three of those things) and put it into the IF222:14
lekerneland reverse-bias it to use as varactor22:14
lekernelyes22:14
mumptaiand then you want to use it in fmcw mode to get the distance to the refelcting object?22:15
lekernelit works pretty good as doppler radar, here's the output when connected to my soundcard: http://lekernel.net/gunnplexer/doppler.png22:16
lekernel(and me waving hands in front of it)22:16
lekernelyes, exactly22:16
wpwrak_lekernel: does that project have any specific objective ? or are you just exploring ?22:16
lekerneljust exploring22:16
lekerneland try to do a SAR22:17
kristianpaulwpwrak_: ha,lucky, i got my first computer a PII, by 2001 :)22:17
mumptaiif i remember that typ of oscillator correctly, it need a resonant cavitoy or circuit22:17
lekernelyes, there is a cavity22:17
lekernelbut this thing is one piece cast metal22:18
mumptaiyou might just add the modulation there22:18
lekernelhow?22:18
mumptaireally old radar user a mechanicaly changing cavity22:18
mumptaibut a intoducing some varying capacitive load might to the trick22:19
lekernelthe only ways I can access the cavity is through the "IF2" slot (I don't know its intended purpose), which would be convenient if it worked with the same detection diode22:19
kristianpaul(radar) there are radards for motorcyles btw?22:19
mumptaithe tricky part is find a good spot to integrate it22:19
lekerneland with the tuning screws at the other side (not pictured)22:19
lekerneldo you think it could work 1) in the IF2 slot 2) with a detector diode (which has the right mechanical dimensions to fit in IF2)?22:20
lekernelI don't want to mechanically modify the cavity, as I would most probably break it22:20
mumptaii would a asume only a low coupling between emiter and detector, but i might be wrong22:20
mumptaiso detuning it from the detector might not work22:21
lekernelthen, use a stepper motor (or similar) on the tuning screws? :)22:22
mumptaithat would work22:22
lekernelit'd be slow though...22:23
lekernelany rough figure on the frequency change I could get per step?22:23
mumptaidoesn't need to be22:23
mumptaituningrange depends on the cavity, and the placemant of the screws22:24
lekernelI should also get myself a 24GHz frequency counter.. phew22:25
mumptaiif you get engouh power a these standing wave thingys with the sliding voltage probe might also work22:26
mumptaiand a full-em simulation might also help with work on the cavity22:26
mumptaiand an extra supply of coffee while you are waiting for sim .. how i hated that part22:28
wpwrak_mumptai: or a soft bed ? :)22:29
lekernelthat critter consumes some 450mW... what's the typical output of a Gunn oscillator?22:29
mumptaisounds like a lot, but i've got no idea22:30
mumptaimaybe placing a biased varactor in place of the tuning rod might work, but its hard to do experimental work without some way of measuring the system22:32
lekernelthe fastest prescaler I can easily order only goes to 14GHz, and that's already a 50E chip22:35
lekernelthis is frustrating22:35
mumptaiand the cable to hook up an experiment to an analyser is like 300ยค a piece22:36
lekernelah wait, there is this: http://www.hittite.com/products/view.html/view/HMC447LC322:36
lekernelwell, i'll feed the output of the prescaler to some FPGA board, done :)22:37
lekernelor wait... maybe there's a way to measure very high frequencies using a FPGA by messing with propagation delays inside the chip22:38
lekernelhmm...22:38
mumptaithe iobs are very fast, but not that fast ;)22:39
lekernelyeah, I know22:39
lekernelyou can do pretty crazy stuff already though, e.g. http://www-ppd.fnal.gov/EEDOffice-W/Projects/ckm/comadc/PID765918.pdf22:40
mumptainice22:43
mumptaiwould have been nice for my laser rangefinder, but that is history now22:44
kristianpaullaser? :-)22:45
mumptaiyeah, a modulated laser diode22:46
wpwrak_kristianpaul:  meanwhile, he moved on to "slow" neutrons. easier to detect when they hit something :)22:46
wpwrak_laser rangefinders are fun, though. even the commercial ones :)22:47
mumptaiactually the project was doomed without money for a decent coaxial optics assembly22:48
mumptaithe commercial ones usually have custom build off-axis optics which are a lot nicer, but even more expensive to start with22:50
wpwrak_i suppose the numbers bring the cost down there as well22:50
mumptaiyes, and they can use it to lower the requirements on the signal chain's dynamic-range too22:52
mumptaigot to go22:56
mumptaibye22:56
mwallepfew, qemu mm softusb and vgafb is broken22:59
wpwrak_mwalle: that sounds fairly comprehensive. is c still roughly at the same order of magnitude ? :)23:00
mwallewpwrak_: like what?23:03
wpwrak_roughly 300Mm/s in vacuum :)23:06
wpwrak_of course, once you get to confirm the speed, we have to question the meter and the second :)23:07
mwalleah you mean c = speed of light23:08
mwallewpwrak_: are you talking to the wrong person? :)23:08
wpwrak_naw, just observing that you seem to suffer fairly widespread failure :) but having had a discussion about more basic physics helped to shape the joke :)23:10
kristianpaulahh23:10
--- Mon Jul 18 201100:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!