#milkymist IRC log for Wednesday, 2011-08-10

kristianpaulis clamng so mature to for demos? :o00:12
kristianpauljpbonn: what will/are the advtages of clang/llvm over the current gcc within the milkymist soc?00:14
larscit will work ;)00:15
larsc(hopefully)00:15
kristianpaulhe ;)00:20
jpbonnkristianpaul: no advantages- clang doesn't work for milkymist yet.  For us the advantages will be the ability to add features to the language for a variant on the mico32 cpu01:50
jpbonnFor the long term I think most people view clang as a better compiler design that will eventually replace GCC.01:51
kristianpaulfeatures to the language looks interesting if easy ;) i'll keep my eye on it who knows..01:54
wolfspraulfor the record, when comparing gcc and llvm, it should also be noted that llvm is a strategic project by Apple, Adobe and nvidia to break the gpl and allow the growth of proprietary in-house IP into the toolchain02:23
wolfspraulI'm not saying this as a conspiracy, it's just how it is.02:23
wolfspraulhowever, I love the fact that llvm kicks the lazy gcc guys in the butt02:23
wolfspraulthey deserve that :-)02:23
wolfspraulI am tired of people who hide their laziness behind self-imposed ethical superiority02:24
wolfspraulso if llvm can work better for Milkymist now, great02:24
wolfsprauland if it can kick the gcc guys, no matter how hard a kicking is needed, eventually it will hurt and they may step up their game too02:25
wolfspraulthat's how I see it :-)02:25
larscwtf. the audio chip i declared dead yesterday, works again today...02:34
kristianpaulhardware have seven lifes ;)02:39
HodappI for one always found it amusing how the hardware I'd dig out of a dumpster would outlive the new stuff.02:40
larscmaybe the was strange ionic activity yesterday or whatever02:41
kristianpaul(step up) yeah, i'm more interested in llvm to see how gcc guys step up after it became more usable in production :)02:41
wolfspraullarsc: not unusual02:42
wolfspraulso when you work with hardware, best is you have several of 'the same' board always02:43
larscwolfspraul: but usually a board does not return from dead02:43
larsczombie board ;)02:43
wolfspraulit does02:43
wolfspraulI say - not unusual02:44
wolfspraulI am working with hardware for years, trust me02:44
larscok02:44
wolfspraulthe reality is that we always know little about the board, in all its depth02:44
wolfspraulhardware is analog02:44
kristianpaulhe, my laptop was dead for 3 days, then i became alive, now it tends to happen by some hours.. i dint counted how many times, so i concluded after the seven shut off, no more.. :(02:44
wolfspraulso because we operate knowing/thinking we know maybe 1% of the technical facts present in the board in front of us, something like what you observed can happen02:45
wolfsprauland it can have been caused by a nearly infinite list of root causes02:45
kristianpaulthey return larsc , oh yes.. like trying a second main in other house,, oh well...02:45
wolfspraultemperature change, humidity change, discharges from touching the board here or there, cooling down of some parts, and so on02:45
kristianpaulnow i understand why a controlled room so important02:46
larsci have this one usb device which only works when i put it in a fridge for 10 minutes before using it. quite funny02:46
wolfspraulnot unusual :-)02:46
wolfspraullike I say, we know little about a particular board02:46
wolfspraulthink about all the manufacturing that went into it, into the ics, analog ics, pcb, smt, passive parts, etc. tolerances everywhere.02:47
wolfspraulit's like a house of cards02:47
wolfspraulyou just think it's this clearly defined thing, but it isn't02:47
wolfspraulso when you do serious work on the boundary between hardware and software, you should have multiple boards and that may save you a lot of time02:48
kristianpaul5 a least? that was mm1 rc-1 right?02:49
wolfspraulonce you are 100% in software land, you assume that you have a perfect binary environment around you, and then you are good with 102:49
wolfspraulfor a developer like lars maybe 2-3 is enough. it's just to make him save time and not get stuck with something popping up from the many unknowns inside a particular board02:50
wolfspraulif you work on the software-hardware boundary, you should have more than 1 board, for sure02:50
wolfspraullars doesn't need 5 or 10 because he is not trying to improve the manufacturing process, he's trying to improve the software. but 2 will help him save time, imho.02:52
kristianpaulyeah, i understand your point, save time is really important, also to confirm proven functionallity in software side02:53
larsci guess it is a bit of a trade of, what will cost more, developer time or another board02:54
wolfspraulI assume boards to be cheap, you are right02:55
wolfspraulif it's going to be a mass-produced consumer electronic that's the right assumption02:55
wolfspraulif it's something for a satellite or other expensive low volume product, that assumption may be wrong02:55
wolfspraulI'm just saying don't be surprised about a board doing strange things on you, like coming back alive after a day of death02:56
wolfspraulthat is not unusual at all02:56
wolfspraulit's because we know very little about one particular board02:56
GitHub31[clang-demos] jpbonn pushed 1 new commit to master: https://github.com/milkymist/clang-demos/commit/de7cacd1334fa601a7975bbcf27ce8be2bf6311403:00
GitHub31[clang-demos/master] Added a simpler harness to run tests that uses mico hooks in qemu. - JP Bonn03:00
wolfspraullarsc: if you are on a production line where electronics are made, you will see, over time, an infinite variety of 'strange' behavior on this or that product03:04
wolfspraulafter some time you stop asking 'why' on each one03:04
wolfspraulinstead, the focus is on finding a pattern03:04
wolfspraulif there is a larger amount that all do the same strange thing, that's reason to focus on that03:05
wolfspraulit's driven by economics, not by trying to understand each board03:05
wolfspraulevery line will happily discard boards found to behave 'strangely', as long as they are rare enough03:05
wolfspraulit's not a digital process03:06
wolfspraulit took me a while to accept this, but now I do. at the beginning I was flummoxed by some of the things I saw some boards doing, right in front of me.03:06
ThihiWell, considering that for instance cpu's are manufactured in conditions that need to be hundreds of thousands of times more clean than operating rooms, since any speck of dust that gets lodged in between the silicon wafers means a defect, it's no wonder not every part is perfect...03:07
wolfspraulcorrect, cannot be03:07
wolfspraulmanufacturing is analog03:07
wolfsprauleverything has tolerances, all the way in to the last transistor03:07
ThihiYeah.03:07
wolfspraulso a board doing something strange is not unusual at all03:08
wolfspraulthat was my original point03:08
wolfspraulthe way to offset the time loss is to look at multiple boards03:08
ThihiYes, just wanted to chime in. :)03:08
ThihiSince cpu manufacturing is HARD CORE and way cool. ;P03:08
wolfspraulThihi: are you aware of Andrew Zonenberg's homecmos project?03:08
ThihiNope.03:09
wolfspraulhttp://code.google.com/p/homecmos/source/browse/trunk/lithography-tests/labnotes/azonenberg_labnotes.txt03:09
wolfspraulhe is working on a semiconductor production process at home03:09
wolfspraulhttp://en.qi-hardware.com/wiki/Copyleft_Hardware_News_2011-08-08#Homebrew_CMOS_and_MEMS_foundry03:09
ThihiOooooh. :D03:09
ThihiNuts.03:09
ThihiCool.03:09
wolfspraulnah, it's not that hard03:10
wolfspraulbut he is very methodic, see the lab notes03:10
ThihiI guess, I never just really thought about it before this :)03:10
wolfspraulalso tons of pictures at http://colossus.cs.rpi.edu/~azonenberg/images/homecmos/03:10
ThihiAnd yah, I guess you'd have to be pretty anal to accomplish that.03:10
wolfspraulin general there is no magic, just a lot of knowledge of the process and tools03:10
ThihiAt least if you're the first one to do it :)03:10
ThihiYeah.03:10
wolfspraulnot really03:10
wolfspraulof course you cannot expect to manufacture a 32nm semiconductor03:11
wolfspraulbut that's besides the point03:11
ThihiYeah.03:11
Thihihttp://colossus.cs.rpi.edu/~azonenberg/images/homecmos/2011-08-06/S7301594.JPG <3 :)03:11
wolfspraulstart with 10 um structures on a 2'' or 4'' wafer, you can do a great many things03:11
ThihiIndeed.03:11
ThihiNo need to compete with Intel to be great ;P03:11
wolfspraulyou compete with Intel, since you will implement an IC that creates really spectacular results for one particular use case you pick03:12
wolfspraulbut yeah, you probably shouldn't try to make a server CPU03:12
wolfspraulthat would be stupid indeed03:12
wolfspraulbut seriously, he's on it03:12
wolfspraulif you are interested, follow his work03:12
wolfspraulnext is comb drive03:12
wolfspraulMEMS mirror03:13
wolfspraulmaybe Intel 4004 CPU one day03:13
ThihiYeah.03:13
wolfspraulIRC channel is #homecmos on freenode03:13
ThihiToo many channels already.03:13
Thihi:)03:13
azonenbergLol03:13
wolfsprauljust saying...03:13
azonenbergThihi: I see you've discovered my nyanotechnology?03:14
wolfspraulazonenberg: I sell your wares!03:14
Thihiazonenberg, :)03:14
Thihiazonenberg, way cool03:14
azonenbergThat was halfway through processing03:14
azonenbergpatterned photoresist over 200nm evaporated copper03:14
azonenberghttp://colossus.cs.rpi.edu/~azonenberg/images/homecmos/2011-08-06/S7301603.JPG was the final result after etch and strip of resist03:14
Thihi:)03:15
azonenbergGoing to be doing some more boring (i.e. not nyan cat etc) test patterns tonight or tomorrow in preparation for a run on the campus SEM late this or early next week03:15
azonenbergI want to measure slope of edges (which will determine feasible aspect ratios) and thickness of some of my deposited layers03:16
azonenbergI did some SEM work before, you can see a few shots at http://colossus.cs.rpi.edu/~azonenberg/images/homecmos/2011-07-05/die_f6/die_f6_002.jpg and http://colossus.cs.rpi.edu/~azonenberg/images/homecmos/2011-07-05/die_f6/die_f6_006.jpg among others03:16
azonenbergThat was while diagnosing a strange particle contamination03:17
azonenbergWhich ended up being silicon sawdust from fracturing wafers into individual dies03:17
ThihiHaving just covered the Assembly 2011 (yeah, yeah, commercial, sellout, devoid of scene, to be dissed, etc.) for the local tech zine, I guess nyan cat just naturally appeals to my drained brain atm.03:17
azonenbergand was trivially removed by a more thorough clean before the first processing03:17
azonenbergAnd lol03:17
azonenbergI was doing the companion cube before that03:17
azonenbergbut it got old03:17
azonenbergI already promised a friend my next tests (of curves) will use Keroppi03:18
azonenbergprobably mudkip after that03:18
Thihi:)03:18
azonenbergMEMS are still a few months out03:18
azonenbergbut i can make MEMES now ;)03:18
larschehe!03:18
ThihiNo goatse yet? :(03:18
azonenbergLol no03:18
azonenbergI might try "THE GAME" though03:19
ThihiSigh. As nice as it is to chat with you guys. I should go write my stupid shitfuck article on the party. It's due in a couple of hours.03:20
ThihiAnd I still need to go through 1500 photos.03:20
Thihi:P03:20
azonenberg1500? Have fun lol03:20
Thihi:)03:20
azonenbergMy entire archive last time i counted was like 20,00003:20
azonenbergbut that goes back to 200403:20
Thihi:D03:20
ThihiWell, I just bought a new camera for the event. I guess novelty kicked in.03:20
azonenbergIf i had a DSLR i'd do a lot more too03:21
ThihiAnd since I'm not that good a photographer and I need to get at least 10 perfect photos, so ... 1500 to pick from sounds about right. ;P03:21
azonenbergthis silly point and shoot takes a couple seconds to save each image03:21
azonenbergAnd lol, my policy is shoot first and ask questions later03:21
azonenbergDisk space is cheap03:21
ThihiBut yeah, going through 1500 pictures of people to whom the demoscene should go fuck itself since it's interfering with world of warcraft to find the 10 pics is a lot of annoying work ;P03:22
azonenbergA guy i know from back in NJ is a police firearms instructor and he almost always double-taps with his SLR03:22
azonenbergalthough at important events when he doesnt want to crop anything important the policy is two in the chest, one in the head :P03:22
wolfspraulwhat is Assembly 2011 ?03:22
Thihiwolfspraul, one of the biggest demo parties.03:23
ThihiHeld annually in Helsinki.03:23
ThihiThis was the 20th.03:23
Action: azonenberg thinks asm is better used in kernel mode03:24
Thihihttp://archive.assembly.org/2011/4k-intro/anglerfish-by-cubicle#content <- if ur interested, that's the winning 4k intro. There's also links to other productions in the compos from this and earlier years. Lots of cool stuff.03:24
ThihiAnyway, ttfn.03:24
azonenbergNot to say i haven't written hundreds to thousands of lines of ring0 MIPS asm for my kernel...03:24
azonenbergBut using it for graphics seems a bit silly03:24
ThihiWell, to each his own. I do find well implemented and cool demo effects and especially intros to be essentially Way Cool, but then, I also think your 10 um nyan cat is that. So I guess, keep on hacking, and I'll love it.03:26
ThihiGotta go.03:26
azonenbergThe nyan cat isnt 10um actually03:26
azonenbergthat process is a little flaky03:26
azonenbergi made him at 20um per pixel03:26
azonenbergthe 15 is obsolete (not much smaller than the 10 but used different optics with serious problems)03:26
azonenbergand the 5 is still being debugged03:27
azonenbergit needs long exposures and my focuser drifts during them03:27
azonenbergso i get all kinds of blurs etc03:27
wolfspraulwith 5 um you would be state of the art of the early 70's03:31
wolfspraulnot bad03:32
azonenbergRemember MEMS are generally a lot larger than MOS devices though03:32
azonenbergI've seen youtube demos of mems devices from real labs that had parts 30um across03:32
azonenbergi'm already on par with that03:32
wolfsprauloh sure I'm not focused on numbers, I'm focused on understanding potential use cases03:32
wolfspraulor finding them03:33
azonenbergYeah03:35
azonenbergPoint is, CMOS is a lot less likely to be feasible (in terms of building a device of useful complexity)03:35
azonenbergthan mems03:35
azonenbergAnd if it CAN be made to work, it will take longer to develop03:35
azonenbergBoth due to the size and the sensitivity to trace metal ions03:38
GitHub130[llvm-lm32] jpbonn pushed 2 new commits to master: http://bit.ly/nfnT2q04:18
GitHub130[llvm-lm32/master] Fixed assembly prefix for local symbols. - JP Bonn04:18
GitHub130[llvm-lm32/master] Merge branch 'master' of github.com:milkymist/llvm-lm32 - JP Bonn04:18
xiangfuaw, Hi06:20
xiangfuaw, I am back :)06:20
wolfspraulxiangfu: hi! :-)06:20
wolfspraulwe need a script to read the entire flash (all 32 megabytes) via jtag06:20
wolfspraulthen we want to run that script multiple times to read the flash several times, and compare all files with md5sum06:21
wolfsprauldo we have such a script already?06:21
xiangfuwolfspraul, not yet. should not hard. I will work on that now.06:22
xiangfuit will very very slow.06:22
wolfspraulhow slow?06:22
xiangfuread via jtag. I don't know. I will test it here then let you know the time.06:22
wolfspraulyes06:22
wolfspraulif it's too slow, maybe we limit it to the partitions that are needed for normal operation06:22
wolfspraulnormal bitstream, bios, rtems/flickernoise, data (?)06:23
xiangfuwe use test boot.bin for verify the images not read via jtag. because it slow :)06:23
wolfspraulyes correct06:23
wolfspraulbut we want to be able to compare the contents later on06:23
xiangfuyes. that much faster then whole flash.06:23
wolfspraulboot.bin is part of the test image?06:23
xiangfuok06:23
wolfspraulmy understanding of the process is this:06:23
wolfspraul1) flash test software06:23
xiangfuboot.bin is test image file name06:23
wolfspraul2) run test software, including crc checks06:24
wolfspraul3) remove/reflash test software?06:24
xiangfuno06:24
xiangfu1. flash all images06:24
xiangfu2 upload test image(boot.bin, including crc checks) by serial06:24
xiangfu3) run test image06:24
wolfspraulah ok06:24
wolfspraulhmm06:25
wolfspraulok but that way we cannot analyze the flash contents when the board is unreconfigurable06:25
wolfspraulwe need a way to read the nor flash via jtag, to the PC06:25
wolfspraulwhat partitions are loaded in a normal boot process?06:26
wolfspraul1. bitstream06:26
wolfspraul2. ?06:26
xiangfustandby --> soc --> bios --> flickernoise06:27
xiangfustandby and soc are bitstream, FPGA code.06:27
wolfspraulis there a data partition too?06:28
wolfspraulseparate?06:28
xiangfuyes. there is data partition.06:28
wolfspraulok so it's standby -> soc -> bios -> flickernoise -> data06:28
xiangfuyes separate.06:28
wolfspraul506:28
wolfspraulalright, the script should read all those06:29
wolfsprauland since we are trying to track down potential flash corruption, there should also be a way to download the entire 32 megabytes flat, into one file06:29
wolfspraulno matter how slow06:29
wolfspraulmaybe a script with some options06:29
xiangfuthere is one more:  the SPLASH partition. for the SPLASH Picture.06:29
wolfspraulof course the speed is important, so we can practically use the script06:30
wolfspraulif it takes 2 hours to download the entire 32 megabytes that's a problem06:30
wolfspraulbut let's start to implement it first06:30
wolfspraulwe need more visibility into the flash contents via jtag06:30
awxiangfu, good to see you are back.06:30
wolfspraulan easy to use script that you can tell to pick a certain partition or set of partitions, or the entire 32 megabytes06:30
wolfspraulxiangfu: ok, then the splash partition too. anything that is in the boot path. but the script should have parameters anyway, so we can quickly use it in different ways.06:31
xiangfuok06:31
awroh, the first 60pcs is arrival. no time to see it now. ;-O06:32
wolfspraulgreat, thanks!06:32
wolfsprauloh wow, cases in Taipei! great!06:32
xiangfuwow that is slow.06:56
xiangfuI am try to read 640K now.06:56
xiangfu640K needs about 5 Minutes07:02
xiangfu32M needs about 4.5 hours07:02
lekernelxiangfu, maybe Adam can load the SoC directly with 'pld load' and then (assuming the BIOS was not corrupted) check the CRCs?07:45
lekernelxiangfu, btw, it would be cool to add raw bitstream (the *.fpg files in milkymist updates) support to UrJTAG07:46
lekernelatm it needs a .bit header07:46
lekernelcompared to *.bit files, the *.fpg files have their header stripped and the bits in the words are reversed (to match the flash connection to the fpga)07:47
lekernelor simply write a small fpg->bit conversion program ...07:48
xiangfulekernel, (pld load soc) it then can CRC on bios and flickernoise.07:48
lekernelyou can load boot.bin and check all CRCs07:49
xiangfuoh. yes.07:49
lekernelthe only problem you will have is that the bitstream I have uploaded is in raw flash format07:50
lekernelurjtag will need a .bit header07:50
lekernelif you resynthesize it, use the tag "release_1.0", I hacked a lot on the head and I'm not sure of its stability.07:51
xiangfuok.07:52
xiangfuI will try that.07:52
lekernelaw, if I understand correctly: there are 18 100% pass boards now, cases are there, the only missing parts is boxes?09:09
awlekernel, 18 pcs available and cases * 60pcs arrival, 45 box and 34 EVA on the way; the rest are still have second ship from Yi includes m1 box, EVA, labels, brochure, and some new stickers.09:15
awlekernel, the second ship from roh has not been received yet but soon in these may be 2 or 3 days.09:16
lekernelok, i'm actually wondering when we can ship the first devices out09:17
lekernelthis only depends on the second shipment from Yi09:17
GitHub189[linux-milkymist] mwalle pushed 1 new commit to master: http://bit.ly/qz3tr121:49
GitHub189[linux-milkymist/master] lm32: fix command line parsing - Michael Walle21:49
GitHub190[scripts] xiangfu pushed 2 new commits to master: http://bit.ly/oN7NTI23:17
GitHub190[scripts/master] flash_jtag.sh, fix DATA - Xiangfu Liu23:17
GitHub190[scripts/master] new script file, read m1 flash content to file - Xiangfu Liu23:17
--- Thu Aug 11 201100:00

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