Monday, 2021-04-19

*** tpb has joined #litex00:00
*** cjearls has joined #litex00:37
*** Degi_ has joined #litex00:44
*** Degi has quit IRC00:45
*** Degi_ is now known as Degi00:45
thorns514is there a trick to getting litescope to trigger properly on a soc with multiple clock domains?01:25
thorns514every time I add a valenty usb core for debug bridge (instead of uart) with its 12mhz/48mhz clocks, the litescope_cli never waits for my cyc trigger, it just dumps immediately...01:26
*** cjearls has quit IRC01:46
*** thorns514 has quit IRC02:08
*** Bertl is now known as Bertl_zZ02:35
*** chmousset has joined #litex03:17
*** Yam has joined #litex03:23
YamHello,   I saw some support for LPDDR4 on Kintex 7.  What is the status on it? Is it working yet ?03:28
*** chmousset has quit IRC03:31
*** chmousset has joined #litex04:18
*** chmousset has quit IRC04:32
*** HoloIRCUser1 has joined #litex04:41
*** HoloIRCUser has quit IRC04:44
*** Bleepshop has quit IRC05:50
*** chmousset has joined #litex05:55
*** chmousset has quit IRC07:12
*** HoloIRCUser1 has quit IRC07:29
*** Yam has quit IRC08:56
lkcl_florent_, morning, you received my messages with the patches? would it be better to raise a bugreport on bugs.libre-soc.org (oh, and attach some $EUR to it? :) )09:29
*** Yam has joined #litex09:33
_florent_thorns514: You can specify the sampling clock domain with the clock_domain parameter: https://github.com/enjoy-digital/litescope/blob/master/litescope/core.py#L22910:10
_florent_Yam: The LPDDR4 support on Kintex7 is working yes, Antmicro has been working on it and validated it at up to 1000MT/s for now. The work is already integrated in LiteX/LiteDRAM. Antmicro is now working on improving the max clock freq now. If you have specific questions, feel free to ask here, I or kgugala__ could give you more infos.10:13
YamThank you,   as I understand, I need two banks, one with 1.8V, and another with 1.1V, right ?       I saw the schematic for the test board, but is there a schematic for the test "RAM" modules?10:18
YamOh, I actually just saw the schematic for the module10:20
Yamwait, not the module. but the pins map directly to LPDDR4 pins, right?   I might try to build a board using the LPDDR4.   Will let you know how it goes.10:28
_florent_Yam: The hardware is using DIMMs to easily swap the LPDDR4 module, but it's similar to a module directly connected to the FPGA yes11:01
Yam_florent_  I saw the test board here,https://github.com/antmicro/lpddr4-test-board  , is the DIMM open source ?11:03
zyphttps://github.com/antmicro/lpddr4-testbed11:06
Yamzyp  Thank you11:11
*** Bertl_zZ is now known as Bertl11:13
_florent_lkcl: I received the messages yes, but was not sure what to answer yet: I kind of understood in the other IRC channels during the last months that LiteX was the source of so much miseries for you, that you would not recommend using it for any serious work and that you were going to develop an alternative, has it changed? :) Most developers here (me included) just want to have fun and enjoy what they do, working11:15
_florent_together without any ambition to do better than X or compare to Y, you got direct help from me, reused lots of our existing work to validate/debug your CPU (including the recent work at that time on Microwatt) and as a result we get what I described just above? I don't necessarily want you to like LiteX, but you seem to be playing a strange game, no?11:15
zypare there any examples anywhere of using the HyperRAMX2 core from litehyperbus?11:41
*** 17WAAB8L0 has quit IRC11:50
*** pftbest has joined #litex11:52
pftbestThe wishbone interface on litedram does not support bursts, right? So if i want a higher throughput i need to use axi interface?11:55
_florent_zyp: This has been designed by Greg Davill, he seems to use it here: https://github.com/gregdavill/DiVA-firmware/blob/main/gateware/rtl/streamable_hyperram.py11:56
zypyeah, I went digging and is looking through that now11:57
_florent_pftbest: Indeed, for now for burst you can use the Native interface or AXI interface. Adding burst support to the Wishbone interface should not be too much work but don't think it's supported currently11:58
pftbestIs there a way to switch to another interface in litex? as i understand litex is using wishbone by default. And I'd like it to keep doing read leveling, and other configuration12:06
*** pftbest has quit IRC12:09
*** pftbest has joined #litex12:10
_florent_pftbest: In fact the leveling is done through the CSRs and the default connection for the MMAP between the SoC and DRAM is a wishbone interface12:11
pftbestso i just need to disconnect it from the soc memory map and the CSRs will still keep working?12:12
_florent_yes, or you add another DRAM port  with crossbar.get_port and use it directly in your logic12:17
pftbestoh, i can have more than 1 port at the same time? that sounds very good, thanks!12:20
_florent_yes, you can request addionnal port, the controller will arbitrate the accesses.12:22
_florent_For example here, for the optional BIST (Hardware Build-In Self Test) we request two additional ports: https://github.com/enjoy-digital/litex/blob/master/litex/soc/integration/soc.py#L1254-L125612:23
pftbesti'll try, thank you12:25
*** Yam has quit IRC12:48
Melkhior_florent_ Worked on getting a keyboard over the week-end, but I'm stuck on the interrupt. LInux sends the command and the keyboard answers (says my logic analyzer), and if I probe the CSR I see the keyboard's answers in Linux. If I force probing after sending a command, I can event get the whole thing to register as a keyboard and have a13:16
Melkhior/dev/input/event0 entry.13:16
MelkhiorBut I can't figure out how to get the interrupt to trigger in Linux, it never triggers and I always have 0 in /proc/interrupts13:16
MelkhiorMy IRQ code is here: https://pastebin.com/1HrGj5wK13:16
Melkhior(plus 'self.irq.add("ps2kbd", use_loc_if_exists=True)' in the target)13:16
tpbTitle: ## irq self.submodules.ev = EventManager() in_ctrl_31_ - Pastebin.com (at pastebin.com)13:16
MelkhiorI can share the full code, it's a short migen wrapper around a PS2 controller from opencores.org13:16
MelkhiorTIA for any pointer/suggestion13:16
Melkhiorfull wrapper: https://pastebin.com/GRQcnx6w13:20
tpbTitle: ## This file is part of LiteX.## Copyright (c) 2021 Romain Dolbeau (at pastebin.com)13:20
lkcl_florent_: we have a practical need, litex fulfils that. however, would you consider me not at liberty to describe the experience of using litex, freely and without reserve?13:47
lkcldo i have to remain totally silent and self-censor if it has weaknesses and limitations?13:47
lkclbeing up-front and honest is not "strange" to me, at all.  it is a hugely valuable service, both to you and to all other litex users and developers, to know of the strengths *and* weaknesses, from the experiences of different developers13:49
lkcl*many people* know that litex, because it uses migen, is seriously problematic13:49
lkcli am just the person that, because i have Asperger's, and because i have a policy of being absolutely honest, has talked about that publcily13:50
lkcland because of that honest, you now know!13:50
lkclwhy is this a problem?13:51
lkcli would like to understand13:51
*** thorns514 has joined #litex13:57
*** thorns514 has joined #litex13:59
*** thorns514 has joined #litex13:59
*** thorns514 has quit IRC14:01
*** thorns514 has joined #litex14:01
thorns514heya, I think my question yesterday got lost - I am having trouble with litescope triggers when my soc has multiple clock domains.  The unit under test and the litescopeanalyzer are both in "sys", yet still, when I try to set a trigger with litescope_cli, it dumps immediately.  If I remove my USB peripheral and the SoC has only one global clock, it works fine...14:03
thorns514nm I see it in today's log, and I see your reply _florent_ thanks.  I am setting the clock_domain to "sys" as described14:05
thorns514I perhaps need to study a bit more how clocks are given to external verilog modules.  I'm giving my verilog a clock via `i_clk = ClockSignal("sys")`, I presume this is the same net as the LiteScopeAnalyzer is connected to with `clock_domain = "sys"`14:11
*** thorns514 has quit IRC14:31
*** Bertl is now known as Bertl_oO14:33
*** juanqui has joined #litex14:34
*** thorns514 has joined #litex14:36
lkcl_florent_: i am serious. remember i have Asperger's, i do not play by "normal" social rules, so i choose, by default, to be simply honest and speak freely.14:39
lkclis this a problem? if so, please tell me.14:40
lkcli do not mind, at all.14:40
*** rj has joined #litex14:53
*** juanqui has quit IRC14:53
_florent_lkcl: LiteX can have weaknesses and I'm probably well more aware of them than you are, does it means it's not usable at all, not sure, and don't you see we are working on it and improving it progressively?15:01
_florent_You have a binary vision: Migen = shit, nMigen = great, but this is so limited vision, don't you think there is an history behind all this, don't you think that what you can do now with nMigen would have been possible without all the work that have been done by M-Labs previously, by me, by others, etc...15:04
_florent_So with you speech, you are just forgeting all this history behind which I don't think is correct for all the persons that have been involved in this and made this possible15:06
lkcl_florent_: i do recognise the huge amount of history and development, and all the hard work that has gone into it.  to be clear: if it did not do the job, we could use it at all! the fact that it works is a huge achievement15:12
lkcli have been thinking for some time, based on the weaknesses i encountered, a possible strategy for improvement.  it is quite tricky, because of the amount of legacy development, so i have not spoken about it15:14
lkclin the meantime, reality is what reality is.  do not read anything into my honest words about difficulties i encountered during time-pressured development15:15
lkclwe still use it because it does the job15:16
_florent_And that's why I spent time explaining why it was for now not possible to switch yet to another language, that we were working on improving the codebase, simplifying first, etc...15:16
lkclah very cool15:16
lkclif you are ready / willing i have some constructive feedback there which may make addition (and development) of CPUs easier?15:18
lkclit's quite a simple idea15:18
lkcli would be interested to hear if you consider it practical / sound / workable / useful15:19
*** rj has quit IRC15:19
*** rj has joined #litex15:24
lkclit comes with the advantage that i'd help by implementing it :)15:46
*** rj has quit IRC16:03
_florent_Sorry, for now I'm tired of this discussion and don't want discuss technical things. I'd like this project/channel to be friendly and don't see why we would do an exception for you, so if you want to be welcomed here, you have to do some efforts.16:06
_florent_Melkhior: nice, I'm not familiar with the interrupts in Linux, have you tried looking at the LiteEth Driver that uses the interrupts?16:09
*** rj has joined #litex16:11
Melkhior_florent_ the linux part *should* (famous last words...) be OK, it's all standard stuff, the driver just request the 'proper' interrupt and Linux figures it out from the DTS I suppose (I basically repurposed the Altera PS/2 driver)16:18
MelkhiorI have the right number displayed in /proc/interrupts for f0004800.ps2kbd16:18
MelkhiorI was wondering if I could have messed up something in the design so that the interrupt would not get triggered ? Or not propagated to the PLIC/CLINT ?16:18
MelkhiorHow I could check they are triggered even if Linux doesn't see them triggering ?16:18
Melkhior  2:    1261625          0          0          0  SiFive PLIC   2  eth016:18
Melkhior  3:          0          0          0          0  SiFive PLIC   3  f0004800.ps2kbd16:18
Melkhior  5:   20872014   20880593   20880778   20880807  RISC-V INTC   5  riscv-timer16:18
Melkhiorstill could be linux itself :-(16:18
lkcl_florent_, ehn? i don't understand.  where did you get the mistaken impression i am trying to be hostile / non-friendly from?16:18
lkcli have provided a patch which improves the useability and usefulness of Litex for everyone16:19
lkclhere it is16:19
lkclhttps://ftp.libre-soc.org/litex-sim-jtagremote.patch16:19
lkcli have offered to help improve Litex for everyone with some simple constructive ideas16:20
lkclwhy are you not interested in that, _florent_ ?16:20
Findelkcl, he has said he doesn't want to continue the discussion here16:28
Findeperhaps take it up in another forum16:28
lkclFinde: that's why i am confused.  "does not wish to discuss contributions from willing and friendly Libre / Open Hardware Engineers"16:29
Findeno one is going to further engage you on this16:30
lkcl_florent_: which forum can be used to discuss contributions from willing and friendly Libre/Open Hardware developers, to the litex code base?16:30
lkclFinde: i am completely confused as to what on earth is going on16:30
Findewhen someone says they don't want to continue discussing something in a particular venue, I'd suggest you stop there, just as with any other conversation someone wants to end16:32
lkclFinde: ah ok.  Asperger's, here.  sorry, i need these things spelled out, i don't understand normal conversation cues.16:32
lkclunderstood, apologies to you both.16:32
*** rj has quit IRC16:48
*** rj has joined #litex16:51
*** kgugala_ has joined #litex17:09
*** kgugala__ has quit IRC17:10
*** kgugala_ has quit IRC17:16
*** kgugala has joined #litex17:17
*** kgugala has quit IRC17:17
*** kgugala has joined #litex17:18
*** kgugala_ has joined #litex17:19
*** kgugala has quit IRC17:22
*** kgugala has joined #litex17:24
*** kgugala__ has joined #litex17:26
*** kgugala has quit IRC17:26
*** kgugala_ has quit IRC17:27
*** rj has quit IRC17:31
*** rj has joined #litex17:36
*** kgugala has joined #litex17:38
*** kgugala__ has quit IRC17:40
*** rj has quit IRC18:15
*** rj has joined #litex18:18
sajattack[m]_florent_: have you tried the pcie flashing on the cle-215+? I'm starting to wonder if something is different about the spiflash18:27
sajattack[m]reading gives all 0xFF despite having programmed something in with openocd, and trying to write fails to erase18:29
nickoemmm, I wonder what has changed with litex since last time I had some time to play around with my FPGA18:33
nickoethat is late february18:34
thorns514nickoe> I usually check the commit history on github :)18:34
nickoeYeah, I will certainly glance over that!  :)  But maybe it is better for me to actually remember where I left off.. I mean, I know that I wanted to simulate getting stuff from SDRAM to a AIX bus somehow.18:37
nickoeMmm, I thought I used vscode as an IDE, but now I remember that I used pycharm as most is python! No wonder I couldn't find my old workspace. :D18:38
nickoeI was looking at some litedram test cases to see if I could make the litedram to AXI stream work, but I never think I succeeded.18:39
nickoehmm, "riscv64-elf-ld: Error: unable to disambiguate: -nodefaultlibs (did you mean --nodefaultlibs ?)"18:41
nickoeIs that really correct to have the ld have double dash options?18:41
nickoemmm, I remember trying to debug https://github.com/enjoy-digital/litex/issues/831 /  https://github.com/enjoy-digital/litex/issues/71218:43
nickoeI whould probably dump all the hashes for the current repos and update it all!18:45
thorns514oh you know what nickoe, I had that problem with verilator like a year ago, you need to fiddle with the type of the c++ function18:55
nickoeMaybe it is fixed with https://github.com/enjoy-digital/litex/commit/d3407c67b189d2c338766febb3bf2c57f6f80d1d18:56
nickoe:O18:56
nickoeBut right now I get linker erros for the c code stuff, as above with the ld error18:57
thorns514so does litex generate an entire verilator testbench for you?18:57
nickoeusing: riscv64-elf-ld --version     GNU ld (GNU Binutils) 2.36.118:57
thorns514I always found it terribly tedious trying to write a clock properly for verilator by hand, evaluating the circuit before and after the edge etc18:57
nickoeMmm, not sure, IIRC the gtkwave was not happy with the trace file18:58
thorns514I wonder if I should just start doing all my designs in litex lol, even ones without a CPU, just for the infrastructure for generating sim code etc18:58
nickoemm, it has the single dash here still https://github.com/enjoy-digital/litex/blob/master/litex/soc/software/common.mak#L5618:59
*** rj has quit IRC18:59
*** rj has joined #litex19:05
nickoemm, it is like the run target in pycharm uses another env than on my bare commandline.19:06
nickoethe bare commandline works19:06
nickoeIt uses riscv64-unknown-elf-ld on the commandline but just riscv64-elf-ld in pycharm19:07
nickoehmm19:07
nickoeok, fixed the env for that, maybe I purely used that on the commandline last time.19:09
nickoe_florent_: Do you remember the donut issue I was talking about in february when simulating?19:10
nickoeShould I report an issue about it if it persists when I get all my stuff rebased?19:11
nickoeThe issue bing that we seemingly only get on frame of the donut animation19:11
nickoeUntil it returns to the primpt.19:11
nickoethorns514: so do you remember how I make sure it generates a trace file? This is my simulation script, https://github.com/nickoe/litex-boards/blob/mars_ax3_sim/litex_boards/targets/mars_ax3_sim_litex.py19:14
thorns514I've never done it in litex sorry, I was doing verilator by hand last year19:14
nickoeok19:20
nickoethorns514: Ok, so I made my old example work with https://github.com/enjoy-digital/litex/wiki/Use-LiteScope-To-Debug-A-SoC  , so enabling etherbone and ethernet and using the litex server thing and the litescope cli.19:27
nickoeBut it just dumps 1 ns of trace19:28
nickoethorns514: If you used verilater directly before, do you know if one can "hot reload" traces in gtkwave?19:28
*** rj has quit IRC19:44
*** rj has joined #litex19:46
*** max1 has joined #litex19:58
*** max1 is now known as chmouss19:59
thorns514yes it's ctrl-shift-r I think ?  nickoe20:01
nickoethorns514: ahh, cool! I didn't notice that before, it appears to work.20:03
*** chmouss has quit IRC20:06
*** rj has quit IRC20:06
*** rj has joined #litex20:07
*** chmouss has joined #litex20:08
chmouss_florent_: hi! did you had time to test the Ethernet on the Versa ECP5?20:10
*** rj has quit IRC20:26
*** rj has joined #litex20:32
*** flammit has quit IRC20:37
*** tcal has quit IRC20:38
*** gatecat has quit IRC20:38
*** tucanae47 has quit IRC20:38
*** tannewt has quit IRC20:38
*** carlomaragno has quit IRC20:38
*** ric96 has quit IRC20:38
*** pdp7 has quit IRC20:38
*** tcal has joined #litex20:38
*** gatecat has joined #litex20:38
*** flammit has joined #litex20:38
*** tucanae47 has joined #litex20:38
*** y2kbugger has quit IRC20:38
*** j4cbo has quit IRC20:39
*** carlomaragno has joined #litex20:39
*** pdp7 has joined #litex20:39
*** ric96 has joined #litex20:39
*** y2kbugger has joined #litex20:40
*** tannewt has joined #litex20:40
*** j4cbo has joined #litex20:40
*** rj has quit IRC21:12
*** rj has joined #litex21:14
*** rj has quit IRC21:43
*** rj has joined #litex21:48
*** chmouss has quit IRC22:24
*** rj has quit IRC22:27
*** rj has joined #litex22:31
*** rj has quit IRC23:13
*** rj has joined #litex23:18
*** pftbest has quit IRC23:19
*** pftbest has joined #litex23:21
*** lf has quit IRC23:30
*** lf has joined #litex23:30
*** rj has quit IRC23:59

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!