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
rohitksingh_work has joined #m-labs
_whitelogger has joined #m-labs
<whitequark> bb-m-labs: force build --branch pull/776/merge artiq
<bb-m-labs> build forced [ETA 36m13s]
<bb-m-labs> I'll give a shout when the build finishes
<GitHub65> [artiq] sbourdeauducq opened issue #778: scalable RTIO (SRTIO) https://github.com/m-labs/artiq/issues/778
<bb-m-labs> build #713 of artiq-board is complete: Failure [failed conda_build] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/713
<bb-m-labs> build #1615 of artiq is complete: Failure [failed] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1615
<GitHub87> [artiq] sbourdeauducq commented on pull request #776 586fa87: You added your SPI PHY *after* those SPI buses, so their channel numbers are not affected. Only the DDS channel number is affected, as far as I can tell (off the top of my head). https://github.com/m-labs/artiq/pull/776#discussion_r126385552
<GitHub38> [artiq] sbourdeauducq commented on pull request #776 586fa87: @mntng you need to do a ``platform.request()``, ``mmc_spi`` is just a regular Python local variable, it won't appear there just because you added it to the Migen platform file. https://github.com/m-labs/artiq/pull/776#discussion_r126385202
rohitksingh_work has quit [Read error: Connection reset by peer]
<sb0> _florent_, is your Sayma RTM card on the way?
<_florent_> sb0: I'm not sure Greg already sent it
<_florent_> sb0: I validated ddr3 32 & 64 with software delays initialization, I'm going to integrate that in migen/misoc
<_florent_> sb0: thanks for the link
<sb0> okay. now the next priority should be the wishbone bridge
<_florent_> sb0: ack
<GitHub54> [artiq] jordens commented on issue #778: One clarification on FIFO level and timestamp storage: If we give room for 4k RTIO channels for a large system (SAWG is 10+ each), 64 bits for the TS estimate and 16 bits for the level estimate, then that would use 12 RAMB36E1. That is not prohibitive. Such a compact storage for that data obviously depends on enumeration and DRTIO switch support throughout (#619). The enumeration and flattening of the addres
<sb0> rjo, for hierarchical channel addressing I'd do it this way: the master has in flash storage a map of logical device number > hierarchical device path
<sb0> then RTIO channel numbers are 0xAABBBB with AA the logical device number and BBBB the channel inside that device
<sb0> that map also comes handy when determining what transceiver channels should be up before the system is considered operational
<rjo> sb0: i would let the master enumerate all channels and then have it tell the switches the port offsets. then the tree is flat and the switches just have to add/subtract the port offests.
<rjo> in general the necessity to do flattening is there whether you do it at the channel or at the device level.
<sb0> how does this work with the device database?
<rjo> in the same way. the master can also spit out the map between hierarchical and flat address at the same point.
<rjo> at the same time.
<sb0> if a link is down then it'll silently use the wrong drivers on the wrong channels unless an additional mechanism is implemented
<sb0> also sharing the per-channel timestamp/token memory across different RTIO cores is somewhat inelegant and annoying
<sb0> *different DRTIO master cores
<rjo> given the map, translating the ddb from hierarchical addresses to flat address during loading is not hard.
<sb0> plus if we have someday a crossbar with high-performance DMA that can feed multiple DRTIO master cores at the same time, it won't work
<rjo> how do you want to do the flattening at the device level?
<sb0> encode each hop independently in the address sent by the DRTIO master core
<rjo> you scheme above only had 8 bit device address.
<rjo> in general the RTIO tree will be very imbalanced. that leads to pretty bad usage of the address space if you just concatenate.
<sb0> yes, then that gets mapped to a longer hierarchical address by the entry in the flash storage
<rjo> unless you use variable length addressing. but i don't know how that carries through.
<sb0> yes it uses more bits, but it's simpler, and the total number of hops is limited by latency anyway
<rjo> how's that? and what do you mean by latency here.
<rjo> it not only uses more bits but it also doesn't scale.
<sb0> crossing each switch adds to the latency
<GitHub1> [artiq] jbqubit commented on issue #773: @jordens ping regarding ... https://github.com/m-labs/artiq/issues/773#issuecomment-314139704
<sb0> _florent_, you should have github write access again
<_florent_> sb0: ok thanks, pushed
<GitHub34> [migen] enjoy-digital pushed 1 new commit to master: https://git.io/vQPb7
<GitHub34> migen/master e0d7a23 Florent Kermarrec: build/platforms: add initial sayma_amc platform (clk50, leds, serial, ddram_32 and ddram_64)
<GitHub116> [misoc] enjoy-digital pushed 4 new commits to master: https://git.io/vQPbj
<GitHub116> misoc/master 93e30fc Florent Kermarrec: software/bios/sdram: add kintex ultrascale support
<GitHub116> misoc/master 5f82da5 Florent Kermarrec: cores/sdram_phy: add 1:4 frequency ratio ddr3 phy for kintex ultrascale
<GitHub116> misoc/master c256d83 Florent Kermarrec: cores/sdram_settings: add MT41K128M16, MT41K256M16 and MT41J256M16 DDR3 modules
<sb0> rjo, it cannot scale already because the xilinx transceivers are slow. after less than a dozen switches we are at microseconds ...
<bb-m-labs> build #220 of misoc is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/misoc/builds/220
<bb-m-labs> build #163 of migen is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/migen/builds/163
<sb0> _florent_, have you missed the "sinara" folder in the migen platforms?
<GitHub157> [artiq] jordens commented on issue #773: Above you propose an API modification (which I don't understand), describe the current documentation, and raise something about "add sawg/spline knot points or modify existing knot points". I have responded to the latter. I am unsure what you are referring to. https://github.com/m-labs/artiq/issues/773#issuecomment-314142402
<rjo> sb0: how is the RTT latency limiting throughput?
<sb0> it's not limiting throughput other than from the occasional token requests, but those have a very small impact
<sb0> with a simple 32-bit address and 4 bits per hop, that's 16 possible hops and 8ns to transmit the address. is that not good enough?
<rjo> a tree depth of just 4 (including the root and the leaf node). that is just two actual switch levels. that's small. with 32 bit addresses the other things down the pipeline also become more expensive.
<sb0> hm? that's 16 switch levels
<rjo> latency is not really an issue afaict. after all RTT latency is what this entire architecture works around.
<sb0> er, 8
<rjo> an address is 0xABCDEEEE where 0xEEEE is the channel address at the leaf and A, B, C, D are switches with up to 16 ports each.
<sb0> I meant the routing address. it's mapped from the logical device number by the gateware, the CPU doesn't have to deal with it. the total address would be 48 bits...
<sb0> 32-bit routing + 16-bit channel
key2 has quit [Ping timeout: 260 seconds]
<GitHub50> [artiq] jbqubit commented on issue #773: My ping today relates to my proposal to [better document](https://github.com/m-labs/artiq/issues/773#issuecomment-313873058) of the current API in lieu of an [API modification](https://github.com/m-labs/artiq/issues/773#issuecomment-313492340). https://github.com/m-labs/artiq/issues/773#issuecomment-314183028
<GitHub161> [artiq] jordens commented on issue #773: I don't get it. The link you supply is not your proposal, it is my implementation, and it is already committed. What do you want me to comment on? https://github.com/m-labs/artiq/issues/773#issuecomment-314194093
<GitHub171> [artiq] jordens commented on issue #773: Github shows my commit above your comment. I already commented on that request of yours:... https://github.com/m-labs/artiq/issues/773#issuecomment-314194552
<rjo> sb0: that's at least 32 bits more than with a flattened channel map.
<rjo> sb0: and the timestamp might shrink quite a bit if we implement delta compression there. then the channel/device address would dominate the packet size.
<rjo> and yes. a tree depth of 8 would be ok for all things i can see coming up.
<GitHub4> [artiq] jbqubit opened issue #779: generalizing 3U peripheral interfaces https://github.com/m-labs/artiq/issues/779
<GitHub62> [artiq] jbqubit opened issue #780: ARTIQ interface for KC705 to EEM TTL breakout boards https://github.com/m-labs/artiq/issues/780
<GitHub86> [artiq] jbqubit commented on issue #780: This gist contains the test code by @gkasprow. https://gist.github.com/jbqubit/2d99dac5ed61c4a924b398da6f2c9fbb https://github.com/m-labs/artiq/issues/780#issuecomment-314241258
<GitHub41> [artiq] gkasprow commented on issue #780: @jbqubit I have much more complete code for KC705.... https://github.com/m-labs/artiq/issues/780#issuecomment-314247979
<GitHub167> [artiq] jbqubit commented on issue #773: Not sure why the links (there are two) are causing confusion. Maybe different browsers render differently -- I see a difference in vertical scrolling in Chrome that could be confusion which isn't present in Firefox. Anyway....... https://github.com/m-labs/artiq/issues/773#issuecomment-314253517
<GitHub47> [artiq] jbqubit opened issue #781: phaser core_device.rst RTIO channel numbers https://github.com/m-labs/artiq/issues/781
<GitHub194> [artiq] hartytp commented on issue #780: > On the WUT side, @marmeladapk was working on this but now it's assigned to @michallgaska and Tomasz. Please work with the M-Labs guys to develop this interface.... https://github.com/m-labs/artiq/issues/780#issuecomment-314264211
<GitHub60> [artiq] jbqubit commented on issue #780: In parallel with the EEM hardware testing, a WUT student (@marmeladapk ) was working on writing ARTIQ drivers back in June. But there wasn't much progress. I posted the discussion in this Issue to externalize the discussion. Agreed the most efficient approach at this point is for M-Labs to write the interface. https://github.com/m-labs/artiq/issues/780#issuecomment-314266218
<GitHub189> [artiq] hartytp commented on issue #780: @jbqubit Okay, that makes sense.... https://github.com/m-labs/artiq/issues/780#issuecomment-314267108
<GitHub29> [artiq] jbqubit commented on issue #780: I agree with @hartytp. Division of labor is the fastest way forward. https://github.com/m-labs/artiq/issues/780#issuecomment-314268042
<whitequark> bb-m-labs: force build --branch=pull/776/merge artiq
<bb-m-labs> build forced [ETA 36m13s]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #714 of artiq-board is complete: Failure [failed conda_build] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/714
<bb-m-labs> build #1616 of artiq is complete: Failure [failed] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1616
<GitHub182> [artiq] jordens commented on issue #773: Ack. It's a bit verbose but otherwise would address part of #777 https://github.com/m-labs/artiq/issues/773#issuecomment-314273174