#milkymist IRC log for Sunday, 2012-07-01

azonenbergwhich has had exploits out in the past00:00
wpwrakyour silk screen courtyard also has inconsistencies. e.g., 0402 has a large one, 0603 has one that's clearly too tight00:00
kristianpauli was to qoute cisco :)00:00
kristianpaulabout*00:00
azonenbergkristianpaul: yeah, my goal is to be the antithesis of that00:00
azonenbergwpwrak: i clip silk off pads00:00
wpwrakyou may want to try out stdpass footprints for 0402 etc. they all follow the same design concepts00:00
azonenbergwpwrak: i made my own 0402 footprint since the lib didnt have any00:01
azonenbergi used the stock 060300:01
kristianpaulcisco ips needs its antithesis too :)00:01
wpwrakit's not only a question of clipping off the silk. you also get in trouble with registration. and you may violate solder mask to solder mask clearance.00:01
wpwrakthe stock footprints are crap. don't use them ;-)00:01
azonenbergLol00:01
azonenbergOk, fixed00:02
wpwrakDIY is very forgiving. if you do the PCB at home you don't even need to get solder mask or silk right. if you do SMT at home, you can still have the solder paste all wrong. but if you make something that really goes all the way to a fab, then you see all the little things the stock components do wrong.00:03
wpwrakand some of them use design specs from different worlds. e.g., wave soldering :)00:03
azonenbergwave soldering for SMT??00:04
wpwrakoh, sure00:04
azonenbergnot for BGA i hope00:04
wpwrakwhen people still lived in caves, that's how they soldered their SOICs and such.00:04
azonenberglol00:04
azonenbergi've been doing reflow from day 100:04
azonenbergmy first SMT board was an 0.65mm TSSOP and the next was a 64-TQFP00:05
wpwrakyeah. *SSOP is very friendly. you can even do "manual wave" there.00:06
azonenberglol00:07
wpwrak(e.g., if you don't have good flux)00:07
azonenbergSo, any further suggestions?00:07
azonenbergbottom left is a little mepty but there isnt really any space to route any pins out there00:07
azonenbergempty*00:07
Action: kristianpaul dont have owen at home00:07
wpwraki would still move C15, C33, and C10 a little00:08
azonenbergC33 is fine00:08
wpwrakcan you get a soldering iron between C33 and U1 ?00:08
azonenbergC10 should move00:08
azonenbergthose pads are the outside of the pad, mind you00:09
azonenbergthe lead doesnt stick out that far00:09
wpwrakah, and you probably want to add a zone exclusion under the FPGA pins too. that ground ring could give you unwanted contacts where it's very hard to undo them00:10
azonenbergi dod have one since there's a power plane there00:10
azonenbergdid*00:10
azonenbergi have 1V2, 3V3, and 2V5 planes  under the fpga00:10
azonenbergand ground outside00:10
wpwrakyes, U1 is a QFN. but unless you have one of those footprints with unreasonably long pads, it would still be pretty tight00:10
wpwrakof course, with the stock footprints, all bets are off ;-)00:11
azonenbergThats a custom footprint00:11
azonenbergno qfn32 in the library00:11
wpwrak(planes) ah, i mean the zones near the pins, whatever they are. they seem a bit close to the pads00:12
wpwrakadd a bit too much solder paste and you have a pin permanently grounded. and good luck sucking that solder out again.00:13
azonenbergYeah, i'll try adding a keepout00:13
wpwraksome of the inner vias may be a bit risky in that regard, too.00:14
azonenbergalso, this board is assuming soldermask00:15
azonenbergi would never do a big QFP without one00:15
azonenbergand all vias are tented in the gerbers00:15
azonenbergthe intention was to use a cheap batch fab service00:16
azonenbergSo 8 mils clearance from plane to pin is completely fine especially if you use fine pitch soldermask like i normally do00:16
wpwrakoh, we have a new gerber command. G36 ;-)00:17
wpwraklet's see what it does ..00:17
wpwrakoh, area fill00:19
azonenberghttp://i.imgur.com/Hd3Pl.jpg00:19
azonenbergtypical mask clearance i work with00:19
azonenbergthose are 0201s00:20
azonenbergNote how good the registration is00:21
azonenbergits off by like 25 microns00:21
azonenbergam i getting spoiled by working with good fabs?00:22
azonenbergMy reflow oven, btw, is very similar to this model :P http://www.amazon.com/Black-Decker-TRO490W-Toast-R-Oven-Countertop/dp/B00130399K/ref=sr_1_34?s=kitchen&ie=UTF8&qid=1341102257&sr=1-34&keywords=toaster+oven00:25
wpwrakhmm. you have zone fill also under 0603 components00:25
azonenberglike i said this board is designed for 6/6 rules with soldermask00:25
azonenbergthere are so many cheap batch fabs out there00:26
azonenbergi'm going to pay about $8 each for three blank boards00:26
azonenbergWith 6/6 rules, silk, and high-res LPI soldermask00:26
azonenbergback when i used to make boards at home more often than i do now00:27
wpwraknice cheap oven. i wonder how you keep it from burning things.00:27
azonenbergi used to use 0805 and 0603 passives to jump over traces all the time00:27
azonenbergIt cooks a lot hotter than the thermostat says00:28
azonenbergwhen set for 200-210C my SAC305 melts00:28
azonenbergthe melting point is 220ish so the oven is prob 230-240 at that point00:28
wpwrakyes yes, it's okay to have traces under 0603 and such. it's just a little odd to see ground fill creep under them.00:28
azonenbergI have 8 mil clearance on this fill00:28
azonenbergto allow it to sneak in under the QFP etc00:28
azonenbergas long as you have soldermask you're fine00:29
azonenbergand if you're remaking it without mask, nothing stops you from using bigger clearance or eliminating the fill00:29
azonenbergit is open hardware after all :P00:29
azonenbergbut i'm designing the version in the repo for cheap professional fab00:29
wpwrakhere's one that's a bit closer to what the real pcb looks like (includes solder mask and solder paste): http://downloads.qi-hardware.com/people/werner/tmp/minimal-spartan6-tq144-overview.png00:31
wpwrakthe QFN32 is of course all wrong, as expected :)00:31
azonenbergall wrong? how00:31
azonenbergi didnt put a paste print on the footprint00:31
azonenbergsince its meant for manual application00:32
azonenbergbut i have used that footprint before with hand soldering and it worked correctly with the ft23200:32
wpwrakyour TQFP has silk screen issues. so you'll rely on the fab to fix that for you00:33
azonenbergI clipped silk during gerber export00:33
wpwrak(all wrong) yes, it's just the paste.00:33
azonenbergthe fab clips too00:33
azonenbergthats also the default tqfp144 footprint btw00:34
wpwrakas i said, don't trust the stock footprints :)00:35
azonenbergLol00:35
azonenbergJust ordered 3 boards from my usual fab00:35
azonenbergwe'll see how it turns out00:35
wpwrakdid you leave out "U1" from the silk screen on purpose ?00:35
azonenbergyes, it didnt fit easily00:35
wpwrakreally ? there are acres of free space around it00:36
azonenbergthere wasnt when i first routed it :P00:36
wpwrakheh ;-)00:36
azonenbergSo now i'm going to order some LX9s and then we'll see how it turns out in a few weeks00:37
wpwrakboard looks manageable now. pity it's not suitable for DIY PCB-making but it you get at least proper vias, it shouldn't cause too much trouble00:38
wpwraks/but it/but if/00:38
azonenbergYeah, i'm not used to designing for newbies anymore00:38
azonenbergbeen spending too much time working with 01005s :P00:38
azonenbergand BGAs00:38
wpwrakah, your 2V5 test point is awfully small :)00:38
azonenbergAll of them are the same size00:39
azonenbergits plenty big enough00:39
wpwrakyeah. all of them look awfully small :)00:39
azonenbergwell i've never had trouble probing one lol00:39
wpwraki'm thinking of situations where you need a permanent probe. so you solder a wire to it. and that wire may get mechanical stress. small pads come off easily ...00:40
azonenbergOh00:40
wpwrakah, and you have solder paste on your test points. tsk tsk ;-)00:40
azonenbergThose were intended for temporary00:40
azonenberglook at my ground pad00:40
azonenbergthats a permanent clip-on test point00:40
azonenbergthe small ones are meant to just jab a scope probe into00:40
azonenbergsee if there's noise or not00:41
wpwrakyeah, that one's solid00:41
wpwraksure. but sometimes you still want to make a more permanent connection. expect the unexpected :)00:41
azonenbergPogo pins00:41
azonenbergthats what the pads are really intended for00:41
wpwrakthey seem small for that00:42
wpwrakpogo pins tend to need some 100 mil pitch anyway. well, at least the ones i can find at digi-key. there must be smaller ones.00:42
wpwrakazonenberg: btw, here are two makefiles you can use to generate the sort of overview i made: http://downloads.qi-hardware.com/people/werner/tmp/ad-mst-mk.tar.bz200:53
wpwrakyou need to check out a few utilities from the qi-hw eda-tools project. and you need kicad with our command-line patches.00:54
wpwrakMakefile.kicad is a bit overengineered for what is used here. i just ripped it from ben-wpan and commented out the bits that don't work (which you don't need anyway)00:55
wpwrakwolfspra1l: and you'll need this patch if you want to open azonenberg's design with kicad: http://downloads.qi-hardware.com/people/werner/tmp/ad-mst-path.patch01:07
GitHub175[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/wnhV8A13:25
GitHub175[milkymist-ng/master] framebuffer: FIFO - Sebastien Bourdeauducq13:25
GitHub33[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/lUCuKQ15:06
GitHub33[milkymist-ng/master] framebuffer: video timing generator - Sebastien Bourdeauducq15:06
Fallenouit seems openrisc enables immu and dmmu very early in Linux booting process16:07
Fallenouin the _start assembly16:07
Fallenouhttp://lxr.linux.no/#linux+v3.4.4/arch/openrisc/kernel/head.S16:07
Fallenouline 54116:07
Fallenoutheir init process is like : clear registers, setup kernel stack, clear bss, flush {i,d}TLB, enable {I,D}MMU16:08
FallenouWhat I don't understand is how the code can run right after activating IMMU16:09
Fallenouas they don't map any page16:09
Fallenouoh they seem to have a special "boot-time" tlb miss handler16:12
Fallenouwhich kind of maps anything like Virtual==Physical16:12
GitHub164[milkymist-ng] sbourdeauducq pushed 2 new commits to master: http://git.io/b5Jz4A16:17
GitHub164[milkymist-ng/master] framebuffer: register output of FIFO - Sebastien Bourdeauducq16:17
GitHub164[milkymist-ng/master] Work around imbecilic timing constraints system - Sebastien Bourdeauducq16:17
larscI would expect that their kernel runs in a memory area where no translation is done16:17
FallenouI think there is translation16:19
Fallenouat least adding "KERNELBASE"16:19
Fallenouwhich is 0xc000000016:20
larscmaybe 0xc0000000-0xc??????? maps to 0x00000000-...?16:21
larscMIPS does something similar16:21
Fallenouyes I think so16:22
Fallenoubecause their macro "tophy()" takes the virt addr and adds 0xc000000016:23
FallenouSo I guess in their kernel binary, first instruction is at addr 0, but it's loaded in RAM at addr 0xc000000016:24
Fallenouand I guess too that it's booting from 0xC****16:25
larsci would expect the opposite. it's loaded at the physical address 0, but runs at the virtual address 0xc00000016:25
Fallenoularsc: how do you understand this macro : http://lxr.linux.no/#linux+v3.4.4/arch/openrisc/kernel/head.S#L31 ?16:30
FallenouI don't get what the "-" is exactly doing16:31
larscthe macro subtracts KERNELBASE from rs and puts it into rd16:32
Fallenouaccording to http://sourceware.org/binutils/docs/as/Prefix-Ops.html#Prefix-Ops it's the two's complement negation16:32
Fallenouok so you're right16:33
Fallenou0xc... -> 0x0.... (virt -> phy)16:33
GitHub156[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/nKiJBA16:46
GitHub156[milkymist-ng/master] framebuffer: fix sync generation - Sebastien Bourdeauducq16:46
Fallenoumaybe a bit of work is done by their uboot bootloader17:16
Fallenouhttps://github.com/milkymist/linux-milkymist < is this the latest Milkymist port of Linux ?17:27
Fallenouthe one which booted on the ML401 ?17:27
Fallenou(or maybe M1 I don't remember)17:27
larscit booted on the M117:27
Fallenouok :)17:28
Fallenoularsc: if I remember correctly Takeshi and you worked on the Milkymist port ?17:29
larscyes, and lekernel did some work as well17:30
Fallenouok nice so I have you around to ask you some questions if I don't understand some low level linux stuff ? :)17:30
larscsure17:30
Fallenouthanks !17:30
Fallenouis Takeshi around in here (#milkymist) as well ?17:30
larscnot that I remember17:32
Fallenouhi !18:04
GitHub167[milkymist-ng] sbourdeauducq pushed 3 new commits to master: http://git.io/4yOgtg19:49
GitHub167[milkymist-ng/master] framebuffer: fix pixel split - Sebastien Bourdeauducq19:49
GitHub167[milkymist-ng/master] framebuffer/vtg: fix dataflow control (inc. WA for Migen bug - FIXME) - Sebastien Bourdeauducq19:49
GitHub167[milkymist-ng/master] framebuffer: fake DMA for testing (WIP) - Sebastien Bourdeauducq19:49
Fallenouhttp://pastebin.com/m6Z7XKtY < why do I have local modifications on a newly cloned repository ?20:40
lekernelare you sure you didn't have an existing linux-milkymist folder?20:56
lekernelMacBook-Pro-de-Yann-Sionneau. la classe!20:56
Fallenouaouch, j'aurai du cacher ├ža :)20:58
Fallenouautomatic zero-conf hostname20:59
Fallenou23:03 < lekernel> are you sure you didn't have an existing linux-milkymist folder? < that's what I thought, to be sure I rm -rf linux-milkymist and cloned it again as "linux-milkymist2"20:59
Fallenouand I still have the same thing20:59
Fallenouif I git stash, it does a stash but local modifications are still there21:00
Fallenouif I git reset --hard it does nothing21:00
Fallenouthe same for git checkout -f21:00
Fallenoureally weird21:00
wpwrakyou should have an eye on what sort of people your git hangs out with and what kind of stuff they take :)21:04
Fallenouhehe sure21:11
Fallenoulet's try under debian21:11
Fallenoumaybe the problem comes from the fact that when I clone github only sends me the "ng" branch and not the master branch21:25
FallenouI think git does not like when there is no master branch21:25
FallenouI should try to pull the master branch as well21:26
Fallenouthe clone is just fine under debian, poor old mac book has just taken too much "stuff" as wpwrak said21:45
Fallenougn8!22:01
kristianpauln822:02
--- Mon Jul 2 201200:00

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