_florent_ changed the topic of #litex to: LiteX FPGA SoC builder and Cores / Github : https://github.com/enjoy-digital, https://github.com/litex-hub / Logs: https://freenode.irclog.whitequark.org/litex
tpb has quit [Remote host closed the connection]
tpb has joined #litex
cjearls has joined #litex
Degi_ has joined #litex
Degi has quit [Ping timeout: 252 seconds]
Degi_ is now known as Degi
<thorns514> is there a trick to getting litescope to trigger properly on a soc with multiple clock domains?
<thorns514> every 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...
cjearls has quit [Quit: Leaving]
thorns514 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Bertl is now known as Bertl_zZ
chmousset has joined #litex
Yam has joined #litex
<Yam> Hello,   I saw some support for LPDDR4 on Kintex 7.  What is the status on it? Is it working yet ?
chmousset has quit [Ping timeout: 260 seconds]
chmousset has joined #litex
chmousset has quit [Ping timeout: 240 seconds]
HoloIRCUser1 has joined #litex
HoloIRCUser has quit [Ping timeout: 252 seconds]
Bleepshop has quit [Ping timeout: 268 seconds]
chmousset has joined #litex
chmousset has quit [Ping timeout: 240 seconds]
HoloIRCUser1 has quit [Ping timeout: 240 seconds]
Yam has quit [Quit: Connection closed]
<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? :) )
Yam has joined #litex
<_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#L229
<_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.
<Yam> Thank 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?
<Yam> Oh, I actually just saw the schematic for the module
<Yam> wait, 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.
<_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 yes
<Yam> _florent_  I saw the test board here,https://github.com/antmicro/lpddr4-test-board  , is the DIMM open source ?
<Yam> zyp  Thank you
Bertl_zZ is now known as Bertl
<_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, working
<_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?
<zyp> are there any examples anywhere of using the HyperRAMX2 core from litehyperbus?
17WAAB8L0 has quit [Remote host closed the connection]
pftbest has joined #litex
<pftbest> The wishbone interface on litedram does not support bursts, right? So if i want a higher throughput i need to use axi interface?
<_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.py
<zyp> yeah, I went digging and is looking through that now
<_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 currently
<pftbest> Is 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 configuration
pftbest has quit [Read error: Connection reset by peer]
pftbest has joined #litex
<_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 interface
<pftbest> so i just need to disconnect it from the soc memory map and the CSRs will still keep working?
<_florent_> yes, or you add another DRAM port with crossbar.get_port and use it directly in your logic
<pftbest> oh, i can have more than 1 port at the same time? that sounds very good, thanks!
<_florent_> yes, you can request addionnal port, the controller will arbitrate the accesses.
<_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-L1256
<pftbest> i'll try, thank you
Yam has quit [Quit: Connection closed]
<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 a
<Melkhior> /dev/input/event0 entry.
<Melkhior> But I can't figure out how to get the interrupt to trigger in Linux, it never triggers and I always have 0 in /proc/interrupts
<Melkhior> My IRQ code is here: https://pastebin.com/1HrGj5wK
<Melkhior> (plus 'self.irq.add("ps2kbd", use_loc_if_exists=True)' in the target)
<tpb> Title: ## irq self.submodules.ev = EventManager() in_ctrl_31_ - Pastebin.com (at pastebin.com)
<Melkhior> I can share the full code, it's a short migen wrapper around a PS2 controller from opencores.org
<Melkhior> TIA for any pointer/suggestion
<Melkhior> full wrapper: https://pastebin.com/GRQcnx6w
<tpb> Title: ## This file is part of LiteX.## Copyright (c) 2021 Romain Dolbeau (at pastebin.com)
<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?
<lkcl> do i have to remain totally silent and self-censor if it has weaknesses and limitations?
<lkcl> being 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 developers
<lkcl> *many people* know that litex, because it uses migen, is seriously problematic
<lkcl> i am just the person that, because i have Asperger's, and because i have a policy of being absolutely honest, has talked about that publcily
<lkcl> and because of that honest, you now know!
<lkcl> why is this a problem?
<lkcl> i would like to understand
thorns514 has joined #litex
thorns514 has quit [Client Quit]
thorns514 has joined #litex
thorns514 has joined #litex
thorns514 has quit [Client Quit]
thorns514 has joined #litex
<thorns514> nm I see it in today's log, and I see your reply _florent_ thanks. I am setting the clock_domain to "sys" as described
<thorns514> I 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"`
thorns514 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Bertl is now known as Bertl_oO
juanqui has joined #litex
thorns514 has joined #litex
<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.
<lkcl> is this a problem? if so, please tell me.
<lkcl> i do not mind, at all.
rj has joined #litex
juanqui has quit [Quit: Connection closed]
<_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?
<_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...
<_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 possible
<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 achievement
<lkcl> i 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 it
<lkcl> in the meantime, reality is what reality is. do not read anything into my honest words about difficulties i encountered during time-pressured development
<lkcl> we still use it because it does the job
<_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...
<lkcl> ah very cool
<lkcl> if you are ready / willing i have some constructive feedback there which may make addition (and development) of CPUs easier?
<lkcl> it's quite a simple idea
<lkcl> i would be interested to hear if you consider it practical / sound / workable / useful
rj has quit [Ping timeout: 240 seconds]
rj has joined #litex
<lkcl> it comes with the advantage that i'd help by implementing it :)
rj has quit [Ping timeout: 240 seconds]
<_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.
<_florent_> Melkhior: nice, I'm not familiar with the interrupts in Linux, have you tried looking at the LiteEth Driver that uses the interrupts?
rj has joined #litex
<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)
<Melkhior> I have the right number displayed in /proc/interrupts for f0004800.ps2kbd
<Melkhior> I 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 ?
<Melkhior> How I could check they are triggered even if Linux doesn't see them triggering ?
<Melkhior>   2: 1261625 0 0 0 SiFive PLIC 2 eth0
<Melkhior>   3: 0 0 0 0 SiFive PLIC 3 f0004800.ps2kbd
<Melkhior>   5: 20872014 20880593 20880778 20880807 RISC-V INTC 5 riscv-timer
<Melkhior> still could be linux itself :-(
<lkcl> _florent_, ehn? i don't understand. where did you get the mistaken impression i am trying to be hostile / non-friendly from?
<lkcl> i have provided a patch which improves the useability and usefulness of Litex for everyone
<lkcl> here it is
<lkcl> i have offered to help improve Litex for everyone with some simple constructive ideas
<lkcl> why are you not interested in that, _florent_ ?
<Finde> lkcl, he has said he doesn't want to continue the discussion here
<Finde> perhaps take it up in another forum
<lkcl> Finde: that's why i am confused. "does not wish to discuss contributions from willing and friendly Libre / Open Hardware Engineers"
<Finde> no one is going to further engage you on this
<lkcl> _florent_: which forum can be used to discuss contributions from willing and friendly Libre/Open Hardware developers, to the litex code base?
<lkcl> Finde: i am completely confused as to what on earth is going on
<Finde> when 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 end
<lkcl> Finde: ah ok. Asperger's, here. sorry, i need these things spelled out, i don't understand normal conversation cues.
<lkcl> understood, apologies to you both.
rj has quit [Ping timeout: 240 seconds]
rj has joined #litex
kgugala_ has joined #litex
kgugala__ has quit [Ping timeout: 246 seconds]
kgugala_ has quit [Read error: Connection reset by peer]
kgugala has joined #litex
kgugala has quit [Read error: Connection reset by peer]
kgugala has joined #litex
kgugala_ has joined #litex
kgugala has quit [Ping timeout: 246 seconds]
kgugala has joined #litex
kgugala__ has joined #litex
kgugala has quit [Read error: Connection reset by peer]
kgugala_ has quit [Ping timeout: 240 seconds]
rj has quit [Ping timeout: 240 seconds]
rj has joined #litex
kgugala has joined #litex
kgugala__ has quit [Ping timeout: 252 seconds]
rj has quit [Ping timeout: 240 seconds]
rj has joined #litex
<sajattack[m]> _florent_: have you tried the pcie flashing on the cle-215+? I'm starting to wonder if something is different about the spiflash
<sajattack[m]> reading gives all 0xFF despite having programmed something in with openocd, and trying to write fails to erase
<nickoe> mmm, I wonder what has changed with litex since last time I had some time to play around with my FPGA
<nickoe> that is late february
<thorns514> nickoe> I usually check the commit history on github :)
<nickoe> Yeah, 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.
<nickoe> Mmm, 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. :D
<nickoe> I 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.
<nickoe> hmm, "riscv64-elf-ld: Error: unable to disambiguate: -nodefaultlibs (did you mean --nodefaultlibs ?)"
<nickoe> Is that really correct to have the ld have double dash options?
<nickoe> I whould probably dump all the hashes for the current repos and update it all!
<thorns514> oh you know what nickoe, I had that problem with verilator like a year ago, you need to fiddle with the type of the c++ function
<nickoe> :O
<nickoe> But right now I get linker erros for the c code stuff, as above with the ld error
<thorns514> so does litex generate an entire verilator testbench for you?
<nickoe> using: riscv64-elf-ld --version GNU ld (GNU Binutils) 2.36.1
<thorns514> I always found it terribly tedious trying to write a clock properly for verilator by hand, evaluating the circuit before and after the edge etc
<nickoe> Mmm, not sure, IIRC the gtkwave was not happy with the trace file
<thorns514> I 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 etc
rj has quit [Ping timeout: 240 seconds]
rj has joined #litex
<nickoe> mm, it is like the run target in pycharm uses another env than on my bare commandline.
<nickoe> the bare commandline works
<nickoe> It uses riscv64-unknown-elf-ld on the commandline but just riscv64-elf-ld in pycharm
<nickoe> hmm
<nickoe> ok, fixed the env for that, maybe I purely used that on the commandline last time.
<nickoe> _florent_: Do you remember the donut issue I was talking about in february when simulating?
<nickoe> Should I report an issue about it if it persists when I get all my stuff rebased?
<nickoe> The issue bing that we seemingly only get on frame of the donut animation
<nickoe> Until it returns to the primpt.
<nickoe> thorns514: 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.py
<thorns514> I've never done it in litex sorry, I was doing verilator by hand last year
<nickoe> ok
<nickoe> thorns514: 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.
<nickoe> But it just dumps 1 ns of trace
<nickoe> thorns514: If you used verilater directly before, do you know if one can "hot reload" traces in gtkwave?
rj has quit [Ping timeout: 240 seconds]
rj has joined #litex
max1 has joined #litex
max1 is now known as chmouss
<thorns514> yes it's ctrl-shift-r I think ? nickoe
<nickoe> thorns514: ahh, cool! I didn't notice that before, it appears to work.
chmouss has quit [Quit: WeeChat 2.8]
rj has quit [Remote host closed the connection]
rj has joined #litex
chmouss has joined #litex
<chmouss> _florent_: hi! did you had time to test the Ethernet on the Versa ECP5?
rj has quit [Ping timeout: 240 seconds]
rj has joined #litex
flammit has quit [Ping timeout: 258 seconds]
tcal has quit [Read error: Connection reset by peer]
gatecat has quit [Read error: Connection reset by peer]
tucanae47 has quit [Read error: Connection reset by peer]
tannewt has quit [Ping timeout: 260 seconds]
carlomaragno has quit [Ping timeout: 246 seconds]
ric96 has quit [Ping timeout: 245 seconds]
pdp7 has quit [Ping timeout: 245 seconds]
tcal has joined #litex
gatecat has joined #litex
flammit has joined #litex
tucanae47 has joined #litex
y2kbugger has quit [Ping timeout: 258 seconds]
j4cbo has quit [Ping timeout: 245 seconds]
carlomaragno has joined #litex
pdp7 has joined #litex
ric96 has joined #litex
y2kbugger has joined #litex
tannewt has joined #litex
j4cbo has joined #litex
rj has quit [Ping timeout: 240 seconds]
rj has joined #litex
rj has quit [Ping timeout: 240 seconds]
rj has joined #litex
chmouss has quit [Ping timeout: 268 seconds]
rj has quit [Ping timeout: 240 seconds]
rj has joined #litex
rj has quit [Ping timeout: 240 seconds]
rj has joined #litex
pftbest has quit [Remote host closed the connection]
pftbest has joined #litex
lf has quit [Ping timeout: 250 seconds]
lf has joined #litex
rj has quit [Ping timeout: 240 seconds]