Monday, 2020-09-28

*** tpb has joined #litex00:00
*** jaseg has joined #litex00:02
*** jaseg has quit IRC02:36
*** jaseg has joined #litex02:37
*** Degi has quit IRC02:51
*** Degi has joined #litex02:51
*** acathla has joined #litex07:59
*** acathla has quit IRC08:00
*** acathla has joined #litex08:00
*** jaseg has quit IRC08:27
*** peeps[zen] has joined #litex09:37
*** peepsalot has quit IRC09:37
pepijndevosWhat are named_pc?09:59
pepijndevosSeems all build targets just yeet them at the end of the constraints09:59
*** scientes has quit IRC11:46
*** scientes has joined #litex11:46
pepijndevosuhoh ERROR (RP0002) : The number(31) of BSRAM in the design exceeds the resource limit(26) of current device. And RAM_STYLE maybe the useful user assignment to change the inference result12:06
pepijndevosthat's simple.py12:06
pepijndevosIt apparently has 468K bits of bram, while SoCCore has 0x2000 bytes? So 65536 bits? Yea I can see how that wouldn't fit...12:12
pepijndevoswait no... confusion...12:15
zyp0x2000 is 8kB or 64 kbits12:21
pepijndevosyea so 468K is like 10 times more right... if i'm not completely mad12:23
zypsounds right, yes12:23
pepijndevosMaybe it's using a whole BRAM for every tiny array in there... but hard to tell12:24
pepijndevosI also can't find out what I may do with RAM_STYLE12:24
pepijndevosI get that may cause some things to synth to lutram which sounds great... but how12:25
pepijndevoshurray, I made a bunch of random brams in vexrisc distributed and we'll see... it's veeeery tight13:11
pepijndevosLike, it uses 26 out of 26 brams and if i use one more lutram it runs out of those haha13:14
lkcl_florent_, daveshah: https://libre-soc.org/180nm_Oct2020/2020-09-28_15-02.png14:04
lkcllitex to define the IO pads :)14:05
_florent_lkcl: nice14:33
_florent_pepijndevos: in case you are short on BRAMs, it's possible to remove the ROM and execute directly code from SPI Flash, as it's done for example on the iCEBreaker target (for the same reasons): https://github.com/litex-hub/litex-boards/blob/master/litex_boards/targets/icebreaker.py14:35
tpbTitle: litex-boards/icebreaker.py at master · litex-hub/litex-boards · GitHub (at github.com)14:35
_florent_pepijndevos: but it's easier to start with the ROM in the FPGA when possible14:36
pepijndevosoooh okay :)14:36
pepijndevosand uh... on the ULX3S I have to press the reset button before it goes into lxterm, but on simple.py I don't see anything like a reset button configured, which bits take care of that?14:44
pepijndevosCHASER!!14:47
pepijndevosalso with openfpgaloader... but still gives fail14:48
pepijndevosI'm just stuck at [LXTERM] Starting.... now14:49
_florent_pepijndevos: the second parameter (optional) parameter here should be the reset signal: https://github.com/enjoy-digital/litex/blob/master/litex/boards/targets/simple.py#L3614:54
tpbTitle: litex/simple.py at master · enjoy-digital/litex · GitHub (at github.com)14:54
pepijndevosah ok thanks14:55
_florent_you can use something like: CRG(platform.request(platform.default_clk_name), platform.request("rst))14:55
pepijndevosgetting so cloooose to working soc...14:56
pepijndevosI should probably try the spi flash trick... how do you get the rom into the spi though... I assume that requires some trickery with the programmer.14:57
pepijndevosoops, rst is inverted...14:58
pepijndevosworks!!! now some hello world...15:02
pepijndevosbleg... the fpga_101 expects a common makefile which does not seem to be there15:08
pepijndevosokay I got a binary from icerbreaker examples... but, still no cigar.15:20
pepijndevosWhen I press reset it does the LiteX header, of which the last line is  "BIOS built on Sep 28 2020 17:00:16"15:22
pepijndevosThen nothing.15:22
pepijndevosI've passed the binary with --kernel15:22
_florent_pepijndevos: sorry i'm not sure to understand, do you have the ROM on BRAM? are you able to get the LiteX BIOS working?15:27
pepijndevos_florent_, I now have it in bram with a few things moved to lutram15:28
pepijndevosI'm not sure when the bios is considered "working", it displays an ascii art and some copyright and version info, but does not download the kernel or offer a prompt15:29
_florent_it's not fully working if you are not able to get the prompt15:30
pepijndevosalright, so just "lxterm /dev/ttyUSB0" should get me a prompt right?15:31
_florent_which CPU are you using? VexRiscv? if so could you  try with SERV (this will reduce resource usage and use polling mode for UART)15:31
_florent_yes15:31
pepijndevosYea, I was about to try a different CPU.15:31
pepijndevosMaybe VexRisc doesn't like some of its bits moved to lutram hehe15:31
_florent_ah also, if you change the CPU, be sure to remove your build directory first  :) (IIRC you already had this issue when playing with the ULX3S & Rust)15:35
pepijndevoshaha yea i had exactly this problem again15:35
pepijndevosheyyyy! now the bios works15:36
pepijndevosbut my blinky does not... :((((15:38
lkcl_florent_: one thing that's missing is the SDRAM dqm 0/1 bits15:45
lkclfrom GenSDRPHY15:48
lkclhttps://github.com/enjoy-digital/litedram/blob/master/litedram/phy/gensdrphy.py#L7615:48
tpbTitle: litedram/gensdrphy.py at master · enjoy-digital/litedram · GitHub (at github.com)15:48
pepijndevoswell duh because the blinky has the memory regions all wrong for the icebreaker... okay back to linker land I guess...15:48
pepijndevosI'll see if I can get my Rust HAL to work on it tomorrow or something15:50
pepijndevosAnd then write a proper platform/target. Should I add those to litex or litex-boards?15:50
lkcl_florent_: can those be wired to dfi.p0.wrdata_mask?15:50
_florent_lkcl: i'll have a look15:51
_florent_pepijndevos: are you still using VexRiscv? you can do a PR to litex-boards15:52
lkcli'm guessing this:15:54
lkclhttps://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/litex/florent/ls180soc.py;h=cd8119ebba7ce080cf17a6c147db92edbedd27f5;hb=5b4254bea20b8562872cc94b889fd0e18e0a41e1#l22815:54
tpbTitle: git.libre-soc.org Git - soc.git/blob - src/soc/litex/florent/ls180soc.py (at git.libre-soc.org)15:54
pepijndevos_florent_, no I'm using PicoRV for now. I'll try VexRiscv again once I moved the rom to SPI.15:55
*** yosys-questions has joined #litex16:43
yosys-questionsIs there a way to leverage the use of Xilinx's URAM (UltraRAM) for Ultrascale+ devices?16:45
daveshahA large enough RAM should map automatically17:51
daveshahI've seen this happen with LiteX designs in the past, anyway17:52
*** CarlFK has quit IRC18:10
*** CarlFK has joined #litex18:11
yosys-questionsdaveshah .. Interesting, thanks!18:32
*** yosys-questions has quit IRC19:16
*** _whitelogger has quit IRC21:04
*** _whitelogger has joined #litex21:07
somlohttps://github.com/litex-hub/linux/tree/litex-rocket-rebase now has a more-or-less working litesdcard driver22:50
tpbTitle: GitHub - litex-hub/linux at litex-rocket-rebase (at github.com)22:50
somlostarted with the Antmicro driver, made it portable for 32-bit csr-data-width, fixed sdcard clocking, am generally able to mount and read/write a sdcard22:51
somlomajor remaining wart is that the sdcard must be plugged in during kernel boot, and ejecting and re-inserting it is not currently handled22:52
somlo(although I can see the gateware CD register holding the correct value in the bios, so most likely additional scrubbing of the linux driver is needed)22:53
somloright now the litex_mmc commits are "raw" (reflecting my haphazard hacking of the antmicro starting point). Once I get to the bottom of the card-detect problem, I'll do a clean-up rebase to "hide the sausage-making process" :)22:56
*** lf has quit IRC23:17
*** lf has joined #litex23:18

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