Wednesday, 2019-07-10

*** tpb has joined #litex00:00
*** rohitksingh_work has joined #litex04:55
*** Xark has quit IRC04:56
*** Xark has joined #litex05:01
*** CarlFK has quit IRC06:29
keesjExecuting booted program at 0xc1000000?06:48
keesjshould the load address not be the emulator loaded at 0x2000_000006:48
keesjthe dtb won't... be the one to contain executable code06:49
keesjperaps that the load order is changed based on .. the key order06:53
keesje.g. self.boot_address = self.mem_regions[list(self.mem_regions.keys())[-1]] needs to be changed to return a list of images to load (and not depend the load order based on a key balue)06:54
*** tweakoz has joined #litex06:55
tpbTitle: litex/ at master · enjoy-digital/litex · GitHub (at
*** Dolu1 has joined #litex07:02
Dolu1@daveshah I did some test with increased i$/d$ and it significantly improved the bandwidth, actualy 4KB is i$ and d$ is realy few. In case of you want to try, the max size of for each way is 4 KB.07:04
Dolu1daveshah : also, i will work on allowing the i$/d$ memory bus to be wider than 32 bits.07:05
Dolu1I don't know if there is a way in linux to do a ethernet loopback, this would allow to test the bandwidth with all layers excepted the net driver.07:06
*** Dolu1 has quit IRC07:25
_florent_Dolu: for the improved bandwidth, it's the ethernet bandwidth with your SPI ethernet module?08:16
*** Dolu1 has joined #litex10:16
Dolu1_florent_ : Yes, 4*4 KB i$ + 2*x KB d$ doubled the iperf3 results10:17
Dolu1Also, that's one thing i would like to do, allowing each way to be larger than 4 KB10:18
_florent_Dolu1: ok thanks10:25
*** neonking has quit IRC10:54
*** rohitksingh has joined #litex11:21
*** rohitksingh has quit IRC11:30
*** tweakoz has quit IRC12:08
*** Dolu1 has quit IRC12:12
somlodaveshah: with your ecp5_rocket_versa5g branch rebased on top of yosys #f604aa1, and `synth_ecp5 -abc9 -nowidelut -dsp`, I ran the ecp5versa rocket linux variant builder at 60MHz in a loop12:25
somloit finally passed timing after 10 hours or so, approximately 20 attempts :)12:25
somloI'll get a chance to try it out in a few hours, after I make it into the office12:25
somlogot ethernet and tftp working yesterday, with the no-MMU version, so I'm hopeful :)12:27
somloat 60MHz, like you said12:27
daveshahFor test purposes, you can safely ignore a small timing failure so long as the FPGA is <<85°C (there is about 5% of general pessimism in there anyway)12:28
daveshahI think the TFTP code needs a bit of looking at generally though12:29
daveshahParticularly around lost packets and the like12:29
somloheh, it's the "Unreliable Datagram Protocol" after all :)12:30
*** neonking has joined #litex12:51
*** rohitksingh_work has quit IRC12:54
_florent_daveshah, somlo: yes i need to look at the TFTP issue:
tpbTitle: TFTP transfer bug · Issue #205 · enjoy-digital/litex · GitHub (at
daveshah_florent_: not sure if this is the same issue, that seems to be when file size is a multiple of blocksize13:14
_florent__florent_: ah ok, since it's not easy to reproduce, i'll probably start by looking at the issues with the versa at 50MHz13:19
daveshahIt's really weird13:27
daveshah55MHz seems to work fine (just testing with picorv32 for simplicity)13:27
daveshahat 50MHz not even seeing ARPs in wireshark13:27
_florent_is there a switch between the board and the computer? If not, wireshark should show the packet even if malformed13:38
daveshahNo, I'm on my laptop at the moment so it's just a USB3-Ethernet adapter13:40
daveshahPretty sure I've seen malformed packets with this setup in the past though13:40
daveshahI do see a blinking light on the adapter side port though, so it's definitely trying to send something13:41
_florent_ok, i'll look at that while looking at the others issues with TFTP13:45
daveshahOK, on an old laptop with  a real ethernet port I see some malformed packets14:07
*** CarlFK has joined #litex14:07
*** CarlFK has quit IRC14:21
sorearThis is the “doesn’t work at 50 Mhz” problem?14:27
daveshahI'm thinking it's something that can't keep up, after the CPU14:33
daveshahThe CPU clock frequency is unlikely to be an issue, as if a picorv32 at 55MHz can keep up then rocket at 50MHz should certainly be able to14:34
daveshahBut a lot of Ethernet stuff seems to be in the fixed 125MHz domain, so the problem is in the middle somewhere14:34
*** CarlFK has joined #litex14:38
somlodaveshah: the 60MHz ecp5versa rocket linux variant actually works -- tftp transfer completes, linux boots, busybox prompt, the works14:42
daveshahVery nice!14:42
somloI'm seeing packets in and out over eth0, but udhcpc can't successfully acquire a lease, for some weird reason14:42
somlobut given that tftp completed, it's likely not the "hardware"...14:43
daveshahI didn't try udhcpc, but I did get a ping to work at least14:43
daveshahmanually setting up an ip with ifconfig14:43
somloso, whatever moral support I can provide to have the ecp5_rocket_versa5g branch upstreamed, and -dsp flag supported, I'm all in14:44
somlosadly I'm not qualified to actually *review* the patched :)14:44
daveshahThe DSP work is more of a long-term project that needs exhaustive testing14:44
daveshahgiven the large number of different mapping rules14:44
somloany time you need me to re-test, happy to do so14:44
daveshahThanks, will do14:45
daveshahThere might be some changes to the nextpnr packer at some point to improve packing density, although I'm not sure if that will hurt routeability too much14:45
somlodaveshah: re. udhcpc, it's definitely not the hardware or software -- I can manually configure an IP, and successfully telnet into port 80 :)14:57
*** rohitksingh has joined #litex15:15
somloupdated my instructions at with pointers to the patch, and with the binary top.svf file I managed to build overnight, for whomever wants to play but doesn't have the time to spend looping :)15:18
tpbTitle: A Trustworthy Free/Libre Linux Capable 64bit RISC-V Computer (at
somlonice to actually have a truly Free option, since that's the narrative I'm pusing :D15:18
* somlo heads over to the coffee machine15:20
_florent_daveshah: for the 50MHz ethernet issue, i would put a litescope analyzer on tx_cdc.sink:
tpbTitle: liteeth/ at master · enjoy-digital/liteeth · GitHub (at
_florent_to see if the packet is valid here15:26
_florent_and then same analyzer, but on tx_cdc.source running with eth_tx clock domain15:26
daveshahI'm probably not going to get to this until Tuesday now, but I'd be curious what the recommended route to combining litescope with a soc is? I've only ever seen it used on designs without a CPU before?16:52
*** rohitksingh has quit IRC16:53
*** rohitksingh has joined #litex17:04
*** rohitksingh has quit IRC17:05
*** rohitksingh has joined #litex17:10
*** rohitksingh has quit IRC17:22
*** CarlFK has quit IRC17:26
*** CarlFK has joined #litex18:57
*** CarlFK has quit IRC19:08
*** CarlFK has joined #litex19:08
CarlFKshould this get me a working linux on Arty?
tpbTitle: GitHub - litex-hub/linux-on-litex-vexriscv-prebuilt: Prebuilt bitstreams / linux images for litex-on-litex-vexriscv repository (at
CarlFKLiftoff!  and nothing...21:58
CarlFKI'm giving a talk this Sat on "booting linux on fpga"  which currently is going to be "sorry, doesn't work."21:59
CarlFKI have Arty, Opsis, Atlys, Fomu and something I'm not sure where it came from22:18
CarlFKOpsis would be a good prop "now it boots hdmi2usb, now it boots linux"22:19
CarlFKwoot - built from master, boots on Arty22:40

Generated by 2.13.1 by Marius Gedminas - find it at!