sb0 changed the topic of #m-labs to: ARTIQ, Migen, MiSoC, Mixxeo & other M-Labs projects :: fka #milkymist :: Logs http://irclog.whitequark.org/m-labs
SturmFlut has quit [Ping timeout: 256 seconds]
fengling has joined #m-labs
SturmFlut has joined #m-labs
sh[4]rm4 has joined #m-labs
sh4rm4 has quit [Ping timeout: 265 seconds]
SturmFlut has quit [Ping timeout: 240 seconds]
<sb0> "we were using a licensed design with which we were not certain how much influence at that time we could still have on the supplier selection."
<sb0> yeah, right. mystery solved.
<sb0> "The biggest step we’re making this year in our strategy to create a fairer supply chain is to design our own phone."
<sb0> *popcorn*
sturmflut-work has joined #m-labs
<ccube> whats the equivalent to VHDLs processs with a sensitivity list in migen?
<larsc> none, everything is synchronous
<mithro> I'm just trying to setup migen / misoc from scratch - should I log issues I have with the instructions on the github repos?
<sb0> better, send a patch :)
<mithro> sb0: I like to log an issue before creating a patch because I often don't get around to the patch part and at least you knew that I attempted something
<sb0> ok...
<mithro> sb0: you guys use the mailing list for patches right?
<sb0> yes
<sb0> you can open the issue on github
<sb0> github is fine for a lot of things, but I don't like its pull requests
<mithro> sb0: already doing, feel free to comment
<mithro> sb0: do you guys have a style guide?
<sb0> we've been talking for a while about switching to PEP8
<sb0> artiq and new migen/misoc modules use PEP8
<sb0> we still have to convert the existing code...
sh[4]rm4 is now known as sh4rm4
FabM has joined #m-labs
<mithro> sb0: yeah, github pull requests suck - I still use them for my projects because it's the lowest barrier to entry for newbies.
<mithro> sb0: do you generally use http://git-scm.com/docs/git-send-email to send your patches?
<sb0> yes
<mithro> sb0: well, I just attempted to send a patch, lets see how it goes
<mithro> well, managed to stuff that up with two "2/3" patches
fengling has quit [Quit: WeeChat 1.1.1]
fengling has joined #m-labs
ccube has quit [Read error: Connection reset by peer]
ccube has joined #m-labs
ccube has quit [Remote host closed the connection]
ccube has joined #m-labs
ccube has quit [Remote host closed the connection]
_luman has joined #m-labs
bhamilton has joined #m-labs
bhamilton1 has joined #m-labs
bhamilton1 has quit [Remote host closed the connection]
bhamilton has quit [Ping timeout: 272 seconds]
fengling has quit [Ping timeout: 245 seconds]
fengling has joined #m-labs
antgreen` has quit [Remote host closed the connection]
<GitHub19> [misoc] enjoy-digital pushed 11 new commits to master: http://git.io/vvOBp
<GitHub19> misoc/master cd43eaf Florent Kermarrec: liteeth: pep8 (replace tabs with spaces)
<GitHub19> misoc/master 5720638 Florent Kermarrec: liteeth: pep8 (E302)
<GitHub19> misoc/master 9c52774 Florent Kermarrec: liteeth: pep8 (E201)
_florent_ has joined #m-labs
<GitHub124> [misoc] enjoy-digital pushed 1 new commit to master: http://git.io/vvOyC
<GitHub124> misoc/master 2bd38f4 Florent Kermarrec: liteeth: more pep8 (when convenient), should be almost OK
_luman has quit [Remote host closed the connection]
mindrunner has joined #m-labs
<GitHub188> [misoc] enjoy-digital pushed 12 new commits to master: http://git.io/vv3ve
<GitHub188> misoc/master 1328328 Florent Kermarrec: litescope: pep8 (replace tabs with spaces)
<GitHub188> misoc/master 13e4d7c Florent Kermarrec: litescope: pep8 (E302)
<GitHub188> misoc/master 67b4da8 Florent Kermarrec: litescope: pep8 (E201)
<sb0> what are "GB I" and "GB II" ultimate pressures in pump specs?
<sb0> whitequark, ^
<whitequark> are you sure you're talking about *pressure*?
<whitequark> iirc GB I/II are grades for the amount of water vapor the pump can pump
<sb0> it lists GB I/II in ultimate pressures as well...
<whitequark> hrm
<sb0> and I've seen other datasheet doing that
<whitequark> let me go over it again...
<whitequark> right
<whitequark> "GB" means "gas ballast"
<sb0> I'm considering getting this "foreign experience absorption" pump ...
<whitequark> so it will influence both the ultimate pressure and the amount of water vapor it can pump
<whitequark> you know how that works?
<sb0> my previous rotary vane pump had a gas ballast as well..
<sb0> yes
<sb0> so if I turn off the gas ballast, I should get 7 Pa, right?
<sb0> on a WXG-3
<whitequark> yeah
<sb0> and iirc most turbomolecular pumps would be fine with that
<whitequark> a turbo with a drag stage would work even at 600 Pa or so
<whitequark> without a drag stage you need around 20 Pa
<whitequark> pretty much every decent pump has one these days
<sb0> so they also have two scrolls with the ballast in the middle?
<sb0> I didn't know there were gas ballasts on scroll pumps...
<whitequark> (they) who?
<sb0> the manufacturer
<whitequark> ah
<whitequark> well, I've never heard of *two* gas ballasts
<whitequark> it makes sense that you'd put a gas ballast on any pump that can be damaged by liquid water
<sb0> those much more expensive scroll pumps https://shop.edwardsvacuum.com/products/List.aspx?r=3 also have gas ballasts
<sb0> how do scroll pumps get damaged by water? it won't make mayonnaise like with the rotary vane ones...
<whitequark> hah, actually you can pump water vapor with rotary vane pumps, I did it
<whitequark> the oil gets yucky. instead of replacing it you can run it for ~12 hours
<whitequark> it'll evaporate under pump's own heat
<whitequark> I'm not sure how a scroll pump would get damaged but I think something like mechanically. condensed water is rigid if you hit it quickly
<whitequark> so it could be that the matching surfaces are subject to erosion
<whitequark> mainly the problem with rotary vane pumps is that the cast iron which is used for construction rusts very quickly if exposed to water
<whitequark> you can place it on air and breathe on it, and in a few seconds it will get a thin layer of rust
<whitequark> degradation of oil itself is not nearly as pressing an issue
<whitequark> sb0: ah, edwards says it here: http://www.edwardsvacuum.com/xds/
<whitequark> the scroll pump will expel the condensate by itself but by using gas ballast that happens quicker
<sb0> ok
<sb0> so this chinese thing looks rather good...
<whitequark> I don't like how heavy it is, but otherwise, yeah
<sb0> this + a turbo would make a very nice UHV system
<sb0> without any oil vapor contamination
<sb0> and it sounds relatively easy to freeze-dry stuff with it, too ;)
<whitequark> yeah there it has an advantage over oily pumps
<whitequark> I contaminated my one exactly by freeze-drying
<sb0> don't you get oil backstreaming anyway?
<sb0> you can even smell it
<whitequark> well, you can use a turbo to avoid that
<whitequark> it's sort of overkill, but works
<sb0> yeah, but when you switch it off, won't oil go into the turbo and your vacuum chamber and mess things up
<sb0> ?
<whitequark> you need to vent quickly after turning off
<whitequark> quickly=minutes
<sb0> I've seen diagrams of old UHV systems that used a oily mech pump + a diffusion pump, and they had to use liquid nitrogen cooled baffles to prevent oil from going into the chamber
<sb0> don't know if that's overkill or not
<whitequark> diffusion is different
<whitequark> for diffusion it is critical to use a good trap, since it's much dirtier
<sb0> yes. the baffles could be simply for the diffusion one...
<whitequark> you could use that with a turbo with the added benefit that any water vapor will condense
<whitequark> in fact I want to use this setup
<whitequark> well... maybe not LN2 actually, more like dry ice+acetone
<sb0> why is water vapor so much of a problem?
<sb0> for the oily mech pump?
<whitequark> yeah, it will rust
<whitequark> the turbo doesn't care thankfully
<sb0> sounds complicated. makes that chinese scroll pump look more interesting :)
<whitequark> my oily pump is ~2kg for 1/3 of pumping speed
<whitequark> yours is 30kg
<whitequark> I can't even lift that
<whitequark> much less take with me over the air or something
<whitequark> also you're gonna have a lot of fun delivering that, 30kg is around the upper limit in airmail
<sb0> seems to be not a problem for mainland -> HK
<sb0> I've had a much bulkier spot welder delivered already, for less money than fedex charges for a letter
<whitequark> you bought a spot welder?
<sb0> yes
<whitequark> how much did you pay?
<sb0> something like 200E including shipping
<whitequark> I find commercial spot welders outrageously overpriced and underperforming
<sb0> it's a pretty rough one
<whitequark> a good one is a bunch of IGBTs and an ultracapacitor
<whitequark> like... 20F or something
<whitequark> and a micro that controls the energy deposited
<sb0> it's transformer based, without automatic control
<whitequark> gross
<sb0> yes :)
<whitequark> reminds me, I accidentally made a welder for ants using my resonant LC converter
<sb0> adding automatic control with a triac and avr should be doable I think
<whitequark> 50W. it can melt uhhh, up to d=0.5mm of copper wire
<whitequark> your transformer can only deliver a fraction of power that an ultracapacitor can
<sb0> that thing claims to have a 7kW transformer
<sb0> well kVA
<whitequark> *still* a fraction, and you don't need that much continuous power anyway
<whitequark> it's a really inefficient way to put copper to use, basically
<sb0> I wonder why that pump is so heavy anyway
<whitequark> let's see, the time constant for a 3000F/0.29mOhm ultracap is 1s, and it houses 11kJ
<GitHub32> [misoc] enjoy-digital pushed 8 new commits to master: http://git.io/vv3ZH
<GitHub32> misoc/master cb473dd Florent Kermarrec: liteusb: pep8 (replace tabs with spaces)
<GitHub32> misoc/master 4974fd6 Florent Kermarrec: liteusb: pep8 (E302)
<GitHub32> misoc/master ce0e818 Florent Kermarrec: liteusb: pep8 (E201)
<whitequark> so for ~$70, you can get a spot welder which is about as good
<whitequark> then you should add a fast comparator and a fast FET, so that you could regulate the energy deposited precisely
<whitequark> which won't depend on the (rather variable) impedance of your connection to the grid
<whitequark> as in, you won't get the 7kVA out of it without power factor correction
<sb0> well, chinese design :)
<whitequark> oh yeah, the chinese *love* transformers
<whitequark> for some reason
<sb0> stuff is generally cheap and of variable quality
<sb0> this one was rather bad
<sb0> the vacuum gear I got, on the other hand, looks pretty remarkable
<GitHub10> [misoc] enjoy-digital pushed 12 new commits to master: http://git.io/vv3F1
<GitHub10> misoc/master 312f302 Florent Kermarrec: litescope/examples_designs: add build directory
<GitHub10> misoc/master 808e1fe Florent Kermarrec: litesata: pep8 (replace tabs with spaces)
<GitHub10> misoc/master d0c5bd3 Florent Kermarrec: litesata: pep8 (E302)
<GitHub170> [artiq] sbourdeauducq pushed 1 new commit to master: http://git.io/vvsvG
<GitHub170> artiq/master ff9a772 Sebastien Bourdeauducq: rtio: add rtlink definition (currently unused)
<_florent_> hi
<_florent_> i'm converting misoc to pep8
<_florent_> I need 1 or 2 hours to to most of the work, please avoid commiting to misoc until that :)
<sb0> ok, i'm working on rtio-everything right now, which only touches artiq
<_florent_> ok thanks
<sb0> whitequark, where do you buy ultracapacitors?
<sb0> digikey?
<sb0> eg 589-1017-ND
<sb0> oh nice, when you short circuit that thing you can get 10kA
<sb0> (almost)
<whitequark> ebay
<whitequark> that digikey one is overpriced
<sb0> I wonder if you could use that to make a high power pulsed shortwave transmitter
<sb0> i.e. broadcast a packet of data to essentially anywhere in the world, without any telco infrastructure
<sb0> from a portable device
<whitequark> hmmm, interesting idea
<whitequark> how would you modulate the pulse?
<sb0> with something like what was used in 56k modems I guess
<sb0> on those frequencies, the antenna limits you to a pretty narrow bandwidth
<whitequark> QAM?.. hm
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#109 (master - ff9a772 : Sebastien Bourdeauducq): The build passed.
travis-ci has left #m-labs [#m-labs]
antgreen has joined #m-labs
<whitequark> lol, I found a bug in Python
<whitequark> >>> ast.parse('x[::]').body[0].value.slice.step.id
<whitequark> 'None'
<whitequark> note that it is the string 'None'
<sb0> AttributeError: 'NoneType' object has no attribute 'id'
<whitequark> fixed in py3 then
<whitequark> 2.7.9 here
_florent_ has quit [Ping timeout: 256 seconds]
<GitHub89> [misoc] enjoy-digital pushed 11 new commits to master: http://git.io/vvs5F
<GitHub89> misoc/master d9e0970 Florent Kermarrec: global: pep8 (replace tabs with spaces)
<GitHub89> misoc/master f68423f Florent Kermarrec: global: pep8 (E302)
<GitHub89> misoc/master 9ad90b5 Florent Kermarrec: global: pep8 (E201)
antgreen has quit [Ping timeout: 265 seconds]
sturmflut-work has quit [Quit: Leaving]
FabM has quit [Quit: ChatZilla 0.9.91.1 [Firefox 37.0.1/20150402191859]]
mindrunner is now known as mindrunner_off
nicksydney has quit [Quit: No Ping reply in 180 seconds.]
nicksydney has joined #m-labs
<rjo> sb0: re ConvOutput: no problem.
<rjo> ysionneau: katie should be contacting you re testing pxi/6733
<rjo> sb0: with rtio-everything, are you referring to dds-data rtio?
<sb0> yes
<sb0> i'm changing the rtio core right now so you can plug arbitrary modules after the fifos
<rjo> ack. also for rtio2wb, i presume.
<sb0> yes, I imagine that would sit between the rtio core and the phys
_florent_ has joined #m-labs
<rjo> basically the dds-data wishbone slave could be the first use case for rtio2wb.
<sb0> I'm not sure if "rtio2wb" is such a good idea
<rjo> ack. i am still a bit unclear about that PHY concept. to me the "PHY" is everything downstream of the fifo (in output direction).
<sb0> the debug part would basically be a stripped-down "rtio core" that doesn't do timing
<sb0> the rtio core/phy interface doesn't map nicely to wishbone, e.g. for inputs, you are pushing data, whereas wishbone pulls data when reading
<sb0> (for ttl inputs)
<rjo> hmm. i read through our chat log from a few weeks ago and had the impression, that rtio2wb would still be useful because the required effort to make dds-data rtio would be zero then.
<rjo> yes. i think we agree that outputs (wb writes) map nicely and easily.
antgreen has joined #m-labs
<rjo> for inputs (wb reads), you would just push stuff into your input fifo once the cycle is complete.
<sb0> the ad9858 core still has some rough edges. for example it doesn't work reliably on the kc705 due to timing issues...
<rjo> how would you do dds-data reads on rtio otherwise?
<sb0> yes, it will push the read data into the input fifo
<rjo> the wb ad9858 core has timing issues on the fpga? or on the adapter board?
<sb0> on the adapter board
<sb0> I guess because of the higher 125MHz system clock frequency
<rjo> i would think a sufficiently large read latency would solve that.
<rjo> with rtio reading from devices we need to split the request and the response in any case. whether with rtio2wb or directly with a ad9858 rtio core. the api on the cpu side would be the same in both cases.
<sb0> it seemed writes were not reliable either, but it could have been a combination of poor contacts in the scsi cables with those annoying sdram/flash bugs we had
<rjo> throw a logic analyzer at it.
<rjo> but the fact that the timing is wrong or the adapterboard bad is orthogonal to rtio2wb.
<_florent_> I'm also going to convert migen to pep8... sb0 are you touching it for your rtio stuff?
antgreen has quit [Ping timeout: 252 seconds]
<rjo> _florent_: there is autopep8 which works reasonably well (if you have not heard about it already).
<_florent_> ah thanks going to try that... (I was using pep8.py to check my manual changes...)
<rjo> sb0: the troublesome timing path in rtio on ppro/pipistrello is around the output fifo read side ack (dout_ack). what i don't understand is that while i see at least one register stage in that loop (bram-to-bram) the timing path according to xilinx does not have any. how is that possible? even with all the register balancing, how can there ever be fewer clock cycles in a closed loop than what your design says?
<rjo> _florent_: and good editors -- vim is the only good editor that i am aware of ;) -- have good support for highlightling non-pep8-isms and doing autopep8 for you ;)
<rjo> the problem with migen syntax is that it does not look good in strict pep8. i would switch of a few things there e.g. the alignment things
<rjo> it is not even very readable with strict pep8.
<ysionneau> 19:33 < rjo> ysionneau: katie should be contacting you re testing pxi/6733 < great :) thanks!
<_florent_> rjo: for the alignment things, you are talking about that?: https://github.com/m-labs/misoc/blob/master/targets/pipistrello.py#L39
<rjo> _florent_: yes. but there it is not a desaster. with self.comb += If(a, it looks stupid.
<rjo> _florent_: because semantically it is a block and you want 4 spaces indent.
<_florent_> ok thanks, for now I continue my manual changes and will use autopep on that
_florent_ has quit [Ping timeout: 252 seconds]
<GitHub142> [migen] enjoy-digital pushed 12 new commits to master: http://git.io/vvZKT
<GitHub142> migen/master ff23960 Florent Kermarrec: fhdl/verilog: avoid reg initialization in printheader when reset is not an int....
<GitHub142> migen/master a2c17cd Florent Kermarrec: Merge branch 'master' of https://github.com/m-labs/migen
<GitHub142> migen/master 17e5249 Florent Kermarrec: global: pep8 (replace tabs with spaces)
<GitHub186> [migen] enjoy-digital pushed 1 new commit to master: http://git.io/vvZPY
<GitHub186> migen/master 3f15699 Florent Kermarrec: revert fhdl/verilog: avoid reg initialization in printheader when reset is not an int. (sorry merge issue)
<rjo> whitequark: you seem to have experience with redis. is it nicely self contained and portable? could we embed/couple it into artiq?
<rjo> the bokeh guys use it extensively and it seemed like a nice fit for our pdb, ddb, rdb and sdb databases.
<rjo> it would also do pub-sub, req-resp and persistence for us.
<rjo> sb0: ^
<rjo> but if it is yet another hairy piece to wrangle into shape so that it easily bundles/starts with artiq...
hozer has joined #m-labs