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_ has quit [Ping timeout: 258 seconds]
sb0_ has joined #m-labs
X-Scale has joined #m-labs
FelixVi has quit []
sb0_ has quit [Read error: Connection reset by peer]
felix_ has quit [Ping timeout: 260 seconds]
felix_ has joined #m-labs
FabM has joined #m-labs
sb0 has joined #m-labs
rohitksingh_work has joined #m-labs
<sb0> whitequark, ping
sb0 has quit [Ping timeout: 255 seconds]
<GitHub168> [artiq] enjoy-digital commented on issue #862: Implemented and tested in simulation. I'll test it on Sayma soon. https://github.com/m-labs/artiq/issues/862#issuecomment-349554313
sb0 has joined #m-labs
sb0_ has joined #m-labs
sb0__ has joined #m-labs
sb0 has quit [Read error: Connection reset by peer]
sb0_ has quit [Ping timeout: 268 seconds]
sb0__ has quit [Read error: Connection reset by peer]
rohitksingh_work has quit [Read error: Connection reset by peer]
rohitksingh_work has joined #m-labs
<whitequark> sb0: pong
sb0 has joined #m-labs
FabM has quit [Ping timeout: 240 seconds]
sb0 has quit [Ping timeout: 276 seconds]
FabM has joined #m-labs
sb0 has joined #m-labs
<GitHub137> [artiq] jordens pushed 1 new commit to release-2: https://github.com/m-labs/artiq/commit/44c78a5e79822d8975c3b70493e45d1b801eda4c
<GitHub137> artiq/release-2 44c78a5 Robert Jordens: manual: deprecate old release...
<sb0> we also still have the release-1 branch
<rjo> i know
<bb-m-labs> build #930 of artiq-board is complete: Exception [exception interrupted] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/930 blamelist: Robert Jordens <rj@m-labs.hk>
<bb-m-labs> build #1814 of artiq is complete: Failure [failed] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1814 blamelist: Robert Jordens <rj@m-labs.hk>
<bb-m-labs> build #931 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/931
<bb-m-labs> build #1815 of artiq is complete: Failure [failed] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1815
<bb-m-labs> build #1816 of artiq is complete: Exception [exception conda_build_output conda_remove] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1816
<rjo> whitequark: could you summarize the progress on the ethernet issue?
<rjo> whitequark: did you get around to testing whether it also appeared on older codebase?
<rjo> sb0, whitequark: i'll have to manually sync the docs with the webserver as long as the buildbot is broken.
rohitksingh_work has quit [Read error: Connection reset by peer]
rohitksingh has joined #m-labs
<sb0> rjo, ok. due to changes in conda I'm not sure if it can still build release-1 anyway
sb0_ has joined #m-labs
sb0 has quit [Ping timeout: 264 seconds]
<rjo> sb0_: ffrom what i can see with the release-2 build, the ethernet issue also occurs there.
<rjo> i.e. MAC
<sb0_> yeah it's liteeth dropping packets with a too short preamble
<rohitksingh> sb0_: Hi! Sorry for late response. I'm working on the mor1kx modification. I have few queries:
<rohitksingh> 1. Do we want to upstream any changes in the mor1kx? In my opinion since those changes are highly requirement specific to us and also intrusive in design, it may not be good idea to upstream those. Maybe going with patch would be better?
<rohitksingh> 2. Should I use Migen for the BRAM + Wishbone wrapper for the Instruction Memory? iirc Migen can indeed generate dual-port memory with separate clock domains. Or, should I just go with Verilog itself?
<sb0_> I suppose it should be tolerant of non-standard peers (or whatever snafu is happening again) and simply ignore an arbitrary number of preamble bytes until it gets the start-of-frame character
<sb0_> rohitksingh, I don't think it's particularly specific, even ARM has it (it's called TCM)
sb0__ has joined #m-labs
sb0_ has quit [Read error: Connection reset by peer]
<sb0__> rohitksingh, all verilog
<rohitksingh> sb0__: TIL that TCM isn't actually cache. I was under the impression all these years that TCM itself was the cache! Thanks for pointing it out! https://stackoverflow.com/questions/30797106/whats-arm-tcm-memory
<rohitksingh> sb0__: Great. Verilog it is then. I'll try to make it configurable via parameters
<rjo> sb0__: AFAICT the preamble should be ignored completely at the frame level. it is only there for synchronizing the clock at the phy level.
<sb0__> rohitksingh, though unlike ARM we don't have to support both cache and TCM enabled at the same time at different addresses
<rohitksingh> okay
<sb0__> it seems that preamble shrinkage/growth is rather normal with ethernet
<sb0__> clock correction is supposed to be applied on inter-packet gap, but of course if everyone did that and only that, it would be too simple
<sb0__> The IEEE 802.3-2008 specification (see clause 35) allows for up to all of the seven preamble bytes that proceed the Start of Frame Delimiter (SFD) to be lost in the network. The SFD is always present in well-formed frames.
<rjo> sb0__: ack. we should just trigger on sfd
<rjo> whitequark, sb0__, _florent_: anyone actively working on that?
<sb0__> a single byte of preamble can be lost across the 1000BASE-X system (the actual loss occurs in the 1000BASE-X PCS transmitter state machine)
<sb0__> There is no specific statement for this preamble loss in the IEEE 802.3-2008 specification; the preamble loss falls out as a consequence of the state machines (see figures 36-5 and 36-6 in the IEEE 802.3-2008 specification).
<sb0__> ...chain 8 or more 1000BASE-X repeaters, network broken?
<sb0__> what is happening is, with base-x you can only start a transmission on even symbol positions, and apparently it's OK to drop the first preamble byte if the transmission starts on an odd position. if your chain of repeater alternates what it considers odd or even, and afaict nothing prevents that, then it doesn't work ...
<rjo> imho no. if a repeater is allowed to reframe, then it needs to do so with the full, i.e. reconstructed preamble.
<rjo> i.e. has minimum latency of the preamble
<rjo> anyway, what a "repeater" is and is allowed to do might not be well defined.
<rjo> rohitksingh: what are you working on? do you have an exposé?
sb0_ has joined #m-labs
sb0__ has quit [Read error: Connection reset by peer]
sb0__ has joined #m-labs
sb0__ has quit [Read error: Connection reset by peer]
<whitequark> rjo: yes, I am
sb0_ has quit [Ping timeout: 260 seconds]
<rohitksingh> rjo: Hi! I'm not sure what is meant by exposé. Google says "a report in the media that reveals something discreditable." Anyways, I'm working on adding single-cycle instruction memory (like TCM, as said by sb0 above) mor1kx. I'll remove wishbone interface for instruction bus, and instead add a dual-port memory in the middle. A different master can write to the dual-port memory, and mor1kx will fetch its instruction from it.
<rohitksingh> rjo: As per sb0, its requirement is "that's for processing drtio aux packets on the rtm " https://irclog.whitequark.org/m-labs/2017-11-08#20497755
<rohitksingh> rjo: goal is to decrease mor1kx's BRAM utilization
<rjo> whitequark: ack. if there is no progress soon, i'll give it a shot.
<rjo> rohitksingh: i see. nice! i meant: do you have an issue to track that, or a wiki page or something else with details of the specification/design/plan, do you have a time plan?
<whitequark> doesn't seem to work
<whitequark> I don't immediately see why
<whitequark> actually, I can simplify that further
<rjo> whitequark: "x & y == z" is not "x & (y == z)"
<whitequark> oh
<whitequark> sink.data.eq(sfd) ?
<rjo> If(sink.stb & sink.data == preamble, ...)
<whitequark> yes, I see where the bug is
<rjo> then i dont know what you mean by "sink.data.eq(sfd) ?" ;)
<whitequark> nevermind, looked it up
<rjo> just precedence rules
<rjo> whitequark: but what do you do with dw == 16 and the odd/even problem?
<whitequark> oh, hrm
<whitequark> ok, feel free to fix this yourself
<whitequark> ttps://hastebin.com/iworiceraq.py
<whitequark> this is my last iteration
<whitequark> right now dw==8 always
<GitHub95> [smoltcp] phil-opp commented on issue #90: The current socket API requires regular polling, which causes overhead (due to unnecessary polling when no new data is there) and latency (the time between data arrival and the next poll).... https://github.com/m-labs/smoltcp/pull/90#issuecomment-349668727
<GitHub180> [smoltcp] whitequark commented on issue #90: > The closure passed to poll reacts immediately to every received packet. It can continue exactly the tasks that are waiting for the packet. It can also react to control commands without latency (e.g. to a reset command).... https://github.com/m-labs/smoltcp/pull/90#issuecomment-349670500
<rjo> whitequark: ack. i'll see this through.
<whitequark> rjo: I plan to get it working with dw==8
<whitequark> right about now
<rohitksingh> rjo: Oh, okay. Not currently, but thanks for the idea. I should put up these information somewhere, probably in Github.
<GitHub161> [smoltcp] whitequark commented on issue #90: > It can continue exactly the tasks that are waiting for the packet.... https://github.com/m-labs/smoltcp/pull/90#issuecomment-349673940
<rjo> whitequark: iirc dw!=8 wil break in other places as well.
<rjo> whitequark: i wouldn't bother with that now.
<rjo> whitequark: we'd need to add a byte-slipper in the preamble-checker.
<whitequark> ok
<GitHub110> [misoc] jordens pushed 1 new commit to master: https://git.io/vbcZQ
<GitHub110> misoc/master 9791213 Robert Jordens: liteeth: just check for SFD and ignore preamble corruption...
<bb-m-labs> build #290 of misoc is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/misoc/builds/290
<bb-m-labs> build #1817 of artiq is complete: Exception [exception interrupted] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1817 blamelist: Robert Jordens <rj@m-labs.hk>
<GitHub99> [artiq] jordens pushed 1 new commit to master: https://github.com/m-labs/artiq/commit/fcbf6fde8a2ff4bc58485482c4656bd4eee5d895
<GitHub99> artiq/master fcbf6fd Robert Jordens: conda: bump misoc again...
<GitHub126> [smoltcp] phil-opp commented on issue #90: > That looks like you don't want to use the socket part of smoltcp at all. This is not compatible with e.g. using TCP.... https://github.com/m-labs/smoltcp/pull/90#issuecomment-349681648
<GitHub48> [artiq] jordens pushed 1 new commit to master: https://github.com/m-labs/artiq/commit/c47006b1543579390dd07ed5da6eb601e5c1efcd
<GitHub48> artiq/master c47006b Robert Jordens: conda: bump migen...
<bb-m-labs> build #932 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/932
<bb-m-labs> build #207 of migen is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/migen/builds/207
<bb-m-labs> build #1818 of artiq is complete: Failure [failed python_coverage_1] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1818 blamelist: Robert Jordens <rj@m-labs.hk>
<GitHub147> [smoltcp] whitequark commented on issue #90: > Good point. I was only thinking about UDP.... https://github.com/m-labs/smoltcp/pull/90#issuecomment-349694525
<bb-m-labs> build #933 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/933
<bb-m-labs> build #1819 of artiq is complete: Failure [failed python_coverage_1] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1819 blamelist: Robert Jordens <rj@m-labs.hk>
<whitequark> rjo: thanks.
<bb-m-labs> build #934 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/934
<bb-m-labs> build #1820 of artiq is complete: Failure [failed conda_install] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1820 blamelist: Robert Jordens <rj@m-labs.hk>
<whitequark> rjo: thanks.
<whitequark> erm.
<whitequark> forced a rebuild
<rjo> whitequark: ack
<GitHub55> [smoltcp] phil-opp commented on issue #90: The indirection is likely optimized away by the compiler, since everything is generic.... https://github.com/m-labs/smoltcp/pull/90#issuecomment-349709604
<GitHub162> [smoltcp] whitequark commented on issue #90: How about this interface instead?... https://github.com/m-labs/smoltcp/pull/90#issuecomment-349711030
<GitHub118> [smoltcp] whitequark commented on issue #90: How about this interface instead?... https://github.com/m-labs/smoltcp/pull/90#issuecomment-349711030
<bb-m-labs> build #935 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/935
<GitHub108> [artiq] whitequark commented on issue #849: @sbourdeauducq I have thought about it and making the core device print backtraces is a good idea and is easy, because that code is already in libstd (and we only need to tweak it slightly for our embedded environment). This will however bloat the runtime even further (which I personally don't consider a problem whatsoever). https://github.com/m-labs/artiq/issues/849#issuecomment-349713016
<GitHub142> [smoltcp] phil-opp commented on issue #90: I need to think about it a bit more, but it seems like a good solution. It should allow us to use a closure based interface if we want to:... https://github.com/m-labs/smoltcp/pull/90#issuecomment-349717017
<bb-m-labs> build #611 of artiq-win64-test is complete: Warnings [warnings python_coverage] Build details are at http://buildbot.m-labs.hk/builders/artiq-win64-test/builds/611 blamelist: Robert Jordens <rj@m-labs.hk>
<bb-m-labs> build #1821 of artiq is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1821
<GitHub180> [artiq] gkasprow commented on issue #854: Still don't know why it works with one media converter and doesn't with another... https://github.com/m-labs/artiq/issues/854#issuecomment-349721044
<GitHub55> [artiq] jordens commented on issue #837: Works in our tests with the problematic switch. https://github.com/m-labs/artiq/issues/837#issuecomment-349734867
mumptai has joined #m-labs
rohitksingh has quit [Quit: Leaving.]
<GitHub178> [artiq] gkasprow commented on issue #854: @sbourdeauducq are you sure you produce valid TXCLK o 125MHz? You said that Link is established, so does the LINK LED on front panel is ON? On my board I observe packets in and out.... https://github.com/m-labs/artiq/issues/854#issuecomment-349743231
<GitHub103> [artiq] gkasprow commented on issue #854: @sbourdeauducq are you sure you produce valid TXCLK o 125MHz? You said that Link is established, so does the LINK LED on front panel is ON? On my board I observe packets in and out.... https://github.com/m-labs/artiq/issues/854#issuecomment-349743231
larsc has quit [*.net *.split]
larsc has joined #m-labs
<GitHub24> [sinara] gkasprow pushed 1 new commit to master: https://git.io/vbCf9
<GitHub24> sinara/master 7844f78 Greg: added AMC box photo
gric has joined #m-labs
gric_ has quit [*.net *.split]
juliusb has quit [*.net *.split]
juliusb has joined #m-labs
edef has joined #m-labs
<edef> whitequark: is there a convenient way to use UdpSocketBuffer with static buffers?
<edef> right now it's not obvious to me and what I'm doing involves more weird Uninit hacks than I'd like
<whitequark> edef: yes, of course
<whitequark> ummm let me see
<whitequark> take a look at examples/loopback.rs
<whitequark> oh
<whitequark> wait, no
<edef> the issue is initialising a bunch of PacketBuffers
<edef> TCP takes a u8 RingBuffer
<whitequark> they all should be initialized before you initialize your first SocketBuffer
<whitequark> otherwise the lifetimes don't align
<edef> sure
<GitHub196> [artiq] cjbe commented on issue #837: @jordens this seems to be a substantial improvement, but there still seems to be something odd going on.... https://github.com/m-labs/artiq/issues/837#issuecomment-349800480
<edef> whitequark: the approach I came up with is http://sprunge.us/CAaY?rust
mumptai has quit [Quit: Verlassend]
<GitHub193> [artiq] sbourdeauducq commented on issue #849: Sure go ahead, we have 1+GB RAM. As long as it can be easily disabled for running on the block-RAM of the RTM FPGA... https://github.com/m-labs/artiq/issues/849#issuecomment-349814709
<GitHub177> [artiq] sbourdeauducq commented on issue #849: Sure go ahead, we have 1+GB RAM (though flash is more limited). As long as it can be easily disabled for running on the block-RAM of the RTM FPGA... https://github.com/m-labs/artiq/issues/849#issuecomment-349814709
X-Scale has quit [Ping timeout: 240 seconds]