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
<bb-m-labs> build #1497 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/1497
<GitHub64> [smoltcp] dlrobertson commented on pull request #207 177a04f: This works for now, but we really need to add support for NDISC Router Advertisements and Solicitations. In IPv6 this should actually be `default_routes` or something like that, where some could have been statically assigned and some could have been dynamically acquired via a Router Advertisement. https://github.com/m-labs/smoltcp/pull/207#discussio
<GitHub37> [smoltcp] dlrobertson commented on pull request #207 177a04f: nit: whitespace. https://github.com/m-labs/smoltcp/pull/207#discussion_r187498571
<GitHub35> [smoltcp] dlrobertson commented on pull request #207 177a04f: `device_caps` isn't used and what is the purpose of the double `{`? https://github.com/m-labs/smoltcp/pull/207#discussion_r187498615
<sb0> _florent_, and it makes sense to buffer so many writes that using BRAM is appropriate? or is vivado just mapping a small RAM in BRAM for some reason?
<sb0> _florent_, and this is on the RTM side. not sure if buffering more than, say, 1 write there makes sense; the wishbone bus is typically faster than the serial link.
<sb0> _florent_, can you write test benches that verify serwb where one would expect bugs to hide (write buffer getting full, reading while there are transactions in the write buffer, etc.)
<sb0> _florent_, i suggest scrapping the buffers on the rtm side, imo the complexity/benefit ratio is too high
rohitksingh_work has joined #m-labs
<sb0> whitequark, no, SyncFIFOBuffered can do reads on every cycle
<sb0> it's pipelined
<GitHub-m-labs> [artiq] enjoy-digital commented on issue #997: This timing error appeared with new version of Vivado. I haven't done any specifc optimization on the RTM side before since Vivado < 2018.1 was not complaining. I'm looking at that. https://github.com/m-labs/artiq/issues/997#issuecomment-388270479
<17WABCI4J> [artiq] sbourdeauducq closed issue #997: serwb does not meet timing https://github.com/m-labs/artiq/issues/997
<7JTAEA4DX> [artiq] sbourdeauducq pushed 1 new commit to master: https://github.com/m-labs/artiq/commit/2e3bf8602f2b60489d78a60f720ddf4ab3c15fac
<7JTAEA4DX> artiq/master 2e3bf86 Sebastien Bourdeauducq: serwb: reduce buffering. Closes #997
sb0 has quit [Quit: Leaving]
<GitHub-m-labs> [artiq] enjoy-digital commented on issue #997: Ah, thanks @sbourdeauducq, i was just also looking at that. https://github.com/m-labs/artiq/issues/997#issuecomment-388272659
<bb-m-labs> build #1498 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/1498
<bb-m-labs> build #869 of artiq-win64-test is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-win64-test/builds/869
<bb-m-labs> build #2319 of artiq is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/2319
<GitHub81> [smoltcp] ProgVal commented on pull request #207 177a04f: I forgot to remove `device_caps` after an intermediate version.... https://github.com/m-labs/smoltcp/pull/207#discussion_r187537553
<GitHub35> [smoltcp] ProgVal commented on pull request #207 177a04f: I forgot to remove `device_caps` after an intermediate version.... https://github.com/m-labs/smoltcp/pull/207#discussion_r187541318
hartytp has joined #m-labs
<hartytp> sb0, _florent_: is this an issue on Sayma rtm:
<hartytp> WARNING: [DRC REQP-1577] Clock output buffering: MMCME2_ADV connectivity violation. The signal pll_clk200 on the MMCME2_BASE/CLKOUT1 pin of MMCME2_BASE does not drive the same kind of BUFFER load as the other CLKOUT pins. Routing from the different buffer types will not be phase aligned.
<_florent_> hartytp: no, pll_clk200 does not need to be phase aligned with the others clocks (sys/sys4x)
<hartytp> thanks
<GitHub-m-labs> [artiq] cjbe opened issue #999: Kasli DRTIO satellite: link does not come up https://github.com/m-labs/artiq/issues/999
<hartytp> out of curiosity, do you understand what this one is? Pretty sure it's benign vivado noise, but just curious
<hartytp> WARNING: [Synth 8-115] binding instance 'i_254' in module 'partition' to reference 'logic__875' which has no pins
<_florent_> hartytp: can't say for this one...
<_florent_> hartytp: are you starting doing some tests with sayma?
<hartytp> waiting for the amc gateware to build
<hartytp> then yes
<hartytp> while I was waiting, I hacked up some code to scrape vivado outputs and filter out all the obviously benign warnings
<hartytp> only that one is left
<GitHub-m-labs> [artiq] marmeladapk commented on issue #999: It may be connected with what I saw - on some variants of Kasli I had rolling restarts of Artiq (but not misoc) once I got `Si5324 is locked`. Next week I'll investigate it more. https://github.com/m-labs/artiq/issues/999#issuecomment-388315503
<GitHub-m-labs> [artiq] sbourdeauducq commented on issue #999: This is likely due to the siphaser MMCM input being connected to a clock that is not 125MHz anymore.... https://github.com/m-labs/artiq/issues/999#issuecomment-388323648
hartytp has quit [Quit: Page closed]
<GitHub-m-labs> [artiq] hartytp opened issue #1000: Sayma AMC timing not met https://github.com/m-labs/artiq/issues/1000
hartytp has joined #m-labs
<hartytp> sb0, _florent_ thoughts on the AMC timing violation I'm seeing?
<hartytp> after running the vivado outputs through a hacked up scraper: https://hastebin.com/cogufikafa.sql
<hartytp> rtm is clean
<hartytp> assuming it's not worth testing on HW until gateware meets timing...
sb000 has joined #m-labs
<sb000> hartytp
<sb000> try without the LOC
<sb000> is that vivado 2018.1? iirc it met timing for me
<hartytp> what do you expect to happen? why was it inserted (just curious)?
<sb000> that was an attempt to improve reproducibility of sdram timing
<sb000> may or may not be necessary. may or may not break timing.
<hartytp> okay. well, hopefully it's not needed any more.
<hartytp> well, I'll wait until timing isn't broken before touching that
<sb000> the LOC may be a factor to timing breakage
<sb000> please test without
<sb000> where does it break? my phone cannot display the large log
<sb000> and what is your vivado version? I'm using 2018.1
<hartytp> just remove L35, L50, L54,
<hartytp> ? anything eslse I need to do
<hartytp> no, I'm still on 2017. something
<sb000> okay, you should probably update vivado too
<hartytp> I will upgrade soon
<sb000> yes remove the LOC
<hartytp> however, I still find the timing errors on 2017 somewhat concerning
<sb000> why?
<hartytp> suggests some fragility in the code that could come back to bite us later on
<hartytp> think that's the relevant part
<hartytp> it's on dac_refclk
<sb000> that's a regular problem with FPGAs
<sb000> then you can probably worry about most FPGA code ever written...
<hartytp> "set_property USER_CLOCK_ROOT X2Y2 [get_nets -of [get_pins main_bufgce_div/O]]"
<hartytp> what's that for?
<hartytp> anyway, does Sayma AMC meet timing on your build server?
<sb000> see the xapp about tpws and the ioserdes
<sb000> you can remove it if tpws still passes reliably afterwards
<sb000> afaik it does
<hartytp> okay, I left that but removed all the LOCs I found
<sb000> xapp and AR
<hartytp> rebuilding now
<sb000> hmm maybe not a good idea to leave it without the LOC
<hartytp> okay, so the complete list of changes I need to make are:
<hartytp> remove all LOC attributes
<hartytp> remove all ser_property USER_CLOCK_ROOT
<hartytp> "set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_nets {sysc}]", sysc=cd_sys.clk" these as well?
<hartytp> would it be quicker if you just sent me a diff?
<sb000> no, keep that backbone thing
<sb000> I cannot do diffs right now
<hartytp> so, just the LOC and those two USER_CLOCK_ROOTs? Or, anything else?
<sb000> afaik that's all
<hartytp> timing violation is between dac_refclk_p and ad9154_0_channel1_ointerface13_data_reg[14] etc
<sb000> but likely, this is solved by updating vivado imo
<hartytp> ? you mean unlikely that this will be solved by updating?
<hartytp> (i.e. there will still be violations in 2018?)
<sb000> no, updating will solve it, removing the LOC won't. but it's good to test anyway if the LOC are really necessary
<hartytp> okay, well then I'll stop the build and start installing vivado now
<hartytp> will take a whiel
<hartytp> while
<sb000> run both in parallel...
<sb000> dont you have an account on the buildserver?
<hartytp> yours
<hartytp> yes
<hartytp> tend to use our local one though
<sb000> the problem with fpga place and route is, everything depends on everything
<sb000> so the LOC might still affect another clock domain
marmelada has joined #m-labs
<sb000> as the message says, MMCM LOC can degrade timing results on US
rohitksingh_work has quit [Read error: Connection reset by peer]
sb000 has quit [Ping timeout: 260 seconds]
rohitksingh has joined #m-labs
<hartytp> sb0, _florent_: upgraded vivado and now the rtm build fails again
<_florent_> hartytp: ok i'll look at that
<hartytp> building amc with 2018.1 and no LOCs
<_florent_> hartytp: i'm investigating something else on serwb, want to finish, can you test rtm implementation by setting this to False:
<_florent_> and
<_florent_> since we reduced buffer_depth, we probably don't need to use block rams
<hartytp> do you think that will fix the timing violations?
<hartytp> anyway, sure, I'll do that now
<hartytp> does that require me to rebuild the amc gw?
<hartytp> sb0: do you guys worry about the high-fanout reset nets warning?
<hartytp> other than that, upgrading to 2018.1 and removing the locs gives me a clean build on the AMC using the ignores I posted above
<hartytp> _florent_ that fixed timing on the rtm
<hartytp> do you want me to rebuild the amc and test it on hw?
<GitHub-m-labs> [artiq] hartytp commented on issue #1000: Upgrading Vivado to 2018.1 and removing the LOCs in misoc resolved the timing issues. Needs testing on HW. https://github.com/m-labs/artiq/issues/1000#issuecomment-388357747
<_florent_> hartytp: since amc compilation takes some time, you can still test your last amc bistream on hw
<_florent_> hartytp: and rebuild amc with buffered=False while testing on hardware
<hartytp> on it
rohitksingh has quit [Quit: Leaving.]
rohitksingh has joined #m-labs
marmelada has quit [Quit: Page closed]
sb0 has joined #m-labs
sb0_ has joined #m-labs
sb0_ has quit [Client Quit]
<sb0> _florent_, "buffered" doesn't make it use block RAM. vivado will still use the LUT-ram if the memory is small enough. all "buffered" does is give the option to vivado to use BRAM.
<sb0> I think the buffered FIFO has strictly better timing than the non-buffered one
<hartytp> sb0: can you send me the rtm openocd script again
<hartytp> ?
<sb0> hartytp, you can use artiq_flash load
<sb0> hartytp, does it still use BRAM with depth=16?
<hartytp> not sure
<hartytp> how do I test that?
<hartytp> I did see a timing error with depth=16
<hartytp> (posted timing report above)
<sb0> _florent_, I wonder if the timing issues are due to BUFR. that might have higher skew than BUFG, especially when using BRAM...
<sb0> hartytp, your timing report shows a RAMB36E1 cell. that is BRAM. the synthesis report (in vivado.log) contains a section about memories, how deep they are, and how they are mapped
<hartytp> sb0: artiq_flash -t sayma --srcbuild ... load loads the RTM + AMC?
<sb0> hartytp, iirc yes
<hartytp> thanks
<hartytp> should have looked there
<hartytp> so, yes then, it's still using a BRAM
<sb0> and it's 16 entries deep in the synthesis report?
<hartytp> sec
<sb0> |top | storage_1_reg | Implied | 16 x 110 | RAM32M x 19 |
<sb0> mh
<hartytp> mh?
<sb0> try setting depth=4
<sb0> oh
<sb0> no
<sb0> it's distributed RAM
<sb0> not BRAM
<sb0> why does your synthesis report mention distributed RAM, and your timing report BRAM?
<hartytp> oops, sorry
<hartytp> that's the newer build
<hartytp> with buffer=False
<hartytp> let me turn if back on and rebuild
<hartytp> sorry
<hartytp> sb0: while that builds, I tried using AMC + RTM with
<hartytp> serwb buffering off
<hartytp> LOCs removed
<hartytp> vivado 2018.1
<hartytp> SDRAM eyes look lovely
<hartytp> no serwb issues over a few restarts
<hartytp> except that the HMC830 ID read 0000000
<hartytp> no timing issues or suspicious warnings in the vivado output
<hartytp> vivado.log with buffering
<hartytp> its a BRAM
<hartytp> |top | storage_1_reg | 16 x 110(READ_FIRST) | W | | 16 x 110(WRITE_FIRST) | | R | Port A and B | 0 | 2 |
<hartytp> _florent_ any idea about the HMC830 issue>?
<hartytp> here is the UART with buffering off
<GitHub140> [smoltcp] ProgVal commented on pull request #207 10c34f9: Done, I added support for routes, to both IPv4 and IPv6. https://github.com/m-labs/smoltcp/pull/207#discussion_r187645076
<sb0> meh, why would vivado map a 16 words deep memory to BRAM
<hartytp> okay, power cycled it and now the HMC830 identifys itself properly
<hartytp> probably some glitch put it in the wrong mode
<hartytp> so, on the plus side, I've seen 0 SDRAM/serwb issues since we fixed the timing errors
<hartytp> :)
<sb0> hartytp, if you reduce the buffer depth to 4, does it still want BRAM?
<hartytp> will try in a bit
<hartytp> okay building
<_florent_> hartytp: is the hmc830 locking?
rohitksingh has quit [Quit: Leaving.]
<hartytp> nope
<hartytp> timeout
<hartytp> but, will look at that next
<hartytp> scratch taht
<hartytp> that
<hartytp> I haven't hooked up a clock yet
<_florent_> ok
<hartytp> doing too many things at once
<hartytp> anyway, main thing is that I'm not seeing any errors with serwb/SDRAM/etc so that makes me happy
<hartytp> hmm
<hartytp> set the default value of buffer_depth to 4
<hartytp> still seeing this
<hartytp> in etherbone
<hartytp> never mind
<hartytp> setting the buffer depth to 4 does work
<hartytp> no timing errors on the rtm
<hartytp> and it uses distributed RAM
<hartytp> sb0: do you want me to rebuild the AMC with buffer_depth=4 and buffering=True?
<hartytp> HMC830 does not lock even with a clock applied
<hartytp> will check with greg's regs
<sb0> hartytp, yes
<hartytp> okay. will do
<hartytp> i want to make some fw changes first, so will try that out in the am
<hartytp> (on Monday)
<GitHub-m-labs> [artiq] hartytp commented on issue #860: @marmeladapk I'm seeing the same as you. One thing I don't understand is why 0x04 reads 0x0000... https://github.com/m-labs/artiq/issues/860#issuecomment-388407380
rohitksingh has joined #m-labs
<GitHub85> [smoltcp] dlrobertson commented on pull request #207 32f379e: Ah right, because the body is essentially a rvalue. https://github.com/m-labs/smoltcp/pull/207#discussion_r187662637
<GitHub-m-labs> [artiq] hartytp commented on issue #1000: Tested on HW, seems fine. https://github.com/m-labs/artiq/issues/1000#issuecomment-388414391
<GitHub116> [smoltcp] dlrobertson commented on pull request #207 32f379e: I really like the idea of working on routing, but anything having to do with routes should probably be a separate PR. https://github.com/m-labs/smoltcp/pull/207#discussion_r187669601
rohitksingh has quit [Quit: Leaving.]
<GitHub66> [smoltcp] ProgVal commented on issue #207: I could remove the commits with routes, and put them in a new PR after
hartytp has quit [Quit: Page closed]
rohitksingh has joined #m-labs
sb0 has quit [Quit: Leaving]
rohitksingh has quit [Quit: Leaving.]
rohitksingh has joined #m-labs
<cr1901_modern1> Just curious: Artiq is LGPL, right? I just learned that PyQt5 is GPL. Is there a way that artiq gets around having to license as GPL?
<rjo> cr1901_modern1: we should use PySide
<rjo> cr1901_modern1: it's drop in so likely easy
<cr1901_modern1> Ahh, wasn't aware pyside was still developed
rohitksingh has quit [Ping timeout: 248 seconds]
rohitksingh has joined #m-labs
<GitHub178> [smoltcp] dlrobertson commented on issue #207: > I could remove the commits with routes, and put them in a new PR... https://github.com/m-labs/smoltcp/pull/207#issuecomment-388481770
<GitHub140> [smoltcp] ProgVal commented on issue #207: done
<GitHub-m-labs> [artiq] enjoy-digital pushed 1 new commit to master: https://github.com/m-labs/artiq/commit/cd4477864ae9f47d6535ef8d59ab817c151f9abc
<GitHub-m-labs> artiq/master cd44778 Florent Kermarrec: serwb: fix case when rtm fpga is not loaded, lvds input can be 0 or 1
<GitHub-m-labs> [artiq] enjoy-digital commented on issue #966: When RTM is not loaded, the AMC LVDS input is not driven and can be 0 or 1. The case is now handled in the gateware with https://github.com/m-labs/artiq/commit/cd4477864ae9f47d6535ef8d59ab817c151f9abc.... https://github.com/m-labs/artiq/issues/966#issuecomment-388492999
<GitHub-m-labs> [artiq] enjoy-digital pushed 1 new commit to master: https://github.com/m-labs/artiq/commit/3c49eba0a0e3ff684da91ce5bb00c9ad126b8157
<GitHub-m-labs> artiq/master 3c49eba Florent Kermarrec: firmware/hmc830_7043: put hmc7043 in sleep mode before hmc830 initialization...
<GitHub-m-labs> [artiq] enjoy-digital pushed 1 new commit to master: https://github.com/m-labs/artiq/commit/6b4bbe31f73ed57a31506d6a3af6217283291621
<GitHub-m-labs> artiq/master 6b4bbe3 Florent Kermarrec: firmware/ad9154: use fixed hmc7043 sysref phase (found with scan)
<bb-m-labs> build #1499 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/1499
<bb-m-labs> build #870 of artiq-win64-test is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-win64-test/builds/870
<bb-m-labs> build #2320 of artiq is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/2320
gric_ is now known as gric
<GitHub-m-labs> [artiq] enjoy-digital pushed 3 new commits to master: https://github.com/m-labs/artiq/compare/6b4bbe31f73e...0a6d4ccd85d0
<GitHub-m-labs> artiq/master e09dbc8 Florent Kermarrec: serwb: remove idelaye3 en_vtc (was not done correctly, we'll add direct software control)
<GitHub-m-labs> artiq/master 0a6d4cc Florent Kermarrec: serwb/phy: improve/cleanup init
<GitHub-m-labs> artiq/master b6ab59f Florent Kermarrec: serwb/phy: increase timeout
<bb-m-labs> build #1500 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/1500
<GitHub-m-labs> [artiq] enjoy-digital opened issue #1001: SERWB: use EN_VTC on Ultrascale https://github.com/m-labs/artiq/issues/1001
<bb-m-labs> build #871 of artiq-win64-test is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-win64-test/builds/871
<bb-m-labs> build #2321 of artiq is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/2321
<bb-m-labs> build #2322 of artiq is complete: Failure [failed python_unittest] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/2322 blamelist: Florent Kermarrec <florent@enjoy-digital.fr>