Thursday, 2020-06-11

*** tpb has joined #litex00:00
*** shuffle2 has quit IRC01:10
*** HoloIRCUser1 has joined #litex01:10
*** HoloIRCUser has quit IRC01:12
*** Degi has quit IRC02:30
*** Degi has joined #litex02:32
*** HoloIRCUser has joined #litex03:37
*** HoloIRCUser1 has quit IRC03:39
*** HoloIRCUser1 has joined #litex04:32
*** HoloIRCUser has quit IRC04:35
*** captain_morgan4 has quit IRC04:59
*** captain_morgan4 has joined #litex05:00
*** _florent_ has quit IRC05:38
*** _florent_ has joined #litex05:38
*** _whitelogger has quit IRC06:09
*** _whitelogger has joined #litex06:11
*** kgugala_ has quit IRC06:39
*** kgugala_ has joined #litex06:39
futarisIRCcloudHmm. So the https://github.com/SymbiFlow/symbiflow-examples example for Arty, comes up at 60 MHz, and 115200 baud for the serial port?07:19
tpbTitle: GitHub - SymbiFlow/symbiflow-examples: Examples designs for showing different ways to use SymbiFlow toolchains. (at github.com)07:19
*** kgugala has joined #litex07:41
*** kgugala_ has quit IRC07:44
*** HoloIRCUser has joined #litex07:53
*** HoloIRCUser1 has quit IRC07:55
*** HoloIRCUser1 has joined #litex08:29
*** HoloIRCUser has quit IRC08:33
*** kgugala_ has joined #litex09:37
*** kgugala has quit IRC09:40
futarisIRCcloudHas anyone here tried Linux on Litex on the Arty board in the last few months, and can point me at working revisions etc?09:50
*** Skip has joined #litex11:07
futarisIRCcloudkeesj & daveshah: I hit that bug in openocd (from the distro) for Ubuntu 18.04 LTS today too (on a fresh install). It's why the litex installation instructions recommend installing openocd from source.11:32
*** HoloIRCUser has joined #litex11:39
*** HoloIRCUser1 has quit IRC11:43
*** tucanae47 has quit IRC12:32
*** flammit has quit IRC12:32
*** Claude has quit IRC12:32
*** tucanae47 has joined #litex12:33
*** flammit has joined #litex12:33
*** Claude has joined #litex12:33
*** kgugala has joined #litex12:51
*** kgugala has quit IRC12:53
*** kgugala has joined #litex12:53
*** kgugala_ has quit IRC12:54
_florent_keesj: if you want to avoid lib conflict issues, instead of sourcing manually the Vivado settings, before building your target, you can do: export LITEX_ENV_VIVADO=/opt/Xilinx/Vivado/20XY.X13:04
futarisIRCcloudBuilding latest linux-on-litex-vexriscv with Vivado 2020.113:04
_florent_keesj: the scripts will do the sourcing just before running Vivado, and it will allow you yo use OpenOCD with --load after the build13:04
_florent_keesj: i switched the default programmer to OpenOCD on 7-Series, since a lot faster than Vivado for loading and flashing bitstreams13:05
_florent_but you can still use Vivado programmer:13:06
_florent_from litex.build.xilinx.programmer import VivadoProgrammer13:06
_florent_p = VivadoProgrammer()13:06
_florent_p.load_bitstream("build/arty/gateware/top.bit")13:06
_florent_futarisIRCcloud: i did some test on Arty today with linux-on-litex-vexriscv, i'll share my bitstream13:09
_florent_https://usercontent.irccloud-cdn.com/file/RHuMqMSo/arty_linux_on_litex_vexriscv_serial%2Bethernet.zip13:11
somlo_florent_: as of right now, I can force rocket to boot from sdcard if I hardcode a `return 0;` here: https://github.com/enjoy-digital/litex/blob/master/litex/soc/software/liblitesdcard/spisdcard.c#L27313:12
tpbTitle: litex/spisdcard.c at master · enjoy-digital/litex · GitHub (at github.com)13:12
_florent_futarisIRCcloud: this is the bitstream i tested, but there is only serial+ethernet enabled13:12
somloadding printf statements is tricky, as the routines appear to be called with some weird interleaving pattern, and I get word salad on stdout :)13:12
somloso I'm not quite sure when that function is called and from where, and why it returns STA_NOINIT when it *should* return 013:13
futarisIRCcloudIs there a sdcard PMOD that I can buy that you are using with linux-on-litex-vexriscv ?13:14
_florent_somlo: do you still have the manual init in boot.c?13:14
_florent_futarisIRCcloud: i'm using this one: https://store.digilentinc.com/pmod-microsd-microsd-card-slot/13:15
tpbTitle: Pmod MicroSD: microSD Card Slot - Digilent (at store.digilentinc.com)13:15
_florent_connected on JB13:15
somlo_florent_: no, this is with strictly upstream code (plus/minus the hardcoded `return 0` in disk_status()13:16
somlotried adding printf statements to disk_status() and disk_initialize(), but they get interleaved in weird ways and I couldn't figure out what the actual sequence is, and what happens during disk_initialize13:17
_florent_somlo: can you try to do a disk_initialize here: https://github.com/enjoy-digital/litex/blob/master/litex/soc/software/bios/boot.c#L601?13:19
tpbTitle: litex/boot.c at master · enjoy-digital/litex · GitHub (at github.com)13:19
*** HoloIRCUser1 has joined #litex13:33
*** HoloIRCUser has quit IRC13:36
somlo_florent_: nope, still getting a file read error13:44
somloI'm really ambivalent about the new fat code, btw. Between the weird redefined uint return types, and the non-obvious call tree, it's not much fun to troubleshoot :(13:45
futarisIRCcloudOk. My fresh build of the latest HEAD of linux-on-litex-vexriscv seems to be working on arty. Doing a serial upload of firmware now, at around 86KB/s.13:47
_florent_somlo: FatFs is used on very various embedded systems, it's also used in Barebox13:47
futarisIRCcloudThe LED blink pattern is very pretty.13:47
futarisIRCcloudOk. Single Core linux-on-litex-vexrisv HEAD running 'dhrystone 1000000' at 100MHz gives:13:59
futarisIRCcloudDhrystones per Second:                      40192.913:59
futarisIRCcloud40192.9 / 1757 = 22.8759 DMIPS @ 100 MHz or 0.22 DMIPS/MHz ... Seems a little slower than it should be.14:04
daveshahCould be compiler optimisation related?14:04
*** HoloIRCUser has joined #litex14:31
*** HoloIRCUser1 has quit IRC14:33
keesj_florent_: thanks for the info! I will update my script15:03
futarisIRCcloudAnd running a single core on litex_vexriscv_smp HEAD running 'dhrystone 1000000' at 100MHz gives:15:23
futarisIRCcloudDhrystones per Second:                      71839.115:23
futarisIRCcloudAbout 41 DMIPS @ 100 MHz, or 0.41 DMIPS/MHz.15:24
futarisIRCcloudFour instances on a 4c, gives around 64-65k per core.15:25
futarisIRCcloud150 DMIPS total (roughly)15:27
futarisIRCcloudBiggest difference between the two seems to be Memspeed. Reads at 458 Mbps on smp. Reads at 327 Mbps on single.15:40
_florent_futarisIRCcloud: in the SMP repo, each CPU can have 2 dedicated LiteDRAM native ports whereas in the single repo the CPU is has 2 wishbone interface connected to the main wishbone bus15:47
_florent_futarisIRCcloud: in the SMP repository, are you testing the 4c variant or mp4c?15:47
_florent_futarisIRCcloud: 4c has 2 LiteDRAM ports for the Cluster, while mp4c has 2 LiteDRAM ports per CPU15:48
_florent_futarisIRCcloud: but not sure mp4c is fitting on the Arty15:48
_florent_we still have to make it more resource efficiant15:48
_florent_efficient15:49
felix_wasn't the only limitation of the AXI bus that you aren't allowed to make a processor core that uses the ARM ISA and uses the AXI bus and calls it AXI? IIRC the workaround was to call the bus something else in that one case17:58
FindeI think it was something like that too felix_18:41
*** proteusguy has quit IRC19:57
*** proteusguy has joined #litex20:09
awordnotdoes anybody know why a .vcd waveform produced by migen's run_simulation would produce `state` and `next_state` variables 40-bit wide with seemingly random values in them?20:38
awordnoti'm just using the standard FSM module with 5 states, and I can see the states are ordered sequentially in the outputted verilog20:39
awordnotrunning the simulation with nmigen instead (using the compatibility layer) produces a waveform with valid states. Gonna assume that's a bug in migen then20:52
*** CarlFK has joined #litex21:10
*** captain_morgan48 has joined #litex23:08
*** HoloIRCUser1 has joined #litex23:12
*** HoloIRCUser has quit IRC23:14
*** captain_morgan48 has quit IRC23:38
*** captain_morgan48 has joined #litex23:43
*** captain_morgan48 is now known as captain_morgan23:46
*** captain_morgan4 has quit IRC23:46
futarisIRCcloudhttps://twitter.com/sam210723/status/127099508422637977623:55
*** HoloIRCUser has joined #litex23:56

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