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
<sb0> the latency compensation is just adding/subtracting a number from the timestamp values of the rtio syscalls. i think it is easily added to the current drivers, and if it's zero (when latency compensation is not needed), the compiler should be able to optimize it away
fengling has joined #m-labs
nicksydney has joined #m-labs
nicksydney has quit [Ping timeout: 244 seconds]
nicksydney has joined #m-labs
<GitHub4> [artiq] sbourdeauducq pushed 4 new commits to master: http://git.io/vkjON
<GitHub4> artiq/master 448ba04 Sebastien Bourdeauducq: Merge branch 'master' of github.com:m-labs/artiq
<GitHub4> artiq/master 82a2bea Sebastien Bourdeauducq: style fixes
<GitHub4> artiq/master a2ae5e4 Sebastien Bourdeauducq: runtime: report TTL status over UDP
nicksydney has quit [Ping timeout: 244 seconds]
nicksydney has joined #m-labs
nicksydney has quit [Read error: Connection reset by peer]
nicksydney has joined #m-labs
nicksydney_ has joined #m-labs
nicksydney_ has quit [Read error: Connection reset by peer]
<GitHub161> [artiq] sbourdeauducq pushed 1 new commit to master: http://git.io/vkjnq
<GitHub161> artiq/master 78f9268 Sebastien Bourdeauducq: worker: add note about correct use of close()
nicksydney has quit [Ping timeout: 272 seconds]
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#181 (master - d730066 : Sebastien Bourdeauducq): The build has errored.
travis-ci has left #m-labs [#m-labs]
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#182 (master - 78f9268 : Sebastien Bourdeauducq): The build passed.
travis-ci has left #m-labs [#m-labs]
fengling has quit [Ping timeout: 265 seconds]
fengling has joined #m-labs
fengling has quit [Ping timeout: 265 seconds]
fengling has joined #m-labs
fengling has quit [Quit: WeeChat 1.1.1]
fengling has joined #m-labs
<GitHub170> [artiq] fallen pushed 1 new commit to master: http://git.io/vIvJx
<GitHub170> artiq/master 60bdf74 Yann Sionneau: tests: use try/finally to close event loop + wait for process to die after killing it
<ysionneau> arg, wrong
<GitHub9> [artiq] fallen pushed 1 new commit to master: http://git.io/vIvUQ
<GitHub9> artiq/master 50a6da9 Yann Sionneau: worker test: do not close the event loop twice
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#184 (master - 50a6da9 : Yann Sionneau): The build passed.
travis-ci has left #m-labs [#m-labs]
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#183 (master - 60bdf74 : Yann Sionneau): The build passed.
travis-ci has left #m-labs [#m-labs]
antgreen has joined #m-labs
<GitHub146> [artiq] whitequark pushed 7 new commits to new-py2llvm: http://git.io/vIvwO
<GitHub146> artiq/new-py2llvm f979a76 whitequark: Require nonlocal names to be bound in an outer scope.
<GitHub146> artiq/new-py2llvm 995d84d whitequark: Add inferencing for Tuple, List, For.
<GitHub146> artiq/new-py2llvm 76ce364 whitequark: Implement inferencing for AugAssign.
<sb0> tuple? are we supporting tuples now?
<ysionneau> is there any 7-series cheap board available somewhere? that would be convenient to test the hires rtio phys for 7 series
antgreen has quit [Read error: Connection reset by peer]
<ysionneau> so far I only found the Nexys 4 DDR (Artix-7 but if I understood correctly the SelectIOs are the same in all 7 series, right?)
<larsc> I think they are the same, but with different performance ratings, as usual
<larsc> and there are two different types of IO banks, HR banks and HP banks which are slightly different
<sb0> getting artiq to work on that board will take a bit of work though
<sb0> just write the code and simulate as much as possible... i'll do the hw testing
<ysionneau> ok I'll simulate it
<ysionneau> thanks
<sb0> and check that it synthesizes too
<ysionneau> sure
<sb0> you may also want to find a way to reset the PLL during clock switchings
<ysionneau> ok will have a look
<whitequark> sb0: the rhs of an assignment is a tuple
<whitequark> in the AST
<whitequark> and putting a workaround for that was not much less work than just adding tuples
<ysionneau> rhaa wtf, OSERDESE2 instanciates B_OSERDESE2, which is a secureip, meaning encrypted -_-
<sb0> >>> ast.dump(ast.parse("a = 2"))
<sb0> "Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Num(n=2))])"
<sb0> where do you see a tuple?
<sb0> ysionneau, simulating it will be difficult anyway
<sb0> ysionneau, check that it gets the correct words, and that the leading bit counter works on inputs
<sb0> (i.e. simulate the synchronous part)
<ysionneau> secure ips can be simulated with ISim I think
<sb0> just don't spend time on that
<ysionneau> if I don't simulate the I/OSERDESE2 part, then I will not know whether I correctly use it or not
<sb0> a synchronous (single clock) test bench that has rtlink on one end and iserdes and oserdes words on the other end is fine
<ysionneau> all right
<sb0> most of the issues with the serdes are 1) clocking them, which simulations won't find 2) order of the bits, which is easy to determine and fix if wrong 3) poorly documented bitslip feature which you won't need
<ysionneau> ok
<ysionneau> since I never used those I was a bit freaking out about just instanciating them without ever testing
<ysionneau> but ok I'll test the remaining parts
<sb0> and also, dealing with the io routing restrictions, again not detected in simulations but ISE will print you somewhat relevant error messages
<ysionneau> I'll keep an eye on console errors/warnings while synthesizing
<whitequark> sb0: a = 2,3
<GitHub159> [artiq] whitequark pushed 1 new commit to new-py2llvm: http://git.io/vIf35
<GitHub159> artiq/new-py2llvm 6c3b5a9 whitequark: Use proper format function.
antgreen has joined #m-labs
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#186 (new-py2llvm - 6c3b5a9 : whitequark): The build is still failing.
travis-ci has left #m-labs [#m-labs]
<sb0> whitequark, .format() doesn't use %
<sb0> ysionneau, the "yield from self.process.communicate()" you added is not supposed to do anything
<ysionneau> if you remove it, then you get all bunch of error messages (even without my try/finally refactor)
<ysionneau> and with my try/finally refactor, then it's even worse, you get "event loop closed" exceptions about the "child callback"
<GitHub152> [artiq] sbourdeauducq pushed 1 new commit to master: http://git.io/vIf5s
<GitHub152> artiq/master c843c35 Sebastien Bourdeauducq: worker: remove useless process wait
<sb0> what error messages? the "broken pipe"?
<sb0> i fixed that one in d73006652b5
<sb0> ah it's because of that stupid sigchld
<ysionneau> I just did git pull and here is what I get (python 3.4.3) : http://pastebin.com/bLTnTiwe
<sb0> python and signals is a complete clusterfuck
<ysionneau> and even without my try/finally refactor, for instance if I checkout 78f92682772293445af1e3f9e55cbf7f8784b158 I get this: http://pastebin.com/gTC8SnGY
<ysionneau> and the communicate() makes both those issues go away
<sb0> btw why is the first process killed now?
<sb0> and why use communicate() and not wait()?
<ysionneau> wait() can freeze when using PIPEs
<ysionneau> its in the doc
<ysionneau> s/will/can/
<ysionneau> ah, I said can.
<sb0> yes, but communicate() can use lots of memory for a similar reason
<sb0> there's asyncio_process_wait_timeout in artiq.tools
<ysionneau> all right, asyncio_process_wait_timeout after the self.process.kill() fixes the issue
<sb0> I'm committing the change rn
<ysionneau> ok
<sb0> bah, no, there's still another buig
<sb0> *bug
<sb0> RuntimeError: read() called while another coroutine is already waiting for incoming data
<ysionneau> when doing python3 -m unittest worker.py ?
<sb0> no, that's from watchdog.py. always a good idea to run all other tests...
<sb0> hmm just running worker.py also has problems
<sb0> blergh, another asyncio bug
<ysionneau> (I don't have watchdog.py in artiq tree :o)
<sb0> if you have a coroutine that does stream.read(), cancel it while it does that, then if another coroutine tries to read afterwards it causes this runtime error
<ysionneau> arg :/
<GitHub36> [artiq] sbourdeauducq pushed 1 new commit to master: http://git.io/vIJUr
<GitHub36> artiq/master a6a4765 Sebastien Bourdeauducq: worker: wait for process termination...
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#187 (master - c843c35 : Sebastien Bourdeauducq): The build passed.
travis-ci has left #m-labs [#m-labs]
_florent_ has joined #m-labs
_florent_ has quit [Quit: Leaving]
aeris has quit [Ping timeout: 246 seconds]
aeris has joined #m-labs