Monday, 2020-04-13

*** tpb has joined #litex00:00
*** rohitksingh has quit IRC00:28
*** Degi_ has joined #litex00:28
*** Degi has quit IRC00:31
*** Degi_ is now known as Degi00:31
*** CarlFK has quit IRC00:43
*** CarlFK has joined #litex01:18
*** gregdavill has joined #litex01:37
gregdavillAre there any examples of adding a second CSRBank to a SoC?01:40
*** Skip has quit IRC01:41
gregdavillI think I've got it working correctly, but now I'm wanting to tidy up the implementation.01:41
gregdavillI'm essentially creating a new CSR bus, and passing the address/data signals through a clock domain via an AsyncFIFO.01:43
gregdavillThis is specifically for operating valentyusb.eptri 12MHz, from a CPU that's running at 48-72MHz.01:44
*** FFY00 has quit IRC05:16
*** FFY00 has joined #litex05:17
*** rohitksingh has joined #litex06:05
*** CarlFK has quit IRC07:27
_florent_gregdavill: for second CSRBank, you have to do it manually for now, probably as you just did. The potential issue with CSR and CDC is that the CSR is expecting reads to be returned on the next clock cycle which is not possible if the origin clock is faster than the target clock. Doing CDC on Wishbone would be possible (due to the stb/ack) but not currently implemented in LiteX.07:42
_florent_gregdavill: happy to have a look at your implementation to see if we could ease this in LiteX07:43
gregdavillI've created a custom WB2CSR. Which exposes an Ack signal that is fed externally if a read is performed.07:53
gregdavillEssentially I send Addr/Dat/we signals through an Async FIFO, and then if we is low, addr/dat is sent back though another AsyncFIFO. Ack is esserted when the address back matches the pending request.07:55
gregdavillI'm trying to just have all the cdc stuff happening at the CSR bus, because it's nice and simple. But I've had to tie in a wishbone level to hold the CPU to handle reads.07:56
gregdavillThis way isn't super fast for reads, but uses the least amount of resources.07:58
zypdoes the link part of valentyusb really have to be operated at 12MHz?08:10
zypI'm currently working on a usb core of my own, and while the phy needs to operate at 48 MHz, the link should be able to operate at whatever as long as it's able to keep up08:11
_florent_gregdavill: ok i see, it's indeed complicated to do CDC on CSR due to the assumption data should be ready on the next cycle08:19
_florent_In the future, we should probably allow creating different groups of CSRs running in different clock domains and let the tools connect it to the main bus and insert the CDC modules. But not sure this is going to be very soon, so your solution is probably fine for now.08:23
_florent_zyp: i'm not well aware of valentyusb, but the link is probably working at 12MHz to simplify CDC between 12MHz and 48MHz and reduce resource usage.08:26
zyphttps://github.com/im-tomu/valentyusb/blob/master/valentyusb/usbcore/rx/pipeline.py#L104 <- it's using an AsyncFIFO for CDC and my understanding is that that should work for arbitrary clock differences, am I mistaken?08:29
tpbTitle: valentyusb/pipeline.py at master · im-tomu/valentyusb · GitHub (at github.com)08:29
zypah, looks like the tx pipeline is running the serializer from the 12MHz clock08:34
gregdavillI actually haven't looked into it too deeply, I just assumed that the 12/48MHz domains were quite tightly coupled.08:48
*** HoloIRCUser1 has joined #litex10:36
*** HoloIRCUser has quit IRC10:37
*** futarisIRCcloud has quit IRC11:23
*** Skip has joined #litex13:22
*** gregdavill has quit IRC13:28
*** ambro718 has joined #litex14:36
*** ambro718 has quit IRC14:50
*** ambro718 has joined #litex16:59
*** CarlFK has joined #litex18:13
*** btashton has joined #litex18:35
btashtonI'm trying top build the kernel module for the litepcie core, but I am a little unclear as to how I should be integrating this with the generated sources from my litex build18:36
btashtonI see I was not generating the correct headers.18:56
*** gojimmypi has joined #litex18:58
*** btashton has quit IRC19:47
*** btashton has joined #litex20:03
*** btashton has quit IRC20:19
*** btashton has joined #litex20:29
*** btashton has quit IRC20:57
*** scanakci has joined #litex21:05
scanakcihttps://usercontent.irccloud-cdn.com/file/qJzHynYT/BlackParrot-Litex%20Linux21:06
scanakciI could simulate Linux on Litex for BlackParrot.21:06
scanakci@_florent_: There were some issues on BlackParrot side. I will resolve the issues once I could run Linux on FPGA.21:07
scanakciI am expecting to make it happen this week.21:07
somloscanakci: nice! How long did it take to boot Linux in the simulator?21:16
*** Skip has quit IRC21:33
*** Skip has joined #litex21:59
*** CarlFK has quit IRC22:04
*** ambro718 has quit IRC22:15
SkipI'm trying to get Linux running on my Panologic G2, but I get a build error with the current tree:22:21
Skip When I build the gateware for the default CPU_VARIANT it builds and runs, but when I set CPU_VARIANT to linux the build fails with:22:22
Skip  File "/home/skip/pano/working/litex-buildenv/targets/pano_logic_g2/base.py", line 86, in __init__22:22
Skipanyone had any ideas?22:22
*** CarlFK has joined #litex22:46
*** HoloIRCUser2 has joined #litex23:08
*** HoloIRCUser3 has joined #litex23:09
*** HoloIRCUser1 has quit IRC23:11
*** HoloIRCUser2 has quit IRC23:12
*** futarisIRCcloud has joined #litex23:17
*** peepsalot has joined #litex23:18
*** HoloIRCUser1 has joined #litex23:38
*** HoloIRCUser3 has quit IRC23:43

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