Thursday, 2022-01-06

*** tpb <[email protected]> has joined #litex00:00
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has joined #litex00:03
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has quit IRC (Ping timeout: 256 seconds)00:07
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has joined #litex00:59
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has quit IRC (Remote host closed the connection)01:00
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has joined #litex01:00
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has quit IRC (Ping timeout: 256 seconds)01:05
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has joined #litex01:53
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has quit IRC (Ping timeout: 240 seconds)03:32
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has joined #litex03:51
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has quit IRC (Remote host closed the connection)04:40
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has joined #litex04:41
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has quit IRC (Ping timeout: 256 seconds)04:45
*** Degi <[email protected]> has quit IRC (Ping timeout: 240 seconds)04:59
*** Degi_ <[email protected]> has joined #litex04:59
*** Degi_ is now known as Degi05:00
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has joined #litex05:13
*** Melkhior <Melkhior!~Melkhior@2a01:e0a:1b7:12a0:225:90ff:fefb:e717> has joined #litex06:38
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has quit IRC (Remote host closed the connection)06:47
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has joined #litex06:47
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has quit IRC (Ping timeout: 256 seconds)06:52
*** rektide <[email protected]> has quit IRC (Ping timeout: 250 seconds)07:17
*** rektide <[email protected]> has joined #litex07:18
*** FabM <FabM!~FabM@2a03:d604:103:600:4e51:afaf:57de:c8fc> has joined #litex07:22
_florent_Thanks for sharing somlo, it looks interesting.07:37
_florent_somlo: BTW, I added install configurations support to litex_setup to avoid installing all the CPUs for the standard installation (some of them were pretty large and I don't necessarily want LiteX to competes with Vivado on this :))07:44
_florent_somlo: this is https://github.com/enjoy-digital/litex/commit/a6e2a529dc34292ad665474993d7acad013292fb07:44
_florent_somlo: so for rocket, the full installation is now required (--config=full)07:45
_florent_somlo: and I just updated the linux-on-litex-rocket's README with this: https://github.com/litex-hub/linux-on-litex-rocket/commit/b49d8f86983be96266dd4e204e8309b23e74a05607:46
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has joined #litex08:39
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has quit IRC (Ping timeout: 256 seconds)08:44
*** leons <leons!~leons@2001:470:69fc:105::abc> has joined #litex08:45
leonsIs there any documentation on how to use the LiteDRAM native interface? I'm asking as I managed to build a core which appears to use it correctly (writes and reads work) but it has really awful performance compared to the BIST, so I'm wondering whether I'm doing something entirely wrong08:45
_florent_Hi leons, sorry I indeed need to document it. The BIST provide an example to understand it, but agree it's not enough :) This is basically a simplified AXI with 1 channel for cmds, 1 for writes, 1 for reads.10:24
*** jryans <jryans!~jryans@2001:470:69fc:105::1d> has joined #litex10:24
*** sajattack[m] <sajattack[m]!~sajattack@2001:470:69fc:105::1d9> has joined #litex10:24
*** shoragan[m] <shoragan[m]!~shoraganm@2001:470:69fc:105::39> has joined #litex10:24
*** dcallagh <dcallagh!~dcallagh@2001:470:69fc:105::9c5> has joined #litex10:24
*** david-sawatzke[m <david-sawatzke[m!~david-saw@2001:470:69fc:105::1634> has joined #litex10:25
*** CarlosEDP <CarlosEDP!~carlosedp@2001:470:69fc:105::218e> has joined #litex10:25
*** DerekKozel[m] <DerekKozel[m]!~dkozelgnu@2001:470:69fc:105::2f14> has joined #litex10:25
*** vomoniyi[m] <vomoniyi[m]!~vomoniyig@2001:470:69fc:105::3023> has joined #litex10:25
*** promach[m] <promach[m]!~promach@2001:470:69fc:105::ca1> has joined #litex10:25
*** Las[m] <Las[m]!~lasmatrix@2001:470:69fc:105::74e> has joined #litex10:25
*** jevinskie[m] <jevinskie[m]!~jevinskie@2001:470:69fc:105::bb3> has joined #litex10:25
*** bluecmd <bluecmd!~bluecmd@2001:470:69fc:105::1d44> has joined #litex10:25
*** willcode4[m] <willcode4[m]!~willcode4@2001:470:69fc:105::e1b3> has joined #litex10:25
*** Crofton[m] <Crofton[m]!~croftongn@2001:470:69fc:105::9a7> has joined #litex10:25
*** amstan <amstan!~amstan@2001:470:69fc:105::1e9> has joined #litex10:25
*** a3f <a3f!~a3f@2001:470:69fc:105::41d> has joined #litex10:25
*** CarlFK <CarlFK!~carlfk@2001:470:69fc:105::5d8> has joined #litex10:25
*** nrossi[m] <nrossi[m]!~nrossimat@2001:470:69fc:105::1:4527> has joined #litex10:25
*** mikolajw <mikolajw!~mikolajtc@2001:470:69fc:105::3b02> has joined #litex10:25
_florent_leons: If you can share some code/provide some waveforms, I could try to help10:25
*** donc <donc!~donc@user/donc> has joined #litex10:25
leons_florent_: Thanks! I'm currently trying to investigate and reproduce this with a much simpler design and see where the problem lies10:26
_florent_If anyone here has a Kria KV260 Vision AI Starter Kit taking dust and want to sell it, feel free to contact me. I'm trying to get some to add LiteX support to it and Zynq MPSoC support with ilia__s 10:40
leons_florent_: This is the simplest DRAM benchmark I could come up with :) it's a bit faster than my other code, but still nowhere near reported BIST values10:47
leonshttps://gist.github.com/lschuermann/8e230e57c2a674299aa1a62e5e9b21eb10:47
leonsI'm calculating the effective speed as: bytes_written / cycle_count * (1 / clk_freq) in bytes/s10:48
leonsThis gives me approx. 1.6GiB/s, whereas the BIST shows a write speed of ~6.1GiB/s10:49
*** MoeIcenowy <MoeIcenowy!~MoeIcenow@2604:a880:2:d1::1d1:f001> has quit IRC (Quit: ZNC 1.7.2+deb3 - https://znc.in)11:14
*** MoeIcenowy <MoeIcenowy!~MoeIcenow@2604:a880:2:d1::1d1:f001> has joined #litex11:15
_florent_leons: you have a shared FSM for the control and data paths, which will already reduce efficiency by 50%. For maximum efficiency, you have to decouple the control and data paths. (in one cycle, LiteDRAM can accept the next command and previous write data)11:22
_florent_So you can change this and after this I would recommend looking at the waveform, in simulation with litex_sim --with-sdram or with LiteScope on hardware11:23
leonsflorent: oh, that makes sense!11:23
*** MoeIcenowy <MoeIcenowy!~MoeIcenow@2604:a880:2:d1::1d1:f001> has quit IRC (Quit: ZNC 1.7.2+deb3 - https://znc.in)11:43
*** MoeIcenowy <[email protected]> has joined #litex11:44
leons_florent_: oh wow. I think that just pushed it up to 7.9 GiB/s...? I'll need to validate that, but if that is indeed the case that's amazing :) It does make sense though, I imagine it's way more efficient if it can properly pipeline commands and writes11:45
leonsA more general question, if I have a component which writes a bunch of data to memory and occasionally needs to read a few bytes to search for the next free slot, should I use the same or a different port for writing and reading? Is there any significant resource utilization / performance difference?12:02
_florent_leons: great. From a user perspective, using a different port will probably be easier (Read/Write arbitration/multiplexing will be directly integrated in LiteDRAM)13:04
_florent_leons: I think you are using a relatively large FPGA, so the additional resource usage with this should be negligible (and as said just before, you'll probably use same amount of logic while doing this externally)13:05
leons_florent_: makes sense, thank you!13:08
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has joined #litex13:19
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has quit IRC (Ping timeout: 240 seconds)13:24
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has joined #litex13:38
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has quit IRC (Ping timeout: 256 seconds)13:42
somloflorent: (re. --config=full) -- makes sense, thansk!14:22
somlo_florent_: commit 33024402 (soc: raise an error if adding a SoCRegion with incoherent cache configuration) is killing Rocket builds14:31
somloIt complains that "rom region in io region, it can't be cached: origin: 0x10000000, size: 0x00020000, mode r, cached: true, linker: false"14:32
somloit's' true that I'm accessing the rom as uncacheable through the mmio port, but what's wrong with that, if it works? :)14:33
somlomaybe a warning instead of a flat-out error would be more helpful (unless we want to get fancy with marking regions like e.g. the rom as "cached-optional", which I'm definitely *not* recommending :)14:59
somlo* s/recommending/suggesting/ (still need my morning coffee, don't have the best words yet :D)15:00
somlo_florent_: and I noticed commit #5c278ae4 which fixes the issue by placing "rom" outside the "enforced range" for any of the cached/uncached policies -- thanks!16:00
leonsAre the number of cycles from when a write transaction was accepted (wdata.ready & wdata.valid) to when it is committed to memory known/constant in LiteDRAM, or is there at least an upper bound? 16:41
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Quit: Leaving)17:12
*** donc <donc!~donc@user/donc> has quit IRC (Quit: Client closed)17:34
*** essele <[email protected]> has joined #litex17:36
*** essele_ <[email protected]> has quit IRC (Read error: Connection reset by peer)17:36
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has joined #litex17:40
*** r4d10n <[email protected]> has joined #litex17:45
*** nelgau <nelgau!~nelgau@bras-base-mtrlpq2848w-grc-34-174-89-119-57.dsl.bell.ca> has quit IRC (Ping timeout: 240 seconds)17:45
*** r4d10n[m]1 <r4d10n[m]1!~r4d10nmat@2001:470:69fc:105::1:6255> has joined #litex17:56
*** r4d10n <[email protected]> has quit IRC (Quit: Client closed)18:48
SpaceCoasterI have two devices (flash and psram) on one SPI bus, they have different cs pins. Can I setup the signals to use these both with LiteSPI?19:53
zypit's not currently supported, but there's a draft for it: https://github.com/litex-hub/litespi/pull/5619:56
zypalthough IMO the easiest way to support multiple chip selects would be to simply make cs wider throughout the entire stack20:02
zypthat way the frontends would be responsible for selecting which device they want to talk to and the rest of the stack would just pass it on20:03
zypwhich would allow e.g. a single MMAP frontend to pick device based on the accessed address20:05
SpaceCoasterThanks, I will take a look. Is QSPI working for flash?20:05
zypyes20:05
cr1901somlo: > by placing "rom" outside the "enforced range" for any of the cached/uncached policies20:35
cr1901Wait what, ROM isn't cached anymore?20:35
r4d10n[m]1Hello folks...On Acorn CLE-215+... I was facing issues with loading Linux, with Litex boot getting stuck at Uploading Image file.... 20:36
r4d10n[m]1I just recompiled the bitstream on Vivado 2019.1, flashed it via the PCIe interface... new version bitstream is loaded fine (from the compile time in info header)... 20:38
r4d10n[m]1now there are errors in memtest.... http://pastebin.com/kZjL4nKC... dmesg output: http://pastebin.com/dWhXVxzs20:40
tpbTitle: [ 5145.915729] litepcie 0000:02:00.0: [Removing device][ 5157.578247] pci 0000 - Pastebin.com (at pastebin.com)20:40
r4d10n[m]1Could anyone suggest what I might be doing wrong ?20:42
_florent_cr1901: _franck_ added a check on SoC Regions and we found an inconsitency on Rocket with it20:44
_florent_cr1901: ROM is still cached20:44
_florent_r4d10n[m]1: Hi, that's probably related to the write latency calibration20:45
cr1901ahhh thanks20:45
_florent_r4d10n[m]1: try to set this to False and re-generate the design:20:45
_florent_https://github.com/enjoy-digital/litedram/blob/master/litedram/phy/s7ddrphy.py#L14520:46
_florent_if working, I think I'll disable it on Artix720:46
r4d10n[m]1_florent_: okay... will try right away and get back to you... 20:47
r4d10n[m]1Another issue to report - while compiling buildroot afresh for kernel/rootfs, i got an "Incorrect selection of kernel headers: expected 5.15.x, got 5.14.x"... I had to do a make menuconfig and change the Custom Kernel Headers series to 5.14.x in the Toolchain menu....20:59
r4d10n[m]1_florent_: disabling write latency calibration helped... memtest is now OK... 21:25
r4d10n[m]1however back to the old problem of loading kernel Image.... stuck at 3%... PC also hangs....21:25
_florent_r4d10n[m]1: are you using litex_term in safe mode (--safe)?21:33
r4d10n[m]1_florent_: nope21:34
_florent_r4d10n[m]1: ok, can you try it? (it will be slower but should work)21:35
r4d10n[m]1ok... tryin now... 21:36
r4d10n[m]1one thing i noticed is that when trying to use linux_2021_03_29.zip from the prebuilt bitstreams, upload is going till 11% before getting stuck21:37
r4d10n[m]1_florent_: in safe mode, it has crossed 14% now... very slow... 21:43
r4d10n[m]1my mobo has two m2 slots... on the present slot which has acorn, i think it shares with SATA SSD and hence is reported only to work at x2 in the BIOS... could that sharing be the issue ?21:44
r4d10n[m]1_florent_: that worked ! we have Liftoff and linux has booted... :)22:10
r4d10n[m]1i will try swapping the m2 slots and report updates... thanks for the support22:11
somlo_florent_, cr1901: "rom" is only not cached on Rocket, I should have been more precise, sorry for the false alarm :)22:15
somloand it's now outside the policy enforcement region used in the patch added by _franck_ (but again, only on rocket :)22:19

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