*** tpb has joined #timvideos | 00:00 | |
*** mauz555_ has quit IRC | 00:24 | |
mithro | CarlFK: yeap :-) | 01:59 |
---|---|---|
CarlFK | mithro: do you have red/black wire, soldering iron and shrink tubing? | 01:59 |
mithro | No soldering iron | 02:00 |
CarlFK | k, tumbleweed does. (hear that tumbleweed!!) | 02:00 |
CarlFK | mithro: so the only thing I need to order is power connectors? and then spend an afternoon assembling | 02:01 |
mithro | I think we might need stand offs? | 02:01 |
CarlFK | mithro: the case has little ones, and I think taller ones in a bag.. | 02:03 |
mithro | CarlFK: This is for going between the expansion card and the opsis board | 02:09 |
CarlFK | ah, the 90 thing? | 02:09 |
CarlFK | or to support the card | 02:10 |
*** lexano_ has quit IRC | 02:15 | |
*** lexano_ has joined #timvideos | 02:27 | |
mithro | To support the card | 02:27 |
mithro | I'm pretty sure the holes don't quite line up... | 02:27 |
CarlFK | I'm sure this can be solved by a trip to Fry's - I expect to spend a day on this, likely Tues or Wed after NBPy | 02:42 |
tumbleweed | CarlFK: you want a soldering iron? | 03:07 |
cr1901_modern | mithro: Commit 1cac079ef in litex broke vivado builds for me, just FYI :P >> | 03:09 |
cr1901_modern | https://github.com/enjoy-digital/litex/blob/master/litex/build/xilinx/vivado.py#L244-L248 This will ensure if synth_mode != yosys, we error out | 03:10 |
tpb | Title: litex/vivado.py at master · enjoy-digital/litex · GitHub (at github.com) | 03:10 |
CarlFK | tumbleweed: yes. but I have other sources, not sure borrowing yours and having no plan to get it back is a good idea | 03:21 |
cr1901_modern | mithro: When I try to install micropython on arty w/ vexriscv or picorv32, conda is still looking for the "gcc-riscv32-unknown-elf-newlib" binary. | 03:39 |
mithro | cr1901_modern: Hrm.... | 03:39 |
cr1901_modern | Who do you remember running fupy w/ riscv? | 03:39 |
mithro | cr1901_modern: Yes, _florent_ merged my WIP pull request.... | 03:40 |
mithro | Can you fix and I'll merge into LiteX straight away.... | 03:41 |
*** rohitksingh_work has joined #timvideos | 03:41 | |
cr1901_modern | mithro: https://github.com/enjoy-digital/litex/compare/master...cr1901:patch-2 | 03:42 |
tpb | Title: Comparing enjoy-digital:master...cr1901:patch-2 · enjoy-digital/litex · GitHub (at github.com) | 03:42 |
mithro | That is wrong | 03:42 |
mithro | You always need to run vivado no matter the synth mode | 03:43 |
cr1901_modern | mithro: what about this? http://ix.io/1qpV | 03:46 |
mithro | Isn't that what is already there? | 03:47 |
cr1901_modern | No, I removed the OS error | 03:47 |
mithro | Oh, yeah | 03:47 |
cr1901_modern | mithro: Is this fine? https://github.com/enjoy-digital/litex/compare/master...cr1901:patch-3 | 03:49 |
tpb | Title: Comparing enjoy-digital:master...cr1901:patch-3 · enjoy-digital/litex · GitHub (at github.com) | 03:49 |
mithro | Yeap, that looks good to me! | 03:50 |
cr1901_modern | https://github.com/enjoy-digital/litex/pull/121 PR | 03:50 |
tpb | Title: Update vivado.py by cr1901 · Pull Request #121 · enjoy-digital/litex · GitHub (at github.com) | 03:50 |
mithro | cr1901_modern: Merged | 04:00 |
cr1901_modern | thanks | 04:01 |
cr1901_modern | mithro: Yea, even on arty I'm still getting the hardfloat/softfloat mismatch | 04:19 |
cr1901_modern | and multiple definition of _start | 04:19 |
mithro | cr1901_modern: Maybe it was only vexriscv that worked? | 04:20 |
cr1901_modern | I even manually changed the compiler to riscv32-unknown-elf-gcc on a lark and got the same errors | 04:20 |
cr1901_modern | (riscv32-unknown-elf-gcc actually _has_ a newlib impl) | 04:20 |
cr1901_modern | mithro: Actually you're right that micropython _has_ worked on picorv32... daveshah has done it building on mmicko's work | 04:25 |
cr1901_modern | the question is what am I doing wrong? | 04:25 |
cr1901_modern | okay I got a binary that compiles | 04:34 |
cr1901_modern | -nostartfiles needs to be explicitly passed | 04:34 |
mithro | cr1901_modern: Did you test on vexriscv or picorv32? | 04:47 |
cr1901_modern | picorv32 | 04:48 |
cr1901_modern | Yea I have no less than 3 separate PRs that'll need to be merged | 04:48 |
mithro | cr1901_modern: Can you check vexriscv? | 04:48 |
cr1901_modern | because I couldn't boot on ice40_up5k_b_evn at all, I'm trying on Arty | 04:48 |
cr1901_modern | mithro: Not at the moment, I'm kinda swamped | 04:49 |
cr1901_modern | CRC failure when loading micropython, that's good | 04:51 |
mithro | cr1901_modern: I would /really/ check if things are/where working on the arty with vexriscv before I got too far into things | 04:51 |
cr1901_modern | Someone removed flashboot from arty, so I manually put it back in | 04:52 |
cr1901_modern | looks like whatever I added didn't work | 04:52 |
cr1901_modern | mithro: Checksum fail w/ vexriscv too | 05:02 |
cr1901_modern | wonder if endian issue | 05:03 |
mithro | cr1901_modern: Well -- that is good to know that it is failing in both vexriscv and picorv32 | 05:09 |
cr1901_modern | mithro: Manually reversed the file using a bash one-liner and caclulated the crc32 | 05:11 |
cr1901_modern | it matches what the firmware is calculating | 05:11 |
cr1901_modern | so it's an endianness problem | 05:11 |
cr1901_modern | https://unix.stackexchange.com/a/465138 What a useful one liner | 05:11 |
tpb | Title: byte - Is there a oneliner that converts a binary file from little endian to big endian? - Unix & Linux Stack Exchange (at unix.stackexchange.com) | 05:11 |
*** nancy has joined #timvideos | 05:17 | |
cr1901_modern | forcefully making mkmsgimg generate little endian isn't working either | 05:54 |
cr1901_modern | I dare not change the CRC code | 05:54 |
cr1901_modern | it's awful | 05:55 |
*** rohitksingh_wor1 has joined #timvideos | 06:03 | |
*** rohitksingh_work has quit IRC | 06:05 | |
cr1901_modern | Hmm the --little option to mkmscimg doesn't seem to be doing anything | 06:13 |
cr1901_modern | I'm taking a 15 min break to regroup | 06:13 |
*** felix[m] has quit IRC | 06:24 | |
*** nbags[m] has quit IRC | 06:24 | |
*** shivm28[m] has quit IRC | 06:24 | |
*** micolous[m] has quit IRC | 06:24 | |
*** felix[m] has joined #timvideos | 06:28 | |
*** shivm28[m] has joined #timvideos | 06:28 | |
*** nbags[m] has joined #timvideos | 06:28 | |
*** micolous[m] has joined #timvideos | 06:30 | |
*** rqou has quit IRC | 06:39 | |
*** rqou has joined #timvideos | 06:40 | |
*** futarisIRCcloud has joined #timvideos | 06:40 | |
futarisIRCcloud | https://twitter.com/ico_TC/status/1053620435726856193 | 06:42 |
futarisIRCcloud | https://twitter.com/enjoy_digital/status/1056932704376242179 | 06:43 |
futarisIRCcloud | https://www.digikey.com/product-detail/en/lattice-semiconductor-corporation/LFE5UM5G-85F-EVN/220-2197-ND/9553907 | 06:50 |
tpb | Title: LFE5UM5G-85F-EVN Lattice Semiconductor Corporation | Development Boards, Kits, Programmers | DigiKey (at www.digikey.com) | 06:50 |
futarisIRCcloud | https://www.digikey.com/product-detail/en/lattice-semiconductor-corporation/LFE5UM-45F-VERSA-EVN/220-1963-ND/5222128 | 06:51 |
tpb | Title: LFE5UM-45F-VERSA-EVN Lattice Semiconductor Corporation | Development Boards, Kits, Programmers | DigiKey (at www.digikey.com) | 06:51 |
*** sb0 has joined #timvideos | 07:09 | |
cr1901_modern | okay, somehow the image that's being written to the arty != what the FPGA is actually loading | 07:12 |
cr1901_modern | I have no idea how this is possible, but it's the observed behavior | 07:12 |
cr1901_modern | (Clearly this means I'm missing something lol) | 07:17 |
cr1901_modern | Figured out what I was missing... also I _think_ I figured out why picorv32 wasn't booting on ice40_up5k... | 07:31 |
cr1901_modern | I forgot; the BIOS is embedded in the gateware for most targets | 07:31 |
cr1901_modern | _florent_: Have you ever successfully flash booted using vexriscv or picorv32 in litex-buildenv? | 07:51 |
cr1901_modern | doesn't need to be micropython; I just mean the default firmware | 07:55 |
_florent_ | cr1901_modern: no, i only tested with integrated bios | 08:14 |
cr1901_modern | _florent_: Okay, cool. I suspect there's a nasty bug that's preventing flash boot from working | 08:15 |
cr1901_modern | i.e. I don't think the SPI core knows how to handle little endian bus | 08:15 |
_florent_ | cr1901_modern: ah possible | 08:16 |
_florent_ | cr1901_modern: but it should work if you swap the written data no? | 08:17 |
cr1901_modern | _florent_: Yes, but you don't know ahead of time whether the BIOS will be in an FPGA block RAM (where a swap isn't needed) or SPI flash (where a swap will be needed). | 08:20 |
cr1901_modern | I supposed for the firmware payload, that's an acceptable solution though. | 08:22 |
*** nancy has quit IRC | 08:23 | |
cr1901_modern | _florent_: objcopy has a --reverse-bytes option specifically for this. I guess I'll just use that. | 08:24 |
cr1901_modern | Actually no, --reverse-bytes won't work specifically because of the BIOS, which is always execute-in-place, but can either be executed from block RAM or from SPI flash | 08:28 |
cr1901_modern | _florent_: I still think the best solution is to add a little_endian boolean to the SPI flash controller | 08:29 |
cr1901_modern | it should be simple enough to impl | 08:29 |
*** futarisIRCcloud has quit IRC | 09:00 | |
_florent_ | cr1901_modern: https://github.com/enjoy-digital/litex/commit/468780c045da1222290bde69496852d5d3ee6e43 | 09:27 |
tpb | Title: soc/cores/spi_flash: add endianness parameter · enjoy-digital/litex@468780c · GitHub (at github.com) | 09:27 |
cr1901_modern | _florent_: Thanks, gonna steal this for the version already in litex-buildenv | 09:28 |
cr1901_modern | I assume reverse_bytes just does a Cat in opposite order? | 09:28 |
cr1901_modern | _florent_: Btw, does project trellis' install directory really default to /opt? | 09:30 |
_florent_ | cr1901_modern: no, thanks: https://github.com/enjoy-digital/litex/commit/e9d4c882bac98d9d157371d8db4d94b4903d043e | 09:35 |
tpb | Title: build/lattice/prjtrellis: fix default toolchain_path · enjoy-digital/litex@e9d4c88 · GitHub (at github.com) | 09:35 |
cr1901_modern | _florent_: I'm asking mainly b/c I noticed you're using the same format as I do for the icestorm backend | 09:35 |
cr1901_modern | I don't even bother w/ toolchain path, tbh; I ignore it and expect users to have icestorm on the path | 09:36 |
cr1901_modern | Is that compatible with the trellis backend's behavior currently? | 09:36 |
*** futarisIRCcloud has joined #timvideos | 09:41 | |
futarisIRCcloud | https://github.com/blue-oil/blueoil | 09:42 |
tpb | Title: GitHub - blue-oil/blueoil: Bring Deep Learning to small devices (at github.com) | 09:42 |
*** mauz555 has joined #timvideos | 09:54 | |
cr1901_modern | Gah, now we get to micropython boot, but it crashes... | 09:56 |
cr1901_modern | progress at least... | 09:56 |
cr1901_modern | Both vexriscv and picorv32 crash shortly after boot... hrm | 10:05 |
daveshah | cr1901_modern: I've seen that before with micropython if the standard library is the wrong ISA variant | 10:07 |
cr1901_modern | Then it shouldn't have linked, correct? | 10:08 |
cr1901_modern | anyways its a rv32im | 10:08 |
daveshah | No, unfortunately it's not caught - even if the arch is specified correctly | 10:08 |
daveshah | are you sure the stdlib isn't a c variant? | 10:08 |
daveshah | this would cause a crash after boot, as the initial boot messages don't need the library | 10:09 |
cr1901_modern | No, I'm not sure | 10:09 |
cr1901_modern | How could I find out... would readelf help? | 10:09 |
daveshah | objdump -d and look for 16-bit instructions? | 10:10 |
* cr1901_modern will do this in a sec | 10:11 | |
daveshah | readelf on the std libraries should tell you too | 10:11 |
daveshah | I see "0x1, RVC, soft-float ABI" in flags for a rv32ic lib | 10:11 |
cr1901_modern | flags: 0 | 10:16 |
cr1901_modern | oh for micropython | 10:16 |
cr1901_modern | daveshah: Which library did you check? | 10:18 |
cr1901_modern | All of these say double-float ABI | 10:18 |
daveshah | I was looking at libstdc++ just randomly | 10:18 |
daveshah | can you put the full readelf somewhere? | 10:18 |
cr1901_modern | http://ix.io/1qra | 10:21 |
daveshah | flags 0x0 looks fine to me | 10:23 |
cr1901_modern | I don't see any indication of compressed insns | 10:23 |
cr1901_modern | This is likely gonna be yet another a "f*** you, I'm gonna make your life hard for no reason" crash. | 10:24 |
cr1901_modern | daveshah: Btw, micropython crashes _during_ the banner | 10:29 |
daveshah | ah, not stdlib related then | 10:30 |
daveshah | the crash i had with that issue was immediately after the banner | 10:30 |
cr1901_modern | I am starting to get tired/make "obvious" mistakes. Such as "forgetting to swap endianness when reading from SPI flash" | 10:31 |
cr1901_modern | Well this is discouraging after 8 hours, neither board boots micropython, and I spent prob 3 hours of that dealing with endianness bullshit | 10:37 |
cr1901_modern | Hell I can't even get the stub firmware to boot on ice40_up5k_b_evn | 10:40 |
cr1901_modern | daveshah: What were your picorv32 params you used to boot micropython on ice40? | 10:42 |
daveshah | cr1901_modern: various | 10:42 |
daveshah | let me find the original repo though | 10:42 |
daveshah | https://github.com/mmicko/micropython/blob/master/ports/picorv32/rtl/picosoc.v#L115 | 10:42 |
tpb | Title: micropython/picosoc.v at master · mmicko/micropython · GitHub (at github.com) | 10:43 |
cr1901_modern | Okay, now there's UART activity; we get to a newline before crashing | 10:45 |
cr1901_modern | bleh... | 10:45 |
*** tvCommitBot has joined #timvideos | 10:47 | |
*** tvCommitBot has left #timvideos | 10:47 | |
cr1901_modern | daveshah: At least for the SPI flash boot I found something wrong | 10:51 |
cr1901_modern | .PROGADDR_RESET(30'd537001984) | 10:52 |
cr1901_modern | This doesn't do what I think it does | 10:52 |
daveshah | what do you mean? | 10:53 |
cr1901_modern | 537001984 in hex is 0x20020000. I need to strip the bottom two bits | 10:53 |
daveshah | yes, riscv is byte addressed | 10:53 |
cr1901_modern | you mean word addressed? | 10:54 |
daveshah | no, the address refers to byte locations | 10:54 |
daveshah | so the last two bits of the address are ignored in most cases | 10:54 |
cr1901_modern | Oh damnit, nevermind... | 10:55 |
cr1901_modern | this isn't gonna work either | 10:55 |
cr1901_modern | I'm out of ideas for tonight | 10:55 |
nrossi | oh icestorm is at 666 commits... its almost 31st... coincidence??? spooky :P | 10:57 |
cr1901_modern | mithro: Ngl, getting this done by Thursday is looking pretty bleak right now. Just cascade of problem (SPI flash didn't support little endian) after problem (both RV CPUs crash when booting micropython on arty) after problem (can't even get the LiteX banner to show up on ice40_up5k even _after_ correcting for the SPI flash endianness) | 10:57 |
cr1901_modern | I've been at this 8 hours now, I need to break | 10:58 |
cr1901_modern | Next step I guess is to do post-synth sim | 10:59 |
cr1901_modern | Which I already know is going to show no problems because it never does | 11:00 |
*** futarisIRCcloud has quit IRC | 12:00 | |
*** rohitksingh_wor1 has quit IRC | 12:41 | |
*** lexano__ has joined #timvideos | 13:13 | |
*** lexano_ has quit IRC | 13:17 | |
*** rohitksingh has joined #timvideos | 13:57 | |
*** mauz555 has quit IRC | 15:53 | |
*** mauz555 has joined #timvideos | 15:54 | |
*** mauz555_ has joined #timvideos | 16:05 | |
*** mauz555 has quit IRC | 16:08 | |
*** rohitksingh has quit IRC | 16:52 | |
*** rohitksingh has joined #timvideos | 17:17 | |
*** mauz555_ has quit IRC | 18:07 | |
*** mauz555 has joined #timvideos | 18:08 | |
*** mauz555 has quit IRC | 18:18 | |
*** mauz555 has joined #timvideos | 18:26 | |
*** samsagaz has joined #timvideos | 18:41 | |
*** lexano__ is now known as lexano | 20:53 | |
*** mauz555 has quit IRC | 21:10 | |
*** mauz555 has joined #timvideos | 21:11 | |
*** mauz555_ has joined #timvideos | 21:16 | |
*** mauz555_ has joined #timvideos | 21:17 | |
*** mauz555_ has joined #timvideos | 21:17 | |
*** mauz555 has quit IRC | 21:19 | |
*** mauz555_ has quit IRC | 21:26 | |
*** mauz555 has joined #timvideos | 21:29 | |
*** Kripton has quit IRC | 21:47 | |
*** Kripton has joined #timvideos | 21:58 | |
cr1901_modern | mithro: icebreaker arrived. Still trying to get _any_ riscv to boot to micropython. XIP on ice40 targets isn't working at all; arty BIOS works, but micropython boot crashes | 22:15 |
mithro | cr1901_modern: Poke Ewen | 23:52 |
mithro | cr1901_modern: Got pull requests for icebreaker as a lm32 + micropython target? | 23:54 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!