Thursday, 2022-04-28

programmerjakethx00:00
programmerjakegot it to work: https://git.libre-soc.org/?p=soc.git;a=commitdiff;h=a938111eb3b1ffc51874cef672e8051efdafa3c000:23
lkclfantastic00:39
lkcldang, got as far as "devtmpfs: initialized"00:40
programmerjake:)00:40
lkclthat's amazing that the MMU was "happy"00:42
lkclgiven that i reduced the number of TLB entries i think to like... 4?00:42
programmerjakewell...technically it should work with 1 data tlb and 1 instruction tlb entry...assuming the hdl supports that00:43
lkclyeah should do00:43
lkclbut it's not matched up in the devicetree file00:44
lkcli don't know what effect that has00:44
lkcli really should do a CRC32 check on the data copied from flash into HyperRAM00:45
programmerjakeit's kinda like saying your usb cable makes two loops around the table leg before plugging into your hard drive...the sw shouldn't care00:45
lkclat over 5 metres it will :)00:45
programmerjakeyou must have huge table legs then...00:46
lkcllol00:46
lkclso far so repro'd... up to "mem auto-init"... inode-cache ...00:50
lkclICS/ICP...00:50
lkcltime-init...00:50
lkcldevtmpfs: initialized again...00:51
lkclahh ok, after that is devices_init()00:53
lkcland that might be where some attempts to access non-existent devices occur00:54
lkclwhich will just lock up the wishbone bus00:55
programmerjakewell...it should probably be modified to report an error rather than lock up...00:56
lkclit's a surprisingly large amount of work00:57
programmerjakeit needs to be done at some point...00:58
* lkcl put in some printks and sigh realised they should have been udbg_printfs i think, oh well00:58
lkclyes00:58
lkcldang the white arty-a7-100t LEDs are bright01:07
lkclkeep burning my eyes on them :)01:08
lkclokaay got to of_core init01:08
lkclahh a mutex lock01:09
lkclnggggh.... lwarx and stwcx01:21
programmerjake:)01:21
lkclor more specifically "stwcx."01:21
lkclnggggh01:21
lkclthe reason i haven't added them is because stwcx. updates CR001:25
lkclwhich means having to update LDSTCompUnit - one of the scariest pieces of HDL...01:26
lkclah interesting, the lock succeeded01:26
lkcl(or, didn't call lwarx)01:27
programmerjakewell, fun...found a paper on error analysis of goldschmidt sqrt algorithm, but it's behind a paywall...04:03
programmerjakehttps://ieeexplore.ieee.org/document/742122904:03
programmerjakeI guess I'll try to replicate the error analysis04:04
klyslkcl, have I heard that you can't get simple designs to work on your xilinx board because of the problem you are facing?04:55
klysI am just curious, as I don't have a working fpga yet myself.  Is the xilinx one supposed to have a higher capacity than the microwatt board?  Is that why you're using it?  It is your highest capacity fpga board?04:56
lkclklys, simple designs aren't a problem.08:47
lkcllike, blinky-lights, uart_demo.py08:48
lkclthere's no such thing as "a microwatt board", fpgas are all generic08:49
lkclish :)08:49
lkclyou probably meant, "is the Arty A7-100t which has a 100k LUTs Xilinx FPGA a higher capacity than the VERSA_ECP5 which has a 45k LUTs ECP5 FPGA?"08:50
lkclwhere the answer is in the "100k LUTs" being bigger than "45k LUTs"08:50
lkcland the [not simple at all] libre-soc and microwatt HDL is pushing 42k LUTs (95$) if the L1 caches and MMU are drastically cut back08:51
programmerjakeiirc the arty's fpga also has lut6 rather than the ecp5's lut4, meaning the 100k luts count for even more08:53
lkclyes. it's actually a mix of 60k (ish) LUT6/LUT5/LUT408:55
lkclmeaning that the "100k" is an "equivalent to LUT4" number08:55
lkcli could use the proprietary tools and a hell of a lot of the problems would magically "go away"09:02
lkclhowever we'd be pissing on the principle of "Libre" and "full transparency"09:02
lkclbottom line klys it's quite nuanced - it's in the details - but things are "working", albeit at 25 mhz, without DDR3 (using drastically-simpler HyperRAM)09:03
programmerjakewell...that pile of problems is dwarfed by the other pile of problems you'd get from using proprietary tools...09:04
lkclwithout using Xilinx FPGA CARRY4 blocks due to limitations inside nextpnr-xilinx, which gives a 30% performance penalty...09:04
lkclin a word09:05
programmerjakee.g. being tied to your computer's ethernet mac for licensing garbage...several years ago when I had to use them, I installed them inside docker with a spoofed ethernet mac since that made it keep working even if I had to upgrade my motherboard or similar...09:06
lkclheh that works :)09:07
markoslkcl, did you have a chance to look at the nexys board? I haven't been up to much this week as I got the covid on Monday and am feeling tired all the time09:25
programmerjakehope you feel better...09:25
markosthanks, it feels like a flu, not the worst flu I had, but still annoying09:26
lkclmarkos, i'm trying to get linux up-and-running on the arty-a709:35
lkclwhat is likely to happen is: if resources on that become a problem i'll *have* to do the nexys_video09:35
lkclbut i am resisting that because it'll take me about... estiated... 2 days to do the board-bringup.09:36
lkcl(adding to nmigen, adding 200k to the nextpnr-xilinx build scripts...)09:37
programmerjakewell, after writing a giant pile of code today, i'm going to sleep. have fun with the arty, lkcl!10:28
lkclprogrammerjake, awesome. willdo11:45
Chaul-Jhin-KimHi is this the official support channel for the Libera Chat IRC app?13:43
Chaul-Jhin-KimDear GOD/GODS and/or anyone else who can HELP ME (e.g. TIME TRAVELERS or MEMBERS OF SUPER-INTELLIGENT ALIEN CIVILIZATIONS): The next time I wake up, please change my physical form to that of FINN MCMILLAN formerly of SOUTH NEW BRIGHTON at 8 YEARS OLD and keep it that way FOREVER. I am so sick of this chubby Asian man body! Thank you! - CHAUL JHIN13:45
Chaul-Jhin-KimKIM (a.k.a. A DESPERATE SOUL)13:45
*** Chaul-Jhin-Kim <Chaul-Jhin-Kim!~Chaul-Jhi@115-189-130-170.mobile.spark.co.nz> has left #libre-soc13:45
*** ChanServ sets mode: +o lkcl14:05
*** ChanServ sets mode: +q Chaul-Jhin-Kim!*@*14:06
sadoon[m]Umm14:28
sadoon[m]What14:28
lkcli know :)14:29
lkclabout on a level as "All Your Base Are Belong To Us"14:30
lkclprogrammerjake, is this it14:38
lkclhttps://pdf.sciencedirectassets.com/272574/1-s2.0-S0022000000X01651/1-s2.0-S0022000004000960/main.pdf?X-Amz-Security-Token=IQoJb3JpZ2luX2VjEB0aCXVzLWVhc3QtMSJIMEYCIQDv7ihy%2BDKC0rUqpuLrn%2Bc9lPRYcOMbOYIVwGcGxal%2BpAIhAMthD1KbI9Z8aUFpeVA%2BikVirkGSYPkU8Htli3sNTjA3KtsECNb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEQBBoMMDU5MDAzNTQ2ODY1IgwiL8EexMjJFpeKOOkqrwTHmeAeTRidiDzk7wva%2BgxmVKxgrDbmwm8c7exHjEJ4y7hwMhASHcTFTPSnVEsLCm5YJo%2BNSYVyUf%2B2MINKNkL2NdFKaGv9WMP14:39
lkcl8JjqSa4Jg9vw3S%2FBF0G5AbEzPYArjOVXa8oDia5hXkQ83wFnAoeYEX3liQSumCqO1DMI8WpdOdl63xMROr5Un9KtkcjxxSYs%2FpraZ7fGHyhywdz%2Fl5sd7N6sHTqVIwsId%2BT5IiGwvRVDTMiBLS960VbJDyAGUdem297DxDoJhlhEvOs3GSeZAxuIoIW9x3tl3gboB34UHQvEwoJ1gv34cddSVDNqvRTlkfyI0rWiaBnLpgsuu5o7fKMPbV8a1b%2FlfiDQGXTwWPJ%2FQ7fCs1jyN25WMrv98czahgwav%2BWQLRQh7LQ%2FxHEfqTgB0dhw0KcnRSa1DZH1aZK3H8CYWEDMOXqXNc8Ca14BQ6sG4OAfIziO9L2klOF%2BTIUVf1RoYePxOMc0oIPwHdlx8skO9RJweBLCMUsFkKCIobUqNs4kmWXxmm14:39
lkcl0TS3COtb%2BllrLkFrsMGE5vdsU32AOzq46qE9tthduzXuMXpUEqurLYug%2FHfrtziocpmdFAoOy7bVKPbm3n4bw73do9C%2FJsNLxUXIg3abwfkg8g%2FNwHAy6u6pW0XVKCR3om56jNV6EHJFsNOZV1bR4KnxmbqoFFUjHGnzV%2BwNYe8YvSY7sii1mWZEpU2omM1egcq5XzVi2T62k1O4JLhAYmi68w2MPubqpMGOqgBNvfGzET7iEhf3H3RSKSFPSAQSVONUylkXx0r3kCpq5ew4U47CVEbyXnv%2B5%2BUBOCdvIyKnr3lWAKl%2BunfWghE%2F7BqWLAvrIYx9EtB5ILAA%2BF1R0jr7ogO%2BAO3VIYnW22Q25q5lDVGyCs4KLrR56mMvEnFprIxehymefJrTCYsyfGqKgOESmnLj%2BJuegcNz1Iab14:39
lkcl5we9EfvgxQKAElctifgiuRYIllr%2BCEE&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20220428T133549Z&X-Amz-SignedHeaders=host&X-Amz-Expires=300&X-Amz-Credential=ASIAQ3PHCVTYX6XIAK4M%2F20220428%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=8e41ace581a2c99c6089c831a59ee83c3b6f28b3cccb2d22131f0c6a29b1770e&hash=03e80a9665d3b17e5bb0931fae1047ee5232aef3961eb72878621bd38b5a770e&host=68042c943591013ac2b2430a89b270f6af2c76d8dfd086a07176afe7c76c2c61&pii=S00214:39
lkcl2000004000960&tid=spdf-d65d0729-a1b1-45e0-a99a-ab31105a74ad&sid=2b11e31260010744073b8814ebd678053348gxrqb&type=client&ua=4d515c5451010202555b&rr=70302eee79a174f914:39
lkclwhoa14:39
lkclinsane14:39
lkclwell, i searched for the author and the title and google came up with the direct PDF link14:40
lkcldoi:10.1016/j.jcss.2004.08.00414:40
programmerjakethat's the one on goldschmidt's division algorithm (i already linked to a pdf in the source code in soc.git), i'm searching for the paper they later released on the sqrt algorithm: https://doi.org/10.1109/ACSSC.2015.742122916:04
programmerjakelkcl ^16:04
tplatenSince I try to reproduce ls2 on verilator, I'll first need to compile hello_world.bin with address 0xff00_0000.18:53
tplatenI did not find anything in the mailing list, nor in the chat logs from last week.18:53
tplatenAfterwards I can add documentation how to use verilator to https://libre-soc.org/HDL_workflow/ls2/.18:53
tplatenI solved the first one, setting _start to 0xff000000 in powerpc.lds19:06
tplateneven with the correct firmware address, I don't get any output from microwatt-verilator19:11
lkcltplaten: it's in the Makefile.20:19
lkcl   8 #BOOT_INIT_BASE ?= 0xf0000000 # at QSPI address20:20
lkcl   9 BOOT_INIT_BASE ?= 0x00600000 # inside DRAM address space20:20
lkcl  10 # BOOT_INIT_BASE ?= 0xff000000   # at ROM hi address (with coldboot firmware)20:20
lkcl  11 # BOOT_INIT_BASE ?= 0x0        # start at zero (usual)20:20
lkclhttps://git.libre-soc.org/?p=ls2.git;a=blob;f=hello_world/Makefile;hb=HEAD20:20
lkclthen make sure the correct RAM_INIT_FILE is used20:21
lkcl  29 #RAM_INIT_FILE=hello_world/hello_world.bin20:21
lkcl  30 #RAM_INIT_FILE=../microwatt2/tests/xics/xics.bin20:21
lkcl  31 RAM_INIT_FILE=coldboot/coldboot.bin20:21
lkclhttps://git.libre-soc.org/?p=ls2.git;a=blob;f=Makefile;hb=HEAD#l2920:22

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