key2 has quit [Read error: Connection reset by peer]
tucanae47_ has quit [Ping timeout: 264 seconds]
_florent_ has quit [Read error: Connection reset by peer]
esden has quit [Read error: Connection reset by peer]
guan has quit [Read error: Connection reset by peer]
alanvgreen has quit [Ping timeout: 268 seconds]
tcal has quit [Read error: Connection reset by peer]
philpax_ has quit [Read error: Connection reset by peer]
sorear has quit [Ping timeout: 250 seconds]
key2 has joined #litex
esden has joined #litex
philpax_ has joined #litex
guan has joined #litex
philpax_ has quit [Ping timeout: 268 seconds]
guan has quit [Ping timeout: 264 seconds]
esden has quit [Ping timeout: 256 seconds]
key2 has quit [Ping timeout: 264 seconds]
gatecat has joined #litex
guan has joined #litex
key2 has joined #litex
philpax_ has joined #litex
esden has joined #litex
tucanae47_ has joined #litex
alanvgreen has joined #litex
mithro has joined #litex
_florent_ has joined #litex
sorear has joined #litex
SMB784 has quit [Remote host closed the connection]
SMB784 has joined #litex
tcal has joined #litex
<SMB784>
I have also tried uploading the verilog files described in sqrl_acorn.tcl from ~/litex/litex-boards/litex_boards/targets/build/sqrl_acorn/gateware to vivado. After synthesis & implementation a bitstream is generated, but it is about 5 times larger than the one generated by running sqrl_acorn.py, and the device isn't recognized by the litepcie kernel module
<SMB784>
so basically I'm pretty much stuck. I just want to be able to create a vivado project that I can add my own custom hardware with the existing litepcie and spi so I can interact with it via pcie and load new bitstreams to it via pcie as well
<SMB784>
if this turns out to just be impossible, maybe I'll jsut have to do it in Migen or something
Degi has quit [Ping timeout: 256 seconds]
Degi has joined #litex
somlo_ has joined #litex
somlo has quit [Ping timeout: 268 seconds]
<SMB784>
alright well that was weird, but i got it working.
<SMB784>
If I run the tcl script in vivado, it generates a bin file of the correct size
<SMB784>
however, if I run each command in the tcl script sequentially in vivado, it gives me a bin file that is about 5 times larger, and that ends up not being recognized by the host system.
<SMB784>
anyway at least now I can modify the design in verilog and add my own flavor to it
<_florent_>
smb784: The LitePCIe generator is intended to be used by users wanting to generate the standalone core and do the integration themselves in their traditional flow (ie users that don't necessarily want to use LiteX for the integration).
<_florent_>
smb784: So this is just generating a verilog code, with a template for the constraints that then need to be adapted to the hardware
<_florent_>
smb784: You then have to do apply the IO constraints/timings constraints as you would do for any other integrated core
<_florent_>
smb784: We also provide the targets in LiteX-Boards using the full LiteX flow and that here are doing the full integration (but not using the standalone verilog core)
<_florent_>
somlo_: nice for OpenSBI/Rocket! We are (slowly) converging between the different Linux projects. Having the patch accepted in OpenSBI will also be useful for Linux-on-LiteX-Vexriscv :)
<sajattack[m]>
somlo: Maybe I should give rocket on acorn another try. I was a bit confused with the boot process though. Does it load over uart like linux-vexriscv or no?
<sajattack[m]>
Or is it too big?
<sajattack[m]>
Can't wait for florent's baseboards to come out :P
key2 has quit [Ping timeout: 256 seconds]
key2 has joined #litex
SMB784 has quit [Remote host closed the connection]
linear_cannon has joined #litex
jeffdi has quit [Remote host closed the connection]
jeffdi has joined #litex
jeffdi has quit [Ping timeout: 260 seconds]
<_florent_>
sajattack[m]: the boot process should be very similar (or at least it would be easy to have it similar). I'll try to look at the serialboot over PCIe, it should be possible to make it a lot faster.
<somlo_>
_florent_: yeah, should hopefully make the platform-specific bits of vexriscv support smaller and more concise...
<somlo_>
sajattack[m]: kernel + initrd + [opensbi | bbl] is somewhere around 17M; I boot from either sdcard or over ethernet (tftp), but see no reason why it shouldn't also work over serial
<somlo_>
note that so far I only got opensbi working with the `full` (i.e., gateware FPU enabled) variant of Rocket -- that means nexys4ddr, nexys video, genesys2, but not ecp5
<somlo_>
since bbl emulates the FPU, but opensbi does not
key2 has quit [Read error: No route to host]
sorear has quit [Ping timeout: 268 seconds]
mithro has quit [Ping timeout: 268 seconds]
philpax_ has quit [Ping timeout: 268 seconds]
guan has quit [Ping timeout: 256 seconds]
alanvgreen has quit [Ping timeout: 268 seconds]
esden has quit [Ping timeout: 268 seconds]
tucanae47__ has joined #litex
gatecat has quit [Ping timeout: 264 seconds]
tucanae47_ has quit [Ping timeout: 268 seconds]
tucanae47__ is now known as tucanae47_
_florent__ has joined #litex
key2 has joined #litex
tcal has quit [Ping timeout: 260 seconds]
_florent_ has quit [Ping timeout: 256 seconds]
_florent__ is now known as _florent_
alanvgreen has joined #litex
sorear has joined #litex
esden has joined #litex
gatecat has joined #litex
tcal has joined #litex
mithro has joined #litex
philpax_ has joined #litex
guan has joined #litex
esden has quit [Ping timeout: 256 seconds]
key2 has quit [Ping timeout: 256 seconds]
alanvgreen has quit [Ping timeout: 256 seconds]
sorear has quit [Ping timeout: 240 seconds]
tucanae47_ has quit [Ping timeout: 250 seconds]
_florent_ has quit [Ping timeout: 264 seconds]
guan has quit [Ping timeout: 240 seconds]
philpax_ has quit [Ping timeout: 240 seconds]
tcal has quit [Ping timeout: 250 seconds]
mithro has quit [Ping timeout: 264 seconds]
gatecat has quit [Ping timeout: 250 seconds]
tucanae47_ has joined #litex
tcal has joined #litex
sorear has joined #litex
mithro has joined #litex
gatecat has joined #litex
jeffdi has joined #litex
esden has joined #litex
alanvgreen has joined #litex
key2 has joined #litex
philpax_ has joined #litex
guan has joined #litex
_florent_ has joined #litex
<sajattack[m]>
it looks like the last time I tried I had the uart address wrong in the dts
<sajattack[m]>
thanks for looking into that florent
<leons>
On UltraScale+ I'm commonly getting setup time violations on the idelayctrl reset line, caused by Vivado trying to make up for hold time. What's weird is that it lists this violation under the async_default path group, but it's not really async: it's from the pll4x_clk to the pll4x_clk. Also, the RST pin of the IDELAYCTRL is an asynchronous reset with a minimum pulse width which we meet through the reset_counter in USPIDELAYCTRL, so setup and hold time
<leons>
really shouldn't matter on that path at all
<leons>
I've worked around this by inserting a false path constraint between the ic_reset signals and the IDELAYCTRL, but that looks like a hack. Anyone have an idea on what could be causing Vivado to view these paths as to be violating timing?
<sajattack[m]>
<sajattack[m]> "it looks like the last time I..." <- do I gave the base uart csr or the xover?
kgugala has joined #litex
SpaceCoaster_ has joined #litex
SpaceCoaster has quit [Ping timeout: 264 seconds]
SpaceCoaster_ is now known as SpaceCoaster
peeps[zen] has joined #litex
peepsalot has quit [Ping timeout: 260 seconds]
SpaceCoaster_ has joined #litex
SpaceCoaster has quit [Ping timeout: 256 seconds]
SpaceCoaster_ is now known as SpaceCoaster
C-Man has joined #litex
<sajattack[m]>
oh shit I got it
<sajattack[m]>
answer: base uart csr
openpowerwtf has joined #litex
cr1901 has quit [Read error: Connection timed out]
<tpb>
Title: cores/a2p: An experimental small core based on VexRiscv, written in Scala - build/litex/litex-1099/master/a2p_cmod7_uarts.py at master - a2p - OpenPOWER Foundation Git System (at git.openpower.foundation)
<openpowerwtf>
that is an experiment, after i was defeated by uarts. i was trying to build a csr array which is a list of all csr addresses and types; i.e. an indirect method to know what was built into gateware
<mithro>
openpowerwtf: Do you have a simple example where you are struggling with two uart instances?
<openpowerwtf>
yes i can comment that out. i don't think it matters.
<mithro>
openpowerwtf: You can't loop over the csrs in the __init__
<openpowerwtf>
i was hoping i could access self.csr before the finalization and set all my reset values. but i see that some csr's aren't in the list at that time.
<mithro>
I'm not sure you mean by "set all my reset values"?
<openpowerwtf>
the directory entries are csr addresses and type field. so they would be initialized with the final csr layout. software would read them to figure out where things like i2c, uart, etc. are based. since i don't think csr locs can be assigned.
<openpowerwtf>
i am not relying on that right now; just messing around
<mithro>
As far as I can see, you will want to do that in `do_finalize`
<mithro>
openpowerwtf: And it would probably be better to just do that in the DTS?
<mithro>
openpowerwtf: If you are able to create a simple example which shows what you are trying to do with multiple uarts then we can help figure out what is going wrong
<openpowerwtf>
ok i will do that one again. i just want to add a uart just like i add i2cmaster, gpio, etc.
<mithro>
openpowerwtf: Yeap, which should be easy and just work -- so I would like to see what you are doing that fails
<openpowerwtf>
should it be a master? seems like not
<tpb>
Title: cores/a2p: An experimental small core based on VexRiscv, written in Scala - a2p - OpenPOWER Foundation Git System (at git.openpower.foundation)
<openpowerwtf>
similar behavior: INFO:SoCCSRHandler:uart_1 CSR allocated at Location 0. but it doesn't show in csr.csv.
<openpowerwtf>
i think neither did as desired. doesn't the second one need the stream to connect it to wishbone?
<mithro>
openpowerwtf: I think you are confusing a "UART" with a "UART to wishbone" bridge
<openpowerwtf>
the second one says SOCCSRHandler allocated both, at locs 0 and 1. but csr_register,ctrl is at fff00800
<mithro>
openpowerwtf: I can't run the script here at the moment, can you paste the complete output of that file I shared?
<openpowerwtf>
yes. but i just noticed that one died because reset address not in defined region. i will try to fix that...
SpaceCoaster_ has joined #litex
SpaceCoaster has quit [Ping timeout: 250 seconds]
SpaceCoaster_ is now known as SpaceCoaster
<openpowerwtf>
ok, i added rom at @0. and now there's a uart_1_phy and uart_1 is at fff00800. so maybe i was just missing the add_csr() for the phy. i will go back and try again.
<mithro>
If you didn't have `with_dynamic_baudrate` then you wouldn't see anything under `uart_1_phy`CSRs
<sajattack[m]>
<somlo_> "note that so far I only got..." <- building full4d for acorn at the moment, looks like it's only 50% utilization
<somlo_>
sajattack[m]: I don't have an acorn, so I wouldn't know what to do with any blobs you might send, sorry; (but great if there's enough room on it!)
<_florent_>
openpowerwtf: are you trying to add a second UART core or a UARTBone core (UARTBone = UART PHY + Bridge to control the SoC from litex_server)?
<sajattack[m]>
do you have instructions for sbi somewhere?