<Guest929>
I am new to FPGA, i don't have single-chip-computer, windows system, only have tools like docker / multipass / qemu, is liteX a good choice to me?
<Guest929>
I just need some guidance on how to set-up env and software simulator for users not having physical chips
<tpw_rules>
depends what brand of FPGAs. the open source stuff is pretty straightforward to get going
Brinx has quit [Remote host closed the connection]
Brinx has joined #litex
Brinx has quit [Ping timeout: 252 seconds]
Brinx has joined #litex
indy has quit [Ping timeout: 264 seconds]
indy has joined #litex
<somlo>
something's wrong with `litex-hub/pythondata-software-picolibc`: when I try to update (`git submodule update --recursive`) or clone from scratch (`git clone --recursive ...`) I get the following error: "fatal: remote error: upload-pack: not our ref 580d4f13de47a3eaf66f10cfc8537721b21dfc31; Errors during submodule fetch: pythondata_software_picolibc/data"
shenchen has joined #litex
<shenchen>
Is it possible to have Liteeth's HW and SW interface work at the same time? should HW and SW interface have different MAC address, and different IP?
<leons>
Yes, that should be possible. LiteEth contains a built-in Xbar which allows this and provides you with a port in your HW design extracting / inserting traffic at your desired layer of abstraction (Ethernet / IP / UDP-Port)
<leons>
Not entirely sure about whether LiteEth will then also use the ARP core for your HW stack, assuming you have a different IP and MAC. That should be relatively simple to hack in though.
<shenchen>
when i tried this last night, i assign the same MAC and IP address to the LiteEthUDPIPCore and the software interface. Booting from the software interface (via tftp) stops working. When I remove the hardware UDPIP core, tftp booting works again.
<shenchen>
i was pretty puzzled by this. now that i'm typing the question, i start to think that perhaps SW and HW interface should use different MAC address.
<leons>
Which tap are you using to extract traffic into the fabric? If you’re matching on the MAC address in the Ethernet layer or IP address in the IP layer, then the software won’t see any traffic
<leons>
If they should share MAC / MAC+IP, then you’d need a more intricate mechanism to detect which traffic should go where, or just divert UDP traffic to/from a specific port
<shenchen>
hmm. let me check the C code that monitors the TAP
<leons>
Ah, I was referring to a TAP in the sense of a hardware crossbar port.
Brinx has quit [Remote host closed the connection]
Brinx has joined #litex
Brinx has quit [Ping timeout: 268 seconds]
Brinx has joined #litex
Brinx has quit [Remote host closed the connection]
Brinx has joined #litex
<shenchen>
leons, LiteEthMAC.__init__() has an argument `interface'. it seems that in order to have HW and SW interfaces at the same time, one should set interface='hybrid'
Brinx has quit [Ping timeout: 268 seconds]
<shenchen>
however, in soc.py LiteXSoc.add_ethernet(), ethmac is constructed with interface='wishbone'
<somlo>
btw, failing to `git submodule update --recursive` in pythondata-software-picolibc isn't a dealbreaker -- I can still build against whatever was already in there; however, if I had to `git clone --recursive` and failed, I wouldn't be able to use the result to build the litex bios
<somlo>
(I fortunately had a backup I could revert to)
<somlo>
not sure who's in charge of pythondata-software-picolibc on litex-hub, maybe mithro?
<mithro>
Hi?
<mithro>
Can you log a bug?
<somlo>
pythondata-software-picolibc itself doesn't have an "issues" tab, so where do you recommend I post it (litex?)
<somlo>
or do you rather mean the upstream picolibc repo itself? (I'm doing a recursive clone right now to check if the bug shows up there as well)
<somlo>
tpw_rules: if it *did* have a force push, shouldn't I be able to do a recursive clone *from scratch* without it erroring out (on the same nonexistent commit ID)?
<tpw_rules>
no because you cloned the picolibc repo there
<tpw_rules>
the pythondata-software-picolibc's submodule for picolibc points to a nonexistent commit
<tpw_rules>
(and mysteriously the hash in the commit message does not match the hash of the submodule, so maybe this is a bot bug)
shenchen has quit [Remote host closed the connection]
shenchen_ has quit [Ping timeout: 252 seconds]
vup has joined #litex
anuejn has joined #litex
shenchen has joined #litex
Tari has joined #litex
<Tari>
Can somebody explain to me how you're meant to get a console for a simulated soc?
<Tari>
if I run `litex_sim` it spins up a simulator which is clearly running because it's using a lot of CPU but I can't tell how to see any of the output I'd expect on the UART console
<Tari>
I've kind of gleaned from assorted searching that one way to do this is to attach an etherbone bridge and go through `litex_server`
<Tari>
but the documentation only seems to mention that you can run `litex_sim` and then says to attach a console to your board's serial port with no mention of the equivalent operation for simulation