_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
<somlo> _florent_: re. spi- vs lite- sdcard booting, I added an unconditional return here: https://github.com/enjoy-digital/litex/blob/master/litex/soc/software/bios/boot.c#L589
<tpb> Title: litex/boot.c at master · enjoy-digital/litex · GitHub (at github.com)
<somlo> then I did `mr 0x80000000 0x200` to compare what got loaded from the sdcard via spi- vs lite-
<somlo> and the first 0x200 bytes are the same :)
<somlo> so now I'm back to not knowing why booting with litesdcard hangs at "Liftoff!" whereas booting with spi-sdcard doesn't hang...
<somlo> I actually did have it working with both spi- and lite- before the fatfs switch-over; but now that spi- works with fatfs, litesdcard should too, but doesn't. That's the question currently nagging me...
<somlo> well, doing a `crc 0x80000000 13126480` gets me different values on the boot.bin blob loaded via SPI (d0505b43) vs. litesdcard (f3aefc83)
<somlo> that'd be the same boot.bin blob loaded from the same sdcard... So nothing as obvious as consistently swapped bytes... Maybe it's a failed-by-too-much timing problem, I should try at slower Fmax...
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
<mithro> @benh_ - I've been meaning to reply to your email but just haven't gotten around to it because of the other stuff happening () -- The include "trick" for having two separate modules can be done a large number of different ways -- I *think* it could just be done with a bunch of consts function pointers and the compiler should be able to optimize away the indirection
Skip has quit [Remote host closed the connection]
<benh_> mithro: any reason why the if() would be a problem though ?
<benh_> I would assume on linux-capable SoCs the cost would be negligible compared to the IO
<mithro> @benh_ I less worried about the performance and more worried about certain developers complaining about regmap "infecting" the "nice clean MMIO version" -- It becomes much harder to complain if there is no runtime cost
Degi has quit [Ping timeout: 240 seconds]
Degi has joined #litex
<benh_> mithro: :-)
<benh_> mithro: #including C file is usually frowned upon... there are good reasons to occasionally do it but in this case I suspect it won't fly
<mithro> @benh_ -- I thought I said that I wouldn't suggest we should use that exact implementation -- just something which has the same runtime cost as that -- as I mentioned I'm pretty sure there are multiple ways to make that happen?
<mithro> I'm not good enough in C to get a const function pointer version close to right when typing directly into an email
<benh_> mithro: fundamentally, either we have a runtime cost and a single driver, or no runtime cost and two builds of the driver
<benh_> mithro: now we could build the drivers as some kind of .a and then have two variants provide different accessors and link against it
<benh_> mithro: but I wouldn't even try to do that with the kernel build system
<benh_> mithro: my idea for now is to just have the call into the litex code to "map" the csrs and have the opaque object etc...
<benh_> mithro: but with no conditionals and no regmap path, just direct mmio *for now*
<benh_> and when somebody wants to add regmap, it can be done without modifying the drivers
<benh_> by just updating the map call and the accessors
futarisIRCcloud has joined #litex
kgugala has quit [Ping timeout: 258 seconds]
<keesj_> pretty serious stuff being done using nmigen https://harmoninstruments.com/blog/
<tpb> Title: Harmon Instruments (at harmoninstruments.com)
keesj_ has quit [Quit: leaving]
keesj has joined #litex
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
st-gourichon-fid has quit [Ping timeout: 256 seconds]
CarlFK has quit [Ping timeout: 260 seconds]
CarlFK has joined #litex
CarlFK has quit [Ping timeout: 260 seconds]
st-gourichon-fid has joined #litex
proteusguy has quit [Ping timeout: 256 seconds]
CarlFK has joined #litex
<benh_> _florent_: I was wondering ... would it be realistic to run litedram at 128Mhz instead of 100 ? (so about 1Ghz out of the DRAM)
<benh_> I don't think we would make timing with microwatt at that speed with our current design (we struggle enough at 100) but just curious
<benh_> (it's a nice round divisor of our architected timebase freq which is 512Mhz)
CarlFK has quit [Ping timeout: 256 seconds]
<_florent_> benh_: IIRC 125MHz is working correctly on Arty/Vexriscv, so 128MHz should also work
<_florent_> benh: https://hastebin.com/qigoyequhu.rb (there are some timings violations in the SoC, but the DRAM is working)
<tpb> Title: hastebin (at hastebin.com)
<_florent_> somlo: i also want to get current litesdcard version working but i've not been able to look at it yet. From the tests i did, i also had some data corruption.
proteusguy has joined #litex
st-gourichon-fid has quit [Ping timeout: 244 seconds]
<somlo> _florent_: just for completenes, after dropping FMax to 60MHz (and passing timing in vivado) I still had data corruption with litesdcard, so it wasn't a side effect of failing timing (by *too* much)
<keesj> is there some documentation / example somewhere of creating a hello world c file (possibly reusing the software/* libraries (like the bios)
<keesj> if possible .. I would like to keet it minimal (e.g. include the platform header and .. wire a simple hello world)
st-gourichon-fid has joined #litex
CarlFK has joined #litex
<_florent_> keesj: this should be useful: https://github.com/litex-hub/fpga_101/tree/master/lab004
<tpb> Title: fpga_101/lab004 at master · litex-hub/fpga_101 · GitHub (at github.com)
NickTern has joined #litex
daniellimws_ has quit [*.net *.split]
NickTern has quit [*.net *.split]
NickTern has joined #litex
daniellimws_ has joined #litex
<NickTern> Hello. Can u tell me how i can build litehhyperbus core? at the output I will get a Verilog file and roughly speaking I can use it in my design as an ip? recently started studying litex sorry if the question is simple
futarisIRCcloud has joined #litex
futarisIRCcloud has quit [Changing host]
futarisIRCcloud has joined #litex
leons has quit [Ping timeout: 240 seconds]
xobs has quit [Ping timeout: 260 seconds]
CarlFK[m] has quit [Ping timeout: 240 seconds]
john_k[m]1 has quit [Ping timeout: 240 seconds]
sajattack[m] has quit [Ping timeout: 246 seconds]
nrossi has quit [Ping timeout: 244 seconds]
david-sawatzke[m has quit [Ping timeout: 260 seconds]
disasm[m] has quit [Ping timeout: 260 seconds]
bunnie has quit [Ping timeout: 260 seconds]
fitzsim has joined #litex
NickTern has quit [Remote host closed the connection]
NickTern has joined #litex
NickTern has quit [Remote host closed the connection]
CarlFK has quit [Quit: Leaving.]
david-sawatzke[m has joined #litex
disasm[m] has joined #litex
nrossi has joined #litex
sajattack[m] has joined #litex
CarlFK[m] has joined #litex
john_k[m] has joined #litex
xobs has joined #litex
leons has joined #litex
bunnie has joined #litex
CarlFK has joined #litex
st-gourichon-fid has quit [Ping timeout: 240 seconds]
Skip has joined #litex
Skip has quit [Remote host closed the connection]
tpearson-mobile has joined #litex
<tpearson-mobile> has the Wishbone 32 bit master to 8 bit slave automatic downconverter received any real testing?
<tpearson-mobile> so far I'm seeing some really odd behavior out of it, including only ever getting data from the last byte in a 32-bit master bus word
<tpearson-mobile> I also don't really see a short-circuit if the CPU is doing an 8-bit read, it literally looks like it tries to read 32 bits, one byte at a time, from the slave, then masks off the unwanted bytes?
tpearson-mobile has quit [Remote host closed the connection]
awordnot has quit [Read error: Connection reset by peer]
awordnot has joined #litex