m4ssi has quit [Remote host closed the connection]
kgugala_ has joined #litex
kgugala has quit [Ping timeout: 258 seconds]
st-gourichon-fid has quit [Ping timeout: 272 seconds]
HoloIRCUser1 has quit [Ping timeout: 272 seconds]
atommann_ has quit [Remote host closed the connection]
atommann_ has joined #litex
st-gourichon-fid has joined #litex
st-gourichon-fid has quit [Ping timeout: 256 seconds]
st-gourichon-fid has joined #litex
st-gourichon-f has joined #litex
st-gourichon-fid has quit [Ping timeout: 246 seconds]
kgugala_ has quit [Ping timeout: 256 seconds]
kgugala has joined #litex
<atommann_>
Litex rocks! Linux boots successfully on our board (I name the board LogicField).
<atommann_>
The memtest is not stable now, I reboot the board several times can boot Linux one time.
<atommann_>
The frequency is 100MHz. Later I try lower frequency such as 75MHz.
<atommann_>
I get Memtest OK every time at 75MHz.
<atommann_>
I just test more, well not every time, but much better than before. Still need to learn more.
<_florent_>
atommann_: nice, i could do a review of your Platform/Target if you share it
<atommann_>
OK. Tonight I want to do more tests.
<TMM>
Yay, got the board. I'm just trying to see if everything works and I got a counter :) (small victories) I'm now trying this: https://github.com/antmicro/symbiflow-examples and it appears to maybe work, I have lxterm setup from litex but when I try any speed other than 115200 the serial line gets garbled. The linux-on-litex repository suggests 1e6 for --speed but that seems to not work there. Is that to do with the way symbiflow built the arty
<TMM>
at the current speed loading the linux image is taking a very, very long time
<TMM>
(but it is loading)
<TMM>
hmm, now I'm just seeing "Liftoff!" and not a lot else. The images that came with the demo didn't have a json file so took the one from the other repo. Maybe it's all in the wrong location in ram now
<atommann_>
TMM, do you build everything in linux-on-litex-vexriscv folder with command like ./make.py --board=kc705 --build ?
<atommann_>
Another command for building is: python3 litex-boards/litex_boards/targets/boardname.py --cpu-type vexriscv --build
<atommann_>
And I found the output from these two methods are different.
<atommann_>
I learned the 2nd method in a github issue.
<TMM>
I used the symbiflow Linux example, I didn't build the bits myself
<TMM>
I'll just follow the full instructions instead, see what that gives me
kgugala_ has joined #litex
kgugala has quit [Ping timeout: 272 seconds]
<_florent_>
TMM: sorry i haven't tested personally the symbiflow example so can't help, but following linux-on-litex-vexriscv repository for arty should work (but requires Vivado)
<TMM>
_florent_: is there a way to run linux-on-litex-vexrisc using symbiflow? litex supports it for the arty, right?
<_florent_>
TMM: i think that's possible with the symbiflow tutorial, but haven't tested it. kgugala_ could probably provide more information on this
<TMM>
the symbiflow tutorial doesn't really use litex, it has verilog code that (from my understand of the flow as it is now, which definitely is... rudimentary) got generated by litex
<_florent_>
somlo: i did some changes to the initialization (with the timeout you used, it was taking too long report a fail when the SDCard was not inserted), could you do some tests with the updated init?
<somlo>
build in progress, should have it ready in a few minutes
<_florent_>
somlo: perfect, thanks
<TMM>
_florent_: what's the best way to learn how this all fits together? I found in litex how to tell it to use symbiflow but it appears that the linux-on-litex repo has some vivado command hardcoded in a file that says "# Autogenerated by LiteX / git: 51f2e6ce". So I assume there's some build step that happened on that repo?
kgugala_ has quit [Read error: Connection reset by peer]
<_florent_>
But for Linux on LiteX-Vexriscv, only Vivado is officially supported on 7-Series/ devices. The Symbiflow team did an experimenation with the toolchain, but that's not user ready (at least not fully integrated in LiteX)
<TMM>
_florent_: I don't mind figuring out how all of this works, and see if I can get it to work at all. It seems like a good way to learn how all of the parts move together. I'm really not interested in using a non open source tool for any of my project. And I got an Arty :)
<TMM>
I don't need any of this to 'just work' but now I'm staring at a gigantic pile of software and hardware all of which I know nothing about :)
<_florent_>
TMM: sure i understand, we would be interested in having your help/feedback improving this
<_florent_>
and try to build the Arty target with Symbiflow
<_florent_>
to switch to the Linux SoC, you will first need to get the DDR3 working with symbiflow
<_florent_>
i know this has already been validated, this is not integrated in the LiteX target, feel free to ask questions in the PR about this and why it hasn't been integrated in the initial PR
<TMM>
Alright, I'll first try to run the parts that are already supported and try to go from there
<TMM>
I should be able to build a non-linux soc with litex 'as is' right?
<_florent_>
once you have DDR3 working with Symbiflow, getting the Linux-On-LiteX-Vexriscv SoC working will only be a matter of switching to the SoCLinux class
<_florent_>
yes you should be able to build the Arty target with Symbiflow (adding --toolchain=symbiflow)
<TMM>
OK, I'll see how that's supposed to work then. From what I gathered so far is that I have to write a python script that defines what I want to build and then run that, I think? (I'm sorry I'm trying to find all of these parts and I'm probably asking kind of dumb questions but none of this seems to be for beginners :) I really appreciate your patience with me)
<_florent_>
Yes, you describe your design in python with Migen/LiteX classes/modules, during the build, LiteX will convert the design to verilog and constraints files for the toolchain (basically the files that have been committed to the symbiflow example repository) and it will also run the toolchain for you to produce the bitstream that you will load in the FPGA.
<somlo>
_florent_: sdcardboot fails for me right now (nexys4ddr, rocket)
<somlo>
not sure whether it's the timeout or something else at this point
<somlo>
rebuilding with debug printf's to pinpoint where exactly it thinks it's failing
<TMM>
_florent_: so the boards/targets python scripts are sort of pre-defined sets of components to create an SoC from?
<_florent_>
somlo: ok, don't spend to much time on this, i'll push some changes soon.
<_florent_>
TMM: the board provide the definition of you hardware (IOS, interfaces, clocks, etc...)
<_florent_>
TMM: sorry the platform file
<_florent_>
the target is your design and LiteX provides default targets with a simple SoC (CPU + ROM + SRAM + SDRAM when available + Ethernet, etc...) that you can use as a basis to create something more complex
<TMM>
I'm trying to run './arty.py --build --toolchain=symbiflow' in the 'targets' directory now but symbiflow's synth fails. It does appear that the version of litex I have is older than master, and there's some differences for the symbiflow target as well.
<TMM>
ok, that's probably trying to build something with a dull dram controller etc so that's probably something that's also not supposed to work
<TMM>
or perhaps the default installation instructions give me too old a version of either litex or symbiflow, or both
<somlo>
TMM: IMHO, for a xilinx based board, it'd be worth building some vanilla litex design with *vivado* first, to smoothen the learning curve, before diving into figuring out the additional quirks of doing it with symbiflow
lf has quit [Ping timeout: 244 seconds]
lf has joined #litex
<TMM>
somlo: if I really can't get anything to work at all I'll probably do that. I just don't want to give up straight away :)
<somlo>
_florent_: there are a lot of new `if (something != SD_OK) return 0;` in sdcard_init(), and printfs don't show a consistent one of them failing :(
<somlo>
sometimes it fails at sdcard_all_send_cid(), sometimes it's during sdcard_select_card(rca) -- it's not anything simple, so I'll just wait for your next update before testing again :)
<_florent_>
somlo: ok, i also have issue with the recent changes on the way the clock is generated, i'm looking at this
<somlo>
_florent_: it's all good, thanks for making sdcard awesome! In the mean time, I'm looking into the nitty gritty details of Rocket's slave MMIO (DMA) port
<somlo>
we might need the wishbone UpConverter back, and maybe a wb-slave-to-axi-master conversion (to connect to the axi slave port) -- not sure what's already in there can work bi-directionally
<somlo>
maybe I'll use my vacation days to finally master migen FSMs (since it looks like I'm not going anywhere this summer) :D