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
<GitHub> [conda-recipes] whitequark pushed 1 new commit to master: https://github.com/m-labs/conda-recipes/commit/9fce6f7b18e466357e2c13ef4d347ed60b7ae057
<GitHub> conda-recipes/master 9fce6f7 whitequark: rustc: specify --sysconfdir, as --prefix is not enough.
<whitequark> bb-m-labs: force build --props=package=rustc conda-lin64
<bb-m-labs> build forced [ETA 13m42s]
<bb-m-labs> I'll give a shout when the build finishes
<GitHub112> [smoltcp] whitequark pushed 1 new commit to master: https://github.com/m-labs/smoltcp/commit/89288516650efe2511d61aeb90df53bcbebc4474
<GitHub112> smoltcp/master 8928851 whitequark: Simplify. NFC.
<GitHub36> [artiq] whitequark commented on issue #849: No panics with the following experiment at current master over 20000 runs:... https://github.com/m-labs/artiq/issues/849#issuecomment-354030394
<GitHub195> [artiq] whitequark commented on issue #877: If there is no response to ARP requests it means the core device has crashed. Please acquire a backtrace from the serial console next time this happens. https://github.com/m-labs/artiq/issues/877#issuecomment-354030512
<GitHub51> [artiq] whitequark commented on issue #845: Waiting until the more detailed logs become available. https://github.com/m-labs/artiq/issues/845#issuecomment-354030569
<bb-m-labs> build #349 of conda-lin64 is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/conda-lin64/builds/349
<GitHub88> [artiq] whitequark commented on issue #874: > At some point (seems always shortly after the FPGA sends a fresh ARP request for the host's IP)... https://github.com/m-labs/artiq/issues/874#issuecomment-354032314
<whitequark> sb0: looks like updated smoltcp takes care of all the annoying networking issues.
<whitequark> or at least I can't reproduce any of them, and I tried.
<GitHub> [conda-recipes] whitequark pushed 1 new commit to master: https://github.com/m-labs/conda-recipes/commit/1fd614c953f485eb3f00a40388f4e9c2ca95e6aa
<GitHub> conda-recipes/master 1fd614c whitequark: rust-core-or1k: bump.
<whitequark> bb-m-labs: force build --props=package=rust-core-or1k conda-lin64
<bb-m-labs> build forced [ETA 33m18s]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #350 of conda-lin64 is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/conda-lin64/builds/350
<GitHub118> [artiq] whitequark pushed 1 new commit to master: https://github.com/m-labs/artiq/commit/f46a58f5b23f8a591685f93e8aadc621f4790a81
<GitHub118> artiq/master f46a58f whitequark: conda: bump rustc version requirement.
<GitHub138> [artiq] whitequark commented on issue #878: > It seems like this should be easy to implement using snprintf and the existing polymorphic printing code – @whitequark?... https://github.com/m-labs/artiq/issues/878#issuecomment-354035729
<GitHub109> [artiq] whitequark commented on issue #878: > It seems like this should be easy to implement using snprintf and the existing polymorphic printing code – @whitequark?... https://github.com/m-labs/artiq/issues/878#issuecomment-354035729
<bb-m-labs> build #988 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/988
<sb0> whitequark, cool. does that include the windows vm issue?
<whitequark> not yet, I'm looking at it rn
<whitequark> test_device_to_host (coredevice.test_performance.TransferTest) ... 2613354.3494411856 B/s
<whitequark> ok
<whitequark> hrm, no changes
<whitequark> test_host_to_device (coredevice.test_performance.TransferTest) ... 42666.68552647944 B/s
<whitequark> FAIL
<whitequark> sb0: everything other than this test succeeds
<whitequark> you can merge all this into 3.x branch now
<whitequark> \o/
<bb-m-labs> build #647 of artiq-win64-test is complete: Warnings [warnings python_coverage] Build details are at http://buildbot.m-labs.hk/builders/artiq-win64-test/builds/647 blamelist: whitequark <whitequark@whitequark.org>
<whitequark> sb0: can I have the kc705?
<sb0> yes
<bb-m-labs> build #1866 of artiq is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1866
<GitHub130> [microscope] sbourdeauducq pushed 1 new commit to master: https://github.com/m-labs/microscope/commit/f58c29cd7eb44f40fda85f00e8f92521cb414771
<GitHub130> microscope/master f58c29c Sebastien Bourdeauducq: add host communication program (WIP)
<whitequark> sb0: why is conda on win7-experimental refusing to install any artiq newer than 2.5?
<sb0> I haven't touched that conda for a while
<whitequark> actually, if I ask for artiq-dev, it downgrades artiq from 4.0 to 2.5
<sb0> and if you ask for artiq-dev 4.0, what does it do?
<whitequark> oh
<whitequark> artiq-dev doesn't work on windows
<whitequark> it depends on rustc
<whitequark> makes sense
<whitequark> oh it permanently hosed itself with "cannot link a source that doesn't exist"
<whitequark> typical conda shit
<GitHub152> [artiq] sbourdeauducq pushed 19 new commits to release-3: https://github.com/m-labs/artiq/compare/231bf77b43f2...246a2bb3e167
<GitHub152> artiq/release-3 0ede5d8 whitequark: doc: developing: show how to make clang source builds faster.
<GitHub152> artiq/release-3 b721787 whitequark: firmware: fix compatibility with newer rustc. NFC.
<GitHub152> artiq/release-3 6cbf878 whitequark: runtime: get rid of config_dummy.rs. NFC....
<GitHub104> [artiq] sbourdeauducq pushed 1 new commit to master: https://github.com/m-labs/artiq/commit/bd47a0371fecfe024a001be924711384c788329d
<GitHub104> artiq/master bd47a03 Sebastien Bourdeauducq: RELEASE_NOTES: add 3.2 entry
<whitequark> sb0: don't release 3.2 yet I think?
<whitequark> let me look at this windows bug first
<whitequark> at least at pcaps
<sb0> ok
<sb0> what about #874?
<whitequark> see the comments there
<bb-m-labs> build #989 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/989
<GitHub12> [artiq] whitequark pushed 1 new commit to master: https://github.com/m-labs/artiq/commit/4d915ad15beddca5aa8ef6ff741379bbbb37c962
<GitHub12> artiq/master 4d915ad whitequark: compiler: do not permit str(...). (#878)
<GitHub67> [artiq] whitequark commented on issue #878: The miscompilation is now fixed, and I don't think str conversion should go into 3.2. https://github.com/m-labs/artiq/issues/878#issuecomment-354043725
<GitHub42> [artiq] whitequark commented on issue #865: The Windows speed issue is a familiar sight:... https://github.com/m-labs/artiq/issues/865#issuecomment-354044362
<GitHub195> [artiq] whitequark commented on issue #865: Actually, no, it's far weirder than that. smoltcp is dropping lots of TCP packets from Windows because of...... https://github.com/m-labs/artiq/issues/865#issuecomment-354044636
<whitequark> sb0: figured it out
<whitequark> for some reason the core device cannot receive 1514 octet packets correctly
<sb0> is it like this crazy ISP/cloudfare (iirc) bug you mentioned a while ago?
<whitequark> sb0: WTF
<whitequark> no
<whitequark> windows is sending packets with invalid TCP checksum
<whitequark> smoltcp is correctly rejecting them
<whitequark> I misunderstood about 1514 octets, it was just my test setup that I used to replay the traces that had MTU too small
<whitequark> i... i'm confused at what to do
<whitequark> is this a windows bug or what
<whitequark> ohwait I have an idea
<GitHub78> [artiq] sbourdeauducq commented on issue #878: This issue is about the compiler crashing; string formatting is not supported and considering other projects that are funded and late (Sayma, DRTIO, etc.) we should not implement it for now. @klickverbot if you want it, please open a new issue. https://github.com/m-labs/artiq/issues/878#issuecomment-354047046
<GitHub149> [artiq] sbourdeauducq pushed 1 new commit to release-3: https://github.com/m-labs/artiq/commit/d419ccdecab81f18cff3ba819c2fd3df1c83bab5
<GitHub149> artiq/release-3 d419ccd whitequark: compiler: do not permit str(...). (#878)
<GitHub0> [artiq] sbourdeauducq closed issue #878: IR generator bug on "" + str(1) https://github.com/m-labs/artiq/issues/878
<davidc__> whitequark: if you
<davidc__> er, if yuou
<davidc__> bah, can't type. If you're capturing on the windows box, I recall something about eth cards with TCP offload screwing up the wireshark capture
<whitequark> no, I'm capturing on the Linux hypervisor
<whitequark> I know about TCP offload issues...
<davidc__> sb0: BTW, I have a few hot cathode gauges (of the ZJ-28 type) to play with. You mentioned some ionpak board issues - anything I should fix/change before I send it off to fab?
<whitequark> sb0: any idea if `ifconfig mtu` refers to the maximum *ethernet* frame size or maximum *ip* datagram size?
<whitequark> windows is sending 1500 octet ip datagrams, wonder if that's an issue here
<sb0> davidc__, yes, there is a errata list in the repository
<sb0> davidc__, also I'll probably want to simplify the emission settings, i.e. have only 2 ranges and no fancy low-leakage commutation with diodes
<sb0> davidc__, that being said, the current board layout can be reworked without major troubles - there are a lot of errata, but nothing difficult to execute
<sb0> whitequark, I don't know
<davidc__> sb0: Ok! I'll see what I can do with kicad. I usually use Altium, but I've been meaning to play more with kicad
<sb0> davidc__, sending the gerber with the errors + manual rework is probably easier than dealing with the kicad UI
<davidc__> sb0: hah, but that doesn
<davidc__> er, doesn't result in a useful pull request for the repo
<sb0> davidc__, do you want a version with some errors fixed?
<davidc__> sb0: sure, if you have a WIP I'm happy to start from there
<sb0> davidc__, there is also a lot of firmware stuff to do, if you want to make useful PRs. the latter is easier for me to manage.
<davidc__> sb0: I'll see what I can do. I'm pretty comfortable with rust on non-embedded systems, and C on embedded systems, so I'll see what I can do for rust-on-embedded :)
<sb0> davidc__, okay, emailed you the partially fixed version
<sb0> davidc__, that being said: getting the final PCB version with all errors fixed is probably ~1 day of work for me. I've just been swamped with other things.
<sb0> so you may want to focus on firmware anyway
<sb0> davidc__, This message was blocked because its content presents a potential 552-5.7.0 security issue.
<davidc__> oh thats excellent. I'll give you another address
<whitequark> sb0: oh.
<whitequark> jumbo frames.
<whitequark> except they're disabled... supposedly...
<sb0> isn't TCP MSS disabling jumbo frames unless both endpoints support it?
<whitequark> no idea but I see 5840 octet long packets when capturing on windows
<whitequark> with invalid checksum
<whitequark> they appear to be split into four packets by *something* en route to kc705, still with invalid checksum
<whitequark> none of this makes any sense
<whitequark> oh! "Large Send Offload"
<whitequark> i.e. segmentation offload
<whitequark> yup that was it
<sb0> davidc__, the mech design for the enclosure OTOH has a lot more problems. but you may want the PCB alone.
sb0 has quit [Quit: Leaving]
<whitequark> apparently TCP segmentation offloading involves obscure bugs so often that turning it off is a common advice.
<whitequark> wonderful.
<GitHub115> [artiq] whitequark commented on issue #865: > @whitequark could you also please look at why the unittests in the windows VM are failing with similar symptoms?... https://github.com/m-labs/artiq/issues/865#issuecomment-354049219
<bb-m-labs> build #648 of artiq-win64-test is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-win64-test/builds/648
<GitHub119> [artiq] whitequark commented on issue #865: @cjbe This problem hard to conclusively assign to any cause without seeing a core log at a TRACE resolution. Please acquire such a log and I'll take a look. This does not seem to be related to smoltcp, but rather it is more likely a bad case in our allocator or something like that (since smoltcp's processing time per packet has a hard upper bound). https://github.com/m
<bb-m-labs> build #1867 of artiq is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1867
<whitequark> sb0: ok, I've triaged everything networking-related...
sb0 has joined #m-labs
<davidc__> sb0: I have a few HW mods I need/want to make
<bb-m-labs> build #990 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/990
<sb0> davidc__, what?
<davidc__> sb0: an interlock input for one
<davidc__> sb0: (so the gauge automatically will sequence on/off depending on the state of the vaccum system)
<sb0> davidc__, you could send that over ethernet
<sb0> that interlock input would need optoisolation...
<davidc__> You could, but my existing system uses simple level signalling
<sb0> unless you have medium vacuum it's *very* easy to throw off the reading from stray currents
<sb0> what is your system for?
<davidc__> sb0: upgrade for my SEM
<davidc__> anyhow, I fully expect the SEM specific mods would have no place in the main repo, but I'd be happy to contribute back anything else that's general
<sb0> are there mods other than this interlock?
<davidc__> sb0: oh, uh interface to their custom 8 bit backplane. I have reg docs for what its expecting, and a trivial ice40 FPGA implementatioin of their backplane protocol
<sb0> but again: i'd be careful to add features to this board in any case, you don't want the current of whatever gadget you are connecting to return through the gauge collector
<davidc__> sb0: yeah, I'm going to isolate the whole ionpak circuit from the SEM backplane
<sb0> if you send that over ethernet you have galvanic isolation
<davidc__> sb0: yes, agreed. But I'm not ready yet to rip-and-replace the rest of the SEM system with custom control electronics, so until I am, I need to live with it as it is :)
<sb0> you can even use arduino ethernet shield or something like that for your interlock
<davidc__> oh, I see what you mean. Use something at the other end of the cable.
<sb0> yes
rohitksingh has joined #m-labs
<sb0> rohitksingh, "OPTION_USE_TCM_DISABLE_IBUS" is a bit long
<sb0> why not just "FEATURE_TCM"?
<sb0> "TCM Populate Wishbone Slave Bus" is a strange comment
<sb0> rohitksingh, why would the CPU do a burst read of the memory? (cpu_burst_i)
<sb0> interfce -> interface
<rohitksingh> sb0: thanks! I'll change the parameter name!
<rohitksingh> sb0: cappuccino variant of mor1kx does burst fetch of the instructions which we can see in this screenshot -> https://www.dropbox.com/s/5uf8kawtlb0f2b1/screenshot415.png?dl=0
<rohitksingh> I assume non-pipelined version (espresso and pronto espresso) don't do burst read of instruction memory
<rohitksingh> sb0: I'll fix the comments and typos . thanks!
<sb0> rohitksingh, I don't understand the purpose of this "burst fetch"
<sb0> it's a BRAM with 1-cycle latency, pipelinable, one should be able to insert that directly into the pipeline, without "bursts"
<rohitksingh> sb0: yeah correct. There is a signal named `cpu_burst_i` coming from the processor's fetch module, which instructs to fetch instructions on every clock cycle (1 cycle latency)
<rohitksingh> currently it takes 3 cycles from request to handshake to start of another request
<sb0> why? that doesn't make sense
<rohitksingh> with BRAM we can do 1-cycle reads
<rohitksingh> sb0: The reason is the current code itself
<rohitksingh> it deasserts the ack after ack'ing for 1 cycle
<rohitksingh> there is a TODO mentioned in the code to change it
<sb0> I don't see why you'd need a "burst mode" at all on something like a BRAM
<sb0> the cache is also something like a BRAM
<sb0> burst modes are when you have >1 cycle of latency
<sb0> so either mor1kx was designed in a stupid way, or there is something we don't understand, if that's the latter option I'd like to know what it is
<rohitksingh> sb0: ok let me check if the other two variants can indeed do 1-cycle fetch or not. Otherwise `cpu_burst_i` would be required.
<rohitksingh> just a sec
<rohitksingh> sb0: the other variants have 'cpu_burst_i' tied low and can do 1-cycle fetch. Let me simulate with these 2 variants and check the simulation output. It might be only cappuccino's peculiarity
<sb0> maybe this has to do with requesting a burst on the ibus wishbone interface? though i'd assume the cache itself would request a burst on its own to replace a line
<rohitksingh> sb0: yup only cappuccino has requirement of `cpu_burst_i`. with espresso, it is taking 2 cycles per instruction fetch which I can decrease to 1-cycle if I do not deassert ack after ack'ing. In cappuccino the `cpu_burst_i` controls the `cti` signal for wishbone interface.
<rohitksingh> other 2 variants have `cpu_burst` tied low
<rohitksingh> I can fix the code to 1-cycle instruction access
<sb0> rohitksingh, okay. so cpu_burst is just for having wishbone bursts in the absence of a cache? is that correct?
<rohitksingh> sb0: no, actually only in the presence of a cache. it is used to burst-refill the icache. If there is no icache, then `cpu_burst` gets tied low. https://github.com/rohitk-singh/mor1kx/blob/master/rtl/verilog/mor1kx_fetch_cappuccino.v#L550 https://github.com/rohitk-singh/mor1kx/blob/master/rtl/verilog/mor1kx_fetch_cappuccino.v#L364
<sb0> rohitksingh, why does the rest of the CPU core need to know about bursts?
<sb0> isn't a cache refill always 1 line?
<rohitksingh> sb0: What is happening is that, without cache, cappuccino takes more cycles to fetch an instruction than espresso or pronto-espresso. Actually this is more of an issue of cappuccino's implementation. The rest of the CPU shouldn't need to know about bursts as you have said
<rohitksingh> yeah cache refill is one line, which is typically done in a single burst access of a bus
<rohitksingh> sb0: without cache, cappuccino deasserts `ibus_req` after receiving ack which takes another cycle, making its non-cache implementation slower than espresso or pronto-espresso https://github.com/rohitk-singh/mor1kx/blob/master/rtl/verilog/mor1kx_fetch_cappuccino.v#L418
<sb0> rohitksingh, okay. but with TCM the performance should be the same as with the cache (and a 100% hit rate), correct?
<sb0> 1 instruction per cycle?
<sb0> whitequark, are you still using the kc705?
<rohitksingh> sb0: yeah, only if we uses TCM + Espresso/Pronto-Espresso implementation. Cappuccino without cache will 1). tie down `cpu_burst` to ground, so we cannot do burst 2). take extra cycle for instruction fetch
<sb0> rohitksingh, is cappucino always taking 2 cycles to access each instruction? even with the original cache?
<whitequark> sb0: take it
<sb0> I thought "cappucino" was supposed to be the high-perfoance implementation
<sb0> it would surprise me if the cache were slow
<rohitksingh> sb0: No. With caches enabled, it uses burst to fetch instruction. Without caches, it takes 2 cycles, whatever we might try
<rohitksingh> sb0: cappuccino was intended to be used with caches so that makes slight sense
<rohitksingh> sb0: In short. Cappuccino, only when cache enabled, supports 1 cycle instruction fetch. otherwise not.
<sb0> rohitksingh, so it uses bursts internal to the cache to fetch instructions?
<sb0> strange
<sb0> anyway the TCM should also support that, and have a throughput of 1 instruction per cycle
<rohitksingh> sb0: yeah we can say so
<sb0> it's quite a strange way of doing things though
<rohitksingh> sb0: Yeah I can modify it to support 1 instruction per cycle, for both the case of (cappucino-with-cache) and (cappucino-without-cache/espresso/pronto-espresso)
<rohitksingh> yes it is confusing indeed
<rohitksingh> I'll discuss and confirm my results and deductions in the #openrisc channel, and add support for 1-cycle instruction access in the TCM
<rohitksingh> sb0 / rjo / _florent_ : ping! I have a general question
<rohitksingh> ^ rjo3 too
<rohitksingh> This kind of combinatorial feedback is not recommend -> https://screenshots.firefoxusercontent.com/images/09b0be6e-e24c-40d2-814b-edd43c28bf5f.png But what if this feedback just passes the incoming signal back, without any extra combinatorial logic?
<rohitksingh> Is that also not recommended timing-wise?
sb0 has quit [Quit: Leaving]
<bb-m-labs> build #649 of artiq-win64-test is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-win64-test/builds/649
<bb-m-labs> build #1868 of artiq is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1868
<bb-m-labs> build #991 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/991
<bb-m-labs> build #650 of artiq-win64-test is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-win64-test/builds/650
<bb-m-labs> build #1869 of artiq is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1869
sb0 has joined #m-labs
<GitHub28> [microscope] sbourdeauducq pushed 1 new commit to master: https://github.com/m-labs/microscope/commit/5cfb0568631ad7c788c56894cf5b217c8ccdcf35
<GitHub28> microscope/master 5cfb056 Sebastien Bourdeauducq: implement minimal feature set in host communication program
<GitHub110> [microscope] sbourdeauducq pushed 1 new commit to master: https://github.com/m-labs/microscope/commit/5bb63728d2d0a3acb39ccdd0105a16bbdffea4af
<GitHub110> microscope/master 5bb6372 Sebastien Bourdeauducq: fix data readback
f4bug has quit [Quit: Leaving.]
wingdu has joined #m-labs
<GitHub12> [microscope] sbourdeauducq pushed 3 new commits to master: https://github.com/m-labs/microscope/compare/5bb63728d2d0...92c3b22eb6f1
<GitHub12> microscope/master 157336e Sebastien Bourdeauducq: reorganize imports
<GitHub12> microscope/master b8d33bc Sebastien Bourdeauducq: add readme and license
<GitHub12> microscope/master 92c3b22 Sebastien Bourdeauducq: add packaging boilerplate
<GitHub51> [migen] sbourdeauducq pushed 1 new commit to master: https://github.com/m-labs/migen/commit/2490913d7958e6b1e2cb785446540608082d0bea
<GitHub51> migen/master 2490913 Sebastien Bourdeauducq: conda: fix license
<GitHub92> [misoc] sbourdeauducq pushed 1 new commit to master: https://github.com/m-labs/misoc/commit/28f1bc6a3f545b85f0e7ff00701689c5f1a01fcf
<GitHub92> misoc/master 28f1bc6 Sebastien Bourdeauducq: conda: fix license
<GitHub189> [microscope] sbourdeauducq tagged 0.1 at 7848fc8: https://github.com/m-labs/microscope/commits/0.1
<bb-m-labs> build #222 of migen is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/migen/builds/222
<bb-m-labs> build #316 of misoc is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/misoc/builds/316
<GitHub34> [microscope] sbourdeauducq tagged 1.0 at master: https://github.com/m-labs/microscope/commits/1.0
<GitHub87> [microscope] sbourdeauducq pushed 1 new commit to master: https://github.com/m-labs/microscope/commit/bfb96cc98738a33b9a5a79db7d56dfa4a122aff6
<GitHub87> microscope/master bfb96cc Sebastien Bourdeauducq: remove Conda recipe...
<GitHub> [conda-recipes] sbourdeauducq pushed 1 new commit to master: https://github.com/m-labs/conda-recipes/commit/f9d5186040391610b9500afea1071bfb62d35e80
<GitHub> conda-recipes/master f9d5186 Sebastien Bourdeauducq: add microscope recipe
<sb0> bb-m-labs: force build --props=package=microscope conda-lin64
<sb0> bb-m-labs: force build --props=package=microscope conda-lin64
<bb-m-labs> build forced [ETA 20m03s]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #351 of conda-lin64 is complete: Exception [exception conda_build_output] Build details are at http://buildbot.m-labs.hk/builders/conda-lin64/builds/351
<sb0> bb-m-labs: force build --props=package=microscope conda-lin64
<bb-m-labs> build forced [ETA 20m03s]
<bb-m-labs> I'll give a shout when the build finishes
<GitHub> [conda-recipes] sbourdeauducq pushed 1 new commit to master: https://github.com/m-labs/conda-recipes/commit/fac5e1a7715776d0e1e7726ec62e204373b60cee
<GitHub> conda-recipes/master fac5e1a Sebastien Bourdeauducq: microscope: do not use automatic entry points...
<bb-m-labs> build #352 of conda-lin64 is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/conda-lin64/builds/352
wingdu has quit [Quit: wingdu]
wingdu has joined #m-labs
<rohitksingh> sb0 / rjo3 / _florent_ : A noob question. But how can we decrease this to 1-cycle per access? Currently the situation is like this (2 cycles per access) -> https://www.dropbox.com/s/x8ii2d13ex3dw6v/wavedrom_export.png?dl=0
<sb0> rohitksingh, https://screenshots.firefoxusercontent.com/images/09b0be6e-e24c-40d2-814b-edd43c28bf5f.png << yes. don't do that. there is typically the address decoder and long routing on those SoC buses.
<rohitksingh> sb0: okay, thanks! would appreciate any help with the latest question too
<sb0> rohitksingh, you can't with this protocol (unless you introduce combinatorial feedback that will break timing)
<sb0> you need to introduce a different protocol with pipelining, or use bursts
<sb0> well the comb feedback will not _always_ break timing, and may be acceptable in certain cases
<sb0> so with pipelining the initiator would begin the next transaction before it has received data from the target
<sb0> you need to turn the ack signal into two signals, "transaction accepted" and "data coming back"
<sb0> if the latency is fixed, though, then you don't need such control signals and pipelining is rather straightforward
<rohitksingh> sb0: thanks! this clears up many things. One more doubt, do we need to modify the cpu core for this different protocol with pipelining, or add it between cpu core and tcm?
<_florent_> rohitksingh: for example of protocols without this limitation, you can look at AXI (valid/ready)
<sb0> rohitksingh, I don't know, haven't digged into mor1kx. how does the cache works?
<sb0> I believe for TCM you can just copy whatever the cache does, just strip the bus interface and the cache miss handling code
<rohitksingh> _florent_ : sure, thanks! I'll check out AXI
<rohitksingh> sb0: I haven't looked at cache code in depth. let me do that.
<rohitksingh> sb0: Is it allowed to modify core cpu code, since with current ibus interface/protocol it is not possible to reduce latency to 2-cycles per instruction
<sb0> rohitksingh, really? so right now the cpu takes 2 cycles per instruction because of the cache?
<rohitksingh> sb0: no. With cache, Cappuccino uses `burst` signal with incrementing addresses to fetch 1 instruction per cycle (from ibus into cache ). For random address fetch, cappuccino takes 3 cycles! Without cache, cappuccino again takes minimum of 3 cycles per instruction. Now, for other two variants (espresso and pronto espresso), without cache, they both take minimum of 2-cycles per instruction fetch due to this protocol limitation. I'll have to check for whe
<sb0> rohitksingh, ok, i think we only use cappucino
<rohitksingh> sb0: BTW I found one interesting thing in mor1kx codebase: https://github.com/rohitk-singh/mor1kx/blob/master/rtl/verilog/mor1kx_fetch_tcm_prontoespresso.v
<sb0> quite surprising there would be such a penalty for random addresses
<sb0> is this working well? seems to contain a few hacks according to the comments...
<rohitksingh> sb0: this TCM module is not available for other variants and I'll have to take a look at its code to understand its intended purpose, how it works and and how can we use it
<sb0> rohitksingh, how many cycles does a jump take on mor1kx?
<rohitksingh> sb0: don't know, I'll have to check/test.
<rohitksingh> that is going to be implementation dependent too
<sb0> cappucino, we're not using the others
<sb0> but with 3 cycles just to get the instruction, which then has to make it through the rest of the pipeline, it sounds very slow. i'm surprised by this 3 cycles number.
wingdu has quit [Quit: wingdu]
wingdu has joined #m-labs
wingdu has quit [Client Quit]
wingdu has joined #m-labs
wingdu has quit [Client Quit]
wingdu has joined #m-labs
wingdu has quit [Client Quit]
<rohitksingh> sb0: mor1kx does have branch predictor. I will check out misprediction penalty
wingdu has joined #m-labs
wingdu has quit [Client Quit]
wingdu has joined #m-labs
<rohitksingh> sb0: I have asked on openrisc channel for confirmation on this 3-cycle number. Not got any reply yet. But the code and simulation agree with this.
wingdu has quit [Client Quit]
wingdu has joined #m-labs
wingdu has quit [Client Quit]
wingdu has joined #m-labs
wingdu has quit [Client Quit]
wingdu has joined #m-labs
wingdu has quit [Client Quit]
wingdu has joined #m-labs
wingdu has quit [Client Quit]
wingdu has joined #m-labs
wingdu has quit [Client Quit]
wingdu has joined #m-labs
wingdu has quit [Client Quit]
wingdu has joined #m-labs
wingdu has quit [Client Quit]
wingdu has joined #m-labs
wingdu has quit [Client Quit]
wingdu has joined #m-labs
wingdu has quit [Client Quit]
wingdu has joined #m-labs
wingdu has quit [Client Quit]
f4bug has joined #m-labs
rohitksingh1 has joined #m-labs
rohitksingh has quit [Read error: Connection reset by peer]
wingdu has joined #m-labs
wingdu has left #m-labs [#m-labs]
f4bug1 has joined #m-labs
f4bug has quit [Read error: Connection reset by peer]
f4bug1 has quit [Ping timeout: 260 seconds]
wingdu has joined #m-labs
wingdu has quit [Client Quit]
wingdu has joined #m-labs
rohitksingh1 has quit [Quit: Leaving.]
<GitHub83> [misoc] whitequark pushed 3 new commits to master: https://github.com/m-labs/misoc/compare/28f1bc6a3f54...a155c48664ee
<GitHub83> misoc/master 3109c25 whitequark: integration: generate SDRAM init sequencer in Rust.
<GitHub83> misoc/master 37a7eb5 whitequark: software: use cargo rustc instead of cargo build....
<GitHub83> misoc/master a155c48 whitequark: software: improve the $(clean) makefile function.
wingdu has quit [Quit: wingdu]
wingdu has joined #m-labs
<bb-m-labs> build #317 of misoc is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/misoc/builds/317
_florent_ has quit [Read error: Connection reset by peer]
mithro has quit [Ping timeout: 250 seconds]
Ishan_Bansal has quit [Ping timeout: 252 seconds]
wingdu has quit [Quit: wingdu]
_florent_ has joined #m-labs
wingdu has joined #m-labs
wingdu has quit [Client Quit]
mithro has joined #m-labs
<GitHub15> [misoc] whitequark pushed 1 new commit to master: https://github.com/m-labs/misoc/commit/6845fc0ae2cb5f20530961c3852399568925a67c
<GitHub15> misoc/master 6845fc0 whitequark: targets: adjust flash_boot_address to make room for config block.
<bb-m-labs> build #318 of misoc is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/misoc/builds/318
<GitHub123> [artiq] gkasprow commented on issue #854: I ordered 10 SATA- SFP converters. SATA connector can be assembled as straight or cross-over.... https://github.com/m-labs/artiq/issues/854#issuecomment-354174496
<GitHub134> [artiq] gkasprow commented on issue #854: I ordered 10 SATA- SFP converters. SATA connector can be assembled as straight or cross-over.... https://github.com/m-labs/artiq/issues/854#issuecomment-354174496
<GitHub78> [artiq] gkasprow commented on issue #854: I ordered 10 SATA- SFP converters. SATA connector can be assembled as straight or cross-over.... https://github.com/m-labs/artiq/issues/854#issuecomment-354174496
<GitHub40> [artiq] hartytp commented on issue #854: Cute! Out of curiosity, where are the design files? https://github.com/m-labs/artiq/issues/854#issuecomment-354178235
<GitHub111> [sinara] gkasprow pushed 1 new commit to master: https://git.io/vbdAo
<GitHub111> sinara/master 6e65d54 Greg: added SFP-SATA media converter
<GitHub85> [artiq] whitequark pushed 2 new commits to master: https://github.com/m-labs/artiq/compare/4d915ad15bed...d7cb4963e16a
<GitHub85> artiq/master 5a2cbe7 whitequark: runtime: remove borrow_mut!() in favor of backtraces.
<GitHub85> artiq/master d7cb496 whitequark: firmware: prepare config block for access from BIOS/bootloader....
<GitHub81> [artiq] whitequark commented on commit d7cb496: @sbourdeauducq Suggesting this also goes into 3.2 so that people only have to lose storage block once. https://github.com/m-labs/artiq/commit/d7cb4963e16a78f756509fea8ee1f51da54c4fee#commitcomment-26507604
Ishan_Bansal has joined #m-labs
<bb-m-labs> build #992 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/992
<bb-m-labs> build #1870 of artiq is complete: Failure [failed artiq_flash] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1870 blamelist: whitequark <whitequark@whitequark.org>
<GitHub-m-labs> [buildbot-config] whitequark pushed 3 new commits to master: https://git.io/vbdhF
<GitHub-m-labs> buildbot-config/master 1227867 whitequark: Only run coredevice tests after flashing....
<GitHub-m-labs> buildbot-config/master 4d246b9 whitequark: Spend less time trying to ping core device....
<GitHub-m-labs> buildbot-config/master 8349894 whitequark: Use default options for artiq_flash.
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
bb-m-labs has joined #m-labs
<GitHub40> [misoc] whitequark pushed 1 new commit to master: https://github.com/m-labs/misoc/commit/e24bfaeb14a0b80f8b04f9fc393beeb73bc8dd2c
<GitHub40> misoc/master e24bfae whitequark: software: improve the $(clean) makefile function.
<bb-m-labs> build #319 of misoc is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/misoc/builds/319
<GitHub113> [misoc] whitequark pushed 2 new commits to master: https://github.com/m-labs/misoc/compare/e24bfaeb14a0...51b6c85f8875
<GitHub113> misoc/master 387d5b9 whitequark: sofware: add $(link), $(objcopy) and $(mscimg) makefile functions.
<GitHub113> misoc/master 51b6c85 whitequark: software: factor out common rules in makefiles and clean up.
<whitequark> sb0: you told me makefiles are ugly. well, look at the updated makefiles in misoc and say that again...
<bb-m-labs> build #320 of misoc is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/misoc/builds/320
<GitHub167> [misoc] whitequark pushed 1 new commit to master: https://github.com/m-labs/misoc/commit/4126dedf24e906ea7e1d6f2d4dd4416ff8f6167e
<GitHub167> misoc/master 4126ded Tim 'mithro' Ansell: or1k: Use EXCEPTION_STACK_SIZE of 256bytes....
<bb-m-labs> build #321 of misoc is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/misoc/builds/321
<whitequark> _florent_: why don't you merge litex back into migen/misoc anyway?
<GitHub86> [artiq] whitequark pushed 1 new commit to master: https://github.com/m-labs/artiq/commit/68f128944a63cba79c533646432f913b1a96a94f
<GitHub86> artiq/master 68f1289 whitequark: firmware: clean up makefiles.
<whitequark> sb0: next thing you'll tell me linker scripts can't be beautiful ;p
<_florent_> whitequark: we already discussed that, i have specific needs for litex but i try to keep them close enough
<bb-m-labs> build #993 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/993
<bb-m-labs> build #651 of artiq-win64-test is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-win64-test/builds/651
<bb-m-labs> build #1871 of artiq is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1871