_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
HoloIRCUser1 has joined #litex
HoloIRCUser2 has joined #litex
HoloIRCUser1 has quit [Read error: Connection reset by peer]
Degi has quit [Ping timeout: 246 seconds]
Degi has joined #litex
HoloIRCUser has quit [Ping timeout: 246 seconds]
peepsalot has quit [Read error: Connection reset by peer]
peepsalot has joined #litex
Degi has quit [*.net *.split]
HoloIRCUser2 has quit [*.net *.split]
tucanae47 has quit [*.net *.split]
_whitelogger has joined #litex
tnt has joined #litex
futarisIRCcloud has quit [Ping timeout: 244 seconds]
mithro has quit [Ping timeout: 260 seconds]
nrossi has joined #litex
daddesio has joined #litex
kgugala has joined #litex
mntmn has joined #litex
anuejn has joined #litex
trabucayre has joined #litex
keesj has joined #litex
somlo has joined #litex
miek has joined #litex
palmer has joined #litex
tumbleweed has joined #litex
tpb has joined #litex
loxodes has joined #litex
indy has joined #litex
npcomp has joined #litex
levi has joined #litex
gruetzkopf has joined #litex
the_JinX has joined #litex
key2 has joined #litex
_florent_ has joined #litex
Claude has joined #litex
flammit has joined #litex
spacekookie has joined #litex
esden has joined #litex
esden has joined #litex
esden has quit [Changing host]
awordnot has joined #litex
CarlFK has joined #litex
goran-mahovlic has joined #litex
simeonm has joined #litex
mithro has joined #litex
futarisIRCcloud has joined #litex
jaseg has quit [Ping timeout: 260 seconds]
jaseg has joined #litex
CarlFK[m] has joined #litex
disasm[m] has joined #litex
sajattack[m] has joined #litex
leons has joined #litex
simeon[m] has joined #litex
david-sawatzke[m has joined #litex
xobs has joined #litex
levi has quit [Quit: Connection closed for inactivity]
m4ssi has joined #litex
<awygle> does LiteDRAM with the Wishbone frontend use the pipelined mode, or the cti/bte registered mode, or the "classic" mode? or does it care?
HoloIRCUser has joined #litex
HoloIRCUser2 has quit [Ping timeout: 246 seconds]
mibus[m] has joined #litex
m4ssi has quit [Remote host closed the connection]
mibus has joined #litex
mibus has quit [Client Quit]
_whitelogger has joined #litex
<_florent_> awygle: currently it's using the classic mode (since it was not a bottleneck with the CPUs supported initially and since we are using the native ports when high throughput is required for DMAs), but we are planning to support pipelined mode in the near future since there are a few cases were it would be useful and would simplify things.
HoloIRCUser has quit [Read error: Connection reset by peer]
HoloIRCUser has joined #litex
<awygle> _florent_: do you know how you will use the pipelined mode with the inherently bursty DRAM? it seemed to me that cti/bte would be a better match
<awygle> but it does seem that pipelined mode is much more commonly used so if there is a way to make it work that would be nice
HoloIRCUser is now known as dasdgw
<_florent_> LiteDRAM's native interfaces already support bursts (the native interface will aggregate accesses to the DRAM when possible), so supporting Wishbone pipelined will mostly consist or revisiting the Wishbone frontend that convert Wishbone to LiteDRAM's native interface. I'm not well aware of the Wishbone specification regarding bursts, but we have a current need for it with VexRiscv SMP DMA interface, so will have a
<_florent_> closer look.
<awygle> All right, thank you
kgugala_ has joined #litex
<tnt> awygle: having distinct address can actually be nice fro DRAM because despite burts, you can still do random access within columns as part of the same burst.
<tnt> so you can do things like 0 1 2 3 16 17 18 19 in a single burst for instance
kgugala has quit [Ping timeout: 256 seconds]
kgugala_ has quit [Read error: Connection reset by peer]
kgugala has joined #litex
_whitelogger has joined #litex
kgugala has quit [Ping timeout: 240 seconds]
<awygle> the problem is there's no way of knowing when the "burst" is over with pipelined wishbone. so you either must require all transactions be a full burst or not support bursts at all. unless I misunderstand the spec.
kgugala has joined #litex
kgugala_ has quit [Ping timeout: 256 seconds]
<SpaceCoaster> When I use etherbone I set sys_clk_freq to 125e6 but then my sdram doesn’t work :-) The code is https://github.com/derekmulcahy/litespi/blob/ecp5_and_colorlight/examples/colorlight.py
<tpb> Title: litespi/colorlight.py at ecp5_and_colorlight · derekmulcahy/litespi · GitHub (at github.com)
<SpaceCoaster> I guess I need separate clocks for cpu/Ethernet/sdram. Is this possible and is there an example. Thanks.
<zyp> IIRC the sys clock and ethernet phy clocks are already separate, I believe the sys clock just needs to be fast enough to keep up with the phy block
<_florent_> SpaceCoaster: with recent changes, it's not longer requires for the sys_clk to be >= 125MHz to use Etherbone
<zyp> _florent_, ah, the data path width stuff is merged now?
m4ssi has joined #litex
<_florent_> zyp: not yet, the mac/ip/udp layers will still work at 125MHz but Etherbone that is already using a 32-bit data path can run with a lower clock (should work down to 31.25MHz)
<SpaceCoaster> Well that worked! Is there a way to tweak the sdram clock this board has 200 MHz sdram chips and I was wondering if 139 Mbps writes and 115 Mbps reads is the limit.
<_florent_> SpaceCoaster: Ah great!
<_florent_> SpaceCoaster: we indeed currently working on a 1:2 PHY that will allow dram_clk = 2xsys_clk
<SpaceCoaster> BTW I am assuming Mbps is mega BYTES per second
<_florent_> SpaceCoaster: this has already been validated on some boards (Minispartan6 with 80MHz sys_clk/160MHz sdram_clk, DE10Nano with 50/100MHz), but we need to do more testing and also validate this on ECP5 boards
<_florent_> SpaceCoaster: no, this is bits per second, this is not really the DRAM speed, but the speed seen by the CPU, which is currently limited by the softcore/wishbone bus
<_florent_> SpaceCoaster: the real DRAM speed that you could have with a DMA is a lot higher
<_florent_> SpaceCoaster: basically for a SDRAM: number of data bits * freq * 80-90% efficiency if you use simple access patterns (incrementing address).
<SpaceCoaster> Thanks that makes sense.
<SpaceCoaster> I noticed that the spi flash speed with LiteSPI is 1/4 of the cpu speed. Is that configurable?
<SpaceCoaster> Or is that the same deal as for the sdram? Is it the speed seen by the CPU?
kgugala_ has joined #litex
kgugala has quit [Ping timeout: 240 seconds]
<_florent_> SpaceCoaster: i would need to check, but that's also probably the speed seen by the CPU
st-gourichon-fid has joined #litex
m4ssi has quit [Remote host closed the connection]
<SpaceCoaster> _florent_: I have a firmware library for accessing the flash and a RemoteClient app for doing the same. Does the LiteX ecosystem have a place for peripheral libraries and examples?
kgugala has joined #litex
kgugala_ has quit [Ping timeout: 256 seconds]
<SpaceCoaster> Dumb stuff like read/erase/write but it is useful as documentation.
HoloIRCUser has joined #litex
dasdgw has quit [Read error: No route to host]
HoloIRCUser1 has joined #litex
HoloIRCUser has quit [Read error: Connection reset by peer]
HoloIRCUser has joined #litex
HoloIRCUser1 has quit [Read error: Connection reset by peer]
HoloIRCUser has quit [Read error: Connection reset by peer]
HoloIRCUser1 has joined #litex
HoloIRCUser1 has quit [Read error: Connection reset by peer]
HoloIRCUser has joined #litex
HoloIRCUser1 has joined #litex
HoloIRCUser has quit [Read error: Connection reset by peer]
<_florent_> SpaceCoaster: nice, that would be useful. In a first time if you host it somewhere, we could add a link to it in https://github.com/enjoy-digital/litex/wiki/Tutorials-Resources#useful-resources
<tpb> Title: Tutorials Resources · enjoy-digital/litex Wiki · GitHub (at github.com)
<_florent_> SpaceCoaster: and later it could make sense indeed to have a place for these kind if examples, the main issue is to maintain them :)
kgugala_ has joined #litex
kgugala has quit [Ping timeout: 256 seconds]
HoloIRCUser1 has quit [Read error: Connection reset by peer]
HoloIRCUser has joined #litex
st-gourichon-fid has quit [Ping timeout: 260 seconds]
_whitelogger has joined #litex
lf has quit [Ping timeout: 244 seconds]
lf has joined #litex